ooo-build r15428 - in branches/ooo-build-3-0-1: . patches/dev300



Author: ccheney
Date: Fri Feb 27 22:24:47 2009
New Revision: 15428
URL: http://svn.gnome.org/viewvc/ooo-build?rev=15428&view=rev

Log:
2009-02-27  Chris Cheney <ccheney ubuntu com>

	* patches/dev300/ooo94069.psprint.defconfig_changes.diff: fix for
	i#94069 crasher.


Added:
   branches/ooo-build-3-0-1/patches/dev300/ooo94069.psprint.defconfig_changes.diff
Modified:
   branches/ooo-build-3-0-1/ChangeLog
   branches/ooo-build-3-0-1/patches/dev300/apply
   branches/ooo-build-3-0-1/patches/dev300/ooo64508.vcl.honourfontconfighinting.diff

Modified: branches/ooo-build-3-0-1/patches/dev300/apply
==============================================================================
--- branches/ooo-build-3-0-1/patches/dev300/apply	(original)
+++ branches/ooo-build-3-0-1/patches/dev300/apply	Fri Feb 27 22:24:47 2009
@@ -439,6 +439,9 @@
 # fixes description of the RIGH JOIN selection
 dbaccess-righ-join-description.diff, bnc#431031, i#97026, pmladek
 
+# installing a new font may invalidate m_pDefConfig
+ooo94069.psprint.defconfig_changes.diff, i#94069, cmc
+
 [ LinuxOnly ]
 # fix that allows OOo to work with a standard (unpatched) libjpeg,
 jpegc.c.diff, i#80674, n#272574, flr

Modified: branches/ooo-build-3-0-1/patches/dev300/ooo64508.vcl.honourfontconfighinting.diff
==============================================================================
--- branches/ooo-build-3-0-1/patches/dev300/ooo64508.vcl.honourfontconfighinting.diff	(original)
+++ branches/ooo-build-3-0-1/patches/dev300/ooo64508.vcl.honourfontconfighinting.diff	Fri Feb 27 22:24:47 2009
@@ -211,7 +211,7 @@
 +    if( ! rWrapper.isValid() )
 +        return aHints;
 +
-+    FcConfig* pConfig = rWrapper.getDefConfig();
++    FcConfig* pConfig = rWrapper.FcConfigGetCurrent();
 +    FcPattern* pPattern = rWrapper.FcPatternCreate();
 +
 +    lcl_InfoToPattern( rInfo, rWrapper, pPattern );

Added: branches/ooo-build-3-0-1/patches/dev300/ooo94069.psprint.defconfig_changes.diff
==============================================================================
--- (empty file)
+++ branches/ooo-build-3-0-1/patches/dev300/ooo94069.psprint.defconfig_changes.diff	Fri Feb 27 22:24:47 2009
@@ -0,0 +1,79 @@
+--- psprint/source/fontmanager/fontconfig.cxx	10 Sep 2008 13:53:12 -0000	1.30.20.1
++++ psprint/source/fontmanager/fontconfig.cxx	19 Sep 2008 11:32:56 -0000
+@@ -91,7 +91,6 @@
+ class FontCfgWrapper
+ {
+     oslModule		m_pLib;
+-    FcConfig*		m_pDefConfig;
+     FcFontSet*      m_pOutlineSet;
+ 
+     FcBool          (*m_pFcInit)();
+@@ -140,7 +139,6 @@
+     bool isValid() const 
+     { return m_pLib != NULL;}
+ 
+-    FcConfig* getDefConfig() { return m_pDefConfig; }
+     FcFontSet* getFontSet();
+     
+     FcBool FcInit()
+@@ -252,7 +250,6 @@
+ 
+ FontCfgWrapper::FontCfgWrapper()
+         : m_pLib( NULL ),
+-          m_pDefConfig( NULL ),
+           m_pOutlineSet( NULL )
+ {
+      OUString aLib( RTL_CONSTASCII_USTRINGPARAM( "libfontconfig.so.1" ) );
+@@ -379,8 +376,7 @@
+ 
+ 
+     FcInit();
+-    m_pDefConfig = FcConfigGetCurrent();
+-    if( ! m_pDefConfig )
++    if( ! FcConfigGetCurrent() )
+     {
+         osl_unloadModule( (oslModule)m_pLib );
+         m_pLib = NULL;
+@@ -394,7 +390,7 @@
+       add only acceptable outlined fonts to our config, 
+       for future fontconfig use
+     */
+-    FcFontSet* pOrig = FcConfigGetFonts( getDefConfig(), eSetName );
++    FcFontSet* pOrig = FcConfigGetFonts( FcConfigGetCurrent(), eSetName );
+     if( !pOrig )
+         return;
+ 
+@@ -794,7 +790,7 @@
+     if( nVersion <= 20400 )
+         return false;
+     const char* pDirName = (const char*)rDirName.getStr();
+-    bool bRet = (rWrapper.FcConfigAppFontAddDir( rWrapper.getDefConfig(), (FcChar8*)pDirName ) == FcTrue);
++    bool bRet = (rWrapper.FcConfigAppFontAddDir( rWrapper.FcConfigGetCurrent(), (FcChar8*)pDirName ) == FcTrue);
+ 
+ #if OSL_DEBUG_LEVEL > 1
+     fprintf( stderr, "FcConfigAppFontAddDir( \"%s\") => %d\n", pDirName, bRet );
+@@ -914,13 +910,13 @@
+     addtopattern(rWrapper, pPattern, eItalic, eWeight, eWidth, ePitch);
+ 
+     // query fontconfig for a substitute
+-    rWrapper.FcConfigSubstitute( rWrapper.getDefConfig(), pPattern, FcMatchPattern );
++    rWrapper.FcConfigSubstitute( rWrapper.FcConfigGetCurrent(), pPattern, FcMatchPattern );
+     rWrapper.FcDefaultSubstitute( pPattern );
+ 
+     // process the result of the fontconfig query
+     FcResult eResult = FcResultNoMatch;
+     FcFontSet* pFontSet = rWrapper.getFontSet();
+-    FcPattern* pResult = rWrapper.FcFontSetMatch( rWrapper.getDefConfig(), &pFontSet, 1, pPattern, &eResult );
++    FcPattern* pResult = rWrapper.FcFontSetMatch( rWrapper.FcConfigGetCurrent(), &pFontSet, 1, pPattern, &eResult );
+     rWrapper.FcPatternDestroy( pPattern );
+ 
+     FcFontSet*  pSet = NULL;
+@@ -982,7 +978,7 @@
+     if( ! rWrapper.isValid() )
+         return false;
+ 
+-    FcConfig* pConfig = rWrapper.getDefConfig();
++    FcConfig* pConfig = rWrapper.FcConfigGetCurrent();
+     FcPattern* pPattern = rWrapper.FcPatternCreate();
+ 
+     OString aLangAttrib;



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]