[Libreoffice-commits] core.git: Branch 'libreoffice-5-0' - svx/source vcl/qa

Caolán McNamara caolanm at redhat.com
Tue Oct 27 11:32:02 UTC 2015


 svx/source/svdraw/svdpntv.cxx                        |    4 ++--
 vcl/qa/afl-eventtesting/eventtesting.impress.crash-3 |binary
 2 files changed, 2 insertions(+), 2 deletions(-)

New commits:
commit d6a6261fa99d5ea00f530ba234f9557f33ac9b2b
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Fri Oct 23 11:38:43 2015 +0100

    afl-eventtesting: crash on undoing insert new page in impress
    
    this is an intermittent crash in the real world but under event testing we can
    see that the PaintView is informed that the page has been deleted, but doesn't
    clear its use of the page if it so happens that there was earlier modification
    events that caused the fire-modification-timer to be launched
    
    If there happens to be no such events then the page is correctly cleared
    
    If the timer is active, then the page is not cleared, but eventually the
    timer will fire and access the deleted page and fall over and die
    
    minimal change for backporting ease, follow ups now
    
    (cherry picked from commit f8b975995c5d0dc6a9fc8febba0667fe24542ad2)
    
    Change-Id: I090ad62cc175545902574c93dec7082225d97ab7
    Reviewed-on: https://gerrit.libreoffice.org/19551
    Reviewed-by: Miklos Vajna <vmiklos at collabora.co.uk>
    Tested-by: Miklos Vajna <vmiklos at collabora.co.uk>

diff --git a/svx/source/svdraw/svdpntv.cxx b/svx/source/svdraw/svdpntv.cxx
index e996c5c..74a93bf 100644
--- a/svx/source/svdraw/svdpntv.cxx
+++ b/svx/source/svdraw/svdpntv.cxx
@@ -259,12 +259,12 @@ void SdrPaintView::Notify(SfxBroadcaster& rBC, const SfxHint& rHint)
         return;
     }
 
-    bool bObjChg=!bSomeObjChgdFlag; // if true, evaluate for ComeBack timer
-    if (bObjChg) {
+    {
         const SdrHint* pSdrHint = dynamic_cast<const SdrHint*>(&rHint);
         if (pSdrHint) {
             SdrHintKind eKind=pSdrHint->GetKind();
             if (eKind==HINT_OBJCHG || eKind==HINT_OBJINSERTED || eKind==HINT_OBJREMOVED) {
+                bool bObjChg=!bSomeObjChgdFlag; // if true, evaluate for ComeBack timer
                 if (bObjChg) {
                     bSomeObjChgdFlag=true;
                     aComeBackIdle.Start();
diff --git a/vcl/qa/afl-eventtesting/eventtesting.impress.crash-3 b/vcl/qa/afl-eventtesting/eventtesting.impress.crash-3
new file mode 100644
index 0000000..e6639ba
Binary files /dev/null and b/vcl/qa/afl-eventtesting/eventtesting.impress.crash-3 differ


More information about the Libreoffice-commits mailing list