summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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;
}