2006-02-09  Kristian Høgsberg  <krh@redhat.com>

	* configure.ac: Bump realease to 0.4.5.

	* NEWS: Sum up changes.

	* splash/Splash.cc: Add fix for CVE-2006-0301.

2006-01-10  Kristian Høgsberg  <krh@redhat.com>

	* configure.ac: Bump realease to 0.4.4.

	* NEWS: Sum up changes.

	* poppler/DCTStream.cc: Backport patch for KDE #119569.

2006-01-10  Kristian Høgsberg  <krh@redhat.com>

	Security patch from Martin Pitt (#5516).  Multiple integer/buffer
	overflows.

	* poppler/Stream.cc (CCITTFaxStream::CCITTFaxStream): Check
	columns for negative or large values (CVE-2005-3624).
	
	* poppler/Stream.cc: Reset numComps to 0 since it's a global
	variable that is used later (CVE-2005-3627).
	
	* poppler/Stream.cc (DCTStream::readHuffmanTables): Fix out of
	bounds array access in Huffman tables (CVE-2005-3627).
	
	* poppler/Stream.cc (DCTStream::readMarker): Check for EOF in
	while loop to prevent endless loops (CVE-2005-3625).
	
	* poppler/JBIG2Stream.cc (JBIG2Bitmap::JBIG2Bitmap,
	JBIG2Bitmap::expand, JBIG2Stream::readHalftoneRegionSeg): Check
	user supplied width and height against invalid values.  Allocate
	one extra byte to prevent out of bounds access in combine().
	
2006-01-10  Kristian Høgsberg  <krh@redhat.com>

	* poppler/Stream.cc: Fix bug in last security patch (#5514).
	Also, for the record, the security patch also fixes CVE-2005-3192
	and CVE-2005-3193.

2005-12-18  Albert Astals Cid  <aacid@kde.org>

	* configure.ac: Better jpeg detection, refer to ml PCbsd problem
	* qt/Makefile.am: Backport fix build on systems where fontconfig is
	not on /usr/include

2005-12-12  Kristian Høgsberg  <krh@redhat.com>

	* configure.ac: Bump release.

	* NEWS: Sum up changes.
	
2005-12-12  Kristian Høgsberg  <krh@redhat.com>

	* poppler/TextOutputDev.cc:
	* qt/poppler-qt.h: GCC-4.1 fixes (#5031).

	* qt/Makefile.am (noinst_PROGRAMS): Only build qt test program if
	splash is enabled.

	* poppler/CairoOutputDev.cc: Remove unused grid snapping code,
	sidestepping #4507.
	
	* glib/poppler-document.h: Fix glib-mkenums warning (#4600).

	* poppler/Makefile.am (libpoppler_la_LIBADD): Add $(FREETYPE_LIBS)
	(#4514).

	* poppler/TextOutputDev.cc (TextWord::visitSelection,
	TextWord::visitSelection): Fix selection crash (#4402).

	* poppler/CairoOutputDev.h: Fix wrong cairo-ft.h include (#4413).

	* poppler/JPXStream.cc:
	* poppler/Stream.cc:
	* poppler/Stream.h: CVE-2005-3191 security fix.

	* fofi/FoFiTrueType.cc:
	* poppler/SplashOutputDev.cc: CAN-2005-2097 security fix.

2005-10-16  Kristian Høgsberg  <krh@redhat.com>

	* poppler/poppler-config.h.in (GCC_PRINTF_FORMAT): Remove evil
	space character in macro definition.

2005-10-05  Kristian Høgsberg  <krh@redhat.com>

	* glib/poppler-page.cc (poppler_page_render_to_ps): Fix another
	off-by-one page number error (#4555).

2005-09-01  Kristian Høgsberg  <krh@redhat.com>

	* NEWS:
	* configure.ac: Release 0.4.2.

	* glib/poppler-page.cc (poppler_page_prepare_output_dev): Patch
	from Marco to fix more rotation special cases.

2005-08-29  Kristian Høgsberg  <krh@redhat.com>

	* configure.ac (HAVE_FREETYPE_H): Patch from Hiroyuki Ikezoe: Set
	HAVE_FREETYPE_217_OR_OLDER to 0 if we found freetype using
	pkg-config (#4223).

2005-08-24  Kristian Høgsberg  <krh@redhat.com>

	* configure.ac: Bump release to 0.4.1

	* NEWS: Sum up changes.

2005-08-24  Kristian Høgsberg  <krh@redhat.com>

	* poppler/TextOutputDev.cc: Push rotation argument down to
	GfxState constructor.  This is still not completely functional yet.

	* glib/poppler-page.cc (poppler_page_render_selection): Add
	rotation argument so API is useful.  Not yet implemented.
	(poppler_page_prepare_output_dev): Patch from Marco to fix
	rotation using the cairo backend.

Tue Aug 23 17:21:02 2005  Jonathan Blandford  <jrb@redhat.com>

	* test/Makefile.am (gtk_cairo_test_LDADD): add
	FREETYPE_{CFLAGS,LIBS} to the cairo deps

2005-08-22  Kristian Høgsberg  <krh@redhat.com>

	* glib/poppler-page.cc:
	* glib/poppler-page.h:
	* glib/poppler-private.h:
	* glib/test-poppler-glib.c: Patch from Marco to simplify the glib
	rotation API.

2005-08-21  Kristian Høgsberg  <krh@redhat.com>

	* poppler/Makefile.am (INCLUDES): Add FREETYPE_CFLAGS.

	* configure.ac: Make freetype check use pkg-config if possible.

2005-08-16  Kristian Høgsberg  <krh@redhat.com>

	* configure.ac: Bump version to 0.4.0.

	* NEWS: Sum up changes.

	* poppler/PDFDoc.cc: Add extended check for %%EOF.

2005-08-15  Kristian Høgsberg  <krh@redhat.com>

	* poppler/GfxFont.cc: Add fix discussed in #3131 to only use the
	MacRoman char map if the font has one or the font dicts specifies
	/MacRoman.

2005-08-06  Kristian Høgsberg  <krh@redhat.com>

	* glib/poppler-page.cc:
	* glib/poppler-page.h: Use GdkColor for specifying selection
	colors, we alreay depend on GDK anyway.

2005-08-05  Kristian Høgsberg  <krh@redhat.com>

	* poppler/TextOutputDev.cc (visitLine): Round selection
	coordinates in device space, so selection isn't fuzzy.

	* poppler/GfxState.cc: 
	* poppler/GfxState.h: Add simple Matrix class.

2005-08-05  Kristian Høgsberg  <krh@redhat.com>
	
	* glib/poppler-page.cc:
	* glib/poppler-page.h:
	* poppler/TextOutputDev.cc:
	* poppler/TextOutputDev.h: Propagate selection colors to the glib API.

2005-08-01  Kristian Høgsberg  <krh@redhat.com>

	Patch from Dan Winship <danw@novell.com>
	
	* glib/poppler-page.cc (poppler_page_copy_to_pixbuf): Set alpha to
	0xff (opaque), not 0x00.

2005-07-29  Kristian Høgsberg  <krh@redhat.com>

	* poppler/TextOutputDev.cc: Finish TextSelectionDumper class for
	extracting the text from a selection.  Add
	TextPage::getSelectionText() and TextOutputDev::getSelectionText()
	methods to expose the new functionality.

	* glib/poppler-page.cc (poppler_page_get_text): Use
	TextOutputDev::getSelectionText() to get the text from the
	selection.

	* glib/poppler-document.cc (poppler_document_new_from_file): 
	* glib/poppler-page.cc (_poppler_page_new): Add extra NULL to
	g_object_new() constructor to silence gcc warning about missing
	sentinel.

2005-07-28  Kristian Høgsberg  <krh@redhat.com>

	* poppler/poppler-config.h.in: Add GCC_PRINTF_FORMAT macro to
	annotate printf-like functions (#3638).
	
	* poppler/Error.h: Add GCC_PRINTF_FORMAT to error().

	* poppler/PSOutputDev.h: Add GCC_PRINTF_FORMAT to
	PSOutputDev::writePSFmt().

	* poppler/PSOutputDev.cc, poppler/GlobalParams.cc: Quiet new
 	printf warnings.

	* poppler/TextOutputDev.cc (TextBlock::visitSelection): Assign
	start and stop coordinates in one place so we don't assign the
	same point to both in some corner cases.
	(TextWord::visitSelection): Initialize begin to len, not len + 1
	to fix crash.

	(TextWord::visitSelection, TextLine::visitSelection): Change
	selection trigger; now midpoint of glyph must be included in
	selection area for glyph to be in selection.

2005-07-27  Martin Kretzschmar  <martink@gnome.org>

	* poppler/PSOutputDev.cc (PSOutputDev): change the constructor to
	take paper size and duplex setting parameters.
	(init): add paper size and duplex parameters.
	(writeDocSetup): add duplex parameter.

	* poppler/PSOutputDev.h: update declarations.

	* glib/poppler-private.h (struct _PopplerPSFile): store necessary
	information to eventually construct a PSOutputDev.

	* glib/poppler-page.cc (poppler_page_render_to_ps): initialize the
	output dev if it doesn't exist yet.

	* glib/poppler-document.cc (poppler_ps_file_new): don't create the
	PSOutputDev here, just store filename and page range.
	(poppler_ps_file_set_paper_size, poppler_ps_file_set_duplex): new
	functions.
	(poppler_ps_file_free): free the filename which we strdup now.

	* glib/poppler-document.h: add prototypes.

2005-07-26  Albert Astals Cid  <aacid@kde.org>

	 * qt/test-poppler-qt-cpp: Fix mem leak

2005-07-26  Kristian Høgsberg  <krh@redhat.com>

	* fofi/FoFiType1.cc: Make check for end of encoding array a bit
	more liberal so we don't crash on complex encoding arrays.

2005-07-25  Albert Astals Cid  <aacid@kde.org>

	* poppler/DCTStream.cc: Work on bad jpeg data that have garbage before
	the start marker. Fixes bug #3299

2005-07-22  Albert Astals Cid  <aacid@kde.org>

	* poppler/CairoFontEngine.cc: Fix mem leak. Reported in bug #3586 by
	Kjartan Maraas, initial patch by Martin Kretzschmar.

2005-07-22  Albert Astals Cid  <aacid@kde.org>

	* qt/test-poppler-qt.cpp: Make it possible to change the displayed
	page using Up and Down keys

2005-07-22  Albert Astals Cid  <aacid@kde.org>

	* splash/Splash.cc: Fix bugs #3728 and #3750

2005-07-20  Martin Kretzschmar  <martink@gnome.org>

	* glib/poppler-document.cc (poppler_fonts_iter_get_name): if the
	font is a subset, strip the ABCDEF+ tag.
	(poppler_fonts_iter_get_full_name): does what the old get_name did.
	(poppler_fonts_iter_get_font_type, poppler_fonts_iter_is_embedded)
	(poppler_fonts_iter_is_subset): new wrappers.

	* glib/poppler-document.h (PopplerFontType): new enum.
	Update prototypes.

2005-07-15  Martin Kretzschmar  <martink@gnome.org>

	* test/gtk-cairo-test.cc: update for 2005-06-27 change to actually
	display something again.

2005-07-10  Brad Hards  <bradh@frogmouth.net>

	* poppler/ArthurOutputDev.cc: General cleanup - removing
	dead code, and some minor tweaks. No new features.

2005-07-08  Kristian Høgsberg  <krh@redhat.com>

	* glib/poppler-page.cc (poppler_page_set_selection_alpha): Add
	this function to initialize the alpha channel when using the
	splash backend.

	* poppler/TextOutputDev.cc (visitLine): Add missing scaling of
	intra-line selection edges.

2005-07-07  Kristian Høgsberg  <krh@redhat.com>

	* glib/poppler-page.cc (poppler_page_prepare_output_dev): Account
	for page rotation when creating the cairo surface.

2005-07-06  Kristian Høgsberg  <krh@redhat.com>

	* glib/poppler-page.cc (poppler_page_copy_to_pixbuf): Add out of
	bounds checking (from Marco).

2005-07-07  Brad Hards  <bradh@frogmouth.net>

	* qt4/src/poppler-document.cc: 
	* qt4/src/poppler-qt4.h: Add pageLayout() function for Qt4
	bindings

	* qt4/tests/check_pagelayout_single.cpp:
	* qt4/tests/check_pagelayout_none.cpp:
	* Makefile.am: Add unit tests for pageLayout()

	* glib/poppler-document.cc (convert_page_mode): Update to
	reflect the Catalog API change. I'm not that good at glib,
	so this has a non-zero chance of being pure crackrock.

	* poppler/Catalog.cc:
	* poppler/Catalog.h: update page mode options to PDF 1.6

	* qt4/src/poppler-qt4.h:
	* qt4/src/poppler-document.cc: add Qt4 bindings for additional 
	pageMode() value created by change above

	* qt4/src/poppler-qt4.h: minor updates to API docs.
	
	* qt4/tests/Makefile.am:
	* qt4/tests/check_pagemode_*.cpp: unit tests for Qt4 pageMode() call
	and associated enum. This is the initial checkin for these files

2005-07-06  Albert Astals Cid  <aacid@kde.org>

	* poppler/PDFDoc.[cc|h]: Add checkFooter to check document ends with
	%%EOF
	* poppler/GfxFont.[cc|h]: Extract family, stretch and weight from the
	font descriptor

2005-07-06  Brad Hards  <bradh@frogmouth.net>

	* qt4/tests/Makefile.am:
	* qt4/tests/check_linearised.cpp: Added unit test for linearised
	property

	* qt4/tests/poppler-fonts.cpp (main): update to reflect API change,
	and also to show "[none]" if the font is nameless.

	* qt4/src/poppler-document.cc (Poppler): 
	* qt4/src/poppler-qt4.h: remove the unicode translation bool,
	it is really an internal thing.

2005-07-05  Albert Astals Cid  <aacid@kde.org>

	* qt4/src/poppler-document.cc (Poppler): 
	* qt4/src/poppler-qt4.h: Don't crash with files that have fonts with
	no name, for example the one found at
	http://bugs.kde.org/show_bug.cgi?id=101520.

2005-07-05  Brad Hards  <bradh@frogmouth.net>

	* qt4/tests/check_author.cpp:
	* qt4/tests/check_permissions.cpp:
	* Makefile.am:
	* .cvsignore: add a couple more test cases
	
	* qt4/src/poppler-document.cc (Poppler): 
	* qt4/src/poppler-qt4.h: Add Qt4 bindings for the 
	additional user permission properties.

	* poppler/XRef.h:
	* poppler/Xref.cc:
	* poppler/PDFDoc.h: Add some more user permissions properties -
	high resolution printing, document assembly, extraction for
	accessibility and form completion.

2005-07-04  Brad Hards  <bradh@frogmouth.net>

	* qt4/src/poppler-page.cc: fix typo bug that
	prevented correct detection of upside down pages

	* qt4/tests/check-orientation.cpp: fix path to
	point to test module.
	
	* qt4/.cvsignore: update to reflect new files
	
	* qt4/tests/Makefile.am:
	* qt4/tests/poppler-fonts.cpp: initial import of a simple font
	metadata listing application.
	
	* qt4/src/poppler-qt4.h:
	* qt4/src/poppler-document.cc complete Qt4 font metadata handling
	
	* qt4/src/poppler-qt4.h:
	* qt4/src/poppler-page.cc: change the render API to make it more
	Qt-like.

	* qt4/tests/test-poppler-qt4.cpp:
	* qt4/tests/stress-poppler-qt4.cpp: update to reflect changes
	to render API
	
	* poppler/FontInfo.h/cc: make FontInfo::type() return a enum
	instead of a GooString. As discussed on mailing list, if you
	want a string representation, you get to make one at the bindings
	layer (ie typeName() didn't make the grade in the final patch)

	* qt4/tests/poppler-fonts.cpp (main): change order in test
	code to reflect actual testcase file

2005-07-01  Kristian Høgsberg  <krh@redhat.com>

	* poppler/TextOutputDev.cc: Make selection also work when dragging
	backwards in the text flow.  Currently this is a big pile of
	if-statements, and there is certainly room for improvement.

2005-06-30  Kristian Høgsberg  <krh@redhat.com>

	* glib/poppler-page.h: * glib/poppler-page.cc
	(poppler_page_copy_to_pixbuf): Fix splash compilation (patch from
	Marco).
	(poppler_page_render_to_pixbuf): Drop dest_x and dest_y
	coordinates from this function.  This functionality can be
	achieved using a sub-GdkPixbuf.

	* glib/test-poppler-glib.c (main): Update test case.

2005-06-29  Kristian Høgsberg  <krh@redhat.com>

	* glib/poppler-private.h: Move TextOutputDev.h include here from
	poppler-page.cc

2005-06-29  Kristian Høgsberg  <krh@redhat.com>

	* configure.ac:
	* glib/poppler-page.cc:
	* glib/poppler-page.h:
	* glib/poppler-private.h:
	* poppler/CairoOutputDev.cc:
	* poppler/CairoOutputDev.h:
	* poppler/Page.cc:
	* poppler/Page.h:
	* poppler/TextOutputDev.cc:
	* poppler/TextOutputDev.h: Add support for rendering real
	selection (based on text flow).

2005-06-28  Albert Astals Cid  <aacid@kde.org>
	
	* poppler/FontInfo.[cc,h]: Add FontInfo::getType()
	
2005-06-28  Albert Astals Cid  <aacid@kde.org>
	
	* poppler/ArthurOutputDev.cc: use transformation matrix for image
	rendering

2005-06-28  Brad Hards  <bradh@frogmouth.net>

	* .cvsignore:
	* qt4/.cvsignore:
	* qt4/src/.cvsignore:
	* qt4/tests/.cvsignore: update to reflect the Qt4 bindings.

2005-06-28  Brad Hards  <bradh@frogmouth.net>

	* qt4/:
	* Makefile.am:
	* configure.ac:
	* poppler-qt4.pc.in: Initial import of Qt4 bindings, based
	on the Qt3 bindings. API is still in flux.

	* poppler/AuthurOutputDev.[cc,h]:
	* poppler/Makefile.am: Initial import of Qt4 backend renderer. 
	Incomplete at this stage.

2005-06-27  Kristian Høgsberg  <krh@redhat.com>

	* poppler/CairoOutputDev.cc:
	* poppler/CairoOutputDev.h: Change CairoOutputDev to render to a
	given surface and let the user create that surface.
	
	* glib/poppler-document.cc:
	* glib/poppler-page.cc:
	* glib/poppler-private.h: Create the cairo image surface here
	instead and pass it to the CairoOutputDev for rendering.
	
	* poppler/CairoOutputDevImage.cc:
	* poppler/CairoOutputDevImage.h:
	* poppler/CairoOutputDevX.cc:
	* poppler/CairoOutputDevX.h:
	* poppler/Makefile.am: Remove specialized cairo output devices.

2005-06-26  Kristian Høgsberg  <krh@redhat.com>

	* poppler/CairoOutputDev.cc:
	* poppler/CairoOutputDev.h: Switch back to using drawChar() for
	text, but utilize the beginString() and endString() hooks so we
	can use cairo_show_glyphs() efficiently.

2005-06-26  Albert Astals Cid <aacid@kde.org>
	
	* qt/poppler-page.cc:
	* qt/poppler-page.h: Add PageTransition class and 
	PageTransition* Page::getTransition() const; to the qt frontend.

2005-06-26  Martin Kretzschmar  <martink@gnome.org>

	* glib/.cvsignore: add poppler-enums.[ch].

	* configure.ac: require glib 2.4+ for g_value_take_string and
	G_DEFINE_TYPE.

2005-06-25  Jeff Muizelaar  <jeff@infidigm.net>

	* poppler/Error.h: Maybe fix build on Solaris.

2005-06-20  Kristian Høgsberg  <krh@redhat.com>

	* NEWS:
	* configure.ac: Bump version to 0.3.3 and sum up changes since
	last release.

	* glib/poppler-page.cc (poppler_page_find_text): Initialize xMin
	and yMin to avoid referencing unintialized memory (#3582).

2005-06-20  Martin Kretzschmar  <martink@gnome.org>

	* glib/poppler-document.cc (info_dict_get_string): convert
	from PDFDocEncoding to UTF-8.

2005-06-20  Kristian Høgsberg  <krh@redhat.com>

	* glib/poppler-page.cc:
	* glib/poppler-page.h:
	* glib/poppler.h: Clean up glib rotation implementation and add a
	getter for rotation.  Patch from Marco.

2005-06-20  Kristian Høgsberg  <krh@redhat.com>

	* glib/poppler-document.cc:
	* poppler/FontInfo.cc: Fixes from Marco to handle fonts without
	name (typically type 3 fonts) and fix an iterator bug.

2005-06-20  Kristian Høgsberg  <krh@redhat.com>

	* glib/poppler-page.cc (poppler_page_get_link_mapping): Adjust
	link coordinates so they're relative to bounding box lower left
	corner (#3396).

2005-06-17  Kristian Høgsberg  <krh@redhat.com>

	* autogen.sh: Patch from Emil Soleyman-Zomalan to enable checks
	for automake >= 1.7 (#3554).

2005-06-15  Kristian Høgsberg  <krh@redhat.com>

	* glib/poppler-document.cc:
	* glib/poppler-document.h: Patch from Marco to get initial status
	(open or closed) for bookmark subtrees.

2005-06-13  Kristian Høgsberg  <krh@redhat.com>

	* glib/poppler-document.cc:
	* glib/poppler-document.h:
	* glib/poppler-private.h:
	* glib/poppler.h:
	* glib/test-poppler-glib.c:
	* poppler/Makefile.am: Patch from Marco to extract font info from
	document.

2005-06-08  Kristian Høgsberg  <krh@redhat.com>

	* poppler/CairoFontEngine.cc: Remember to delete tmpFileName.
	Patch from Nikolai Weibull (#3491).

2005-06-07  Kristian Høgsberg  <krh@redhat.com>

	* qt/test-poppler-qt.cpp: Add stdlib.h include for exit().

2005-06-02  Kristian Høgsberg  <krh@redhat.com>

	* poppler/TextOutputDev.h:
	* qt/poppler-qt.h: Patch from Stanislav Brabec <sbrabec@suse.cz>
	to fix gcc 4.0.1 warnings on undeclared friend classes.
	
	* test/gtk-splash-test.cc: Fix from Martin Kretzschmar
	<martink@gnome.org> to compile with OPI enabled (#2911).

2005-06-02  Kristian Høgsberg  <krh@redhat.com>

	Patch from Stanislav Brabec <sbrabec@suse.cz>:

	* configure.ac:
	* poppler-cairo.pc.in:
	* poppler-glib.pc.in:
	* poppler-qt.pc.in:
	* poppler-splash.pc.in: Misc fixes to pkg-config files.

2005-06-01  Jeff Muizelaar  <jeff@infidigm.net>

	* poppler/Error.cc:
	* poppler/Error.h: Make error handling function setable through
	setErrorFunction.

	Based on a patch by Albert Astals Cid.

2005-05-29  Kristian Høgsberg  <krh@redhat.com>

	* glib/*: Add more meta data properties to poppler document.
	Patch by Emil Soleyman-Zomalan (#3359).

2005-05-26  Kristian Høgsberg  <krh@redhat.com>

	* poppler/CairoOutputDev.cc (clip): Remove snapToGrid so clip()
	prototype matches what Gfx actually calls (fixes clipping).
	
	* poppler/CairoOutputDev.cc: Update fill color, stroke color, fill
	opacity and stroke opacity from GfxState on restore, since they
	aren't handled by cairo_restore() (#3362).

	* poppler/CairoOutputDev.cc: Comment out tolerance setting until
	we figure out how cairo settings relate to pdf settings.

	* poppler/CairoOutputDev.cc: Support fill and stroke opacity.
	
	* poppler/GfxState.cc: 
	* poppler/GfxState.h: Add GfxColorSpace::getRGBLine here and
	implement in subclasses.

	* poppler/CairoOutputDev.cc (drawImage): Use getRGBLine here.

Mon May 23 00:22:41 2005  Jonathan Blandford  <jrb@redhat.com>

	* glib/poppler-document.h: Add a permissions flag to the glib
	bindings.

2005-05-21  Kristian Høgsberg  <krh@redhat.com>

	* glib/poppler-document.cc (poppler_ps_file_new): Fix off-by-one
	error spotted by Jürg Billeter.

2005-05-20  Kristian Høgsberg  <krh@redhat.com>

	* poppler/CairoOutputDev.cc: Account for different row vs. column
	vector conventions between cairo and poppler.

	* poppler/CairoFontEngine.cc: Only get the code to gid map if
	we're using freetype 2.1.7 or older (#3340).

2005-05-19  Kristian Høgsberg  <krh@redhat.com>

	* poppler/CairoFontEngine.cc: Only cast to Gfx8BitFont when we
	know for sure we have a truetype font.
	GfxCIDFont::getCIDToGIDLen() can return 0 in which case codeToGID
	will be NULL, and we end up casting it to a Gfx8BitFont (#3265).

2005-05-18  Kristian Høgsberg  <krh@redhat.com>

	* configure.ac: Require cairo 0.5.0, bump release to 0.3.2.

	* NEWS: Sum up latest changes.

	* glib/poppler-document.cc (poppler_ps_file_new): Take a page
	range here instead of just number of pages.
	
2005-05-17  Kristian Høgsberg  <krh@redhat.com>

	* poppler/CairoOutputDevX.cc: 
	* test/gtk-cairo-test.cc: Chase the cairo xlib constructor again.

2005-05-16  Kristian Høgsberg  <krh@redhat.com>

	Patch from Christian Persch (#3300):
	
	* configure.ac: Check for glib-mkenums.

	* glib/Makefile.am (poppler-enums.h): Generate glib enums at
	compile time.

	* glib/poppler-enums.c:
	* glib/poppler-enums.h: Removed.

2005-05-16  Kristian Høgsberg  <krh@redhat.com>
	
	* test/gtk-cairo-test.cc: Update this test case also.

	* poppler/CairoOutputDevX.cc: Track changes to cairo Xlib surface
	constructors.

	* poppler/CairoFontEngine.cc (cairo_font_face_destroy): Make this
	static.

Thu May 12 23:10:45 2005  Jonathan Blandford  <jrb@redhat.com>

	* glib/poppler.gidl: add metadata file.

2005-05-12  Kristian Høgsberg  <krh@redhat.com>

	* poppler/CairoOutputDev.cc: 
	* poppler/CairoOutputDevX.cc: 
	* poppler/CairoOutputDevImage.cc: 
	* test/gtk-cairo-test.cc: Update to latest cairo changes, patch
	from Jens Taprogge (#3281)

2005-05-11  Kristian Høgsberg  <krh@redhat.com>

	* glib/poppler.cc (poppler_get_backend, poppler_get_version): Add
	these functions so it's easy to tell if poppler is using cairo or
	splash and what version.

	* glib/test-poppler-glib.c (main): Print out version and backend.

2005-05-06  Kristian Høgsberg  <krh@redhat.com>

	* glib/Makefile.am (libpoppler_glib_la_LIBADD): Link poppler-glib
	against poppler.

	* qt/Makefile.am (libpoppler_qt_la_LIBADD): Ditto for qt.

	* poppler-glib.pc (Libs): Drop -lpoppler from link.

	* poppler-qt.pc (Libs): Ditto for qt.

	* configure.ac: Test for both libqt-mt.la and libqt-mt.so in that
	order.

2005-05-04  Kristian Høgsberg  <krh@redhat.com>

	* poppler/CairoOutputDev.cc (CairoOutputDev::drawImageMask,
	CairoOutputDev::drawImage): Track cairo cvs API changes; use
	cairo_mask() and cairo_paint() for drawing image masks and images.

2005-05-04  Kristian Høgsberg  <krh@redhat.com>

	* poppler/CairoOutputDev.cc: Fix matrix convention confusion.

2005-05-04  Kristian Høgsberg  <krh@redhat.com>

	Patches from Albert Astals Cid:
	
	* qt/poppler-page.cc (getText): Use QString::fromUtf8() instead of
	implicit latin1 cast constructor.
	
	* qt/test-poppler-qt.cpp (main): Use a QLabel for showing text
	instead of qDebug.

Wed May  4 02:31:05 2005  Jonathan Blandford  <jrb@redhat.com>

	* glib/poppler-document.cc:
	* glib/poppler-document.h:
	* glib/poppler-enums.c: (poppler_permissions_get_type):
	* glib/poppler-enums.h:
	* glib/poppler-page.cc:
	* glib/poppler-page.h:
	* glib/poppler.h:

	Register a bunch of boxed types to test introspection, and for
	LBs.  Also, remove unused 'popper_document_save()' (-:

2005-05-01  Kristian Høgsberg  <krh@redhat.com>

	* poppler/CairoFontEngine.cc:
	* poppler/CairoFontEngine.h:
	* poppler/CairoOutputDev.cc: Back out workaround for cairo 0.4.0
	font API and port to new cairo head.

2005-05-01  Jeff Muizelaar  <jeff@infidigm.net>

	* splash/SplashFTFont.cc (SplashFTFont::getGlyphPath):
	Use FT_LOAD_NO_BITMAP to make sure we get outlines loaded instead
	of bitmaps for use in FT_Outline_Decompose.

	Patch from Albert Astals Cid.

2005-05-01  Jeff Muizelaar  <jeff@infidigm.net>

	* goo/gmem.c: (gmalloc), (grealloc), (gfree):
	* goo/gmem.h: make memory functions use size_t instead of int.
	
	Patch from Takashi Iwai through Albert Astals Cid.

2005-04-30  Jeff Muizelaar  <jeff@infidigm.net>

	* qt/poppler-document.cc (Document::unlock) :
	* qt/poppler-qt.h (Document::unlock):
	Add const to the password argument.

	Patch from Albert Astals Cid.

2005-04-30  Jeff Muizelaar  <jeff@infidigm.net>

	* fofi/FoFiType1.cc (FoFiType1::parse):
	Don't assume Encoding array of Type1 fonts end in "foo def".
	http://partners.adobe.com/public/developer/en/font/T1_SPEC.PDF says
	"This sequence of assignments must be followed by an instance of the
	token def or readonly; such a token may not occur within the sequence
	of assignments." so it must end with "readonly" "def" "readonly def"
	(That is what most fonts are using and this is why it was not
	crashing)

	Patch from Albert Astals Cid.

Fri Apr 29 14:54:44 2005  Jonathan Blandford  <jrb@redhat.com>

	* goo/GooTimer.h: New class to do simple timing checks.

	* glib/poppler-document.c: Patch from Martin Kretzschmar to really
	set the PDF version correct.  Third time's the charm.

2005-04-29  Kristian Høgsberg  <krh@bitplanet.net>

	* configure.ac: Bump release to 0.3.1.

	* NEWS: Write up news for 0.3.1 release.

2005-04-28  Kristian Høgsberg  <krh@redhat.com>

	Patch from Martin Kretzschmar:

	* poppler/GlobalParams.cc: use UTF-8 as the default text encoding.
	Fixes Bug 2934.

2005-04-27  Jeff Muizelaar  <jeff@infidigm.net>

	* configure.ac:
	* poppler/FlateStream.cc:
	* poppler/FlateStream.h:
	* poppler/Makefile.am:
	* poppler/Stream.cc:
	* poppler/Stream.h: Add a reimplementation of FlateStream using
	zlib.

2005-04-27  Kristian Høgsberg  <krh@redhat.com>

	* poppler/Catalog.cc (NameTree::lookup): Fix bsearch return value
	NULL check.  Found by Albert Astals Cid.

Tue Apr 26 13:13:42 2005  Jonathan Blandford  <jrb@redhat.com>

	* glib/test-poppler-glib.c (main): add a quick dump-to-text test.

2005-04-24  Kristian Høgsberg  <krh@redhat.com>

	* qt/Makefile.am (libpoppler_qt_la_SOURCES): Add poppler-private.h
	to SOURCES.

2005-04-23  Kristian Høgsberg  <krh@redhat.com>

	* poppler/CairoFontEngine.cc: Use the right fileName for loading
	CID fonts (#3114).

2005-04-22  Kristian Høgsberg  <krh@redhat.com>

	* configure.ac: Actually commit version number bump.

2005-04-22  Martin Kretzschmar  <martink@gnome.org>

	* poppler/CairoFontEngine.cc: declare matrix variable before the
	first goto. Fixes build with gcc 3.3.

Fri Apr 22 00:01:40 2005  Kristian Høgsberg  <krh@redhat.com>

	* poppler/CairoFontEngine.cc: Hack around semi-broken cairo-0.4.0
	font API to fix the problem where some glyphs would show up at the
	wrong sizes.  We now create an FT_Face for each size and font
	combination we encounter, since an FT_Face can't be shared between
	several cairo_font_t.

Thu Apr 21 15:43:52 2005  Kristian Høgsberg  <krh@redhat.com>

	* poppler/Outline.cc: 
	* poppler/Outline.h: Implement the documented behaviour for
	Outline::getItems() and OutlineItem::getKids() and make
	documentation more precise (Patch from Marco).

Thu Apr 21 02:25:20 2005  Kristian Høgsberg  <krh@redhat.com>

	* poppler/CairoFontEngine.cc (CairoFont::getFont): Cache
	cairo_font_t's for a given CairoFont.  With this patch cairo will
	recognize glyphs coming from the same font as such and the glyph
	cache will actually work.

	* glib/poppler-document.cc (poppler_document_new_from_file): Add
	output device (cairo or splash) to PopplerDocument and initialize
	it in the constructor.

	* glib/poppler-page.cc (splash_render_to_pixbuf,
	cairo_render_to_pixbuf): Use output device from associated poppler
	document instead of creating a new one.

	* poppler-glib.pc.in (Requires): Add Requires: field.

	* poppler/Page.cc (loadThumb): Remove unecessary and buggy call to
	Stream::addFilters(), reported by Ryan Lortie (#3046).

2005-04-13  Jeff Muizelaar  <jrmuizel@nit.ca>

	* qt/poppler-page.cc (Page::getText):
	* qt/poppler-qt.h: add a getText method for getting
	the text on a page

	* qt/test-poppler-qt.c (PDFDisplay::PDFDisplay): 
	add the option to display the text on a page

	Patch from Albert Astals Cid.

Tue Apr 19 17:21:19 2005  Jonathan Blandford  <jrb@redhat.com>

	* glib/poppler-document.cc (poppler_document_get_property): Use
	%.2g instead.

Tue Apr 19 17:11:52 2005  Jonathan Blandford  <jrb@redhat.com>

	* glib/poppler-document.cc (poppler_document_get_property): Use %g
	instead of %f to avoid versioning like PDF-1.50000

Tue Apr 19 15:43:35 2005  Kristian Høgsberg  <krh@redhat.com>

	* glib/poppler-action.cc (_poppler_action_new): Handle NULL links
	gracefully (fix from Jeff).

Tue Apr 19 00:20:08 2005  Kristian Høgsberg  <krh@redhat.com>

	* poppler/Catalog.cc: Fix from Marco to make sure we always
	initialize Catalog::pageLabelInfo.

Sat Apr 16 14:53:15 2005  Jonathan Blandford  <jrb@redhat.com>

	* glib/Makefile.am: Create poppler-enums.[ch]

	* glib/poppler.h:
	* glib/poppler-page.cc:
	* glib/poppler-page.h:
	* glib/poppler-action.h: Try to clean up the headers a bit

	* glib/poppler-document.cc:
	* glib/poppler-document.h: Add support for document data.
	Implemented as a lot of GObject properties. 

	* glib/poppler-enums.c:
	* glib/poppler-enums.h: New autogenerated files.

	* glib/test-poppler-glib.c: Test the new document metadata.  Seems
	to work nicely, other than the PDF string and View Prefs.

	* poppler/Catalog.cc:
	* poppler/Catalog.h: Extend to support PageLayout.

2005-04-14  Kristian Høgsberg  <krh@redhat.com>

	* glib/poppler-page.cc:
	* glib/poppler-page.h:
	* glib/poppler-private.h:
	* glib/poppler.h: Patch from Marco Pesenti Gritti to set page
	orientaton.

2005-04-13  Jeff Muizelaar  <jrmuizel@nit.ca>

	* poppler/CairoOutputDevImage.cc (getBitmap): remove unused
	SplashBitmap. Patch from Albert Astals Cid.

2005-04-12  Kristian Høgsberg  <krh@redhat.com>

	* configure.ac: Add fontconfig to PKG_CHECK_MODULES for the cairo
	backend too, since we shouldn't depend on cairo.pc to pull that in
	for us.

	* poppler/Makefile.am (INCLUDES): Add $(splash_includes) to
	INCLUDES to make sure the fontconfig include path is added when
	using the splash backend.

2005-04-09  Jeff Muizelaar  <jrmuizel@nit.ca>

	* poppler-qt.h:
	* poppler-document.cc (okToPrint, okToChange, okToCopy):
	Patch from Albert Astals Cid adding more metadata exports

2005-04-08  Kristian Høgsberg  <krh@redhat.com>

	* poppler-qt.pc.in (Libs): Add -lpoppler to Libs.

2005-04-07  Jeff Muizelaar  <jrmuizel@nit.ca>

	* configure.ac: redo the qt tests from Albert Astals Cid

2005-04-07  Jeff Muizelaar  <jrmuizel@nit.ca>

	* qt/poppler-document.cc:
	* qt/poppler-page.cc:
	* qt/poppler-qt.h:
	Patch from Albert Astals Cid adding consts and exporting some more
	metadata.

2005-04-07  Kristian Høgsberg  <krh@redhat.com>

	* glib/poppler-document.cc: 
	* glib/poppler-document.h:
	* glib/poppler-page.cc:
	* glib/poppler-page.h:
	* glib/poppler-private.h: Print to PS support from Marco Pesenti
	Gritti.

Thu Apr  7 12:25:39 2005  Jonathan Blandford  <jrb@redhat.com>

	* configure.ac: check for qt, not glib, when enabling the qt
	subdir

2005-04-06  Jeff Muizelaar  <jrmuizel@nit.ca>

	* .cvsignore, glib/.cvsignore, qt/.cvsignore:
	Add more things to .cvsignore.
	Patch from Martin Kretzschmar.

2005-04-06  Jeff Muizelaar  <jrmuizel@nit.ca>

	* poppler-page.cc (Page::Page, Page::~Page):
	Construct and deconstruct the PageData object.
	Patch from Albert Astals Cid.

2005-04-06  Jeff Muizelaar  <jrmuizel@nit.ca>

	* Makefile.am, configure.ac: Add configuration for qt wrapper.
	
	* poppler-qt.pc.in:
	* qt/Makefile.am:
	* qt/poppler-document.cc:
	* qt/poppler-page.cc:
	* qt/poppler-private.h:
	* qt/poppler-qt.h:
	* qt/test-poppler-qt.cpp:
	New files.

2005-04-05  Kristian Høgsberg  <krh@redhat.com>

	* NEWS: Attempt to sum up changes since 0.1.2.

	* configure.ac: Bump release to 0.2.0, add AC_DEFINEs for cairo
	and splash availability.

	* poppler/CairoFontEngine.cc: Disable hinting.

	* glib/poppler-page.cc (poppler_page_render_to_pixbuf): Choose
	either splash or cairo rendering, based on configure choice.
	(cairo_render_to_pixbuf): New function to render using the cairo
	backend.
	(splash_render_to_pixbuf): Split out the splash code to this
	function.

2005-04-04  Kristian Høgsberg  <krh@redhat.com>

	* ChangeLog: Add this entry to test commit mailer script.
	
	* TODO: Add reminder about using PDF font descriptors with
	fontconfig.

	* configure.ac: Add checks for mkstemp() and mkstemps().

	* glib/poppler-page.cc (poppler_page_find_text): Reverse
	y-coordinates so we return PDF style coordinates.

	From Maro Pesenti Gritti <mpgritti@gmail.com>:
	
	* configure.ac, poppler/Makefile.am: Check for fontconfig when
	we're building the splash backend.

	* glib/poppler-page.cc (poppler_page_get_text): New function to
	select text on page.

2005-04-04  Kristian Høgsberg  <krh@redhat.com>

	* glib/poppler-page.cc (poppler_page_find_text): Reverse list of
	matches so we get them in the right order.

2005-04-03  Martin Kretzschmar  <martink@gnome.org>

	* poppler/DCTStream.h: Wrap #include <jpeglib.h> in extern "C"
	Fixes build with unpatched libjpeg.

2005-04-02  Jeff Muizelaar  <jrmuizel@nit.ca>

	* poppler/Page.h:
	* poppler/Page.cc (Page::Page):
	Some initial infrastructure for supporting transitions.

2005-03-31  Kristian Høgsberg  <krh@redhat.com>
	
	* glib/poppler-page.cc (poppler_page_render_to_pixbuf): Clip
	output to destination pixbuf and fix RGB order.

2005-03-31  Kristian Høgsberg  <krh@redhat.com>

	* glib/poppler-page.cc (poppler_page_find_text): New function to
	seach a page for occurrences of a given text string.

	* glib/poppler-page.cc: Add g_return_if_fail() checks to a couple
	of functions.
	
Thu Mar 31 00:26:20 2005  Jonathan Blandford  <jrb@redhat.com>

	* glib/poppler-page.cc:
	* glib/poppler-page.h (poppler_page_get_link_mapping,
	poppler_page_free_link_mapping): New functions to get a mapping of
	links to locations on the current document.

2005-03-30  Jeff Muizelaar <jrmuizel@nit.ca>

	* poppler/DCTStream.h: change x to unsigned int to eliminate
	comparision warning

2005-03-30  Jeff Muizelaar <jrmuizel@nit.ca>

	* poppler/Catalog.cc: delete pageLabelInfo on deconstruction

Tue Mar 29 23:07:17 2005  Jonathan Blandford  <jrb@redhat.com>

	* glib/poppler-page.h: Reformat.

Tue Mar 29 22:49:15 2005  Jonathan Blandford  <jrb@redhat.com>

	* glib/poppler-action.[ch]: New item to encapsulate links.
	* glib/poppler-document.[ch] (poppler_index_iter_get_action): New
	function to get the action.  Also, fix some warnings.
	* glib/poppler-private.h (_poppler_action_new): New function.
	* glib/test-poppler-glib.c: Fix warnings.

Tue Mar 29 02:36:00 2005  Jonathan Blandford  <jrb@redhat.com>

	* glib/poppler-document.[ch] (PopplerIndexIter): Add an iter to
	extract the index from the doc.  Includes a bad hack, for now.

Mon Mar 28 22:02:07 2005  Jonathan Blandford  <jrb@redhat.com>

	* glib/poppler-page.cc:
	* glib/poppler-page.h (poppler_page_get_thumbnail_size): New
	function. 
	* poppler-glib.pc.in: add -lpoppler-glib to the libs line.

2005-03-28  Kristian Høgsberg  <krh@redhat.com>

	* poppler/Page.cc (loadThumb): Backend agnostic method for
	extracting an embedded thumbnail iamge.

	* poppler/Dict.cc (lookupInt): New convenience method.

	* glib/poppler-page.cc (poppler_page_get_thumbnail): New glib
	function for getting the embedded thumbnail image for a page.

2005-03-25  Kristian Høgsberg  <krh@redhat.com>

	* configure.ac: Check for fontconfig for glib bindings.

2005-03-24  Kristian Høgsberg  <krh@redhat.com>

	* glib/Makefile.am: Use POPPLER_GLIB_CFLAGS and POPPLER_GLIB_LIBS
	instead of GTK_TEST_*.  Reported by Adam Jackson <ajax@nwnk.net>.

2005-03-23  Kristian Høgsberg  <krh@redhat.com>

	* poppler/Catalog.cc (indexToLabel, labelToIndex): Add stricter
	checking of incoming labels and indices.

	* glib/test-poppler-glib.c (main): Change test program to take the
	page label from the command line.

	* glib/poppler-page.cc:
	* glib/poppler-page.h: Add poppler_page_get_index() and rename
	popper_page_get_dimension() to popper_page_get_size()

2005-03-22  Kristian Høgsberg  <krh@redhat.com>

	* glib/poppler-document.cc: Implement poppler_document_save().
	
	* glib/poppler-document.h: Add prototype and format headers
	properly.

2005-03-22  Kristian Høgsberg  <krh@redhat.com>

	* configure.ac: Fix --disable-popper typo reported by Albert.
	Require exactly cairo 0.4 since CVS cairo has API changes.

2005-03-22  Kristian Høgsberg  <krh@redhat.com>

	* poppler/Array.cc:
	* poppler/Array.h: Add getString() convenience method.
	
	* poppler/Catalog.cc:
	* poppler/Catalog.h: Optimize lookup of named destinations.

2005-03-21  Kristian Høgsberg  <krh@redhat.com>
	
	* NEWS, TODO: Update these.

2005-03-21  Kristian Høgsberg  <krh@redhat.com>

	From Albert Astals Cid <tsdgeos@yahoo.es>:
	
	* poppler/Catalog.cc, poppler/Catalog.h: Parse PageMode setting
	from the Catalog dict and expose it through getPageMode() method.

2005-03-21  Kristian Høgsberg  <krh@redhat.com>

	* glib/poppler-document.cc:
	* glib/poppler-document.h: Expose the document title as a GObject
	property.
	
	* glib/poppler-page.cc: Expose the page label as a GObject
	property.
	
	* glib/poppler-private.h: Add the page index to PopplerPage.
	
	* glib/test-poppler-glib.c: Print out page label and document
	title.
	
	* poppler/Catalog.cc:
	* poppler/Catalog.h: Add page label accessors.
	
	* poppler/PageLabelInfo.cc:
	* poppler/PageLabelInfo.h: New files.

	* poppler/Makefile.am: Add new files to sources.
	
2005-03-20  Kristian Høgsberg  <krh@redhat.com>

	* glib/poppler-document.cc:
	* glib/poppler-page.h:
	* glib/poppler.cc:
	* poppler/Array.cc:
	* poppler/Array.h:
	* poppler/Catalog.cc: Fix up filenames in #include statements and
	comments.

2005-03-19  Kristian Høgsberg  <krh@redhat.com>

	Land the first bits of the glib wrapper.

	* Makefile.am:
	* configure.ac: Add new glib subdirectory and configure options
	for glib wrapper.
	
	* glib/Makefile.am:
	* glib/poppler-document.cc:
	* glib/poppler-document.h:
	* glib/poppler-page.cc:
	* glib/poppler-page.h:
	* glib/poppler-private.h:
	* glib/poppler.cc:
	* glib/poppler.h:
	* glib/test-poppler-glib.c:
	* poppler-glib.pc.in: New files.

2005-03-16  Jeff Muizelaar  <jrmuizel@nit.ca>

	From Dan Sheridan <dan.sheridan@postman.org.uk>

	* poppler/XRef.cc (XRef::checkEncrypted):
	The key length should be 5 for revision 2 documents.
	
2005-03-11  Kristian Høgsberg  <krh@redhat.com>

	From  Jeff Muizelaar  <jrmuizel@nit.ca>:
	
	* poppler/CairoOutputDev.cc (CairoOutputDev::drawImageMask): Use
	getLine instead of getPixel.
	
	* configure.ac: Add checks for libjpeg.

	* DCTStream.cc, DCTStream.h, Stream.cc, Stream.h, Makefile.am:
	Conditionally use libjpeg instead of xpdf jpeg decoder.
	
2005-03-10  Kristian Høgsberg  <krh@redhat.com>

	From Jeff Muizelaar <jrmuizel@nit.ca>:

	* poppler/CairoFontEngine.cc (CairoFontEngine::getFont):
	Don't print "Type 3 font!" message.

	* poppler/CairoOutputDev.cc (CairoOutputDev::drawImageMask):
	Enable image mask drawing and do it properly, albeit slowly.

	* poppler/CairoOutputDev.h
	(CairoOutputDev::interpretType3Chars): Return true so that 
	Gfx.cc turns type3 characters into calls to drawImageMask
	
2005-03-09  Kristian Høgsberg  <krh@redhat.com>

	* NEWS: Describe 0.1.2 (and 0.1.1) release.

	* configure.ac: Bump poppler version to 0.1.2

2005-03-09  Kristian Høgsberg  <krh@redhat.com>

	* configure.ac: Bump cairo requirement to 0.4.

2005-03-04  Kristian Høgsberg  <krh@redhat.com>

	Patch from Jeff Muizelaar <jrmuizel@nit.ca>.  Changed to allocate
	glyphs using gmalloc.

	* poppler/CairoOutputDev.cc (CairoOutputDev::drawString):
	Implement drawString instead of drawChar. This change should
	make clipping to a text path work and has a performance
	improvement. Currently the code is a little ugly because we
	can't concat matrices to cairo without losing our current font.

	* poppler/CairoOutputDev.h (CairoOutputDev::useDrawChar):
	Tell Gfx.cc that it should use drawString instead of drawChar.

2005-03-04  Kristian Høgsberg  <krh@redhat.com>

	* test/gtk-cairo-test.cc (view_load): 
	* test/gtk-splash-test.cc (view_load): Fix missing return
	statement, and remove unused variables.

	* configure.ac: Add configure option to enable the default KDE
	flags as described by Albert Astals Cid <tsdgeos@yahoo.es>.

	* TODO: Update with Jeff's items.

	* .cvsignore:
	* */.cvsignore: Add these to silence CVS.
	
	* configure.ac: Implement same check for gtk+-2.0 tests as for
	cairo.

2005-03-04  Kristian Høgsberg  <krh@redhat.com>

	* configure.ac: Only fail hard in check for cairo if the user
	specified --enable-cairo-output (from Brad Hards
	<bradh@frogmouth.net>).  Print summary of configure results at the
	end of configure script.

	* poppler/poppler-config.h: Remove this file (noticed by Brad
	Hards <bradh@frogmouth.net>).

2005-03-03  Kristian Høgsberg  <krh@redhat.com>

	Patch from Jeff Muizelaar <jrmuizel@nit.ca>:

	* poppler/CairoOutputDev.cc (CairoOutputDev::drawImage,
	CairoOutputDev::drawImageMask): destroy the image surface and
	free the image buffer.
	
2005-03-03  Kristian Høgsberg  <krh@redhat.com>

	* autogen.sh: Add -i to autoreconf invocation.

	* autogen.sh: Add to CVS.

2005-03-01  Kristian Høgsberg  <krh@redhat.com>

	* poppler/*.h: Take config.h out of header files.

	* configure.ac: Bump release to 0.1.1 to build a tar ball that
	works with CVS evince.

	* poppler.pc.in (Cflags): Change include dir to be poppler.

	* poppler/Makefile.am (poppler_include_HEADERS): Add splash and
	cairo headers.

2005-02-27  Kristian Høgsberg  <krh@redhat.com>

	* test/gtk-cairo-test.cc: Add cairo test case.

	* configure.ac, poppler/Makefile.am, poppler/Cairo*: Add Alex
	Larsons cairo output device.
	
	* configure.ac, Makefile.am: Make splash backend conditional. 
	
	* test/*: Add optional GdkRGB based test program (taken from
	evince).
	
	* goo/*: rename files and functions to GooHash, GooString etc. to
	avoid nasty glib clash.
	
	* poppler.pc.in: New file.

	* configure.ac: Combining bits from evince configure.ac and
	removing checks only required by the xpdf applications.

	* everything: Created poppler as a fork of xpdf.
