[Libreoffice-commits] core.git: vcl/source

Maxim Monastirsky momonasmon at gmail.com
Sat Jan 20 20:33:55 UTC 2018


 vcl/source/control/ctrl.cxx |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

New commits:
commit 2a2b37202a735b34da914c03b2f6e1495f833b51
Author: Maxim Monastirsky <momonasmon at gmail.com>
Date:   Sat Jan 20 19:51:34 2018 +0200

    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 at collabora.co.uk>
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Maxim Monastirsky <momonasmon at gmail.com>

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 )


More information about the Libreoffice-commits mailing list