diff options
author | Szymon Kłos <szymon.klos@collabora.com> | 2020-12-04 12:24:27 +0100 |
---|---|---|
committer | Szymon Kłos <szymon.klos@collabora.com> | 2020-12-08 13:22:12 +0100 |
commit | 02708dab4eb244061133059f6c37bb070d9c826b (patch) | |
tree | d50a9f083b7837afae8bc77b8bae3b1a3d9e6a1c /vcl | |
parent | 8c4c183ca6c8d66cb8f794d7a622a07d35edae82 (diff) |
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>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107403
Tested-by: Jenkins
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/source/window/dockmgr.cxx | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/vcl/source/window/dockmgr.cxx b/vcl/source/window/dockmgr.cxx index 1307ffa9234d..8c2367e96736 100644 --- a/vcl/source/window/dockmgr.cxx +++ b/vcl/source/window/dockmgr.cxx @@ -388,6 +388,10 @@ void DockingManager::RemoveWindow( const vcl::Window *pWindow ) const auto& xWrapper = *it; if (xWrapper && xWrapper->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; } |