rpms/openoffice.org/F-11 workspace.aw073.patch, 1.2, 1.3 openoffice.org.spec, 1.1935, 1.1936

Caolan McNamara caolanm at fedoraproject.org
Wed Sep 23 15:09:32 UTC 2009


Author: caolanm

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

Modified Files:
	openoffice.org.spec 
Added Files:
	workspace.aw073.patch 
Log Message:
Resolves: rhbz#522839 crash on exit after loading .doc

workspace.aw073.patch:
 editobj.cxx |   36 +++++++++++++++++++++++++++++++++---
 1 file changed, 33 insertions(+), 3 deletions(-)

Index: workspace.aw073.patch
===================================================================
RCS file: workspace.aw073.patch
diff -N workspace.aw073.patch
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ workspace.aw073.patch	23 Sep 2009 15:09:30 -0000	1.3
@@ -0,0 +1,78 @@
+Index: source/editeng/editobj.cxx
+===================================================================
+--- svx.orig/source/editeng/editobj.cxx	(.../tags/DEV300_m52/svx)	(revision 276405)
++++ svx/source/editeng/editobj.cxx	(.../cws/aw073/svx)	(revision 276405)
+@@ -599,6 +617,23 @@
+     }
+ }
+ 
++EditEngineItemPool* getEditEngineItemPool(SfxItemPool* pPool)
++{
++	EditEngineItemPool* pRetval = dynamic_cast< EditEngineItemPool* >(pPool);
++
++	while(!pRetval && pPool && pPool->GetSecondaryPool())
++	{
++		pPool = pPool->GetSecondaryPool();
++
++		if(pPool)
++		{
++			pRetval = dynamic_cast< EditEngineItemPool* >(pPool);
++		}
++	}
++
++	return pRetval;
++}
++
+ BinTextObject::BinTextObject( SfxItemPool* pP ) :
+ 	EditTextObject( EE_FORMAT_BIN ),
+     SfxItemPoolUser()
+@@ -608,9 +643,17 @@
+ 	nUserType = 0;
+ 	nObjSettings = 0;
+ 	pPortionInfo = 0;
+-	if ( pP )
++	
++	// #i101239# ensure target is a EditEngineItemPool, else
++	// fallback to pool ownership. This is needed to ensure that at
++	// pool destruction time of an alien pool, the pool is still alive.
++	// When registering would happen at an alien pool which just uses an
++	// EditEngineItemPool as some sub-pool, that pool could already
++	// be decoupled and deleted whcih would lead to crashes.
++	pPool =	getEditEngineItemPool(pP);
++	
++	if ( pPool )
+ 	{
+-		pPool =	pP;
+ 		bOwnerOfPool = FALSE;
+ 	}
+ 	else
+@@ -621,6 +664,7 @@
+ 
+     if(!bOwnerOfPool && pPool)
+     {
++		// it is sure now that the pool is an EditEngineItemPool
+         pPool->AddSfxItemPoolUser(*this);
+     }
+ 
+@@ -641,9 +685,12 @@
+ 	nScriptType = r.nScriptType;
+ 	pPortionInfo = NULL;	// PortionInfo nicht kopieren
+ 	bStoreUnicodeStrings = FALSE;
++
+ 	if ( !r.bOwnerOfPool )
+ 	{
+-		// Dann den Pool mitverwenden
++		// reuse alien pool; this must be a EditEngineItemPool
++		// since there is no other way to construct a BinTextObject
++		// than it's regular constructor where that is ensured
+ 		pPool =	r.pPool;
+ 		bOwnerOfPool = FALSE;
+ 	}
+@@ -656,6 +703,7 @@
+ 
+     if(!bOwnerOfPool && pPool)
+     {
++		// it is sure now that the pool is an EditEngineItemPool
+         pPool->AddSfxItemPoolUser(*this);
+     }
+ 


Index: openoffice.org.spec
===================================================================
RCS file: /cvs/pkgs/rpms/openoffice.org/F-11/openoffice.org.spec,v
retrieving revision 1.1935
retrieving revision 1.1936
diff -u -p -r1.1935 -r1.1936
--- openoffice.org.spec	8 Sep 2009 11:51:42 -0000	1.1935
+++ openoffice.org.spec	23 Sep 2009 15:09:28 -0000	1.1936
@@ -1,6 +1,6 @@
 %define oootag OOO310
 %define ooomilestone 19
-%define rh_rpm_release 3
+%define rh_rpm_release 4
 
 # rhbz#465664 jar-repacking breaks help by reordering META-INF/MANIFEST.MF
 %define __jar_repack %{nil}
@@ -156,6 +156,7 @@ Patch80: openoffice.org-3.1.1.ooo104329.
 Patch81: workspace.os131.patch
 Patch82: workspace.vcl102.patch
 Patch83: openoffice.org-3.1.1.ooo104157.svx.crashonencryptparse.patch
+Patch84: workspace.aw073.patch
 
 %define python_py_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(0)")
 %define instdir %{_libdir}
@@ -1670,6 +1671,7 @@ cat %{PATCH11} >> svtools/source/dialogs
 %patch81 -p0 -b .workspace.os131.patch
 %patch82 -p0 -b .workspace.vcl102.patch
 %patch83 -p0 -b .ooo104157.svx.crashonencryptparse.patch
+%patch84 -p0 -b .workspace.aw073.patch
 
 %build
 echo build start time is `date`, diskspace: `df -h . | tail -n 1`
@@ -4173,6 +4175,9 @@ fi
     unopkg list --shared > /dev/null 2>&1 || :
 
 %changelog
+* Wed Sep 23 2009 Caolán McNamara <caolanm at redhat.com> - 1:3.1.1-19.4
+- Resolves: rhbz#522839 crash on exit after loading .doc
+
 * Mon Sep 07 2009 Caolán McNamara <caolanm at redhat.com> - 1:3.1.1-19.3
 - Resolves: rhbz#521460 - wrong UI label for A3/A5 page sizes in translations
 




More information about the scm-commits mailing list