[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.2' - desktop/source sfx2/source

Szymon Kłos (via logerrit) logerrit at kemper.freedesktop.org
Wed Oct 16 10:06:52 UTC 2019


 desktop/source/lib/init.cxx   |   10 +++++++++-
 sfx2/source/view/ipclient.cxx |    7 +++++++
 2 files changed, 16 insertions(+), 1 deletion(-)

New commits:
commit b8e56ce14ea67a195d47f1ba1709d7e3d38f99ae
Author:     Szymon Kłos <szymon.klos at collabora.com>
AuthorDate: Fri May 31 11:31:34 2019 +0200
Commit:     Szymon Kłos <szymon.klos at collabora.com>
CommitDate: Wed Oct 16 12:06:16 2019 +0200

    Send 'INPLACE EXIT' on inplace deactivation
    
    Change-Id: Ieb44fb356966df0eb92141a5f22f1df13683f6fc
    Reviewed-on: https://gerrit.libreoffice.org/80684
    Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice at gmail.com>
    Reviewed-by: Szymon Kłos <szymon.klos at collabora.com>

diff --git a/desktop/source/lib/init.cxx b/desktop/source/lib/init.cxx
index 253adffceb77..a0d10c2cb609 100644
--- a/desktop/source/lib/init.cxx
+++ b/desktop/source/lib/init.cxx
@@ -1187,7 +1187,6 @@ void CallbackFlushHandler::queue(const int type, const char* data)
             case LOK_CALLBACK_TEXT_SELECTION_START:
             case LOK_CALLBACK_TEXT_SELECTION_END:
             case LOK_CALLBACK_TEXT_SELECTION:
-            case LOK_CALLBACK_GRAPHIC_SELECTION:
             case LOK_CALLBACK_MOUSE_POINTER:
             case LOK_CALLBACK_CELL_CURSOR:
             case LOK_CALLBACK_CELL_FORMULA:
@@ -1249,6 +1248,15 @@ void CallbackFlushHandler::queue(const int type, const char* data)
                 if (processWindowEvent(aCallbackData))
                     return;
             break;
+
+            case LOK_CALLBACK_GRAPHIC_SELECTION:
+            {
+                // remove only selection ranges and 'EMPTY' messages
+                // always send 'INPLACE' and 'INPLACE EXIT' messages
+                removeAll([type, payload] (const queue_type::value_type& elem)
+                    { return (elem.Type == type && elem.PayloadString[0] != 'I'); });
+            }
+            break;
         }
     }
 
diff --git a/sfx2/source/view/ipclient.cxx b/sfx2/source/view/ipclient.cxx
index 861608dc5211..8bcf71a0c5dc 100644
--- a/sfx2/source/view/ipclient.cxx
+++ b/sfx2/source/view/ipclient.cxx
@@ -358,6 +358,13 @@ void SAL_CALL SfxInPlaceClient_Impl::deactivatedInplace()
 {
     if ( !m_pClient || !m_pClient->GetViewShell() )
         throw uno::RuntimeException();
+
+    if ( comphelper::LibreOfficeKit::isActive() )
+    {
+        if ( SfxViewShell* pViewShell = m_pClient->GetViewShell() ) {
+            pViewShell->libreOfficeKitViewCallback( LOK_CALLBACK_GRAPHIC_SELECTION, "INPLACE EXIT" );
+        }
+    }
 }
 
 


More information about the Libreoffice-commits mailing list