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

Reply via email to