[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-5.3' - embeddedobj/source

Marco Cecchetti marco.cecchetti at collabora.com
Mon Feb 26 14:27:41 UTC 2018


 embeddedobj/source/commonembedding/embedobj.cxx |   36 ++++++++++++++----------
 1 file changed, 21 insertions(+), 15 deletions(-)

New commits:
commit ed6aa7a31b9825c8b92131a5acc289c917ebf805
Author: Marco Cecchetti <marco.cecchetti at collabora.com>
Date:   Mon Feb 26 13:55:21 2018 +0100

    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 at collabora.com>
    Tested-by: Jan Holesovsky <kendy at collabora.com>

diff --git a/embeddedobj/source/commonembedding/embedobj.cxx b/embeddedobj/source/commonembedding/embedobj.cxx
index 5142871421ff..32974547a50c 100644
--- a/embeddedobj/source/commonembedding/embedobj.cxx
+++ b/embeddedobj/source/commonembedding/embedobj.cxx
@@ -39,6 +39,7 @@
 #include <com/sun/star/embed/EmbedMisc.hpp>
 #include <comphelper/processfactory.hxx>
 #include <cppuhelper/interfacecontainer.hxx>
+#include <comphelper/lok.hxx>
 
 #include <vcl/svapp.hxx>
 
@@ -320,26 +321,31 @@ 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_pDocHolder->ShowUI( xContainerLM, xContainerDP, aModuleName );
-                    xContainerLM->unlock();
-
-                    if ( bOk )
-                    {
-                        m_nObjectState = nNextState;
-                        m_pDocHolder->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_pDocHolder->ShowUI( xContainerLM, xContainerDP, aModuleName );
+                        xContainerLM->unlock();
+
+                        if ( bOk )
+                        {
+                            m_nObjectState = nNextState;
+                            m_pDocHolder->ResizeHatchWindow();
+                        }
+                        else
+                        {
+                            xInplaceClient->deactivatedUI();
+                            throw embed::WrongStateException(); //TODO: can't activate UI
+                        }
                     }
                 }
                 else
+                {
                     throw embed::WrongStateException(); //TODO: can't activate UI
+                }
             }
         }
         else


More information about the Libreoffice-commits mailing list