SOURCES: poppler-cvs.patch (NEW) - update 0.5.0 to head

sparky sparky at pld-linux.org
Fri Feb 24 22:41:28 CET 2006


Author: sparky                       Date: Fri Feb 24 21:41:28 2006 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- update 0.5.0 to head

---- Files affected:
SOURCES:
   poppler-cvs.patch (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: SOURCES/poppler-cvs.patch
diff -u /dev/null SOURCES/poppler-cvs.patch:1.1
--- /dev/null	Fri Feb 24 22:41:28 2006
+++ SOURCES/poppler-cvs.patch	Fri Feb 24 22:41:22 2006
@@ -0,0 +1,7095 @@
+diff -Nur poppler.0_5_0/ChangeLog poppler.HEAD/ChangeLog
+--- poppler.0_5_0/ChangeLog	2006-01-11 17:52:58.000000000 +0100
++++ poppler.HEAD/ChangeLog	2006-02-23 23:26:05.000000000 +0100
+@@ -1,3 +1,240 @@
++2006-02-23  Albert Astals Cid  <aacid at kde.org>
++
++	* utils/Makefile.am: Do not build pdftoppm when SplashOutputDev is
++	disabled as that does not work
++
++2006-02-18  Jeff Muizelaar  <jeff at infidigm.net>
++
++	* poppler/CairoOutputDev.cc:
++	* poppler/CairoOutputDev.h:
++	* poppler/GfxState.cc:
++	* poppler/GfxState.h: Add support for drawSoftMaskedImage to
++	CairoOutputDev. Ugly but works.
++
++2006-02-16  Jeff Muizelaar  <jeff at infidigm.net>
++
++	* poppler/CairoOutputDev.cc: Work around cairo bug when scaling
++	1x1 bitmaps. Fixes #3387. Also gives a performance improvement.
++
++2006-02-16  Albert Astals Cid  <aacid at kde.org>
++
++	* qt4/src/Makefile.am:
++	* qt/Makefile.am:
++	* poppler/Makefile.am:
++	* glib/Makefile.am: Update soname as we are not really compatible
++	anymore with previous releases that had soname 0.0.0
++
++2006-02-13  Albert Astals Cid  <aacid at kde.org>
++
++	* poppler/ArthurOutputDev.cc: Make it compile after changing code so
++	we did not pass files to freetype but buffers
++
++2006-02-13  Albert Astals Cid  <aacid at kde.org>
++
++	* poppler/PSOutputDev.cc: Commit setupExternalCIDTrueTypeFont patch
++	kpdf got from Takashi Iwai (SuSe) a long time ago
++
++2006-02-06  Albert Astals Cid  <aacid at kde.org>
++
++	* configure.ac:
++	* goo/FixedPoint.h:
++	* splash/Splash.cc:
++	* splash/SplashTypes.h: Various fixes from Frank MeerkĂśtter to enable
++	fixedpoint arithmetic
++
++2006-02-06  Albert Astals Cid  <aacid at kde.org>
++	
++	* poppler/Annot.cc: Fix small leaks
++	* poppler/JBIG2Stream.cc: Remove check improving as really did not
++	improve anything
++	
++2006-02-05  Albert Astals Cid  <aacid at kde.org>
++
++	* poppler/Gfx.cc: Fix small leak
++	* poppler/GfxFont.cc: I needed that guard in kpdf to fix a crash and
++	it surely does not hurt
++	* poppler/JBIG2Stream.cc: Improve check (comes from kpdf)
++	* poppler/SplashOutputDev.cc: Unneeded var--
++
++2006-02-04  Jeff Muizelaar  <jeff at infidigm.net>
++
++	* poppler/Gfx.cc:
++	* poppler/OutputDev.cc:
++	* poppler/OutputDev.h: Let output devices know about pdf grouping
++	operators.
++	Patch by Thorkild Stray.
++
++2006-02-04  Jeff Muizelaar  <jeff at infidigm.net>
++
++	* poppler/GlobalParams.cc: Check all fonts returned by fontconfig.
++	Discard the ones that are not truetype or type1. Fixes #5758.
++	Patch by Ed Catmur.
++
++2006-02-04  Albert Astals Cid  <aacid at kde.org>
++
++	* utils/Makefile.am:
++	* utils/pdftoppm.cc: Actually create pdftoppm patch by Stefan
++	Schweizer
++	* utils/pdf2xml.dtd: Added a DTD of the xml pdftohtml creates patch by
++	Stefan Schweizer
++	* poppler/SplashOutputDev.cc: Remove bug from "do not use an external
++	file to pass fonts to Freetype" patch, patch by Stefan Schweizer
++		
++
++2006-02-02  Albert Astals Cid  <aacid at kde.org>
++
++	* splash/SplashXPathScanner.cc: CVE-2006-0301 fix by Derek (xpdf man
++	itslef) got though Dirk Mueller of KDE security team
++
++2006-02-02  Albert Astals Cid  <aacid at kde.org>
++
++	* fofi/FoFiTrueType.cc:
++	* fofi/FoFiTrueType.h:
++	* fofi/FoFiType1C.h:
++	* goo/gfile.cc:
++	* poppler/GfxFont.cc:
++	* poppler/GfxFont.h:
++	* poppler/GlobalParams.cc:
++	* poppler/GlobalParams.h:
++	* poppler/SplashOutputDev.cc:
++	* splash/SplashFTFontEngine.cc:
++	* splash/SplashFTFontEngine.h:
++	* splash/SplashFTFontFile.cc:
++	* splash/SplashFTFontFile.h:
++	* splash/SplashFontEngine.cc:
++	* splash/SplashFontEngine.h:
++	* splash/SplashFontFile.cc:
++	* splash/SplashFontFile.h:
++	* splash/SplashT1FontEngine.cc:
++	* splash/SplashT1FontFile.cc:
++	* splash/SplashT1FontFile.h: Merge patch to not use external file
++	  when passing the font to Freetype, original patch by Takashi Iwai
++	  adapted by me to kpdf rediffed by Stefan Schweizer against poppler
++	  cvs
++
++2006-01-31  Jeff Muizelaar  <jeff at infidigm.net>
++
++	* poppler/GlobalParams.cc (GlobalParams::getDisplayFont):
++	Allow ttc fonts to be used.
++
++2006-01-28  Jeff Muizelaar  <jeff at infidigm.net>
++
++	* glib/poppler-attachment.h: fix compile by adding <time.h> include.
++	Acked-by: Jonathan Blanford <jrb at redhat.com>
++
++2006-01-26  Kristian Høgsberg  <krh at redhat.com>
++
++	* poppler/CairoOutputDev.cc: Patch from Christian Krause; handle
++	0-width lines (#5545).
++
++Tue Jan 24 01:19:40 2006  Jonathan Blandford  <jrb at redhat.com>
++
++	* glib/Makefile.am:
++	* glib/poppler-attachment.cc:
++	* glib/poppler-attachment.h:
++	* glib/poppler-document.cc:
++	* glib/poppler-document.h:
++	* glib/poppler-page.cc:
++	* glib/poppler-private.h:
++	* glib/poppler.h:
++	* glib/test-poppler-glib.c:
++	* glib/reference/tmpl/poppler-enums.sgml:
++	* glib/reference/tmpl/poppler-unused.sgml: glib bindings for the
++	embedded file support.  It doesn't support mtime and ctime yet,
++	but the rest works.
++
++2006-01-23  Kristian Høgsberg  <krh at redhat.com>
++
++	* configure.ac:
++	* poppler/GlobalParams.cc:
++	* poppler/poppler-config.h.in:
++	* utils/pdftohtml.cc:
++	* utils/pdftops.cc: Respect command line paper size settings (#5641).
++	Drop the built-in paper sizes.
++
++2006-01-23  Kristian Høgsberg  <krh at redhat.com>
++
++	* glib/test-poppler-glib.c (print_document_info, print_index):
++	Move variable declarations to top (#5692).
++
++	* utils/*.cc: Move config.h #include to top of #include's (#5693).
++
++	* splash/SplashFTFont.cc: Don't use deprecated freetype include
++	files.
++
++2006-01-21  Jeff Muizelaar  <jeff at infidigm.net>
++
++	* TODO: Add my todo list.
++
++2006-01-18  Albert Astals Cid  <aacid at kde.org>
++
++	* glib/poppler-action.cc:
++	* glib/poppler-document.cc:
++	* poppler/Annot.cc:
++	* poppler/Catalog.cc:
++	* poppler/Catalog.h:
++	* poppler/Dict.cc:
++	* poppler/Dict.h:
++	* poppler/FontInfo.cc:
++	* poppler/Function.cc:
++	* poppler/Gfx.cc:
++	* poppler/GfxFont.cc:
++	* poppler/GfxState.cc:
++	* poppler/Link.cc:
++	* poppler/Link.h:
++	* poppler/Makefile.am:
++	* poppler/Object.h:
++	* poppler/Outline.cc:
++	* poppler/PDFDoc.cc:
++	* poppler/PDFDoc.h:
++	* poppler/PSOutputDev.cc:
++	* poppler/Page.cc:
++	* poppler/PageLabelInfo.cc:
++	* poppler/Parser.cc:
++	* poppler/SecurityHandler.cc:
++	* poppler/Stream.cc:
++	* poppler/XRef.cc:
++	* qt/poppler-document.cc:
++	* qt/poppler-page-transition.cc:
++	* qt4/src/Makefile.am:
++	* qt4/src/poppler-document.cc:
++	* qt4/src/poppler-private.h:
++	* qt4/src/poppler-qt4.h:
++	* qt4/tests/Makefile.am:
++	* utils/HtmlOutputDev.cc:
++	* utils/pdffonts.cc:
++	* utils/pdfinfo.cc:
++	* utils/pdftohtml.cc:
++	* utils/pdftotext.cc: Brad patch for embedded document extraction,
++	only has Qt4 bindings for now, needs Qt3 and glib work
++
++2006-01-18  Albert Astals Cid  <aacid at kde.org>
++
++	* qt/poppler-page-transition.h:
++	* qt4/src/Doxyfile: Add some more documentation to PageTransition,
++	patch by Stefan Kebekus
++
++2006-01-18  Albert Astals Cid  <aacid at kde.org>
++
++	* poppler/CharCodeToUnicode.cc: Fix check for length that was not
++	having into account that there could be \n or \r in tokens an that
++	those do not have to be took into account. Fixes
++	http://bugs.kde.org/show_bug.cgi?id=120310
++
++2006-01-17  Albert Astals Cid  <aacid at kde.org>
++
++	* poppler/Lexer.cc:
++	* poppler/Lexer.h:
++	* poppler/Parser.cc:
++	* poppler/Parser.h:
++	* poppler/XRef.cc:
++	* poppler/XRef.h: When doing the parsing check with XREF we did not
++	grow too much. Fixes serialata10a.pdf
++
++2006-01-12  Jeff Muizelaar  <jeff at infidigm.net>
++
++	* poppler/GlobalParams.cc: Make buildFcPattern() static.
++
+ 2006-01-11  Kristian Høgsberg  <krh at redhat.com>
+ 
+ 	* poppler/JBIG2Stream.cc:
+diff -Nur poppler.0_5_0/configure.ac poppler.HEAD/configure.ac
+--- poppler.0_5_0/configure.ac	2006-01-06 11:05:58.000000000 +0100
++++ poppler.HEAD/configure.ac	2006-02-06 21:49:21.000000000 +0100
+@@ -17,7 +17,6 @@
+ AC_CHECK_FUNC(gettimeofday, AC_DEFINE(HAVE_GETTIMEOFDAY, 1, [Defines if gettimeofday is available on your system]))
+ 
+ dnl Enable these unconditionally.
+-AC_DEFINE([A4_PAPER], [1], [Default to A4 paper.])
+ AC_DEFINE([OPI_SUPPORT], [1], [Generate OPI comments in PS output.])
+ AC_DEFINE([MULTITHREADED], [1], [Enable multithreading support.])
+ AC_DEFINE([TEXTOUT_WORD_LIST], [1], [Enable word list support.])
+@@ -32,7 +31,7 @@
+ 
+ AC_ARG_ENABLE(fixedpoint,
+ [  --enable-fixedpoint     use fixed point (instead of floating point) arithmetic],
+-AC_DEFINE(USE_FIXEDPOINT, [], [Use fixed point arithmetic]))
++AC_DEFINE(USE_FIXEDPOINT, [1], [Use fixed point arithmetic]))
+ 
+ dnl ##### Path to xpdfrc.
+ dnl This ugly kludge to get the sysconfdir path is needed because
+@@ -243,19 +242,13 @@
+ AM_CONDITIONAL(BUILD_POPPLER_QT4, test x$enable_poppler_qt4 = xyes)
+ 
+ if test x$enable_poppler_qt4 = xyes; then
+-  POPPLER_FIND_QT4TEST(POPPLER_QTTEST)
++  POPPLER_FIND_QT4TEST(POPPLER_QTTEST,
++                      [enable_poppler_qt4testlib="yes"],
++                      [enable_poppler_qt4testlib="no"])
+   AC_SUBST(POPPLER_QTTEST_CXXFLAGS)
+   AC_SUBST(POPPLER_QTTEST_LIBS)
+-fi
+-
+-if test x$have_qt4testlib = xno ; then
+-    AC_MSG_WARN([QtTestLib libraries not found])
+-fi
+-
+-if test x$have_qt4testlib = xyes; then
+-    enable_poppler_qt4testlib="yes"
+ else
+-    enable_poppler_qt4testlib="no"
++  enable_poppler_qt4testlib="no"
+ fi
+ 
+ AM_CONDITIONAL(BUILD_POPPLER_QT4TESTS, test x$enable_poppler_qt4testlib = xyes)
+diff -Nur poppler.0_5_0/fofi/FoFiTrueType.cc poppler.HEAD/fofi/FoFiTrueType.cc
+--- poppler.0_5_0/fofi/FoFiTrueType.cc	2005-09-14 23:20:36.000000000 +0200
++++ poppler.HEAD/fofi/FoFiTrueType.cc	2006-02-02 23:50:01.000000000 +0100
+@@ -241,10 +241,10 @@
+ // FoFiTrueType
+ //------------------------------------------------------------------------
+ 
+-FoFiTrueType *FoFiTrueType::make(char *fileA, int lenA) {
++FoFiTrueType *FoFiTrueType::make(char *fileA, int lenA, int faceIndexA) {
+   FoFiTrueType *ff;
+ 
+-  ff = new FoFiTrueType(fileA, lenA, gFalse);
++  ff = new FoFiTrueType(fileA, lenA, gFalse, faceIndexA);
+   if (!ff->parsedOk) {
+     delete ff;
+     return NULL;
+@@ -252,7 +252,7 @@
+   return ff;
+ }
+ 
+-FoFiTrueType *FoFiTrueType::load(char *fileName) {
++FoFiTrueType *FoFiTrueType::load(char *fileName, int faceIndexA) {
+   FoFiTrueType *ff;
+   char *fileA;
+   int lenA;
+@@ -260,7 +260,7 @@
+   if (!(fileA = FoFiBase::readFile(fileName, &lenA))) {
+     return NULL;
+   }
+-  ff = new FoFiTrueType(fileA, lenA, gTrue);
++  ff = new FoFiTrueType(fileA, lenA, gTrue, faceIndexA);
+   if (!ff->parsedOk) {
+     delete ff;
+     return NULL;
+@@ -268,7 +268,7 @@
+   return ff;
+ }
+ 
+-FoFiTrueType::FoFiTrueType(char *fileA, int lenA, GBool freeFileDataA):
++FoFiTrueType::FoFiTrueType(char *fileA, int lenA, GBool freeFileDataA, int faceIndexA):
+   FoFiBase(fileA, lenA, freeFileDataA)
+ {
+   tables = NULL;
+@@ -277,6 +277,7 @@
+   nCmaps = 0;
+   nameToGID = NULL;
+   parsedOk = gFalse;
++  faceIndex = faceIndexA;
+ 
+   parse();
+ }
+@@ -1535,9 +1536,12 @@
+   return checksum;
+ }
+ 
++#define toTag(a,b,c,d) (((unsigned int)(a)<<24) | ((unsigned int)(b)<<16) | ((unsigned int)(c)<<8) | (d))
++
+ void FoFiTrueType::parse() {
+   Guint topTag;
+   int pos, i, j;
++  unsigned int head;
+ 
+   parsedOk = gTrue;
+ 
+@@ -1556,12 +1560,37 @@
+   }
+ 
+   // read the table directory
+-  nTables = getU16BE(pos + 4, &parsedOk);
++  head = getU32BE(pos, &parsedOk);
++  if (! parsedOk)
++    return;
++  if (head == toTag('t','t','c','f')) {
++    /* TTC font */
++    unsigned int tableDir;
++    int dircount;
++
++    dircount = getU32BE(8, &parsedOk);
++    if (!parsedOk)
++      return;
++    if (! dircount) {
++      parsedOk = gFalse;
++      return;
++    }
++
++    if (faceIndex >= dircount)
++      faceIndex = 0;
++    pos = getU32BE(12 + faceIndex * 4, &parsedOk);
++    if (! parsedOk)
++      return;
++  }
++
++  pos += 4;
++  nTables = getU16BE(pos, &parsedOk);
+   if (!parsedOk) {
+     return;
+   }
++
++  pos += 8;
+   tables = (TrueTypeTable *)gmallocn(nTables, sizeof(TrueTypeTable));
+-  pos += 12;
+   for (i = 0; i < nTables; ++i) {
+     tables[i].tag = getU32BE(pos, &parsedOk);
+     tables[i].checksum = getU32BE(pos + 4, &parsedOk);
+diff -Nur poppler.0_5_0/fofi/FoFiTrueType.h poppler.HEAD/fofi/FoFiTrueType.h
+--- poppler.0_5_0/fofi/FoFiTrueType.h	2005-09-14 23:20:36.000000000 +0200
++++ poppler.HEAD/fofi/FoFiTrueType.h	2006-02-02 23:50:01.000000000 +0100
+@@ -29,11 +29,12 @@
+ public:
+ 
+   // Create a FoFiTrueType object from a memory buffer.
+-  static FoFiTrueType *make(char *fileA, int lenA);
++  static FoFiTrueType *make(char *fileA, int lenA, int faceIndexA=0);
+ 
+   // Create a FoFiTrueType object from a file on disk.
+-  static FoFiTrueType *load(char *fileName);
++  static FoFiTrueType *load(char *fileName, int faceIndexA=0);
+ 
++  FoFiTrueType(char *fileA, int lenA, GBool freeFileDataA, int faceIndexA=0);
+   virtual ~FoFiTrueType();
+ 
+   // Return the number of cmaps defined by this font.
+@@ -104,7 +105,6 @@
+ 
+ private:
+ 
+-  FoFiTrueType(char *fileA, int lenA, GBool freeFileDataA);
+   void cvtEncoding(char **encoding,
+ 		   FoFiOutputFunc outputFunc,
+ 		   void *outputStream);
+@@ -133,6 +133,7 @@
+   GooHash *nameToGID;
+ 
+   GBool parsedOk;
++  int faceIndex;
+ };
+ 
+ #endif
+diff -Nur poppler.0_5_0/fofi/FoFiType1C.h poppler.HEAD/fofi/FoFiType1C.h
+--- poppler.0_5_0/fofi/FoFiType1C.h	2005-09-14 23:20:36.000000000 +0200
++++ poppler.HEAD/fofi/FoFiType1C.h	2006-02-02 23:50:01.000000000 +0100
+@@ -138,6 +138,7 @@
+   // Create a FoFiType1C object from a file on disk.
+   static FoFiType1C *load(char *fileName);
+ 
++  FoFiType1C(char *fileA, int lenA, GBool freeFileDataA);
+   virtual ~FoFiType1C();
+ 
+   // Return the font name.
+@@ -173,7 +174,6 @@
+ 
+ private:
+ 
+-  FoFiType1C(char *fileA, int lenA, GBool freeFileDataA);
+   void eexecCvtGlyph(Type1CEexecBuf *eb, char *glyphName,
+ 		     int offset, int nBytes,
+ 		     Type1CIndex *subrIdx,
+diff -Nur poppler.0_5_0/glib/Makefile.am poppler.HEAD/glib/Makefile.am
+--- poppler.0_5_0/glib/Makefile.am	2006-01-02 01:06:46.000000000 +0100
++++ poppler.HEAD/glib/Makefile.am	2006-02-16 20:28:54.000000000 +0100
+@@ -58,6 +58,7 @@
+ 	poppler-action.h			\
+ 	poppler-document.h			\
+ 	poppler-page.h				\
++	poppler-attachment.h			\
+ 	poppler.h
+ 
+ poppler_glib_includedir = $(includedir)/poppler/glib
+@@ -72,6 +73,7 @@
+ 	poppler-action.cc			\
+ 	poppler-document.cc			\
+ 	poppler-page.cc				\
++	poppler-attachment.cc			\
+ 	poppler.cc				\
+ 	poppler-private.h
+ 
+@@ -81,6 +83,8 @@
+ 	$(FREETYPE_LIBS)			\
+ 	$(cairo_libs)
+ 
++libpoppler_glib_la_LDFLAGS = -version-info 1:0:0
++
+ noinst_PROGRAMS = test-poppler-glib
+ 
+ test_poppler_glib_SOURCES =			\
+diff -Nur poppler.0_5_0/glib/poppler-action.cc poppler.HEAD/glib/poppler-action.cc
+--- poppler.0_5_0/glib/poppler-action.cc	2005-12-31 03:10:33.000000000 +0100
++++ poppler.HEAD/glib/poppler-action.cc	2006-01-18 23:32:13.000000000 +0100
+@@ -182,7 +182,7 @@
+ 		 LinkGoTo        *link)
+ {
+ 	LinkDest *link_dest;
+-	GooString *named_dest;
++	UGooString *named_dest;
+ 
+ 	/* Return if it isn't OK */
+ 	if (! link->isOk ()) {
+diff -Nur poppler.0_5_0/glib/poppler-attachment.cc poppler.HEAD/glib/poppler-attachment.cc
+--- poppler.0_5_0/glib/poppler-attachment.cc	1970-01-01 01:00:00.000000000 +0100
++++ poppler.HEAD/glib/poppler-attachment.cc	2006-01-24 07:21:39.000000000 +0100
+@@ -0,0 +1,223 @@
++/* poppler-attachment.cc: glib wrapper for poppler
++ * Copyright (C) 2006, Red Hat, Inc.
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2, or (at your option)
++ * any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
++ */
++
++#include "config.h"
++#include <errno.h>
++#include <glib/gstdio.h>
++
++#include "poppler.h"
++#include "poppler-private.h"
++#include "poppler-attachment.h"
++
++/* FIXME: We need to add gettext support sometime */
++#define _(x) (x)
++
++typedef struct _PopplerAttachmentPrivate PopplerAttachmentPrivate;
++struct _PopplerAttachmentPrivate
++{
++  Object obj_stream;
++};
++
++#define POPPLER_ATTACHMENT_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), POPPLER_TYPE_ATTACHMENT, PopplerAttachmentPrivate))
++
++static void poppler_attachment_finalize (GObject *obj);
++
++G_DEFINE_TYPE (PopplerAttachment, poppler_attachment, G_TYPE_OBJECT);
++
++static void
++poppler_attachment_init (PopplerAttachment *attachment)
++{
++
++}
++
++static void
++poppler_attachment_class_init (PopplerAttachmentClass *klass)
++{
++  G_OBJECT_CLASS (klass)->finalize = poppler_attachment_finalize;
++  g_type_class_add_private (klass, sizeof (PopplerAttachmentPrivate));
++}
++
++static void
++poppler_attachment_finalize (GObject *obj)
++{
++  PopplerAttachment *attachment;
++
++  attachment = (PopplerAttachment *) obj;
++  POPPLER_ATTACHMENT_GET_PRIVATE (attachment)->obj_stream.free();
++}
++
++/* Public functions */
++
++PopplerAttachment *
++_poppler_attachment_new (PopplerDocument *document,
++			 EmbFile         *emb_file)
++{
++  PopplerAttachment *attachment;
++
++  g_assert (document != NULL);
++  g_assert (emb_file != NULL);
++
++  attachment = (PopplerAttachment *) g_object_new (POPPLER_TYPE_ATTACHMENT, NULL);
++  
++  if (emb_file->name ())
++    attachment->name = g_strdup (emb_file->name ()->getCString ());
++  if (emb_file->description ())
++    attachment->description = g_strdup (emb_file->description ()->getCString ());
++
++  emb_file->streamObject().copy(&POPPLER_ATTACHMENT_GET_PRIVATE (attachment)->obj_stream);
++
++  return attachment;
++}
++
++static gboolean
++save_helper (const gchar  *buf,
++	     gsize         count,
++	     gpointer      data,
++	     GError      **error)
++{
++  FILE *f = (FILE *) data;
++  gsize n;
++
++  n = fwrite (buf, 1, count, f);
++  if (n != count)
++    {
++      g_set_error (error,
++		   G_FILE_ERROR,
++		   g_file_error_from_errno (errno),
++		   _("Error writing to image file: %s"),
<<Diff was trimmed, longer than 597 lines>>


More information about the pld-cvs-commit mailing list