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 <caol...@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 <caol...@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
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits