diff options
Diffstat (limited to 'sfx2/source/dialog/tabdlg.cxx')
-rw-r--r-- | sfx2/source/dialog/tabdlg.cxx | 12 |
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: |