summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxim Monastirsky <momonasmon@gmail.com>2018-01-20 19:51:34 +0200
committerMichael Stahl <mstahl@redhat.com>2018-01-23 21:27:09 +0100
commit4e00b175e2c222bc320ec16caa90aa1bd2c1b7a7 (patch)
tree03285cc21d9603c47d2a9b26d26444a75bcef952
parent30f07eb1d412fd53da70f350322034aae5b9c561 (diff)
tdf#115023 Check mpControlData for nullptr
Control::ImplClearLayoutData happens to be called post dispose, but Control::dispose already destroyed mpControlData. So put back the nullptr check that was removed in e8b49f09074fe184374bee5062715357427ae044 ("new loplugin: useuniqueptr: vcl"). (But IMHO it's odd that we even try to send lose focus events to disposing windows. So maybe it would make sense to replace the "! pOldFocusWindow->IsDisposed()" check inside Window::ImplGrabFocus with "isDisposed()" which comes from VclReferenceBase, and set much earlier?) Change-Id: Iddaf7e05d6cb56c28a34884876770753fcf7179e Reviewed-on: https://gerrit.libreoffice.org/48246 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Maxim Monastirsky <momonasmon@gmail.com> (cherry picked from commit 2a2b37202a735b34da914c03b2f6e1495f833b51) Reviewed-on: https://gerrit.libreoffice.org/48251 Reviewed-by: Michael Stahl <mstahl@redhat.com>
-rw-r--r--vcl/source/control/ctrl.cxx3
1 files changed, 2 insertions, 1 deletions
diff --git a/vcl/source/control/ctrl.cxx b/vcl/source/control/ctrl.cxx
index b62c90563d46..5f3d23901b0a 100644
--- a/vcl/source/control/ctrl.cxx
+++ b/vcl/source/control/ctrl.cxx
@@ -328,7 +328,8 @@ void Control::SetLayoutDataParent( const Control* pParent ) const
void Control::ImplClearLayoutData() const
{
- mpControlData->mpLayoutData.reset();
+ if (mpControlData)
+ mpControlData->mpLayoutData.reset();
}
void Control::ImplDrawFrame( OutputDevice* pDev, tools::Rectangle& rRect )