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

Caolán McNamara caolanm at redhat.com
Fri Oct 23 10:58:02 UTC 2015


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

New commits:
commit 364eaba8ef183d61a07f07efe58c2a6a485d6b0e
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Fri Oct 23 11:51:47 2015 +0100

    fix indent and simplify returns, no logic change
    
    aka, beat up on its corpse a bit
    
    Change-Id: Ia5b8d227083e8f4c1582bf13260e92331740aa82

diff --git a/svx/source/svdraw/svdpntv.cxx b/svx/source/svdraw/svdpntv.cxx
index 542af57..86ff0db 100644
--- a/svx/source/svdraw/svdpntv.cxx
+++ b/svx/source/svdraw/svdpntv.cxx
@@ -259,27 +259,29 @@ void SdrPaintView::Notify(SfxBroadcaster& rBC, const SfxHint& rHint)
         return;
     }
 
+    const SdrHint* pSdrHint = dynamic_cast<const SdrHint*>(&rHint);
+    if (!pSdrHint)
+        return;
+
+    SdrHintKind eKind = pSdrHint->GetKind();
+    if (eKind==HINT_OBJCHG || eKind==HINT_OBJINSERTED || eKind==HINT_OBJREMOVED)
     {
-        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=!mbSomeObjChgdFlag; // if true, evaluate for ComeBack timer
-                if (bObjChg) {
-                    mbSomeObjChgdFlag=true;
-                    maComeBackIdle.Start();
-                }
-            }
-            if (eKind==HINT_PAGEORDERCHG) {
-                const SdrPage* pPg=pSdrHint->GetPage();
+        bool bObjChg = !mbSomeObjChgdFlag; // if true, evaluate for ComeBack timer
+        if (bObjChg)
+        {
+            mbSomeObjChgdFlag=true;
+            maComeBackIdle.Start();
+        }
+    }
 
-                if(pPg && !pPg->IsInserted())
-                {
-                    if(mpPageView && mpPageView->GetPage() == pPg)
-                    {
-                        HideSdrPage();
-                    }
-                }
+    if (eKind==HINT_PAGEORDERCHG)
+    {
+        const SdrPage* pPg=pSdrHint->GetPage();
+        if (pPg && !pPg->IsInserted())
+        {
+            if(mpPageView && mpPageView->GetPage() == pPg)
+            {
+                HideSdrPage();
             }
         }
     }
@@ -291,8 +293,6 @@ void SdrPaintView::ConfigurationChanged( ::utl::ConfigurationBroadcaster* , sal_
     InvalidateAllWin();
 }
 
-
-
 IMPL_LINK_NOARG_TYPED(SdrPaintView, ImpComeBackHdl, Idle *, void)
 {
     if (mbSomeObjChgdFlag) {
commit f8b975995c5d0dc6a9fc8febba0667fe24542ad2
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
    
    Change-Id: I090ad62cc175545902574c93dec7082225d97ab7

diff --git a/svx/source/svdraw/svdpntv.cxx b/svx/source/svdraw/svdpntv.cxx
index 9ca6864..542af57 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=!mbSomeObjChgdFlag; // 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=!mbSomeObjChgdFlag; // if true, evaluate for ComeBack timer
                 if (bObjChg) {
                     mbSomeObjChgdFlag=true;
                     maComeBackIdle.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