You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
1.6 KiB
47 lines
1.6 KiB
From d1d25c8cbc2962ce2501b4ed6034d2e4e4ccba9a Mon Sep 17 00:00:00 2001
|
|
From: Andras Timar <andras.timar@collabora.com>
|
|
Date: Thu, 24 Apr 2014 21:50:26 +0200
|
|
Subject: [PATCH] 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>
|
|
---
|
|
sfx2/source/dialog/tabdlg.cxx | 12 +++++++++++-
|
|
1 file changed, 11 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/sfx2/source/dialog/tabdlg.cxx b/sfx2/source/dialog/tabdlg.cxx
|
|
index 95bdbad..065a23c 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:
|
|
--
|
|
1.9.0
|
|
|