summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndras Timar <andras.timar@collabora.com>2014-04-24 21:50:26 +0200
committerMiklos Vajna <vmiklos@collabora.co.uk>2014-04-25 19:42:25 +0000
commitd1d25c8cbc2962ce2501b4ed6034d2e4e4ccba9a (patch)
tree97ef0307a40103bd5a592009162010b1b0c0988c
parent6b7f07e3dbd990fd63c707d9297b4715e6e3957d (diff)
fdo#77242 fix crash
Change-Id: Ic28b2dccc02627446a794929fe970495b15eb0e1 Reviewed-on: https://gerrit.libreoffice.org/9154 Tested-by: Miklos Vajna <vmiklos@collabora.co.uk> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
-rw-r--r--sfx2/source/dialog/tabdlg.cxx12
1 files changed, 11 insertions, 1 deletions
diff --git a/sfx2/source/dialog/tabdlg.cxx b/sfx2/source/dialog/tabdlg.cxx
index 95bdbad10760..065a23c8e3d4 100644
--- a/sfx2/source/dialog/tabdlg.cxx
+++ b/sfx2/source/dialog/tabdlg.cxx
@@ -1270,7 +1270,7 @@ IMPL_LINK( SfxTabDialog, ActivatePageHdl, TabControl *, pTabCtrl )
*/
{
- sal_uInt16 const nId = pTabCtrl->GetCurPageId();
+ sal_uInt16 nId = pTabCtrl->GetCurPageId();
DBG_ASSERT( pImpl->aData.size(), "no Pages registered" );
SFX_APP();
@@ -1278,6 +1278,16 @@ IMPL_LINK( SfxTabDialog, ActivatePageHdl, TabControl *, pTabCtrl )
// Tab Page schon da?
SfxTabPage* pTabPage = dynamic_cast<SfxTabPage*> (pTabCtrl->GetTabPage( nId ));
Data_Impl* pDataObject = Find( pImpl->aData, nId );
+
+ //UUUU fallback to 1st page when requested one does not exist
+ if(!pDataObject && pTabCtrl->GetPageCount())
+ {
+ pTabCtrl->SetCurPageId(pTabCtrl->GetPageId(0));
+ nId = pTabCtrl->GetCurPageId();
+ pTabPage = dynamic_cast< SfxTabPage* >(pTabCtrl->GetTabPage(nId));
+ pDataObject = Find(pImpl->aData, nId);
+ }
+
DBG_ASSERT( pDataObject, "Id not known" );
// Create TabPage if possible: