framework/source/dispatch/closedispatcher.cxx |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

New commits:
commit 23c77c80d80b46911344f2dd440f98848a1bec50
Author:     Caolán McNamara <caol...@redhat.com>
AuthorDate: Wed Feb 15 11:21:26 2023 +0000
Commit:     Caolán McNamara <caol...@redhat.com>
CommitDate: Wed Feb 15 15:27:50 2023 +0000

    Resolves: tdf#30920 don't terminate app on closing license frame
    
    when there is a backing window (start center) also open
    
    Change-Id: I64051467ac90ee321b7fc54cb96775c5a1e8d3a5
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147078
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caol...@redhat.com>

diff --git a/framework/source/dispatch/closedispatcher.cxx 
b/framework/source/dispatch/closedispatcher.cxx
index a6ff39d459c3..a30aab0c447f 100644
--- a/framework/source/dispatch/closedispatcher.cxx
+++ b/framework/source/dispatch/closedispatcher.cxx
@@ -331,8 +331,11 @@ IMPL_LINK_NOARG(CloseDispatcher, impl_asyncCallback, 
LinkParamNone*, void)
 
             // c1) there is as minimum 1 frame open, which is visible and 
contains a document
             //     different from our one. And it's not the help!
+            //     (tdf#30920 consider that closing a frame which is not the 
backing window (start center) while there is
+            //      another frame that is the backing window open only closes 
the frame, and not terminate the app, so
+            //      closing the license frame doesn't terminate the app if 
launched from the start center)
             //     => close our frame only - nothing else.
-            if (!aCheck2.m_lOtherVisibleFrames.empty())
+            if (!aCheck2.m_lOtherVisibleFrames.empty() || 
(!aCheck2.m_bReferenceIsBacking && aCheck2.m_xBackingComponent.is()))
                 bCloseFrame = true;
             else
 

Reply via email to