diff options
author | Herbert Dürr <hdu@apache.org> | 2013-08-09 15:03:18 +0000 |
---|---|---|
committer | Tor Lillqvist <tml@iki.fi> | 2013-08-12 20:22:24 +0300 |
commit | 4e174d1607f99f3d23c514e1847d49f631cef877 (patch) | |
tree | 4c537ae19458fe36eff39e2ab91c10d1f7526247 /cui | |
parent | eb27a889d5c3f20dc6c1eecf7f588e54fa08a9f7 (diff) |
Resolves: #i122818# fix crash in online-update-check when no app is active
Closing all application windows and retaining access to the application menu
is only possible on MacOSX. The DispatchProvider used for the update check
seems to depend on having an active application window. Maybe it is possible
to get the update check working without it but this patch doesn't attempt
that, it prevent further escalation such as crashes.
Fixed by: Herbert Duerr
Debugged by: Oliver-Rainer Wittmann, Herbert Duerr
Found by: Frantisek Erben
(cherry picked from commit bd363910bb80e61805672430de7870e1583b0052)
Signed-off-by: Tor Lillqvist <tml@iki.fi>
Conflicts:
cui/source/options/optupdt.cxx
Change-Id: I0a00b8a3af8e37997e82ffd325c8239142acbf4a
(cherry picked from commit 8354ea874e2dea4740e31c00d6bea314b8c5a8e8)
Signed-off-by: Tor Lillqvist <tml@iki.fi>
Diffstat (limited to 'cui')
-rw-r--r-- | cui/source/options/optupdt.cxx | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/cui/source/options/optupdt.cxx b/cui/source/options/optupdt.cxx index 7cae029e184b..f08fb83bd31d 100644 --- a/cui/source/options/optupdt.cxx +++ b/cui/source/options/optupdt.cxx @@ -341,13 +341,14 @@ IMPL_LINK_NOARG(SvxOnlineUpdateTabPage, CheckNowHdl_Impl) uno::Reference< frame::XDispatchProvider > xDispatchProvider( xDesktop->getCurrentFrame(), uno::UNO_QUERY ); - uno::Reference< frame::XDispatch > xDispatch = xDispatchProvider->queryDispatch(aURL, OUString(), 0); + uno::Reference< frame::XDispatch > xDispatch; + if( xDispatchProvider.is() ) + xDispatch = xDispatchProvider->queryDispatch(aURL, OUString(), 0); if( xDispatch.is() ) - { xDispatch->dispatch(aURL, uno::Sequence< beans::PropertyValue > ()); - UpdateLastCheckedText(); - } + + UpdateLastCheckedText(); } catch( const uno::Exception& e ) { |