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.
libreoffice/0001-fdo-77242-fix-crash.patch

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