summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorMaxim Monastirsky <momonasmon@gmail.com>2018-01-20 19:51:34 +0200
committerMaxim Monastirsky <momonasmon@gmail.com>2018-01-20 21:33:30 +0100
commit2a2b37202a735b34da914c03b2f6e1495f833b51 (patch)
tree358013a0edef43cf4f02859e02a119d86f5a0da4 /vcl
parentc68d08a63ed95d96914981fa320afd215a046e72 (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>
Diffstat (limited to 'vcl')
-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 6a512eb4171f..4ece999ab75b 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 )