rpms/openoffice.org/devel openoffice.org-2.4.0.ooo85470.vcl.cairotext.patch, NONE, 1.1 openoffice.org.spec, 1.1403, 1.1404
Caolan McNamara (caolanm)
fedora-extras-commits at redhat.com
Wed Jan 23 13:15:02 UTC 2008
- Previous message (by thread): rpms/kdelibs/devel kdelibs-4.0.0-openssl.patch, NONE, 1.1 kdelibs.spec, 1.261, 1.262
- Next message (by thread): rpms/system-config-printer/devel pycups-1.9.33.tar.bz2.sig, NONE, 1.1 .cvsignore, 1.153, 1.154 sources, 1.158, 1.159 system-config-printer.spec, 1.159, 1.160 pycups-1.9.32.tar.bz2.sig, 1.1, NONE
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: caolanm
Update of /cvs/pkgs/rpms/openoffice.org/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv4398
Modified Files:
openoffice.org.spec
Added Files:
openoffice.org-2.4.0.ooo85470.vcl.cairotext.patch
Log Message:
Resolves: rhbz#426295 openoffice.org-2.4.0.ooo85470.vcl.cairotext.patch
openoffice.org-2.4.0.ooo85470.vcl.cairotext.patch:
--- NEW FILE openoffice.org-2.4.0.ooo85470.vcl.cairotext.patch ---
diff -ru vcl.precairo/inc/vcl/glyphcache.hxx vcl/inc/vcl/glyphcache.hxx
--- openoffice.org.orig/vcl/inc/vcl/glyphcache.hxx 2008-01-21 15:29:34.000000000 +0000
+++ openoffice.org/vcl/inc/vcl/glyphcache.hxx 2008-01-23 12:49:48.000000000 +0000
@@ -186,6 +186,10 @@
virtual const ::rtl::OString* GetFontFileName() const { return NULL; }
virtual int GetFontFaceNumber() const { return 0; }
virtual bool TestFont() const { return true; }
+ virtual void* GetFtFace() const { return 0; }
+ virtual int GetLoadFlags() const { return 0; }
+ virtual bool NeedsArtificialBold() const { return false; }
+ virtual bool NeedsArtificialItalic() const { return false; }
const ImplFontSelectData& GetFontSelData() const { return maFontSelData; }
diff -ru vcl.precairo/source/glyphs/gcach_ftyp.hxx vcl/source/glyphs/gcach_ftyp.hxx
--- openoffice.org.orig/vcl/source/glyphs/gcach_ftyp.hxx 2008-01-21 15:29:27.000000000 +0000
+++ openoffice.org/vcl/source/glyphs/gcach_ftyp.hxx 2008-01-23 12:50:19.000000000 +0000
@@ -181,6 +181,10 @@
virtual const ::rtl::OString* GetFontFileName() const { return mpFontInfo->GetFontFileName(); }
virtual int GetFontFaceNum() const { return mpFontInfo->GetFaceNum(); }
virtual bool TestFont() const;
+ virtual void* GetFtFace() const { return maFaceFT; }
+ virtual int GetLoadFlags() const { return mnLoadFlags; }
+ virtual bool NeedsArtificialBold() const { return mbArtBold; }
+ virtual bool NeedsArtificialItalic() const { return mbArtItalic; }
virtual void FetchFontMetric( ImplFontMetricData&, long& rFactor ) const;
diff -ru vcl.precairo/unx/inc/salgdi.h vcl/unx/inc/salgdi.h
--- openoffice.org.orig/vcl/unx/inc/salgdi.h 2008-01-21 15:29:33.000000000 +0000
+++ openoffice.org/vcl/unx/inc/salgdi.h 2008-01-22 14:19:55.000000000 +0000
@@ -198,6 +198,7 @@
void DrawServerSimpleFontString( const ServerFontLayout& );
void DrawServerAAFontString( const ServerFontLayout& );
bool DrawServerAAForcedString( const ServerFontLayout& );
+ void DrawCairoAAFontString( const ServerFontLayout& );
void freeResources();
public:
diff -ru vcl.precairo/unx/source/gdi/salgdi3.cxx vcl/unx/source/gdi/salgdi3.cxx
--- openoffice.org.orig/vcl/unx/source/gdi/salgdi3.cxx 2008-01-21 15:29:33.000000000 +0000
+++ openoffice.org/vcl/unx/source/gdi/salgdi3.cxx 2008-01-23 12:46:32.000000000 +0000
@@ -123,6 +123,31 @@
#include <hash_set>
+#include <X11/Xregion.h>
+
+struct cairo_surface_t;
+struct cairo_t;
+struct cairo_font_face_t;
+typedef void* FT_Face;
+struct cairo_matrix_t {
+ double xx; double yx;
+ double xy; double yy;
+ double x0; double y0;
+};
+struct cairo_glyph_t
+{
+ unsigned long index;
+ double x;
+ double y;
+};
+struct FcPattern;
+typedef sal_Char FcChar8;
+struct FcBlanks;
+typedef int FcBool;
+struct FcConfig;
+enum FcResult { FcResultMatch, FcResultNoMatch };
+enum FcMatchKind { FcMatchPattern, FcMatchFont, FcMatchScan };
+
using namespace rtl;
// -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
@@ -734,6 +759,318 @@
}
//--------------------------------------------------------------------------
+namespace {
+
+class EmboldenWrapper
+{
+private:
+ bool mbIsValid;
+
+ FcPattern * (*mp_FcFreeTypeQueryFace)(const FT_Face face, const FcChar8 *file, int
+ id, FcBlanks *blanks);
+ FcBool (*mp_FcPatternAddInteger)(FcPattern*,const char*,int);
+ FcBool (*mp_FcConfigSubstitute)(FcConfig*,FcPattern*,FcMatchKind);
+ void (*mp_FcDefaultSubstitute)(FcPattern*);
+ FcPattern * (*mp_FcFontMatch)(FcConfig *, FcPattern *, FcResult *);
+ void (*mp_FcPatternDestroy)(FcPattern*);
+
+ EmboldenWrapper();
+public:
+ static EmboldenWrapper& get();
+ bool isValid() const { return mbIsValid; }
+
+ FcPattern* FcFreeTypeQueryFace( const FT_Face face, const FcChar8 *pFile, int id, FcBlanks* pBlanks )
+ { return mp_FcFreeTypeQueryFace( face, pFile, id, pBlanks ); }
+ FcBool FcPatternAddInteger( FcPattern* pPattern, const char* pObject, int nValue )
+ { return mp_FcPatternAddInteger( pPattern, pObject, nValue ); }
+ FcBool FcConfigSubstitute( FcConfig* pConfig, FcPattern* pPattern, FcMatchKind eKind )
+ { return mp_FcConfigSubstitute( pConfig, pPattern, eKind ); }
+ void FcDefaultSubstitute( FcPattern* pPattern )
+ { mp_FcDefaultSubstitute( pPattern ); }
+ FcPattern* FcFontMatch( FcConfig* pConfig, FcPattern* pPattern, FcResult* pResult)
+ { return mp_FcFontMatch( pConfig, pPattern, pResult); }
+ void FcPatternDestroy( FcPattern* pPattern )
+ { mp_FcPatternDestroy( pPattern ); }
+};
+
+class CairoWrapper
+{
+private:
+ bool mbIsValid;
+
+ cairo_surface_t* (*mp_xlib_surface_create)(Display *, Drawable , Visual *, int , int );
+ void (*mp_surface_destroy)(cairo_surface_t *);
+ cairo_t* (*mp_create)(cairo_surface_t *);
+ void (*mp_destroy)(cairo_t*);
+ void (*mp_clip)(cairo_t*);
+ void (*mp_rectangle)(cairo_t*, double, double, double, double);
+ cairo_font_face_t * (*mp_ft_font_face_create_for_ft_face)(FT_Face, int);
+ cairo_font_face_t * (*mp_ft_font_face_create_for_pattern)(FcPattern *);
+ void (*mp_set_font_face)(cairo_t *, cairo_font_face_t *);
+ void (*mp_font_face_destroy)(cairo_font_face_t *);
+ void (*mp_matrix_init_scale)(cairo_matrix_t *, double, double);
+ void (*mp_matrix_rotate)(cairo_matrix_t *, double);
+ void (*mp_set_font_matrix)(cairo_t *, const cairo_matrix_t *);
+ void (*mp_show_glyphs)(cairo_t *, const cairo_glyph_t *, int );
+ void (*mp_set_source_rgb)(cairo_t *, double , double , double );
+
+ bool canEmbolden() const { return false; }
+
+ CairoWrapper();
+public:
+ static CairoWrapper& get();
+ bool isValid() const { return mbIsValid; }
+ bool isCairoRenderable(const ServerFont& rFont);
+
+ cairo_surface_t* xlib_surface_create(Display *pDisplay, Drawable drawable, Visual *pVisual, int width, int height)
+ { return (*mp_xlib_surface_create)(pDisplay, drawable, pVisual, width, height); }
+ void surface_destroy(cairo_surface_t *surface) { (*mp_surface_destroy)(surface); }
+ cairo_t* create(cairo_surface_t *surface) { return (*mp_create)(surface); }
+ void destroy(cairo_t *cr) { (*mp_destroy)(cr); }
+ void clip(cairo_t *cr) { (*mp_clip)(cr); }
+ void rectangle(cairo_t *cr, double x, double y, double width, double height)
+ { (*mp_rectangle)(cr, x, y, width, height); }
+ cairo_font_face_t* ft_font_face_create_for_ft_face(FT_Face face, int load_flags)
+ { return (*mp_ft_font_face_create_for_ft_face)(face, load_flags); }
+ cairo_font_face_t* ft_font_face_create_for_pattern(FcPattern *pattern)
+ { return (*mp_ft_font_face_create_for_pattern)(pattern); }
+ void set_font_face(cairo_t *cr, cairo_font_face_t *font_face)
+ { (*mp_set_font_face)(cr, font_face); }
+ void font_face_destroy(cairo_font_face_t *font_face)
+ { (*mp_font_face_destroy)(font_face); }
+ void matrix_init_scale(cairo_matrix_t *matrix, double sx, double sy)
+ { (*mp_matrix_init_scale)(matrix, sx, sy); }
+ void matrix_rotate(cairo_matrix_t *matrix, double radians)
+ { (*mp_matrix_rotate)(matrix, radians); }
+ void set_font_matrix(cairo_t *cr, const cairo_matrix_t *matrix)
+ { (*mp_set_font_matrix)(cr, matrix); }
+ void show_glyphs(cairo_t *cr, const cairo_glyph_t *glyphs, int no_glyphs)
+ { (*mp_show_glyphs)(cr, glyphs, no_glyphs); }
+ void set_source_rgb(cairo_t *cr, double red, double green, double blue)
+ { (*mp_set_source_rgb)(cr, red, green, blue); }
+};
+
+static EmboldenWrapper* pEmbInstance = NULL;
+
+EmboldenWrapper& EmboldenWrapper::get()
+{
+ if( ! pEmbInstance )
+ pEmbInstance = new EmboldenWrapper();
+ return *pEmbInstance;
+}
+
+EmboldenWrapper::EmboldenWrapper() : mbIsValid(false)
+{
+ mp_FcFreeTypeQueryFace = (FcPattern* (*)(const FT_Face, const FcChar8 *, int
+ , FcBlanks *))
+ osl_getAsciiFunctionSymbol(NULL, "FcFreeTypeQueryFace" );
+ mp_FcPatternAddInteger = (FcBool (*)(FcPattern*,const char*,int))
+ osl_getAsciiFunctionSymbol(NULL, "FcPatternAddInteger" );
+ mp_FcConfigSubstitute = (FcBool (*)(FcConfig*,FcPattern*,FcMatchKind))
+ osl_getAsciiFunctionSymbol(NULL, "FcConfigSubstitute" );
+ mp_FcDefaultSubstitute = (void (*)(FcPattern*))
+ osl_getAsciiFunctionSymbol(NULL, "FcDefaultSubstitute" );
+ mp_FcFontMatch = (FcPattern* (*)(FcConfig *, FcPattern *, FcResult *))
+ osl_getAsciiFunctionSymbol(NULL, "FcFontMatch" );
+ mp_FcPatternDestroy = (void (*)(FcPattern*))
+ osl_getAsciiFunctionSymbol(NULL, "FcPatternDestroy" );
+ mbIsValid =
+ (
+ mp_FcFreeTypeQueryFace &&
+ mp_FcPatternAddInteger &&
+ mp_FcConfigSubstitute &&
+ mp_FcDefaultSubstitute &&
+ mp_FcFontMatch &&
+ mp_FcPatternDestroy
+ );
+ if (!mbIsValid)
+ {
+#if OSL_DEBUG_LEVEL > 1
+ fprintf( stderr, "not all needed symbols were found to embolden\n" );
+#endif
+ }
+}
+static CairoWrapper* pCairoInstance = NULL;
+
+CairoWrapper& CairoWrapper::get()
+{
+ if( ! pCairoInstance )
+ pCairoInstance = new CairoWrapper();
+ return *pCairoInstance;
+}
+
+CairoWrapper::CairoWrapper() : mbIsValid(false)
+{
+ static const char* pDisableCairoText = getenv( "SAL_ENABLE_CAIROTEXT" );
+ if( !pDisableCairoText || (pDisableCairoText[0] == '0') )
+ return;
+
+ mp_xlib_surface_create = (cairo_surface_t* (*)(Display *, Drawable , Visual *, int , int ))
+ osl_getAsciiFunctionSymbol(NULL, "cairo_xlib_surface_create" );
+ mp_surface_destroy = (void(*)(cairo_surface_t*))
+ osl_getAsciiFunctionSymbol(NULL, "cairo_surface_destroy" );
+ mp_create = (cairo_t*(*)(cairo_surface_t*))
+ osl_getAsciiFunctionSymbol(NULL, "cairo_create" );
+ mp_destroy = (void(*)(cairo_t*))
+ osl_getAsciiFunctionSymbol(NULL, "cairo_destroy" );
+ mp_clip = (void(*)(cairo_t*))
+ osl_getAsciiFunctionSymbol(NULL, "cairo_clip" );
+ mp_rectangle = (void(*)(cairo_t*, double, double, double, double))
+ osl_getAsciiFunctionSymbol(NULL, "cairo_rectangle" );
+ mp_ft_font_face_create_for_ft_face = (cairo_font_face_t * (*)(FT_Face, int))
+ osl_getAsciiFunctionSymbol(NULL, "cairo_ft_font_face_create_for_ft_face" );
+ mp_ft_font_face_create_for_pattern = (cairo_font_face_t * (*)(FcPattern*))
+ osl_getAsciiFunctionSymbol(NULL, "cairo_ft_font_face_create_for_pattern" );
+ mp_set_font_face = (void (*)(cairo_t *, cairo_font_face_t *))
+ osl_getAsciiFunctionSymbol(NULL, "cairo_set_font_face" );
+ mp_font_face_destroy = (void (*)(cairo_font_face_t *))
+ osl_getAsciiFunctionSymbol(NULL, "cairo_font_face_destroy" );
+ mp_matrix_init_scale = (void (*)(cairo_matrix_t *, double, double))
+ osl_getAsciiFunctionSymbol(NULL, "cairo_matrix_init_scale" );
+ mp_matrix_rotate = (void (*)(cairo_matrix_t *, double))
+ osl_getAsciiFunctionSymbol(NULL, "cairo_matrix_rotate" );
+ mp_set_font_matrix = (void (*)(cairo_t *, const cairo_matrix_t *))
+ osl_getAsciiFunctionSymbol(NULL, "cairo_set_font_matrix" );
+ mp_show_glyphs = (void (*)(cairo_t *, const cairo_glyph_t *, int ))
+ osl_getAsciiFunctionSymbol(NULL, "cairo_show_glyphs" );
+ mp_set_source_rgb = (void (*)(cairo_t *, double , double , double ))
+ osl_getAsciiFunctionSymbol(NULL, "cairo_set_source_rgb" );
+
+ mbIsValid =
+ (
+ mp_xlib_surface_create &&
+ mp_surface_destroy &&
+ mp_create &&
+ mp_destroy &&
+ mp_clip &&
+ mp_rectangle &&
+ mp_ft_font_face_create_for_ft_face &&
+ mp_ft_font_face_create_for_pattern &&
+ mp_set_font_face &&
+ mp_font_face_destroy &&
+ mp_matrix_init_scale &&
+ mp_matrix_rotate &&
+ mp_set_font_matrix &&
+ mp_show_glyphs &&
+ mp_set_source_rgb
+ );
+ if (!mbIsValid)
+ {
+#if OSL_DEBUG_LEVEL > 1
+ fprintf( stderr, "not all needed symbols were found\n" );
+#endif
+ }
+}
+
+bool CairoWrapper::isCairoRenderable(const ServerFont& rFont)
+{
+ return rFont.GetFtFace() && isValid() &&
+ (rFont.NeedsArtificialBold() ? canEmbolden() : true);
+}
+
+} //namespace
+
+void X11SalGraphics::DrawCairoAAFontString( const ServerFontLayout& rLayout )
+{
+ Display* pDisplay = GetXDisplay();
+ Visual* pVisual = GetDisplay()->GetVisual( GetScreenNumber() ).GetVisual();
+ CairoWrapper &rCairo = CairoWrapper::get();
+
+ cairo_surface_t *surface = rCairo.xlib_surface_create (pDisplay,
+ hDrawable_, pVisual, 1, 1);
+
+ cairo_t *cr = rCairo.create (surface);
+ rCairo.surface_destroy (surface);
+
+ if( pClipRegion_ && !XEmptyRegion( pClipRegion_ ) )
+ {
+ for (long i = 0; i < pClipRegion_->numRects; ++i)
+ {
+ rCairo.rectangle(cr,
+ pClipRegion_->rects[i].x1,
+ pClipRegion_->rects[i].y1,
+ pClipRegion_->rects[i].x2 - pClipRegion_->rects[i].x1,
+ pClipRegion_->rects[i].y2 - pClipRegion_->rects[i].y1);
+ }
+ rCairo.clip(cr);
+ }
+
+ rCairo.set_source_rgb(cr,
+ SALCOLOR_RED(nTextColor_)/255.0,
+ SALCOLOR_GREEN(nTextColor_)/255.0,
+ SALCOLOR_BLUE(nTextColor_)/255.0);
+
+ ServerFont& rFont = rLayout.GetServerFont();
+
+ cairo_font_face_t* font_face;
+
+ if (rFont.NeedsArtificialBold())
+ {
+ /*
+ Artificial Bold is a PITA as there's no way currently to do it through
+ the ft api of cairo that I can see, if one is added then we can prefer
+ that way of doing it to this, emboldening is pretty care, so we defer
+ looking for emboldening symbols until the first time it's checked for
+ in isCairoRenderable
+ */
+ EmboldenWrapper &rEmb = EmboldenWrapper::get();
+
+ const ::rtl::OString *pFileName = rFont.GetFontFileName();
+ FcPattern *pattern = rEmb.FcFreeTypeQueryFace(rFont.GetFtFace(),
+ pFileName->getStr(), rFont.GetFontFaceNumber(), NULL);
+ rEmb.FcPatternAddInteger(pattern, "weight", 200);
+ rEmb.FcConfigSubstitute(NULL, pattern, FcMatchPattern);
+ rEmb.FcDefaultSubstitute(pattern);
+ FcPattern *resolved = rEmb.FcFontMatch(NULL, pattern, NULL);
+ rEmb.FcPatternDestroy(pattern);
+
+ font_face = rCairo.ft_font_face_create_for_pattern(resolved);
+
+ rEmb.FcPatternDestroy(resolved);
+ }
+ else
+ {
+ font_face =
+ rCairo.ft_font_face_create_for_ft_face((FT_Face)rFont.GetFtFace(),
+ rFont.GetLoadFlags());
+ }
+
+ rCairo.set_font_face(cr, font_face);
+
+ cairo_matrix_t m;
+ const ImplFontSelectData& rFSD = rFont.GetFontSelData();
+ int nWidth = rFSD.mnWidth ? rFSD.mnWidth : rFSD.mnHeight;
+
+ rCairo.matrix_init_scale(&m, nWidth, rFSD.mnHeight);
+ if (rFont.NeedsArtificialItalic())
+ m.xy = -m.xx * 0x6000L / 0x10000L;
+
+ if (rLayout.GetOrientation())
+ rCairo.matrix_rotate(&m, (3600 - rLayout.GetOrientation()) * M_PI / 1800.0);
+ rCairo.set_font_matrix(cr, &m);
+
+ std::vector<cairo_glyph_t> cairo_glyphs;
+ sal_Int32 nGlyph;
+ Point aPos;
+ int nStart = 0;
+ while (rLayout.GetNextGlyphs( 1, &nGlyph, aPos, nStart ))
+ {
+ cairo_glyph_t aGlyph;
+ aGlyph.index = nGlyph;
+ aGlyph.x = aPos.X();
+ aGlyph.y = aPos.Y();
+ cairo_glyphs.push_back(aGlyph);
+ }
+
+ if (!cairo_glyphs.empty())
+ rCairo.show_glyphs (cr, &cairo_glyphs[0], cairo_glyphs.size());
+
+ rCairo.font_face_destroy(font_face);
+
+ rCairo.destroy (cr);
+}
+
+//--------------------------------------------------------------------------
void X11SalGraphics::DrawServerAAFontString( const ServerFontLayout& rLayout )
{
@@ -1111,15 +1448,20 @@
// draw complex text
ServerFont& rFont = rLayout.GetServerFont();
- X11GlyphPeer& rGlyphPeer = X11GlyphCache::GetInstance().GetPeer();
- if( rGlyphPeer.GetGlyphSet( rFont, m_nScreen ) )
- DrawServerAAFontString( rLayout );
+ if (CairoWrapper::get().isCairoRenderable(rFont))
+ DrawCairoAAFontString( rLayout );
+ else
+ {
+ X11GlyphPeer& rGlyphPeer = X11GlyphCache::GetInstance().GetPeer();
+ if( rGlyphPeer.GetGlyphSet( rFont, m_nScreen ) )
+ DrawServerAAFontString( rLayout );
#ifndef MACOSX /* ignore X11 fonts on MACOSX */
- else if( !rGlyphPeer.ForcedAntialiasing( rFont, m_nScreen ) )
- DrawServerSimpleFontString( rLayout );
+ else if( !rGlyphPeer.ForcedAntialiasing( rFont, m_nScreen ) )
+ DrawServerSimpleFontString( rLayout );
#endif // MACOSX
- else
- DrawServerAAForcedString( rLayout );
+ else
+ DrawServerAAForcedString( rLayout );
+ }
}
//--------------------------------------------------------------------------
Index: openoffice.org.spec
===================================================================
RCS file: /cvs/pkgs/rpms/openoffice.org/devel/openoffice.org.spec,v
retrieving revision 1.1403
retrieving revision 1.1404
diff -u -r1.1403 -r1.1404
--- openoffice.org.spec 23 Jan 2008 08:55:15 -0000 1.1403
+++ openoffice.org.spec 23 Jan 2008 13:14:09 -0000 1.1404
@@ -141,6 +141,7 @@
Patch67: workspace.sw24bf02.patch
Patch68: openoffice.org-2.4.0.ooo85448.emptyrpath.patch
Patch69: openoffice.org-2.4.0.ooo85487.evoconnectivity.patch
+Patch70: openoffice.org-2.4.0.ooo85470.vcl.cairotext.patch
%define instdir %{_libdir}/openoffice.org
@@ -1096,6 +1097,7 @@
%patch67 -p1 -b .workspace.sw24bf02.patch
%patch68 -p1 -b .ooo85448.emptyrpath.patch
%patch69 -p1 -b .ooo85487.evoconnectivity.patch
+%patch70 -p1 -b .ooo85470.vcl.cairotext.patch
%build
echo build start time is `date`, diskspace: `df -h . | tail -n 1`
@@ -2861,7 +2863,7 @@
%changelog
-* Tue Jan 22 2008 Caolan McNamara <caolanm at redhat.com> - 1:2.4.0-4.1
+* Wed Jan 22 2008 Caolan McNamara <caolanm at redhat.com> - 1:2.4.0-4.1
- next milestone
- drop integrated openoffice.org-2.4.0.ooo83410.solenv.renameserbian.patch
- drop integrated openoffice.org-2.3.1.ooo83877.sal.allowsoftlinkdelete.patch
@@ -2869,6 +2871,8 @@
- drop integrated workspace.impress132.patch
- add openoffice.org-2.4.0.ooo85487.evoconnectivity.patch to make evoab2 build
- new finnish autocorrect file
+- Resolves: rhbz#426295 openoffice.org-2.4.0.ooo85470.vcl.cairotext.patch
+ use export SAL_ENABLE_CAIROTEXT=1 to enable
* Mon Jan 21 2008 Caolan McNamara <caolanm at redhat.com> - 1:2.4.0-3.3
- fix openoffice.org-2.4.0.ooo85321.vcl.pixmapleak.patch for warren
- Previous message (by thread): rpms/kdelibs/devel kdelibs-4.0.0-openssl.patch, NONE, 1.1 kdelibs.spec, 1.261, 1.262
- Next message (by thread): rpms/system-config-printer/devel pycups-1.9.33.tar.bz2.sig, NONE, 1.1 .cvsignore, 1.153, 1.154 sources, 1.158, 1.159 system-config-printer.spec, 1.159, 1.160 pycups-1.9.32.tar.bz2.sig, 1.1, NONE
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the fedora-extras-commits
mailing list