diff options
author | Marco Cecchetti <marco.cecchetti@collabora.com> | 2018-02-26 13:55:21 +0100 |
---|---|---|
committer | Andras Timar <andras.timar@collabora.com> | 2018-03-26 07:46:08 +0200 |
commit | e3072a1395d799410cf65e54bba2eac7a4fe4748 (patch) | |
tree | 411e71a16774c17304cbdacac2aeff66d1e2d8ac /embeddedobj | |
parent | 961a1134928e84d571dded75d26844fc3730e0d7 (diff) |
lok - chart - state switch issue triggers an OLE general error msg box
Change-Id: I6addd95d1ad3461b6e21328512cbd1301a36cd19
Reviewed-on: https://gerrit.libreoffice.org/50368
Reviewed-by: Jan Holesovsky <kendy@collabora.com>
Tested-by: Jan Holesovsky <kendy@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/50482
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Marco Cecchetti <mrcekets@gmail.com>
(cherry picked from commit a3646b25ac4c976b891d69759035345630c4f1a2)
Diffstat (limited to 'embeddedobj')
-rw-r--r-- | embeddedobj/source/commonembedding/embedobj.cxx | 34 |
1 files changed, 19 insertions, 15 deletions
diff --git a/embeddedobj/source/commonembedding/embedobj.cxx b/embeddedobj/source/commonembedding/embedobj.cxx index 60020a4ab86f..4b942128c7ea 100644 --- a/embeddedobj/source/commonembedding/embedobj.cxx +++ b/embeddedobj/source/commonembedding/embedobj.cxx @@ -40,6 +40,7 @@ #include <com/sun/star/embed/EmbedMisc.hpp> #include <comphelper/processfactory.hxx> #include <cppuhelper/interfacecontainer.hxx> +#include <comphelper/lok.hxx> #include <vcl/svapp.hxx> @@ -312,22 +313,25 @@ void OCommonEmbeddedObject::SwitchStateTo_Impl( sal_Int32 nNextState ) catch( const uno::Exception& ) {} - // if currently another object is UIactive it will be deactivated; usually this will activate the LM of - // the container. Locking the LM will prevent flicker. - xContainerLM->lock(); - xInplaceClient->activatingUI(); - bool bOk = m_xDocHolder->ShowUI( xContainerLM, xContainerDP, aModuleName ); - xContainerLM->unlock(); - - if ( bOk ) - { - m_nObjectState = nNextState; - m_xDocHolder->ResizeHatchWindow(); - } - else + if (!comphelper::LibreOfficeKit::isActive()) { - xInplaceClient->deactivatedUI(); - throw embed::WrongStateException(); //TODO: can't activate UI + // if currently another object is UIactive it will be deactivated; usually this will activate the LM of + // the container. Locking the LM will prevent flicker. + xContainerLM->lock(); + xInplaceClient->activatingUI(); + bool bOk = m_xDocHolder->ShowUI( xContainerLM, xContainerDP, aModuleName ); + xContainerLM->unlock(); + + if ( bOk ) + { + m_nObjectState = nNextState; + m_xDocHolder->ResizeHatchWindow(); + } + else + { + xInplaceClient->deactivatedUI(); + throw embed::WrongStateException(); //TODO: can't activate UI + } } } } |