rpms/openoffice.org/F-10 openoffice.org-3.0.1.ooo99081.vcl.dont.release.before-reuse.patch, NONE, 1.1 openoffice.org.spec, 1.1716, 1.1717

Caolan McNamara caolanm at fedoraproject.org
Tue Feb 10 17:09:31 UTC 2009


Author: caolanm

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

Modified Files:
	openoffice.org.spec 
Added Files:
	openoffice.org-3.0.1.ooo99081.vcl.dont.release.before-reuse.patch 
Log Message:
Resolves: rhbz#484604 crash in glyph substitution

openoffice.org-3.0.1.ooo99081.vcl.dont.release.before-reuse.patch:

--- NEW FILE openoffice.org-3.0.1.ooo99081.vcl.dont.release.before-reuse.patch ---
Index: outdev3.cxx
===================================================================
RCS file: /cvs/gsl/vcl/source/gdi/outdev3.cxx,v
retrieving revision 1.242.2.2
diff -u -r1.242.2.2 outdev3.cxx
--- openoffice.org.orig/vcl/source/gdi/outdev3.cxx	11 Dec 2008 17:11:54 -0000	1.242.2.2
+++ openoffice.org/vcl/source/gdi/outdev3.cxx	10 Feb 2009 16:53:04 -0000
@@ -6272,25 +6272,32 @@
     if( mpOutDevData && !mpOutDevData->maDevFontSubst.Empty() )
         nDevSpecificFallback = 1;
 
+    ImplFontEntry* pLastFallbackFont = NULL;
+
     // try if fallback fonts support the missing unicodes
     for( int nFallbackLevel = 1; nFallbackLevel < MAX_FALLBACK; ++nFallbackLevel )
     {
         // find a font family suited for glyph fallback
         ImplFontEntry* pFallbackFont = mpFontCache->GetGlyphFallbackFont( mpFontList,
             aFontSelData, nFallbackLevel-nDevSpecificFallback, aMissingCodes );
+
+        if (pLastFallbackFont)
+            mpFontCache->Release( pLastFallbackFont );
+        pLastFallbackFont = pFallbackFont;
+
         if( !pFallbackFont )
             break;
 
+	//aFontSelData.mpFontEntry will be used by next GetGlyphFallbackFont so
+	//we must not release it until after the next GetGlyphFallbackFont has
+	//completed
         aFontSelData.mpFontEntry = pFallbackFont;
         aFontSelData.mpFontData = pFallbackFont->maFontSelData.mpFontData;
         if( mpFontEntry && nFallbackLevel < MAX_FALLBACK-1)
         {
             // ignore fallback font if it is the same as the original font
             if( mpFontEntry->maFontSelData.mpFontData == aFontSelData.mpFontData )
-            {
-                mpFontCache->Release( pFallbackFont );
                 continue;
-            }
         }
 
 #if defined(HDU_DEBUG)
@@ -6324,13 +6331,14 @@
                 pFallback->Release();
         }
 
-        mpFontCache->Release( pFallbackFont );
-
         // break when this fallback was sufficient
         if( !rLayoutArgs.PrepareFallback() )
             break;
     }
 
+    if (pLastFallbackFont)
+        mpFontCache->Release( pLastFallbackFont );
+
     if( pMultiSalLayout && pMultiSalLayout->LayoutText( rLayoutArgs ) )
         pSalLayout = pMultiSalLayout;
 


Index: openoffice.org.spec
===================================================================
RCS file: /cvs/pkgs/rpms/openoffice.org/F-10/openoffice.org.spec,v
retrieving revision 1.1716
retrieving revision 1.1717
diff -u -r1.1716 -r1.1717
--- openoffice.org.spec	6 Feb 2009 14:06:48 -0000	1.1716
+++ openoffice.org.spec	10 Feb 2009 17:09:00 -0000	1.1717
@@ -138,6 +138,7 @@
 Patch65: openoffice.org-3.0.1.ooo98288.ucb.neonchange.patch
 Patch66: openoffice.org-3.0.1.ooo98649.svtools.missingUI.patch
 Patch67: openoffice.org-3.0.1.ooo98885.sw.safeindex.patch
+Patch68: openoffice.org-3.0.1.ooo99081.vcl.dont.release.before-reuse.patch
 
 %define instdir %{_libdir}
 %define baseinstdir %{instdir}/openoffice.org
@@ -1400,6 +1401,7 @@
 %patch65 -p1 -b .ooo98288.ucb.neonchange.patch
 %patch66 -p1 -b .ooo98649.svtools.missingUI.patch
 %patch67 -p1 -b .ooo98885.sw.safeindex.patch
+%patch68 -p1 -b .ooo99081.vcl.dont.release.before-reuse.patch
 
 %build
 echo build start time is `date`, diskspace: `df -h . | tail -n 1`
@@ -3766,9 +3768,10 @@
     unopkg list --shared > /dev/null 2>&1 || :
 
 %changelog
-* Wed Feb 4 2009 Caolán McNamara <caolanm at redhat.com> - 1:3.0.1-15.3
+* Tue Feb 10 2009 Caolán McNamara <caolanm at redhat.com> - 1:3.0.1-15.3
 - Resolves: rhbz#483223 openoffice.org-3.0.1.ooo98649.svtools.missingUI.patch
 - Resolves: rhbz#483931 openoffice.org-3.0.1.ooo98885.sw.safeindex.patch
+- Resolves: rhbz#484604 crash in glyph substitution
 
 * Tue Jan 20 2009 Caolán McNamara <caolanm at redhat.com> - 1:3.0.1-15.2
 - Resolves: rhbz#479624 add




More information about the scm-commits mailing list