desktop/source/deployment/gui/dp_gui_extensioncmdqueue.cxx |    5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

New commits:
commit 2dce6754355a06e567427c39154d8747538864b1
Author:     Stephan Bergmann <sberg...@redhat.com>
AuthorDate: Thu Apr 21 07:58:58 2022 +0200
Commit:     Stephan Bergmann <sberg...@redhat.com>
CommitDate: Thu Apr 21 08:56:23 2022 +0200

    Reliably stop ExtensionCmdQueue::Thread::execute
    
    ...even if nSize == 0
    
    Change-Id: I624a5958d0826aad70277af6291f62d31ced6798
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133236
    Tested-by: Jenkins
    Reviewed-by: Stephan Bergmann <sberg...@redhat.com>

diff --git a/desktop/source/deployment/gui/dp_gui_extensioncmdqueue.cxx 
b/desktop/source/deployment/gui/dp_gui_extensioncmdqueue.cxx
index 863e6811c32d..77630a365582 100644
--- a/desktop/source/deployment/gui/dp_gui_extensioncmdqueue.cxx
+++ b/desktop/source/deployment/gui/dp_gui_extensioncmdqueue.cxx
@@ -699,6 +699,9 @@ void ExtensionCmdQueue::Thread::execute()
             m_bWorking = false;
         }
 
+        if ( eInput == STOP )
+            break;
+
         // If this thread has been woken up by anything else except start, stop
         // then input is NONE and we wait again.
         // We only install the extension which are currently in the queue.
@@ -707,8 +710,6 @@ void ExtensionCmdQueue::Thread::execute()
         // have reached the end while we still install newly added extensions.
         if ( ( eInput == NONE ) || ( nSize == 0 ) )
             continue;
-        if ( eInput == STOP )
-            break;
 
         ::rtl::Reference< ProgressCmdEnv > currentCmdEnv( new ProgressCmdEnv( 
m_xContext, m_pDialogHelper, m_sDefaultCmd ) );
 

Reply via email to