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

Szymon KÅ‚os (via logerrit) logerrit at kemper.freedesktop.org
Mon Aug 3 08:15:37 UTC 2020


 sfx2/source/notebookbar/SfxNotebookBar.cxx |   11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

New commits:
commit fddfeb653dfd5dd73cbccb4433678d397f092df9
Author:     Szymon Kłos <szymon.klos at collabora.com>
AuthorDate: Mon Aug 3 09:40:31 2020 +0200
Commit:     Szymon Kłos <szymon.klos at collabora.com>
CommitDate: Mon Aug 3 10:15:05 2020 +0200

    notebookbar: control early init per view
    
    Change-Id: I9b743bc6d62256289549cd8002b76bcb918222b0
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99986
    Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice at gmail.com>
    Reviewed-by: Szymon Kłos <szymon.klos at collabora.com>

diff --git a/sfx2/source/notebookbar/SfxNotebookBar.cxx b/sfx2/source/notebookbar/SfxNotebookBar.cxx
index e15f18cc5764..10c60065641e 100644
--- a/sfx2/source/notebookbar/SfxNotebookBar.cxx
+++ b/sfx2/source/notebookbar/SfxNotebookBar.cxx
@@ -34,6 +34,7 @@
 #include <framework/addonsoptions.hxx>
 #include <vcl/NotebookBarAddonsMerger.hxx>
 #include <vector>
+#include <map>
 #include <vcl/WeldedTabbedNotebookbar.hxx>
 
 using namespace sfx2;
@@ -370,13 +371,16 @@ bool SfxNotebookBar::StateMethod(SystemWindow* pSysWindow,
         if ((!sFile.isEmpty() && bChangedFile) || !pNotebookBar || !pNotebookBar->IsVisible()
             || bReloadNotebookbar || comphelper::LibreOfficeKit::isActive())
         {
+            const SfxViewShell* pViewShell = SfxViewShell::Current();
+
             // Notebookbar was loaded too early what caused:
             //   * in LOK: Paste Special feature was incorrectly initialized
             // Skip first request so Notebookbar will be initialized after document was loaded
-            static bool bSkipFirstInit = true;
-            if (comphelper::LibreOfficeKit::isActive() && bSkipFirstInit)
+            static std::map<const void*, bool> bSkippedFirstInit;
+            if (comphelper::LibreOfficeKit::isActive()
+                && bSkippedFirstInit.find(pViewShell) == bSkippedFirstInit.end())
             {
-                bSkipFirstInit = false;
+                bSkippedFirstInit[pViewShell] = true;
                 return false;
             }
 
@@ -397,7 +401,6 @@ bool SfxNotebookBar::StateMethod(SystemWindow* pSysWindow,
             pNotebookBar = pSysWindow->GetNotebookBar();
             pNotebookBar->Show();
 
-            const SfxViewShell* pViewShell = SfxViewShell::Current();
 
             bool hasWeldedWrapper = m_pNotebookBarWeldedWrapper.find(pViewShell) != m_pNotebookBarWeldedWrapper.end();
             if ((!hasWeldedWrapper || bReloadNotebookbar) && pNotebookBar->IsWelded())


More information about the Libreoffice-commits mailing list