summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSzymon Kłos <szymon.klos@collabora.com>2020-12-04 12:24:27 +0100
committerSamuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>2022-05-23 11:00:59 +0200
commit3fee58e0194ccc375a6fd3fc35197229df2518b0 (patch)
treed395649e04ebc692357eb88a68e0ef5524142a6e
parentsw style copy: fix crash when handling a conditional paragraphy style (diff)
downloadcore-3fee58e0194ccc375a6fd3fc35197229df2518b0.tar.gz
core-3fee58e0194ccc375a6fd3fc35197229df2518b0.zip
Avoid crash on closing docking window
Change-Id: I9f5ac4fae9e37e3eece8ad8bd2d6505514517d9f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107215 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
-rw-r--r--vcl/source/window/dockmgr.cxx4
1 files changed, 4 insertions, 0 deletions
diff --git a/vcl/source/window/dockmgr.cxx b/vcl/source/window/dockmgr.cxx
index 45708e8d709f..ee3ae7261221 100644
--- a/vcl/source/window/dockmgr.cxx
+++ b/vcl/source/window/dockmgr.cxx
@@ -376,6 +376,10 @@ void DockingManager::RemoveWindow( const vcl::Window *pWindow )
{
if( (*it)->mpDockingWindow == pWindow )
{
+ // deleting wrappers calls set of actions which may want to use
+ // wrapper we want to delete - avoid crash using temporary owner
+ // while erasing
+ auto pTemporaryOwner = std::move(*it);
mvDockingWindows.erase( it );
break;
}