vcl/source/app/salvtables.cxx |    8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

New commits:
commit 02ecb94a9b522d15501649af00979e9345f90489
Author:     Noel Grandin <noel.gran...@collabora.co.uk>
AuthorDate: Mon Jan 30 15:50:31 2023 +0200
Commit:     Michael Weghorn <m.wegh...@posteo.de>
CommitDate: Thu Feb 16 08:38:24 2023 +0000

    tdf#150380 Calc crash clicking on the title of the Border Color toolbar 
popdown
    
    There is probably a better fix for this, but we have a popup inside a
    popup here, so some weirdness is to be expected.
    
    At least it doesn't crash now.
    
    Change-Id: Ifaa928c47c3cbfaec8379f01f007b0c1daf4e5a6
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146359
    Tested-by: Noel Grandin <noel.gran...@collabora.co.uk>
    Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk>
    (cherry picked from commit f4a24366dd111c7c7434f4a887d7097ced6b5f55)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146329
    Tested-by: Jenkins
    Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org>
    (cherry picked from commit 4262e6cca32952ec3d2d130b1c86dc757977d54b)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146713
    Reviewed-by: Michael Stahl <michael.st...@allotropia.de>
    Reviewed-by: Michael Weghorn <m.wegh...@posteo.de>
    Tested-by: Michael Weghorn <m.wegh...@posteo.de>

diff --git a/vcl/source/app/salvtables.cxx b/vcl/source/app/salvtables.cxx
index 733d78179500..259192c854cb 100644
--- a/vcl/source/app/salvtables.cxx
+++ b/vcl/source/app/salvtables.cxx
@@ -1322,7 +1322,13 @@ void SalInstanceContainer::move(weld::Widget* pWidget, 
weld::Container* pNewPare
     assert(!pNewParent || pNewVclParent);
     vcl::Window* pVclWindow = pVclWidget->getWidget();
     if (pNewVclParent)
-        pVclWindow->SetParent(pNewVclParent->getWidget());
+    {
+        vcl::Window* pNew = pNewVclParent->getWidget();
+        if (!pNew->isDisposed())
+            pVclWindow->SetParent(pNewVclParent->getWidget());
+        else
+            SAL_WARN("vcl", "ignoring move because new parent is already 
disposed");
+    }
     else
     {
         pVclWindow->Hide();

Reply via email to