diff options
author | Tor Lillqvist <tml@collabora.com> | 2016-02-09 14:14:22 +0200 |
---|---|---|
committer | Tor Lillqvist <tml@collabora.com> | 2016-02-10 11:24:19 +0200 |
commit | 574482123b0fcd7deed9345fd524e9fc1d8bfb5e (patch) | |
tree | ca0fb0045984c10386bd44d605ca26c0b29ecf4c /framework/source | |
parent | 8cf3f7bb7eba6fcddb42b6b789e5e4372a23f6b5 (diff) |
tdf#97435: Avoid persistent window state crack when used from LibreOfficeKit
Change-Id: Icab7dea3cf63f3932b7759acec339b498a8ac9c5
Reviewed-on: https://gerrit.libreoffice.org/22233
Reviewed-by: Tor Lillqvist <tml@collabora.com>
Tested-by: Tor Lillqvist <tml@collabora.com>
Diffstat (limited to 'framework/source')
-rw-r--r-- | framework/source/helper/persistentwindowstate.cxx | 5 | ||||
-rw-r--r-- | framework/source/loadenv/loadenv.cxx | 7 |
2 files changed, 11 insertions, 1 deletions
diff --git a/framework/source/helper/persistentwindowstate.cxx b/framework/source/helper/persistentwindowstate.cxx index 12bf95d89a78..3cdf50064760 100644 --- a/framework/source/helper/persistentwindowstate.cxx +++ b/framework/source/helper/persistentwindowstate.cxx @@ -24,6 +24,7 @@ #include <com/sun/star/lang/IllegalArgumentException.hpp> #include <com/sun/star/frame/ModuleManager.hpp> +#include <comphelper/lok.hxx> #include <comphelper/processfactory.hxx> #include <comphelper/configurationhelper.hxx> #include <vcl/window.hxx> @@ -77,6 +78,10 @@ void SAL_CALL PersistentWindowState::initialize(const css::uno::Sequence< css::u void SAL_CALL PersistentWindowState::frameAction(const css::frame::FrameActionEvent& aEvent) throw(css::uno::RuntimeException, std::exception) { + // We don't want to do this stuff when being used through LibreOfficeKit + if( comphelper::LibreOfficeKit::isActive() ) + return; + css::uno::Reference< css::uno::XComponentContext > xContext; css::uno::Reference< css::frame::XFrame > xFrame; bool bRestoreWindowState; diff --git a/framework/source/loadenv/loadenv.cxx b/framework/source/loadenv/loadenv.cxx index 323926a57973..0ebf0006c556 100644 --- a/framework/source/loadenv/loadenv.cxx +++ b/framework/source/loadenv/loadenv.cxx @@ -27,6 +27,7 @@ #include <protocols.h> #include <services.h> #include <comphelper/interaction.hxx> +#include <comphelper/lok.hxx> #include <framework/interaction.hxx> #include <comphelper/processfactory.hxx> #include <comphelper/configuration.hxx> @@ -1724,7 +1725,11 @@ void LoadEnv::impl_applyPersistentWindowState(const css::uno::Reference< css::aw // and apply it on the window. // Do nothing, if no configuration entry exists! OUString sWindowState; - ::comphelper::ConfigurationHelper::readRelativeKey(xModuleCfg, sModule, OFFICEFACTORY_PROPNAME_ASCII_WINDOWATTRIBUTES) >>= sWindowState; + + // Don't look for persistent window attributes when used through LibreOfficeKit + if( !comphelper::LibreOfficeKit::isActive() ) + comphelper::ConfigurationHelper::readRelativeKey(xModuleCfg, sModule, OFFICEFACTORY_PROPNAME_ASCII_WINDOWATTRIBUTES) >>= sWindowState; + if (!sWindowState.isEmpty()) { // SOLAR SAFE -> |