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

Caolán McNamara (via logerrit) logerrit at kemper.freedesktop.org
Fri Jun 21 16:06:44 UTC 2019


 sc/source/ui/Accessibility/AccessibleDocument.cxx |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

New commits:
commit d888ea3a8b10639cd5f2423b005a4e51d7427183
Author:     Caolán McNamara <caolanm at redhat.com>
AuthorDate: Fri Jun 21 14:56:19 2019 +0100
Commit:     Caolán McNamara <caolanm at redhat.com>
CommitDate: Fri Jun 21 18:05:14 2019 +0200

    remove then dispose, not dispose then remove
    
    asserts seen in inline spelling in calc otherwise
    
    Change-Id: If78142cb0a3e23de6eb0e5d40622a4c7d06df8ec
    Reviewed-on: https://gerrit.libreoffice.org/74511
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/sc/source/ui/Accessibility/AccessibleDocument.cxx b/sc/source/ui/Accessibility/AccessibleDocument.cxx
index cac634524832..0f486b9d1eba 100644
--- a/sc/source/ui/Accessibility/AccessibleDocument.cxx
+++ b/sc/source/ui/Accessibility/AccessibleDocument.cxx
@@ -1495,6 +1495,10 @@ void ScAccessibleDocument::Notify( SfxBroadcaster& rBC, const SfxHint& rHint )
                 if (mpTempAccEdit)
                 {
                     mpTempAccEdit->LostFocus();
+                }
+                RemoveChild(mxTempAcc, true);
+                if (mpTempAccEdit)
+                {
                     // tdf#125982 a11y use-after-free of editengine by
                     // ScAccessibleEditObjectTextData living past the
                     // the editengine of the editview passed in above
@@ -1502,7 +1506,6 @@ void ScAccessibleDocument::Notify( SfxBroadcaster& rBC, const SfxHint& rHint )
                     mpTempAccEdit->dispose();
                     mpTempAccEdit = nullptr;
                 }
-                RemoveChild(mxTempAcc, true);
                 if (mpAccessibleSpreadsheet.is() && mpViewShell && mpViewShell->IsActive())
                     mpAccessibleSpreadsheet->GotFocus();
                 else if( mpViewShell && mpViewShell->IsActive())


More information about the Libreoffice-commits mailing list