Date: Thu, 3 Nov 2011 15:36:06 +0800 (CST) From: Anati Chang <femc7488@gmail.com> To: FreeBSD-gnats-submit@FreeBSD.org Subject: ports/162266: [PATCH] graphics/epdfview: fix wrong color Message-ID: <201111030736.pA37a6Ys004511@cse.tw> Resent-Message-ID: <201111030800.pA380LUP007456@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 162266 >Category: ports >Synopsis: [PATCH] graphics/epdfview: fix wrong color >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: update >Submitter-Id: current-users >Arrival-Date: Thu Nov 03 08:00:20 UTC 2011 >Closed-Date: >Last-Modified: >Originator: User & >Release: FreeBSD 8.2-STABLE i386 >Organization: >Environment: System: FreeBSD cse.tw 8.2-STABLE FreeBSD 8.2-STABLE #6: Wed Oct 5 11:51:25 CST 2011 gaod@cse.tw:/usr/obj/usr/src/sys/GENERIC i386 >Description: PDF document will get wrong color, when poppler-glib update to 0.18.0. apply this thread http://trac.emma-soft.com/epdfview/changeset/367 >How-To-Repeat: apply this patch >Fix: --- epdfview.patch begins here --- ===> Generating patch ===> Viewing diff with more diff -ruN --exclude=CVS /usr/ports/graphics/epdfview.orig/Makefile /usr/ports/graphics/epdfview/Makefile --- /usr/ports/graphics/epdfview.orig/Makefile 2011-11-03 13:29:10.000000000 +0800 +++ /usr/ports/graphics/epdfview/Makefile 2011-11-03 14:50:14.000000000 +0800 @@ -7,7 +7,7 @@ PORTNAME= epdfview PORTVERSION= 0.1.8 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= graphics print gnome MASTER_SITES= http://trac.emma-soft.com/epdfview/chrome/site/releases/ \ http://mirror.slitaz.org/sources/packages/e/ @@ -15,11 +15,11 @@ MAINTAINER= sylvio@FreeBSD.org COMMENT= A lightweight PDF document viewer +LICENSE= GPLv2 + BUILD_DEPENDS= cppunit-config:${PORTSDIR}/devel/cppunit LIB_DEPENDS= poppler-glib.8:${PORTSDIR}/graphics/poppler-glib -LICENSE= GPLv2 - USE_BZIP2= yes GNU_CONFIGURE= yes INSTALLS_ICONS= yes diff -ruN --exclude=CVS /usr/ports/graphics/epdfview.orig/files/patch-PDFDocument.cxx /usr/ports/graphics/epdfview/files/patch-PDFDocument.cxx --- /usr/ports/graphics/epdfview.orig/files/patch-PDFDocument.cxx 1970-01-01 08:00:00.000000000 +0800 +++ /usr/ports/graphics/epdfview/files/patch-PDFDocument.cxx 2011-11-03 13:46:41.000000000 +0800 @@ -0,0 +1,42 @@ +--- src/PDFDocument.cxx.orig 2011-05-28 18:25:01.000000000 +0800 ++++ src/PDFDocument.cxx 2011-11-03 13:42:30.000000000 +0800 +@@ -20,6 +20,7 @@ + #include <time.h> + #include <poppler.h> + #include <unistd.h> ++#include <algorithm> + #include "epdfview.h" + + using namespace ePDFView; +@@ -33,6 +34,23 @@ + static PageMode convertPageMode (gint pageMode); + static gchar *getAbsoluteFileName (const gchar *fileName); + ++namespace ++{ ++ void ++ convert_bgra_to_rgba (guint8 *data, int width, int height) ++ { ++ using std::swap; ++ ++ for (int y = 0; y < height; y++) ++ { ++ for (int x = 0; x < width; x++) ++ { ++ swap(data[0], data[2]); ++ data += 4; ++ } ++ } ++ } ++} + /// + /// @brief Constructs a new PDFDocument object. + /// +@@ -650,6 +668,7 @@ + poppler_page_render (page, context); + cairo_destroy(context); + cairo_surface_destroy (surface); ++ convert_bgra_to_rgba(renderedPage->getData (), width, height); + #else // !HAVE_POPPLER_0_17_0 + // Create the pixbuf from the data and render to it. + GdkPixbuf *pixbuf = gdk_pixbuf_new_from_data (renderedPage->getData (), ===> Done --- epdfview.patch ends here --- >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201111030736.pA37a6Ys004511>