[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