diff options
Diffstat (limited to 'desktop/source/app/app.cxx')
-rw-r--r-- | desktop/source/app/app.cxx | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/desktop/source/app/app.cxx b/desktop/source/app/app.cxx index 75533bcd0f..a8ebfee188 100644 --- a/desktop/source/app/app.cxx +++ b/desktop/source/app/app.cxx @@ -1257,6 +1257,7 @@ void Desktop::Main() std::auto_ptr<SvtLanguageOptions> pLanguageOptions; std::auto_ptr<SvtPathOptions> pPathOptions; + Reference < css::document::XEventListener > xGlobalBroadcaster; try { RegisterServices( xSMgr ); @@ -1379,7 +1380,8 @@ void Desktop::Main() } // create service for loadin SFX (still needed in startup) - Reference < css::document::XEventListener > xGlobalBroadcaster( xSMgr->createInstance( + xGlobalBroadcaster = Reference < css::document::XEventListener > + ( xSMgr->createInstance( DEFINE_CONST_UNICODE( "com.sun.star.frame.GlobalEventBroadcaster" ) ), UNO_QUERY ); // initialize test-tool library (if available) @@ -1617,6 +1619,13 @@ void Desktop::Main() FatalError( MakeStartupErrorMessage(exAnyCfg.Message) ); } + if (xGlobalBroadcaster.is()) + { + css::document::EventObject aEvent; + aEvent.EventName = ::rtl::OUString::createFromAscii("OnCloseApp"); + xGlobalBroadcaster->notifyEvent(aEvent); + } + delete pResMgr; // Restore old value |