summaryrefslogtreecommitdiff
path: root/sfx2/source/dialog/tabdlg.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sfx2/source/dialog/tabdlg.cxx')
-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 d698048664e7..9952c628666c 100644
--- a/sfx2/source/dialog/tabdlg.cxx
+++ b/sfx2/source/dialog/tabdlg.cxx
@@ -1209,7 +1209,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();
@@ -1217,6 +1217,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: