diff options
author | Julien Nabet <serval2412@yahoo.fr> | 2020-08-26 11:00:16 +0200 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.com> | 2021-04-22 17:34:34 +0200 |
commit | e564e66553d2d6304f5e0a5c8510070ac6262ec1 (patch) | |
tree | 09683a88c74edebdb2d0c04dec8357479d4113b2 | |
parent | a4b426d4cd246fc9a5faf2a89cad0ebdc0a18847 (diff) |
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
(cherry picked from commit be4fcac736fccce8ee7d4550a860b0127e7601bb)
Change-Id: I2da22616fb6f3fb4e42bf6b5e5c29cc094dc2fd6
-rw-r--r-- | sfx2/source/view/viewfrm.cxx | 27 |
1 files changed, 16 insertions, 11 deletions
diff --git a/sfx2/source/view/viewfrm.cxx b/sfx2/source/view/viewfrm.cxx index 3a0572058932..39b1c911778d 100644 --- a/sfx2/source/view/viewfrm.cxx +++ b/sfx2/source/view/viewfrm.cxx @@ -1331,11 +1331,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 @@ -1357,12 +1360,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 |