tdf#136133: AppendInfoBar can return null
2 cases:
1) When set Donate property to false value in /org.openoffice.Office.UI.Infobar/Enabled
and LastTimeDonateShow with 1 in /org.openoffice.Setup/Product (Expert Configuration)
See https://bugs.documentfoundation.org/attachment.cgi?id=164702
2) GetInvolved = false and LastTimeGetInvolved = 1
See https://bugs.documentfoundation.org/attachment.cgi?id=164703
Change-Id: I2da22616fb6f3fb4e42bf6b5e5c29cc094dc2fd6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101391
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
diff --git a/sfx2/source/view/viewfrm.cxx b/sfx2/source/view/viewfrm.cxx
index b0f1e40..9e4b4b2 100644
--- a/sfx2/source/view/viewfrm.cxx
+++ b/sfx2/source/view/viewfrm.cxx
@@ -1382,11 +1382,14 @@ void SfxViewFrame::Notify( SfxBroadcaster& /*rBC*/, const SfxHint& rHint )
VclPtr<SfxInfoBarWindow> pInfoBar = AppendInfoBar("getinvolved", "", SfxResId(STR_GET_INVOLVED_TEXT), InfobarType::INFO);
VclPtrInstance<PushButton> xGetInvolvedButton(&GetWindow());
xGetInvolvedButton->SetText(SfxResId(STR_GET_INVOLVED_BUTTON));
xGetInvolvedButton->SetSizePixel(xGetInvolvedButton->GetOptimalSize());
xGetInvolvedButton->SetClickHdl(LINK(this, SfxViewFrame, GetInvolvedHandler));
pInfoBar->addButton(xGetInvolvedButton);
if (pInfoBar)
{
VclPtrInstance<PushButton> xGetInvolvedButton(&GetWindow());
xGetInvolvedButton->SetText(SfxResId(STR_GET_INVOLVED_BUTTON));
xGetInvolvedButton->SetSizePixel(xGetInvolvedButton->GetOptimalSize());
xGetInvolvedButton->SetClickHdl(LINK(this, SfxViewFrame, GetInvolvedHandler));
pInfoBar->addButton(xGetInvolvedButton);
}
}
if (bUpdateLastTimeGetInvolvedShown
@@ -1408,12 +1411,14 @@ void SfxViewFrame::Notify( SfxBroadcaster& /*rBC*/, const SfxHint& rHint )
bUpdateLastTimeDonateShown = true;
VclPtr<SfxInfoBarWindow> pInfoBar = AppendInfoBar("donate", "", SfxResId(STR_DONATE_TEXT), InfobarType::INFO);
VclPtrInstance<PushButton> xDonateButton(&GetWindow());
xDonateButton->SetText(SfxResId(STR_DONATE_BUTTON));
xDonateButton->SetSizePixel(xDonateButton->GetOptimalSize());
xDonateButton->SetClickHdl(LINK(this, SfxViewFrame, DonationHandler));
pInfoBar->addButton(xDonateButton);
if (pInfoBar)
{
VclPtrInstance<PushButton> xDonateButton(&GetWindow());
xDonateButton->SetText(SfxResId(STR_DONATE_BUTTON));
xDonateButton->SetSizePixel(xDonateButton->GetOptimalSize());
xDonateButton->SetClickHdl(LINK(this, SfxViewFrame, DonationHandler));
pInfoBar->addButton(xDonateButton);
}
}
if (bUpdateLastTimeDonateShown