diff --git a/starmath/inc/document.hxx b/starmath/inc/document.hxx index 4446ad0d86fd..f86207dffb4f 100644 --- a/starmath/inc/document.hxx +++ b/starmath/inc/document.hxx @@ -39,6 +39,7 @@ #include "format.hxx" #include "parse.hxx" #include "smmod.hxx" +#include "unomodel.hxx" class SmNode; class SfxMenuBarManager; @@ -95,6 +96,7 @@ class SmDocShell : public SfxObjectShell, public SfxListener OUString aText; SmFormat aFormat; SmParser aInterpreter; + SmModel *pModel; OUString aAccText; SmNode *pTree; SfxMenuBarManager *pMenuMgr; diff --git a/starmath/source/document.cxx b/starmath/source/document.cxx index e49faecbc852..edc635ed4ac5 100644 --- a/starmath/source/document.cxx +++ b/starmath/source/document.cxx @@ -684,6 +684,7 @@ void SmDocShell::Repaint() SmDocShell::SmDocShell( const sal_uInt64 i_nSfxCreationFlags ) : SfxObjectShell( i_nSfxCreationFlags ), + pModel ( new SmModel(this) ), pTree ( 0 ), pEditEngineItemPool ( 0 ), pEditEngine ( 0 ), @@ -703,11 +704,9 @@ SmDocShell::SmDocShell( const sal_uInt64 i_nSfxCreationFlags ) : StartListening(aFormat); StartListening(*pp->GetConfig()); - SetBaseModel( new SmModel(this) ); + SetBaseModel( pModel ); } - - SmDocShell::~SmDocShell() { SAL_INFO( "starmath", "starmath: SmDocShell::~SmDocShell" ); @@ -717,7 +716,6 @@ SmDocShell::~SmDocShell() EndListening(aFormat); EndListening(*pp->GetConfig()); - if(pCursor) delete pCursor; pCursor = NULL; @@ -726,6 +724,7 @@ SmDocShell::~SmDocShell() SfxItemPool::Free(pEditEngineItemPool); delete pTree; delete pPrinter; + delete pModel; }