sc/source/core/data/documen2.cxx |    6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

New commits:
commit aaa75591b0c0c7b097e2794a0b24ec7d0e0fa07f
Author:     Eike Rathke <er...@redhat.com>
AuthorDate: Sat Feb 26 02:19:23 2022 +0100
Commit:     Eike Rathke <er...@redhat.com>
CommitDate: Sat Feb 26 03:11:25 2022 +0100

    Related: tdf#147448 Scope owning mutex before it gets destroyed
    
    Change-Id: I9bacffe1d075431427fb3bf01e4bf30ba6fbc201
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130574
    Reviewed-by: Eike Rathke <er...@redhat.com>
    Tested-by: Jenkins

diff --git a/sc/source/core/data/documen2.cxx b/sc/source/core/data/documen2.cxx
index da55ebfa85be..82789e814035 100644
--- a/sc/source/core/data/documen2.cxx
+++ b/sc/source/core/data/documen2.cxx
@@ -339,7 +339,11 @@ ScDocument::~ScDocument()
     if ( pRefreshTimerControl )
     {   // To be sure there isn't anything running do it with a protector,
         // this ensures also that nothing needs the control anymore.
-        ScRefreshTimerProtector aProt( GetRefreshTimerControlAddress() );
+        {
+            // Use a scope on its own because it is undefined behaviour if a
+            // mutex is destroyed while still owned.
+            ScRefreshTimerProtector aProt( GetRefreshTimerControlAddress() );
+        }
         pRefreshTimerControl.reset();
     }
 

Reply via email to