From aaa75591b0c0c7b097e2794a0b24ec7d0e0fa07f Mon Sep 17 00:00:00 2001 From: Eike Rathke Date: Sat, 26 Feb 2022 02:19:23 +0100 Subject: 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 Tested-by: Jenkins --- sc/source/core/data/documen2.cxx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'sc') 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(); } -- cgit