sc/source/ui/app/scdll.cxx | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-)
New commits: commit f5ebf512ccd3d5ae3af5fe706b411a85fa19182d Author: Pranam Lashkari <lpra...@collabora.com> AuthorDate: Thu Nov 21 18:22:48 2024 +0530 Commit: Pranam Lashkari <lpra...@collabora.com> CommitDate: Thu Nov 21 15:40:58 2024 +0100 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 <caolan.mcnam...@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com> diff --git a/sc/source/ui/app/scdll.cxx b/sc/source/ui/app/scdll.cxx index f2fbe8d74c81..72c1187a295f 100644 --- a/sc/source/ui/app/scdll.cxx +++ b/sc/source/ui/app/scdll.cxx @@ -182,7 +182,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); @@ -210,7 +213,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);