rpms/openoffice.org/F-12 workspace.impress180.patch, NONE, 1.1 openoffice.org.spec, 1.2055, 1.2056 workspace.impress182.patch, 1.1, 1.2

David Tardon dtardon at fedoraproject.org
Mon Jan 25 07:56:17 UTC 2010


Author: dtardon

Update of /cvs/pkgs/rpms/openoffice.org/F-12
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv29072

Modified Files:
	openoffice.org.spec workspace.impress182.patch 
Added Files:
	workspace.impress180.patch 
Log Message:
Resolves: rhbz#558342 [abrt] crash in SvxNumOptionsTabPage::InitControls

workspace.impress180.patch:
 numpages.cxx |   92 +++++++++++++++++++----------------------------------------
 1 file changed, 31 insertions(+), 61 deletions(-)

--- NEW FILE workspace.impress180.patch ---
rhbz#558342 [abrt] crash in SvxNumOptionsTabPage::InitControls

diff -r 54a713c73f2e svx/source/dialog/numpages.cxx
--- a/svx/source/dialog/numpages.cxx	Wed Jan 13 13:03:53 2010 +0100
+++ b/svx/source/dialog/numpages.cxx	Mon Jan 25 08:45:44 2010 +0100
@@ -383,18 +383,12 @@
 
 void  SvxSingleNumPickTabPage::Reset( const SfxItemSet& rSet )
 {
-	const SfxPoolItem* pItem;
-//	nActNumLvl = ((SwNumBulletTabDialog*)GetTabDialog())->GetActNumLevel();
-	//im Draw gibt es das Item als WhichId, im Writer nur als SlotId
-	SfxItemState eState = rSet.GetItemState(SID_ATTR_NUMBERING_RULE, FALSE, &pItem);
-	if(eState != SFX_ITEM_SET)
-	{
-		nNumItemId = rSet.GetPool()->GetWhich(SID_ATTR_NUMBERING_RULE);
-		eState = rSet.GetItemState(nNumItemId, FALSE, &pItem);
-	}
-	DBG_ASSERT(eState == SFX_ITEM_SET, "kein Item gefunden!");
+    nNumItemId = rSet.GetPool() ? rSet.GetPool()->GetWhich( SID_ATTR_NUMBERING_RULE ) : SID_ATTR_NUMBERING_RULE;
+    
+	const SvxNumBulletItem& rItem = static_cast< const SvxNumBulletItem& >( rSet.Get( nNumItemId, TRUE ) );
+
 	delete pSaveNum;
-	pSaveNum = new SvxNumRule(*((SvxNumBulletItem*)pItem)->GetNumRule());
+	pSaveNum = new SvxNumRule(*rItem.GetNumRule());
 
 	if(!pActNum)
 		pActNum = new  SvxNumRule(*pSaveNum);
@@ -575,17 +569,12 @@
 
 void  SvxBulletPickTabPage::Reset( const SfxItemSet& rSet )
 {
-	const SfxPoolItem* pItem;
-	//im Draw gibt es das Item als WhichId, im Writer nur als SlotId
-	SfxItemState eState = rSet.GetItemState(SID_ATTR_NUMBERING_RULE, FALSE, &pItem);
-	if(eState != SFX_ITEM_SET)
-	{
-		nNumItemId = rSet.GetPool()->GetWhich(SID_ATTR_NUMBERING_RULE);
-		eState = rSet.GetItemState(nNumItemId, FALSE, &pItem);
-	}
-	DBG_ASSERT(eState == SFX_ITEM_SET, "kein Item gefunden!");
+    nNumItemId = rSet.GetPool() ? rSet.GetPool()->GetWhich( SID_ATTR_NUMBERING_RULE ) : SID_ATTR_NUMBERING_RULE;
+    
+	const SvxNumBulletItem& rItem = static_cast< const SvxNumBulletItem& >( rSet.Get( nNumItemId, TRUE ) );
+	
 	delete pSaveNum;
-	pSaveNum = new SvxNumRule(*((SvxNumBulletItem*)pItem)->GetNumRule());
+	pSaveNum = new SvxNumRule(*rItem.GetNumRule());
 
 //	nActNumLvl = ((SwNumBulletTabDialog*)GetTabDialog())->GetActNumLevel();
 
@@ -805,17 +794,12 @@
 
 void  SvxNumPickTabPage::Reset( const SfxItemSet& rSet )
 {
-	const SfxPoolItem* pItem;
-	//im Draw gibt es das Item als WhichId, im Writer nur als SlotId
-	SfxItemState eState = rSet.GetItemState(SID_ATTR_NUMBERING_RULE, FALSE, &pItem);
-	if(eState != SFX_ITEM_SET)
-	{
-		nNumItemId = rSet.GetPool()->GetWhich(SID_ATTR_NUMBERING_RULE);
-		eState = rSet.GetItemState(nNumItemId, FALSE, &pItem);
-	}
-	DBG_ASSERT(eState == SFX_ITEM_SET, "kein Item gefunden!");
+    nNumItemId = rSet.GetPool() ? rSet.GetPool()->GetWhich( SID_ATTR_NUMBERING_RULE ) : SID_ATTR_NUMBERING_RULE;
+    
+	const SvxNumBulletItem& rItem = static_cast< const SvxNumBulletItem& >( rSet.Get( nNumItemId, TRUE ) );
+	
 	delete pSaveNum;
-	pSaveNum = new SvxNumRule(*((SvxNumBulletItem*)pItem)->GetNumRule());
+	pSaveNum = new SvxNumRule(*rItem.GetNumRule());
 
 //	nActNumLvl = ((SwNumBulletTabDialog*)GetTabDialog())->GetActNumLevel();
 	if(!pActNum)
@@ -1110,17 +1094,12 @@
 
 void  SvxBitmapPickTabPage::Reset( const SfxItemSet& rSet )
 {
-	const SfxPoolItem* pItem;
-	//im Draw gibt es das Item als WhichId, im Writer nur als SlotId
-	SfxItemState eState = rSet.GetItemState(SID_ATTR_NUMBERING_RULE, FALSE, &pItem);
-	if(eState != SFX_ITEM_SET)
-	{
-		nNumItemId = rSet.GetPool()->GetWhich(SID_ATTR_NUMBERING_RULE);
-		eState = rSet.GetItemState(nNumItemId, FALSE, &pItem);
-	}
-	DBG_ASSERT(eState == SFX_ITEM_SET, "kein Item gefunden!");
+    nNumItemId = rSet.GetPool() ? rSet.GetPool()->GetWhich( SID_ATTR_NUMBERING_RULE ) : SID_ATTR_NUMBERING_RULE;
+    
+	const SvxNumBulletItem& rItem = static_cast< const SvxNumBulletItem& >( rSet.Get( nNumItemId, TRUE ) );
+	
 	delete pSaveNum;
-	pSaveNum = new SvxNumRule(*((SvxNumBulletItem*)pItem)->GetNumRule());
+	pSaveNum = new SvxNumRule(*rItem.GetNumRule());
 
 	if(!pActNum)
 		pActNum = new  SvxNumRule(*pSaveNum);
@@ -1542,17 +1521,12 @@
 --------------------------------------------------*/
 void 	SvxNumOptionsTabPage::Reset( const SfxItemSet& rSet )
 {
-	const SfxPoolItem* pItem;
-	//im Draw gibt es das Item als WhichId, im Writer nur als SlotId
-	SfxItemState eState = rSet.GetItemState(SID_ATTR_NUMBERING_RULE, FALSE, &pItem);
-	if(eState != SFX_ITEM_SET)
-	{
-		nNumItemId = rSet.GetPool()->GetWhich(SID_ATTR_NUMBERING_RULE);
-		eState = rSet.GetItemState(nNumItemId, FALSE, &pItem);
-	}
-	DBG_ASSERT(eState == SFX_ITEM_SET, "kein Item gefunden!");
+    nNumItemId = rSet.GetPool() ? rSet.GetPool()->GetWhich( SID_ATTR_NUMBERING_RULE ) : SID_ATTR_NUMBERING_RULE;
+    
+	const SvxNumBulletItem& rItem = static_cast< const SvxNumBulletItem& >( rSet.Get( nNumItemId, TRUE ) );
+	
 	delete pSaveNum;
-	pSaveNum = new SvxNumRule(*((SvxNumBulletItem*)pItem)->GetNumRule());
+	pSaveNum = new SvxNumRule(*rItem.GetNumRule());
 
 	// Ebenen einfuegen
 	if(!aLevelLB.GetEntryCount())
@@ -1596,6 +1570,7 @@
 	pPreviewWIN->SetNumRule(pActNum);
 	aSameLevelCB.Check(pActNum->IsContinuousNumbering());
 
+    const SfxPoolItem* pItem = 0;
 	//ColorListBox bei Bedarf fuellen
 	if ( pActNum->IsFeatureSupported( NUM_BULLET_COLOR ) )
 	{
@@ -3443,17 +3418,12 @@
 --------------------------------------------------*/
 void SvxNumPositionTabPage::Reset( const SfxItemSet& rSet )
 {
-	const SfxPoolItem* pItem;
-	//im Draw gibt es das Item als WhichId, im Writer nur als SlotId
-	SfxItemState eState = rSet.GetItemState(SID_ATTR_NUMBERING_RULE, FALSE, &pItem);
-	if(eState != SFX_ITEM_SET)
-	{
-		nNumItemId = rSet.GetPool()->GetWhich(SID_ATTR_NUMBERING_RULE);
-		eState = rSet.GetItemState(nNumItemId, FALSE, &pItem);
-	}
-	DBG_ASSERT(eState == SFX_ITEM_SET, "kein Item gefunden!");
+    nNumItemId = rSet.GetPool() ? rSet.GetPool()->GetWhich( SID_ATTR_NUMBERING_RULE ) : SID_ATTR_NUMBERING_RULE;
+    
+	const SvxNumBulletItem& rItem = static_cast< const SvxNumBulletItem& >( rSet.Get( nNumItemId, TRUE ) );
+	
 	delete pSaveNum;
-	pSaveNum = new SvxNumRule(*((SvxNumBulletItem*)pItem)->GetNumRule());
+	pSaveNum = new SvxNumRule(*rItem.GetNumRule());
 
 	// Ebenen einfuegen
 	if(!aLevelLB.GetEntryCount())


Index: openoffice.org.spec
===================================================================
RCS file: /cvs/pkgs/rpms/openoffice.org/F-12/openoffice.org.spec,v
retrieving revision 1.2055
retrieving revision 1.2056
diff -u -p -r1.2055 -r1.2056
--- openoffice.org.spec	16 Jan 2010 09:14:15 -0000	1.2055
+++ openoffice.org.spec	25 Jan 2010 07:56:16 -0000	1.2056
@@ -186,10 +186,11 @@ Patch108: workspace.ooo32gsl03.patch
 Patch109: openoffice.org-3.2.0.ooo107834.sw.pseudoattribs.patch
 Patch110: workspace.extmgr01.patch
 Patch111: openoffice.org-3.3.0.ooo108047.writerfilter.safer-field-context-handling.patch
-Patch112: workspace.impress182.patch
-Patch113: openoffice.org-3.3.0.ooo108246.svx.hide-sql-group-when-inactive.patch
-Patch114: workspace.sw33bf02.patch
-Patch115: openoffice.org-3.3.0.ooo80674.cmyk-for-jpeg-images.patch
+Patch112: openoffice.org-3.3.0.ooo108246.svx.hide-sql-group-when-inactive.patch
+Patch113: workspace.sw33bf02.patch
+Patch114: openoffice.org-3.3.0.ooo80674.cmyk-for-jpeg-images.patch
+Patch115: workspace.impress180.patch
+Patch116: workspace.impress182.patch
 
 %define python_py_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(0)")
 %define instdir %{_libdir}
@@ -1770,10 +1771,11 @@ cat %{PATCH11} >> svtools/source/dialogs
 %patch109 -p0 -b .ooo107834.sw.pseudoattribs.patch
 %patch110 -p1 -b .workspace.extmgr01.patch
 %patch111 -p1 -b .ooo108047.writerfilter.safer-field-context-handling.patch
-%patch112 -p1 -b .workspace.impress182.patch
-%patch113 -p1 -b .ooo108246.svx.hide-sql-group-when-inactive.patch
-%patch114 -p1 -b .workspace.sw33bf02.patch
-%patch115 -p1 -b .ooo80674.cmyk-for-jpeg-images.patch
+%patch112 -p1 -b .ooo108246.svx.hide-sql-group-when-inactive.patch
+%patch113 -p1 -b .workspace.sw33bf02.patch
+%patch114 -p1 -b .ooo80674.cmyk-for-jpeg-images.patch
+%patch115 -p1 -b .workspace.impress180.patch
+%patch116 -p1 -b .workspace.impress182.patch
 
 %build
 echo build start time is `date`, diskspace: `df -h . | tail -n 1`
@@ -4325,6 +4327,8 @@ fi
 - Resolves: rhbz#549573 improve document compare (caolanm)
 - Resolves: rbhz#555257 openoffice cannot use JPEG images using CMYK
   colorspace (dtardon)
+- Resolves: rhbz#558342 [abrt] crash in SvxNumOptionsTabPage::InitControls
+  (dtardon)
 
 * Tue Dec 22 2009 Caolán McNamara <caolanm at redhat.com> - 1:3.1.1-19.24
 - Resolves: rhbz#545824 bustage in writer with emboldened fonts

workspace.impress182.patch:
 sd/source/core/sdpage.cxx      |   34 ----------
 svx/source/dialog/numpages.cxx |  133 +++++++++++++++++++++++++++++++----------
 2 files changed, 102 insertions(+), 65 deletions(-)

Index: workspace.impress182.patch
===================================================================
RCS file: /cvs/pkgs/rpms/openoffice.org/F-12/workspace.impress182.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -p -r1.1 -r1.2
--- workspace.impress182.patch	4 Jan 2010 17:28:54 -0000	1.1
+++ workspace.impress182.patch	25 Jan 2010 07:56:17 -0000	1.2
@@ -1,7 +1,7 @@
-diff -r 8c8a1acb60b2 -r 3edc480c34d2 sd/source/core/sdpage.cxx
---- a/sd/source/core/sdpage.cxx	Mon Nov 09 14:10:33 2009 +0000
-+++ b/sd/source/core/sdpage.cxx	Tue Nov 10 15:17:30 2009 +0000
-@@ -2049,40 +2049,6 @@
+diff -r 7d648903e870 sd/source/core/sdpage.cxx
+--- a/sd/source/core/sdpage.cxx	Mon Jan 25 08:48:31 2010 +0100
++++ b/sd/source/core/sdpage.cxx	Mon Jan 25 08:52:59 2010 +0100
+@@ -2017,40 +2017,6 @@
  					pObj->NbcMove(aVec);
  				}
  
@@ -42,3 +42,194 @@ diff -r 8c8a1acb60b2 -r 3edc480c34d2 sd/
  				pObj->SetChanged();
  				pObj->BroadcastObjectChange();
  			}
+diff -r 7d648903e870 svx/source/dialog/numpages.cxx
+--- a/svx/source/dialog/numpages.cxx	Mon Jan 25 08:48:31 2010 +0100
++++ b/svx/source/dialog/numpages.cxx	Mon Jan 25 08:52:59 2010 +0100
+@@ -383,12 +383,24 @@
+ 
+ void  SvxSingleNumPickTabPage::Reset( const SfxItemSet& rSet )
+ {
+-    nNumItemId = rSet.GetPool() ? rSet.GetPool()->GetWhich( SID_ATTR_NUMBERING_RULE ) : SID_ATTR_NUMBERING_RULE;
+-    
+-	const SvxNumBulletItem& rItem = static_cast< const SvxNumBulletItem& >( rSet.Get( nNumItemId, TRUE ) );
+-
++	const SfxPoolItem* pItem;
++//	nActNumLvl = ((SwNumBulletTabDialog*)GetTabDialog())->GetActNumLevel();
++	//im Draw gibt es das Item als WhichId, im Writer nur als SlotId
++	SfxItemState eState = rSet.GetItemState(SID_ATTR_NUMBERING_RULE, FALSE, &pItem);
++	if(eState != SFX_ITEM_SET)
++	{
++		nNumItemId = rSet.GetPool()->GetWhich(SID_ATTR_NUMBERING_RULE);
++		eState = rSet.GetItemState(nNumItemId, FALSE, &pItem);
++		
++		if( eState != SFX_ITEM_SET )
++		{
++	        pItem = &static_cast< const SvxNumBulletItem& >( rSet.Get( nNumItemId, TRUE ) );		
++	        eState = SFX_ITEM_SET;
++		}
++	}
++	DBG_ASSERT(eState == SFX_ITEM_SET, "kein Item gefunden!");
+ 	delete pSaveNum;
+-	pSaveNum = new SvxNumRule(*rItem.GetNumRule());
++	pSaveNum = new SvxNumRule(*((SvxNumBulletItem*)pItem)->GetNumRule());
+ 
+ 	if(!pActNum)
+ 		pActNum = new  SvxNumRule(*pSaveNum);
+@@ -569,12 +581,24 @@
+ 
+ void  SvxBulletPickTabPage::Reset( const SfxItemSet& rSet )
+ {
+-    nNumItemId = rSet.GetPool() ? rSet.GetPool()->GetWhich( SID_ATTR_NUMBERING_RULE ) : SID_ATTR_NUMBERING_RULE;
+-    
+-	const SvxNumBulletItem& rItem = static_cast< const SvxNumBulletItem& >( rSet.Get( nNumItemId, TRUE ) );
+-	
++	const SfxPoolItem* pItem;
++	//im Draw gibt es das Item als WhichId, im Writer nur als SlotId
++	SfxItemState eState = rSet.GetItemState(SID_ATTR_NUMBERING_RULE, FALSE, &pItem);
++	if(eState != SFX_ITEM_SET)
++	{
++		nNumItemId = rSet.GetPool()->GetWhich(SID_ATTR_NUMBERING_RULE);
++		eState = rSet.GetItemState(nNumItemId, FALSE, &pItem);
++		
++		if( eState != SFX_ITEM_SET )
++		{
++	        pItem = &static_cast< const SvxNumBulletItem& >( rSet.Get( nNumItemId, TRUE ) );		
++	        eState = SFX_ITEM_SET;
++		}
++		
++	}
++	DBG_ASSERT(eState == SFX_ITEM_SET, "kein Item gefunden!");
+ 	delete pSaveNum;
+-	pSaveNum = new SvxNumRule(*rItem.GetNumRule());
++	pSaveNum = new SvxNumRule(*((SvxNumBulletItem*)pItem)->GetNumRule());
+ 
+ //	nActNumLvl = ((SwNumBulletTabDialog*)GetTabDialog())->GetActNumLevel();
+ 
+@@ -794,12 +818,24 @@
+ 
+ void  SvxNumPickTabPage::Reset( const SfxItemSet& rSet )
+ {
+-    nNumItemId = rSet.GetPool() ? rSet.GetPool()->GetWhich( SID_ATTR_NUMBERING_RULE ) : SID_ATTR_NUMBERING_RULE;
+-    
+-	const SvxNumBulletItem& rItem = static_cast< const SvxNumBulletItem& >( rSet.Get( nNumItemId, TRUE ) );
+-	
++	const SfxPoolItem* pItem;
++	//im Draw gibt es das Item als WhichId, im Writer nur als SlotId
++	SfxItemState eState = rSet.GetItemState(SID_ATTR_NUMBERING_RULE, FALSE, &pItem);
++	if(eState != SFX_ITEM_SET)
++	{
++		nNumItemId = rSet.GetPool()->GetWhich(SID_ATTR_NUMBERING_RULE);
++		eState = rSet.GetItemState(nNumItemId, FALSE, &pItem);
++		
++		if( eState != SFX_ITEM_SET )
++		{
++	        pItem = &static_cast< const SvxNumBulletItem& >( rSet.Get( nNumItemId, TRUE ) );		
++	        eState = SFX_ITEM_SET;
++		}
++		
++	}
++	DBG_ASSERT(eState == SFX_ITEM_SET, "kein Item gefunden!");
+ 	delete pSaveNum;
+-	pSaveNum = new SvxNumRule(*rItem.GetNumRule());
++	pSaveNum = new SvxNumRule(*((SvxNumBulletItem*)pItem)->GetNumRule());
+ 
+ //	nActNumLvl = ((SwNumBulletTabDialog*)GetTabDialog())->GetActNumLevel();
+ 	if(!pActNum)
+@@ -1094,12 +1130,24 @@
+ 
+ void  SvxBitmapPickTabPage::Reset( const SfxItemSet& rSet )
+ {
+-    nNumItemId = rSet.GetPool() ? rSet.GetPool()->GetWhich( SID_ATTR_NUMBERING_RULE ) : SID_ATTR_NUMBERING_RULE;
+-    
+-	const SvxNumBulletItem& rItem = static_cast< const SvxNumBulletItem& >( rSet.Get( nNumItemId, TRUE ) );
+-	
++	const SfxPoolItem* pItem;
++	//im Draw gibt es das Item als WhichId, im Writer nur als SlotId
++	SfxItemState eState = rSet.GetItemState(SID_ATTR_NUMBERING_RULE, FALSE, &pItem);
++	if(eState != SFX_ITEM_SET)
++	{
++		nNumItemId = rSet.GetPool()->GetWhich(SID_ATTR_NUMBERING_RULE);
++		eState = rSet.GetItemState(nNumItemId, FALSE, &pItem);
++		
++		if( eState != SFX_ITEM_SET )
++		{
++	        pItem = &static_cast< const SvxNumBulletItem& >( rSet.Get( nNumItemId, TRUE ) );		
++	        eState = SFX_ITEM_SET;
++		}
++		
++	}
++	DBG_ASSERT(eState == SFX_ITEM_SET, "kein Item gefunden!");
+ 	delete pSaveNum;
+-	pSaveNum = new SvxNumRule(*rItem.GetNumRule());
++	pSaveNum = new SvxNumRule(*((SvxNumBulletItem*)pItem)->GetNumRule());
+ 
+ 	if(!pActNum)
+ 		pActNum = new  SvxNumRule(*pSaveNum);
+@@ -1521,12 +1569,24 @@
+ --------------------------------------------------*/
+ void 	SvxNumOptionsTabPage::Reset( const SfxItemSet& rSet )
+ {
+-    nNumItemId = rSet.GetPool() ? rSet.GetPool()->GetWhich( SID_ATTR_NUMBERING_RULE ) : SID_ATTR_NUMBERING_RULE;
+-    
+-	const SvxNumBulletItem& rItem = static_cast< const SvxNumBulletItem& >( rSet.Get( nNumItemId, TRUE ) );
+-	
++	const SfxPoolItem* pItem;
++	//im Draw gibt es das Item als WhichId, im Writer nur als SlotId
++	SfxItemState eState = rSet.GetItemState(SID_ATTR_NUMBERING_RULE, FALSE, &pItem);
++	if(eState != SFX_ITEM_SET)
++	{
++		nNumItemId = rSet.GetPool()->GetWhich(SID_ATTR_NUMBERING_RULE);
++		eState = rSet.GetItemState(nNumItemId, FALSE, &pItem);
++		
++		if( eState != SFX_ITEM_SET )
++		{
++	        pItem = &static_cast< const SvxNumBulletItem& >( rSet.Get( nNumItemId, TRUE ) );		
++	        eState = SFX_ITEM_SET;
++		}
++		
++	}
++	DBG_ASSERT(eState == SFX_ITEM_SET, "kein Item gefunden!");
+ 	delete pSaveNum;
+-	pSaveNum = new SvxNumRule(*rItem.GetNumRule());
++	pSaveNum = new SvxNumRule(*((SvxNumBulletItem*)pItem)->GetNumRule());
+ 
+ 	// Ebenen einfuegen
+ 	if(!aLevelLB.GetEntryCount())
+@@ -1570,7 +1630,6 @@
+ 	pPreviewWIN->SetNumRule(pActNum);
+ 	aSameLevelCB.Check(pActNum->IsContinuousNumbering());
+ 
+-    const SfxPoolItem* pItem = 0;
+ 	//ColorListBox bei Bedarf fuellen
+ 	if ( pActNum->IsFeatureSupported( NUM_BULLET_COLOR ) )
+ 	{
+@@ -3418,12 +3477,24 @@
+ --------------------------------------------------*/
+ void SvxNumPositionTabPage::Reset( const SfxItemSet& rSet )
+ {
+-    nNumItemId = rSet.GetPool() ? rSet.GetPool()->GetWhich( SID_ATTR_NUMBERING_RULE ) : SID_ATTR_NUMBERING_RULE;
+-    
+-	const SvxNumBulletItem& rItem = static_cast< const SvxNumBulletItem& >( rSet.Get( nNumItemId, TRUE ) );
+-	
++	const SfxPoolItem* pItem;
++	//im Draw gibt es das Item als WhichId, im Writer nur als SlotId
++	SfxItemState eState = rSet.GetItemState(SID_ATTR_NUMBERING_RULE, FALSE, &pItem);
++	if(eState != SFX_ITEM_SET)
++	{
++		nNumItemId = rSet.GetPool()->GetWhich(SID_ATTR_NUMBERING_RULE);
++		eState = rSet.GetItemState(nNumItemId, FALSE, &pItem);
++				
++		if( eState != SFX_ITEM_SET )
++		{
++	        pItem = &static_cast< const SvxNumBulletItem& >( rSet.Get( nNumItemId, TRUE ) );		
++	        eState = SFX_ITEM_SET;
++		}
++
++	}
++	DBG_ASSERT(eState == SFX_ITEM_SET, "kein Item gefunden!");
+ 	delete pSaveNum;
+-	pSaveNum = new SvxNumRule(*rItem.GetNumRule());
++	pSaveNum = new SvxNumRule(*((SvxNumBulletItem*)pItem)->GetNumRule());
+ 
+ 	// Ebenen einfuegen
+ 	if(!aLevelLB.GetEntryCount())



More information about the scm-commits mailing list