desktop/source/lib/init.cxx |   22 +++++++++++++---------
 1 file changed, 13 insertions(+), 9 deletions(-)

New commits:
commit 72a0c6abc44fb6a6f1d541f43f76480ea2fd3149
Author:     Rashesh <[email protected]>
AuthorDate: Mon Feb 17 18:54:58 2025 +0530
Commit:     Caolán McNamara <[email protected]>
CommitDate: Mon Feb 17 18:59:57 2025 +0000

    fix(sw-lokit): correctly load shared wordbooks
    
    - Fixes a regression introduced in commit 
89d86b64c93f2f47d7cfdefb928812e4de64fe3b.
    - Ensures dictionaries are reinitialized even when only shared wordbooks 
are uploaded.
    - Previously, reinitialization occurred only when user wordbooks were 
uploaded.
    
    Change-Id: I0f54b6b01fe1aefadc2c1fec2d9ae57db1c5d02a
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181787
    Tested-by: Jenkins CollaboraOffice <[email protected]>
    Reviewed-by: Caolán McNamara <[email protected]>

diff --git a/desktop/source/lib/init.cxx b/desktop/source/lib/init.cxx
index 66ec59c3686a..107946b4201b 100644
--- a/desktop/source/lib/init.cxx
+++ b/desktop/source/lib/init.cxx
@@ -5031,6 +5031,17 @@ static void lo_sendDialogEvent(LibreOfficeKit* 
/*pThis*/, unsigned long long int
     lcl_sendDialogEvent(nWindowId, pArguments);
 }
 
+static void reInitDictionaryList()
+{
+    uno::Reference<css::linguistic2::XSearchableDictionaryList> xDicList
+        = LinguMgr::GetDictionaryList();
+    if (xDicList.is())
+    {
+        uno::Reference<lang::XInitialization> xReInitDictionaryList(xDicList, 
uno::UNO_QUERY_THROW);
+        xReInitDictionaryList->initialize({});
+    }
+};
+
 static void updateConfig(const OUString& rConfigPath)
 {
     osl::Directory aScanRootDir(rConfigPath);
@@ -5095,14 +5106,7 @@ static void updateConfig(const OUString& rConfigPath)
         }
         else if (sFileName == "wordbook")
         {
-            uno::Reference<css::linguistic2::XSearchableDictionaryList> 
xDicList
-                = LinguMgr::GetDictionaryList();
-            if (xDicList.is())
-            {
-                uno::Reference<lang::XInitialization> 
xReInitDictionaryList(xDicList,
-                                                                            
uno::UNO_QUERY_THROW);
-                xReInitDictionaryList->initialize({});
-            }
+            reInitDictionaryList();
         }
     }
 }
@@ -8177,7 +8181,7 @@ static int lo_initialize(LibreOfficeKit* pThis, const 
char* pAppPath, const char
             uno::Reference<css::util::XPathSettings> xPathSettings = 
util::thePathSettings::get(xContext);
             uno::Reference<lang::XInitialization> 
xReInitSettings(xPathSettings, uno::UNO_QUERY_THROW);
             xReInitSettings->initialize({});
-
+            reInitDictionaryList();
         }
     }
 
commit 19fdcfb3f188507f5ce53ea8c8ddb4c024b92f0d
Author:     Pranam Lashkari <[email protected]>
AuthorDate: Thu Nov 21 20:11:18 2024 +0530
Commit:     Caolán McNamara <[email protected]>
CommitDate: Mon Feb 17 18:56:00 2025 +0000

    LOK: don't recreate the dialogs of an old view when loading new views
    
    follow up for f5ebf512ccd3d5ae3af5fe706b411a85fa19182d
    
    now same actions are performed on all the dialogs
    
    Change-Id: I6531a766327dda106770a2c513ebd492dea7c655
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176933
    Reviewed-by: Caolán McNamara <[email protected]>
    Tested-by: Caolán McNamara <[email protected]>
    Tested-by: Jenkins CollaboraOffice <[email protected]>
    (cherry picked from commit 2fba6df7242586870988b62909156538b42c2bc0)

diff --git a/sc/source/ui/app/scdll.cxx b/sc/source/ui/app/scdll.cxx
index b0273c28d681..f581ad886bfd 100644
--- a/sc/source/ui/app/scdll.cxx
+++ b/sc/source/ui/app/scdll.cxx
@@ -184,10 +184,7 @@ void ScDLL::Init()
     ScSolverDlgWrapper          ::RegisterChildWindow(false, pMod);
     ScOptSolverDlgWrapper       ::RegisterChildWindow(false, pMod);
     ScXMLSourceDlgWrapper       ::RegisterChildWindow(false, pMod);
-    ScNameDlgWrapper            ::RegisterChildWindow(false, pMod,
-                                           
comphelper::LibreOfficeKit::isActive()
-                                               ? 
SfxChildWindowFlags::NEVERCLONE
-                                               : SfxChildWindowFlags::NONE);
+    ScNameDlgWrapper            ::RegisterChildWindow(false, pMod);
     ScNameDefDlgWrapper         ::RegisterChildWindow(false, pMod);
     ScPivotLayoutWrapper        ::RegisterChildWindow(false, pMod);
     ScTabOpDlgWrapper           ::RegisterChildWindow(false, pMod);
@@ -215,10 +212,7 @@ void ScDLL::Init()
     ScFourierAnalysisDialogWrapper      ::RegisterChildWindow(false, pMod);
     sc::SparklineDialogWrapper          ::RegisterChildWindow(false, pMod);
     sc::SparklineDataRangeDialogWrapper ::RegisterChildWindow(false, pMod);
-    sc::ConditionalFormatEasyDialogWrapper ::RegisterChildWindow(
-        false, pMod,
-        comphelper::LibreOfficeKit::isActive() ? 
SfxChildWindowFlags::NEVERCLONE
-                                               : SfxChildWindowFlags::NONE);
+    sc::ConditionalFormatEasyDialogWrapper          
::RegisterChildWindow(false, pMod);
 
     // Redlining Window
     ScAcceptChgDlgWrapper       ::RegisterChildWindow(false, pMod);
commit 68c5acd62ae4a51a0f6d20c8589534763535b93f
Author:     Pranam Lashkari <[email protected]>
AuthorDate: Thu Nov 21 18:22:48 2024 +0530
Commit:     Caolán McNamara <[email protected]>
CommitDate: Mon Feb 17 18:56:00 2025 +0000

    LOK:  don't create the dialog when loading new views
    
    By default dialogs/decks are re-created when a new view is
    created/attached, if they are visible. For the modified dialog
    this is unexpected, as the user doesn't expect to be doing
    actions upon loading a document, just because another
    user was at the time had those dialog open. Currently the suppression
    is for LOK only.
    
    This also adds support to suppress the recreation of any
    dialog by flagging it with the SfxChildWindowFlags::NEVERCLONE
    flag upon invoking RegisterChildWindow.
    
    similar to c9829f585103f3daa9749c5b0f479297edd42042
    
    Change-Id: I50598dbbc7a0f156fc0b0d0777ef0fb350610281
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176923
    Reviewed-by: Caolán McNamara <[email protected]>
    Tested-by: Jenkins CollaboraOffice <[email protected]>
    (cherry picked from commit f5ebf512ccd3d5ae3af5fe706b411a85fa19182d)

diff --git a/sc/source/ui/app/scdll.cxx b/sc/source/ui/app/scdll.cxx
index f581ad886bfd..b0273c28d681 100644
--- a/sc/source/ui/app/scdll.cxx
+++ b/sc/source/ui/app/scdll.cxx
@@ -184,7 +184,10 @@ void ScDLL::Init()
     ScSolverDlgWrapper          ::RegisterChildWindow(false, pMod);
     ScOptSolverDlgWrapper       ::RegisterChildWindow(false, pMod);
     ScXMLSourceDlgWrapper       ::RegisterChildWindow(false, pMod);
-    ScNameDlgWrapper            ::RegisterChildWindow(false, pMod);
+    ScNameDlgWrapper            ::RegisterChildWindow(false, pMod,
+                                           
comphelper::LibreOfficeKit::isActive()
+                                               ? 
SfxChildWindowFlags::NEVERCLONE
+                                               : SfxChildWindowFlags::NONE);
     ScNameDefDlgWrapper         ::RegisterChildWindow(false, pMod);
     ScPivotLayoutWrapper        ::RegisterChildWindow(false, pMod);
     ScTabOpDlgWrapper           ::RegisterChildWindow(false, pMod);
@@ -212,7 +215,10 @@ void ScDLL::Init()
     ScFourierAnalysisDialogWrapper      ::RegisterChildWindow(false, pMod);
     sc::SparklineDialogWrapper          ::RegisterChildWindow(false, pMod);
     sc::SparklineDataRangeDialogWrapper ::RegisterChildWindow(false, pMod);
-    sc::ConditionalFormatEasyDialogWrapper          
::RegisterChildWindow(false, pMod);
+    sc::ConditionalFormatEasyDialogWrapper ::RegisterChildWindow(
+        false, pMod,
+        comphelper::LibreOfficeKit::isActive() ? 
SfxChildWindowFlags::NEVERCLONE
+                                               : SfxChildWindowFlags::NONE);
 
     // Redlining Window
     ScAcceptChgDlgWrapper       ::RegisterChildWindow(false, pMod);

Reply via email to