[poppler] poppler/Gfx.cc

Albert Astals Cid aacid at kemper.freedesktop.org
Tue Feb 9 13:44:50 PST 2010


 poppler/Gfx.cc |    9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

New commits:
commit 0dae2294cf8a2f312d8e6504be4e1be516b34b1b
Author: Thomas Freitag <Thomas.Freitag at alfa.de>
Date:   Tue Feb 9 21:44:07 2010 +0000

    Fix regression in painting. Fixes bug 26243

diff --git a/poppler/Gfx.cc b/poppler/Gfx.cc
index 9b6e96b..bc194af 100644
--- a/poppler/Gfx.cc
+++ b/poppler/Gfx.cc
@@ -28,7 +28,7 @@
 // Copyright (C) 2008 Michael Vrable <mvrable at cs.ucsd.edu>
 // Copyright (C) 2008 Hib Eris <hib at hiberis.nl>
 // Copyright (C) 2009 M Joonas Pihlaja <jpihlaja at cc.helsinki.fi>
-// Copyright (C) 2009 Thomas Freitag <Thomas.Freitag at alfa.de>
+// Copyright (C) 2009, 2010 Thomas Freitag <Thomas.Freitag at alfa.de>
 // Copyright (C) 2009 William Bader <williambader at hotmail.com>
 // Copyright (C) 2009, 2010 David Benjamin <davidben at mit.edu>
 //
@@ -1426,6 +1426,13 @@ void Gfx::opSetFillColorSpace(Object args[], int numArgs) {
     out->updateFillColor(state);
     if (drawText) {
       if (colorSpace->getMode() == csPattern) {
+        if (out->supportTextCSPattern(state) && textHaveCSPattern) {
+          GBool needFill = out->deviceHasTextClip(state);
+          out->endTextObject(state);
+          if (needFill)
+            doPatternFill(gTrue);
+          out->restoreState(state);
+        }
         colorSpaceText = NULL;
         textHaveCSPattern = gTrue;
         out->beginTextObject(state);


More information about the poppler mailing list