[Libreoffice-commits] core.git: Branch 'libreoffice-5-2' - vcl/source
Michael Meeks
michael.meeks at collabora.com
Thu Apr 20 04:14:19 UTC 2017
vcl/source/window/window.cxx | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
New commits:
commit 3430b5610b9740a592d9c2ca0634ddd04e1e3ca1
Author: Michael Meeks <michael.meeks at collabora.com>
Date: Wed Apr 19 01:19:59 2017 +0100
vcl: protect Window from exceptions during construction.
Probable fix for:
http://crashreport.libreoffice.org/stats/crash_details/f69188bd-0fdd-4b74-9ec6-35b544cba0c9
Change-Id: I6442451785867f0fc2daf84776118b092d4d6a18
Reviewed-on: https://gerrit.libreoffice.org/36653
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Michael Meeks <michael.meeks at collabora.com>
(cherry picked from commit 6827da5052bfe975a3b34af8dfa8af75d41e904c)
Reviewed-on: https://gerrit.libreoffice.org/36675
Reviewed-by: Markus Mohrhard <markus.mohrhard at googlemail.com>
diff --git a/vcl/source/window/window.cxx b/vcl/source/window/window.cxx
index 722486cc490f..2cd6307b2829 100644
--- a/vcl/source/window/window.cxx
+++ b/vcl/source/window/window.cxx
@@ -530,6 +530,7 @@ void Window::dispose()
}
delete mpWindowImpl->mpWinData;
+ mpWindowImpl->mpWinData = nullptr;
// remove BorderWindow or Frame window data
mpWindowImpl->mpBorderWindow.disposeAndClear();
@@ -556,11 +557,16 @@ void Window::dispose()
SAL_WARN("vcl", "Window " << this << " marked as frame window, "
"is missing from list of " << nWindows << " frames");
}
- mpWindowImpl->mpFrame->SetCallback( nullptr, nullptr );
- pSVData->mpDefInst->DestroyFrame( mpWindowImpl->mpFrame );
+ if (mpWindowImpl->mpFrame) // otherwise exception during init
+ {
+ mpWindowImpl->mpFrame->SetCallback( nullptr, nullptr );
+ pSVData->mpDefInst->DestroyFrame( mpWindowImpl->mpFrame );
+ }
assert (mpWindowImpl->mpFrameData->mnFocusId == nullptr);
assert (mpWindowImpl->mpFrameData->mnMouseMoveId == nullptr);
+
delete mpWindowImpl->mpFrameData;
+ mpWindowImpl->mpFrameData = nullptr;
}
// should be the last statements
More information about the Libreoffice-commits
mailing list