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);
