[Libreoffice-commits] core.git: embeddedobj/source

Marco Cecchetti marco.cecchetti at collabora.com
Fri Mar 2 10:57:10 UTC 2018


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

New commits:
commit a3646b25ac4c976b891d69759035345630c4f1a2
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>
    Reviewed-on: https://gerrit.libreoffice.org/50482
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Marco Cecchetti <mrcekets at gmail.com>

diff --git a/embeddedobj/source/commonembedding/embedobj.cxx b/embeddedobj/source/commonembedding/embedobj.cxx
index 9aefab91ae79..5357d21a88e6 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
+                    }
                 }
             }
         }


More information about the Libreoffice-commits mailing list