Commit Graph

452 Commits

Author SHA1 Message Date
Matthias Clasen
41446c99be Avoid allocating an extra copy of the image by using a
* io-tiff.c (tiff_image_parse): Avoid allocating an extra copy of
	the image by using a TIFFRGBAImage{Begin,Get,End} with suitable
	put functions instead of TIFFRGBAImage. And check image dimensions
	for overflow.
2002-04-05 21:02:07 +00:00
Matthias Clasen
b7333010d0 Fix a doc typo.
* gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_type): Fix a doc typo.
2002-04-03 18:17:14 +00:00
Matthias Clasen
5c16742258 libpng error handlers must not return to their callers, thus longjmp out.
* io-png.c (png_simple_error_callback): libpng error handlers must
	not return to their callers, thus longjmp out. This prevents
	annoying stderr output from the default error handler.
2002-03-29 21:40:01 +00:00
Matthias Clasen
ec35e8112a Don't leak info_ptr.
* io-png.c (gdk_pixbuf__png_image_stop_load): Don't leak info_ptr.

	* io-png.c (gdk_pixbuf__png_image_load): Get rid of unused
	end_info. Also call png_read_end to check proper ending of the png
	file and catch text chunks after the image data.
2002-03-27 22:12:05 +00:00
Matthias Clasen
266c62df8f Make libpng use g_malloc instead of system malloc.
* io-png.c (gdk_pixbuf__png_image_load,
	gdk_pixbuf__png_image_begin_load): Make libpng use g_malloc
	instead of system malloc.
2002-03-26 23:17:31 +00:00
Matthias Clasen
de19229a33 Don't leak pixbuf on error.
* io-tiff.c (tiff_image_parse): Don't leak pixbuf on error.

	* io-gif.c (gdk_pixbuf__gif_image_load_increment): Don't leak
	context->buf on error.

	* gdk-pixbuf-loader.c (gdk_pixbuf_loader_close): Make sure to call
	stop_load even for short images to prevent memleaks.
2002-03-25 23:22:01 +00:00
Matthias Clasen
2a8fc72b0d Changed signature to return success and set a GError parameter, adjusted
* io-png.c (setup_png_transformations): Changed signature to
	return success and set a GError parameter, adjusted all callers.
	Also work around a possible FPE in libpng and always check that
	the new info is sane.
2002-03-25 00:15:00 +00:00
Matthias Clasen
8bad932211 context->updated_func is NULL during a nonincremental load.
* io-wbmp.c (gdk_pixbuf__wbmp_image_load_increment):
	context->updated_func is NULL during a nonincremental load.
	(gdk_pixbuf__wbmp_image_load): Stop reading after the first error.
2002-03-23 21:17:17 +00:00
Matthias Clasen
ac7e3c9584 Fix assumptions on rowstride by manually allocating a contiguous pixel
* io-tga.c: Fix assumptions on rowstride by manually allocating a
	contiguous pixel buffer. Catch buffer overruns in RLE-modi.
	Support grayscale + alpha (which can be written, but not read (!)
	by the Gimp).
2002-03-18 22:19:24 +00:00
Matthias Clasen
006a84274f Catch invalid frame dimensions.
* io-gif.c (gif_get_frame_info): Catch invalid frame dimensions.
2002-03-15 23:27:55 +00:00
Matthias Clasen
5ebe8faab2 Add valid_ras_test and invalid_bmp_1.
* test-images.h: Add valid_ras_test and invalid_bmp_1.

	* test-loaders.c (main): Add random tests for ras and pnm and an
	invalid bmp which was a crasher until my 2002-03-12 commit.

	* io-pnm.c (gdk_pixbuf__pnm_image_load_increment): Don't unref the
	pixbuf on errors.

	* io-ras.c: Handle some errors.
2002-03-13 18:11:15 +00:00
Sven Neumann
c51692d673 use sequential writes instead of calling memcpy(). Simpler and potentially
2002-03-12  Sven Neumann  <sven@gimp.org>

	* gdk-pixbuf.c (gdk_pixbuf_fill): use sequential writes instead of
	calling memcpy(). Simpler and potentially faster. (#70332)
2002-03-12 20:38:49 +00:00
Matthias Clasen
7c59491ce4 Replace a g_assert_not_reached () which could actually be reached by a
* io-bmp.c (DecodeHeader): Replace a g_assert_not_reached ()
	which could actually be reached by a proper error status return.
2002-03-12 19:49:03 +00:00
Matthias Clasen
981574a9be Fix docs.
* gtk/gtktreemodel.c (gtk_tree_row_reference_deleted): Fix docs.

	* gtk/gtkwindow.c (gtk_window_remove_mnemonic):
	(gtk_window_add_mnemonic):
	(gtk_window_mnemonic_activate): Add docs.

	* gtk/gtktreeview.c (gtk_tree_view_get_search_equal_func): Fix
	typo in docs.

	* test-loaders.c, test-images.h: More random tests.

	* io-bmp.c (DecodeHeader): Fail gracefully on OOM here.

	* gtk/gtk-sections.txt: Remove gtk_win32_get_installation_directory.
2002-03-05 22:44:27 +00:00
Owen Taylor
ef6685731c ue Mar 5 10:39:03 2002 Owen Taylor <otaylor@redhat.com>
* Makefile.am (loaderdir): Put the modules into the
        GTK_BINARY_VERSION directory for consistency with
        immodules and theme engines.
2002-03-05 15:40:48 +00:00
Owen Taylor
b3c0813b93 If we can't load the module using the g_module_build_path() filename, try
Sat Mar  2 22:11:10 2002  Owen Taylor  <otaylor@redhat.com>

        * gdk-pixbuf-io.c (_gdk_pixbuf_load_module): If we
        can't load the module using the g_module_build_path()
        filename, try loading it as a .la file.

        * test-loaders.c: Look for modules in current directory
        rather than .libs, so we find the right .la files.

        * test-loaders.c: Back out some accidental commits.
2002-03-03 03:17:22 +00:00
Owen Taylor
ed5fc07f4e Bullet-proof against integer overflow.
Sat Mar  2 21:28:03 2002  Owen Taylor  <otaylor@redhat.com>

        * gdk-pixbuf.c (gdk_pixbuf_new): Bullet-proof against integer
        overflow.
2002-03-03 02:35:25 +00:00
Tor Lillqvist
5d5f53d95d Remove.
2002-03-03  Tor Lillqvist  <tml@iki.fi>

	* gtk-pixbuf.rc.in: Remove.

	* gdk_pixbuf.rc.in: Name like this instead (wrong name used by
	mistake by Hans).

	* makefile.msc: Corresponding changes.

	* Makefile.am: Use gdk_pixbuf.rc on Win32. Distribute it.
2002-03-02 23:19:59 +00:00
Matthias Clasen
3a4906e82d Move the call to correct_total() to the right spot. (#72732)
* pixops/pixops.c (tile_make_weights): Move the call to
	correct_total() to the right spot. (#72732)
2002-02-28 18:47:38 +00:00
Owen Taylor
80bf58e01d Use {} not () to group around string assigned to char[]. (#72767, Tomas
Wed Feb 27 18:33:04 2002  Owen Taylor  <otaylor@redhat.com>

	* gdk-pixdata.c (gdk_pixdata_to_csource): Use {} not
	() to group around string assigned to char[]. (#72767,
	Tomas gren)
2002-02-27 23:45:05 +00:00
Havoc Pennington
96387b40ea remove C++-commented debug spew, reported by David L. Cooper
2002-02-21  Havoc Pennington  <hp@pobox.com>

	* gdk-pixbuf-loader.c (gdk_pixbuf_loader_load_module): remove
	C++-commented debug spew, reported by David L. Cooper
2002-02-22 02:00:57 +00:00
Matthias Clasen
38d639c0e8 Make the paned example deprecation-clean.
* docs/tutorial/gtk-tut.sgml, examples/paned/paned.c,
	examples/paned/Makefile: Make the paned example deprecation-clean.

	* various ChangeLog files: correct my email.
2002-02-17 19:59:33 +00:00
Matthias Clasen
bc90028d8d New function to make sure that the weights sum up to the correct total
* pixops/pixops.c (correct_total): New function to make sure
	that the weights sum up to the correct total without introducing
	negative weights.
	(tile_make_weights, bilinear_make_fast_weights,
	bilinear_make_weights): Use correct_total.
2002-02-15 21:11:25 +00:00
Matthias Clasen
a9a06ee44e Add a (#ifdef 0'ed) test provoking a segfault in TIFFReadDirectory().
* test-images.h (tiff1_test_3), test-loaders.c (main): Add a
	(#ifdef 0'ed) test provoking a segfault in TIFFReadDirectory().

	* io-ico.c (DecodeHeader): Check that pixbuf could be allocated.

	* test-images.h (ico_test_2), test-loaders.c (main): Test the
	previous change.

	* io-wbmp.c (gdk_pixbuf__wbmp_image_load_increment): Don't write
	beyond the end of buffer if width % 8 != 0.

	* io-tga.c (try_preload): Enforce that ctx->hdr->type is one of
	the supported types, otherwise parse_data_for_row () will not make
	any progress, leading to an infinite loop.
2002-02-12 23:28:05 +00:00
Owen Taylor
01b9bd9310 Fix handing of overall alpha.
Mon Feb 11 14:31:53 2002  Owen Taylor  <otaylor@redhat.com>

        * pixops/pixops.c (bilinear_make_weights): Fix handing of
        overall alpha.
2002-02-11 19:36:12 +00:00
Matthias Clasen
73aa2bfe05 Enable some tests which should work now.
* test-loaders.c (main): Enable some tests which should work
	now.

	* io-wbmp.c (gdk_pixbuf__wbmp_image_load_increment): Detect
	invalid image dimensions and insufficient memory.

	* io-tga.c (try_preload): Detect invalid image dimensions.
	(gdk_pixbuf__tga_stop_load): Don't try to unref NULL pointers.

	* io-ico.c (DecodeHeader): Detect some invalid headers and
	don't segfault.
2002-02-10 21:06:15 +00:00
Owen Taylor
e16d01d6a6 Force all weight arrays to sum exactly to 65535. (Fixes #70971, reported
Fri Feb  8 23:11:15 2002  Owen Taylor  <otaylor@redhat.com>

        * pixops/pixops.c: Force all weight arrays to sum exactly
        to 65535. (Fixes #70971, reported by Federico Mena Quintero)

        * Makefile.am (libgdk_pixbuf_1_3_la_DEPENDENCIES): Add
        libpixops.la.
2002-02-09 04:14:53 +00:00
Federico Mena Quintero
3ce4e21f09 Fix comment; PixopsInterpType -> GdkInterpType.
2002-02-08  Federico Mena Quintero  <federico@ximian.com>

	* pixops/pixops.h: Fix comment; PixopsInterpType -> GdkInterpType.
2002-02-08 19:52:23 +00:00
Darin Adler
27fec072e3 Wean this from <ctype.h>.
* io-xbm.c: (next_int): Wean this from <ctype.h>.
2002-02-08 19:08:20 +00:00
Matthias Clasen
cfaea03b10 Build the tga loader as a static library. (#70157)
* Makefile.am: Build the tga loader as a static library. (#70157)
2002-02-01 23:59:52 +00:00
Matthias Clasen
50e6308388 Merge 16- and 32-bit ico support from the stable branch. (#61179)
* io-ico.c: Merge 16- and 32-bit ico support from the stable
        branch.  (#61179)

        * io-gif.c: Recomposite all images if the animation size changes
        while loading.  (#70055)

        * gdk-pixbuf.c (gdk-pixbuf-fill): Make it work for subpixbufs.
        (#70055)
2002-02-01 23:43:07 +00:00
Manish Singh
1530c14531 Made sure all the error cases involving jpeg or png load/saves clean
Sat Jan 19 20:49:20 2002  Manish Singh  <yosh@gimp.org>

        * io-jpeg.c, io-png.c: Made sure all the error cases involving
        jpeg or png load/saves clean themselves up properly. Marked some
        variables needed for cleanup volatile so they aren't clobbered by
        setjmp.
2002-01-20 04:52:47 +00:00
Owen Taylor
73e0e35a04 Credit Michael Hore for last two changes 2002-01-12 00:26:25 +00:00
Owen Taylor
dee2b1e0b2 Fix integer overflow for the values passed to the pixel functions.
Fri Jan 11 18:05:07 2002  Owen Taylor  <otaylor@redhat.com>

	* pixops/pixops.c: Fix integer overflow for the values
	passed to the pixel functions. (#55148)
2002-01-11 23:08:44 +00:00
Owen Taylor
a458dd72e5 Remove meaningless FIXME.
Fri Jan 11 17:53:58 2002  Owen Taylor  <otaylor@redhat.com>

        * pixops/pixops.c (pixops_scale_nearest): Remove meaningless
        FIXME.

        * pixops/pixops.c (pixops_process): Comment the computation
        of run_end_index and fix some edge cases.

        * pixops/{scale_line_22_33_mmx.S, composite_line_22_4a4_mmx.S:
        composite_line_color_22_4a4_mmx.S}: Handle the case where
        dest <= dest_end properly. (#52001)
2002-01-11 22:54:53 +00:00
Owen Taylor
868603bc15 Replace some hardcoded values with the SUBSAMPLE
Thu Jan 10 16:48:30 2002  Owen Taylor  <otaylor@redhat.com>

        * pixops/pixops.c: Replace some hardcoded values with the
        SUBSAMPLE
2002-01-10 21:49:39 +00:00
Owen Taylor
add14c9ef4 Include glib-object.h, Add G_BEGIN_DECLS/END_DECLS to
Wed Jan  9 11:29:44 2002  Owen Taylor  <otaylor@redhat.com>

	* Makefile.am (s-enum-types-h): Include glib-object.h,
	Add G_BEGIN_DECLS/END_DECLS to gdk-pixbuf-enum-types.h. (#68325,
	Mikael Hermansson)

	* *.h: G_BEGIN_DECLS cleanups.
2002-01-09 16:36:20 +00:00
Owen Taylor
b24d44e421 - Massive cleanup, make actually legible. - Fix some clamp-to-range bugs
Tue Jan  8 10:58:04 2002  Owen Taylor  <otaylor@redhat.com>

        * gdk-pixbuf-util.c (gdk_pixbuf_saturate_and_pixelate):
         - Massive cleanup, make actually legible.
         - Fix some clamp-to-range bugs found by Jim Cape (#68231).
         - Add a g_return_if_fail() if src and dest alpha don't match.
         - Allow for src_rowstride != dest_rowstride.
2002-01-08 16:12:49 +00:00
Hans Breuer
40cab0a2fb don't export functions prefixed with underscore
2002-01-04  Hans Breuer  <hans@breuer.org>

	* gdk_pixbuf.def : don't export functions prefixed
	with underscore

	* makefile.msc : use -FImsvc_recommende_pragmas.h
2002-01-05 18:59:24 +00:00
Owen Taylor
c96a394cc2 Fix and uncomment non-MMX version.
Thu Jan  3 19:31:58 2002  Owen Taylor  <otaylor@redhat.com>

	* pixops/pixops.c (scale_line_22_33): Fix and uncomment
	non-MMX version.

	* pixops/pixops.c (pixops_composite_nearest): Remove a
	division.

	* pixops/pixops.c (pixops_composite): Add some docs
	about the parameters.

	* pixops/README: Add notes about the correct algorithms
	for alpha compositing and how to implement them quickly.
2002-01-04 00:34:06 +00:00
Tor Lillqvist
c7401decdb Add makefile.msc.
2001-12-29  Tor Lillqvist  <tml@iki.fi>

	* Makefile.am (EXTRA_DIST): Add makefile.msc.
2001-12-29 10:09:50 +00:00
Owen Taylor
1806c0eed8 Fix trailing "," in enumeration.
Sat Dec 22 15:31:20 2001  Owen Taylor  <otaylor@redhat.com>

        * gdk-pixdata.h: Fix trailing "," in enumeration.
2001-12-23 22:55:53 +00:00
Matthias Clasen
237a59fce9 Forgotten files. 2001-12-20 23:44:19 +00:00
Havoc Pennington
a7d0944194 small doc tweaks, specifically some "just do XYZ" advice next to the
2001-12-16  Havoc Pennington  <hp@pobox.com>

	* gdk-pixbuf/tmpl/scaling.sgml: small doc tweaks, specifically
	some "just do XYZ" advice next to the InterpMode technojargon.

2001-12-16  Havoc Pennington  <hp@pobox.com>

	* gdk-pixbuf-scale.c: docs enhancements
2001-12-16 21:09:30 +00:00
Sebastian Wilhelmi
c1e9dd9dbd Use g_ascii_strcasecmp() instead of g_strcasecmp().
2001-12-14  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* io-xpm.c: Use g_ascii_strcasecmp() instead of g_strcasecmp().
2001-12-14 09:40:20 +00:00
Sebastian Wilhelmi
d99bd97fe8 Remove assorted G_OBJECT casts where unnecessary.
2001-12-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gdk-pixbuf-animation.c, gdk-pixbuf-loader.c, gdk-pixpuf.c,
	io-gif-animation.c, io-gif.c, io-tiff.c, test-loaders.c: Remove
	assorted G_OBJECT casts where unnecessary.

	* gdk-pixbuf-loader.c: Call g_object_ref and g_object_unref
	instead of gdk_pixbuf_animation_ref and gdk_pixbuf_animation_unref
	resp.

	* gdk-pixbuf-csource.c, io-bmp.c, io-gif-animation.c, io-ico.c,
	io-jpeg.c, io-png.c, io-pnm.c, io-ras.c, io-tga.c, io-wbmp.c,
	io-xbm.c, io-xpm.c, test-gdk-pixbuf.c: Dito for gdk_pixbuf_ref and
	gdk_pixbuf_unref.

	* Makefile.am, pixops/Makefile.am: Compile everything with
	-DG_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED

	* gdk-pixdata.c: Use g_ascii_strup() instead of g_strup().

	* io-xpm.c: Use g_ascii_strcasecmp() instead of g_strcasecmp().

	* demos/testpixbuf-drawable.c, demos/testpixbuf-save.c,
	demos/testpixbuf-scale.c, demos/testpixbuf.c: Call g_object_ref
	and g_object_unref instead of gdk_pixbuf_ref and gdk_pixbuf_unref
	resp.
2001-12-13 21:22:12 +00:00
Matthias Clasen
fc4a6b955d Markup fixes.
* gtk/gtkdialog.c, gtk/gtkrc.c, gtk/gtkwidget.c: Markup fixes.

        * gdk-pixbuf-io.c: Markup fixes.

        * gdk-pixbuf/tmpl/scaling.sgml, gdk/tmpl/fonts.sgml,
        gdk/tmpl/general.sgml, gdk/tmpl/rgb.sgml, gdk/tmpl/visuals.sgml,
        gdk/tmpl/windows.sgml, gtk/gtk-docs.sgml, gtk/tmpl/gtkaccellabel.sgml,
        gtk/tmpl/gtkcombo.sgml, gtk/tmpl/gtkdialog.sgml,
        gtk/tmpl/gtkdrawingarea.sgml, gtk/tmpl/gtkeditable.sgml,
        gtk/tmpl/gtkfilesel.sgml, gtk/tmpl/gtkfontseldlg.sgml,
        gtk/tmpl/gtkimage.sgml, gtk/tmpl/gtkmain.sgml, gtk/tmpl/gtkmenu.sgml,
        gtk/tmpl/gtkmessagedialog.sgml, gtk/tmpl/gtkobject.sgml,
        gtk/tmpl/gtkpaned.sgml, gtk/tmpl/gtkradiobutton.sgml,
        gtk/tmpl/gtkrc.sgml, gtk/tmpl/gtkscale.sgml, gtk/tmpl/gtksignal.sgml,
        gtk/tmpl/gtksocket.sgml, gtk/tmpl/gtkspinbutton.sgml,
        gtk/tmpl/gtktogglebutton.sgml, gtk/tmpl/gtksignal.sgml,
        gtk/tmpl/gtktooltips.sgml, gtk/tmpl/gtkwindow.sgml,
        gdk/tmpl/regions.sgml, gtk/tmpl/gtkfontsel.sgml,
        gtk/tmpl/gtkpixmap.sgml, gtk/tmpl/gtkprogress.sgml,
        gtk/tmpl/gtkselection.sgml, gtk/tmpl/gtktable.sgml,
        gtk/tmpl/gtktipsquery.sgml: Markup fixes (mainly examples).
2001-12-13 19:51:24 +00:00
Matthias Clasen
3a3db4003a define G_LOG_DOMAIN for GdkPixbuf. 2001-12-12 22:20:36 +00:00
Matthias Clasen
5b20006878 Markup fixes.
* gdk-pixbuf-loader.c, gdk-pixbuf-util.c: Markup fixes.
2001-12-12 22:11:37 +00:00
Michael Natterer
3339931f8f gdk_pixbuf__png_image_save: removed wrong endian conversion stuff; don't
2001-12-11  Michael Natterer  <mitch@gimp.org>

	* io-png.c: gdk_pixbuf__png_image_save: removed wrong endian
	conversion stuff; don't copy RGB pixbufs' lines around before
	saving them.
2001-12-11 17:30:53 +00:00
Matthias Clasen
31df9723e5 Fix docs. (#66383)
* gtk/gtklabel.c: Fix docs. (#66383)

        * gtk/gtkbbox.c (gtk_button_box_set_child_secondary): Fix docs.
        (#66278, #66280)

        * gdk/gdkwindow.h (gdk_window_get_deskrelative_origin),
        gdk/gdkimage.h (gdk_image_get): Deprecate. (#66208)

        * gtk/gtkcolorsel.c (gtk_color_selection_set_update_policy):
        Don't emit a g_warning() about being deprecated. (#66208)

        * gtk/gtkaccellabel.c (gtk_accel_label_set_accel_widget): Add docs.

        * gtk/gtkcontainer.c: Doc fixes.

        * gtk/gtkliststore.c (gtk_list_store_clear): Add docs; misc doc fixes.

        * gtk/gtkstyle.c (gtk_style_attach): Add docs.

        * gdk-pixbuf.h (gdk_pixbuf_ref, gdk_pixbuf_unref,
        gdk_pixbuf_animation_ref, gdk_pixbuf_animation_unref):
        Deprecate. (#66208)

        * gtk/tmpl/gtklabel.sgml: Remove redundant docs. (#66383)

        * gtk/tree_widget.sgml: Typo fix. (#66256)

        * gdk-pixbuf/Makefile.am (SCAN_OPTIONS): Add --deprecated-guards.

        * gtk/tmpl/gtktext.sgml, gtk/tmpl/gtktree.sgml,
        gtk/tmpl/gtktreeitem.sgml: Updates.
2001-12-06 21:38:12 +00:00
Owen Taylor
76030813c7 Fill in color fields to black for transparent colors since we'll later
Tue Dec  4 11:45:45 2001  Owen Taylor  <otaylor@redhat.com>
	* io-xpm.c (pixbuf_create_from_xpm): Fill in color
	fields to black for transparent colors since we'll
	later initialize pixels from them. (Fixes purify
	errors, #66093, HideToshi Tajima)
2001-12-04 16:47:49 +00:00
Tor Lillqvist
d935361476 Add gdk_pixbuf_get_option.
2001-11-30  Tor Lillqvist  <tml@iki.fi>

	* gdk_pixbuf.def: Add gdk_pixbuf_get_option.
2001-12-02 18:03:52 +00:00
Owen Taylor
2de8e8bf5e Fix alignment problem in deserialization, (#65785, reported by Hidetoshi
Fri Nov 30 15:55:34 2001  Owen Taylor  <otaylor@redhat.com>
	* gdk-pixdata.c (gdk_pixdata_deserialize): Fix
	alignment problem in deserialization, (#65785,
	reported by Hidetoshi Tajima)
2001-11-30 21:01:01 +00:00
Manish Singh
a0dd3bc884 Fill in missing error parameters to DecodeHeader and DecodeColormap.
2001-11-28  Manish Singh  <yosh@gimp.org>

        * gdk-pixbuf/io-bmp.c (gdk_pixbuf__bmp_image_load_increment): Fill
        in missing error parameters to DecodeHeader and DecodeColormap.
2001-11-29 01:39:34 +00:00
Federico Mena Quintero
ab13c8803d Fix Ximian bug #12125; merged from gdk-pixbuf stable.
2001-11-21  Federico Mena Quintero  <federico@ximian.com>

	Fix Ximian bug #12125; merged from gdk-pixbuf stable.

	* gdk-pixbuf/io-bmp.c (gdk_pixbuf__bmp_image_load_increment): Use
	a simple state machine instead of a scary if/else chain.
	(DecodeHeader): Set the reading state.
	(DecodeColormap): Set the reading state.
	(decode_bitmasks): New function, decodes the bitmasks for
	BI_BITFIELDS coding.
	(OneLine32): Handle BI_BITFIELDS coding.
	(OneLine16): Likewise.
2001-11-29 00:13:02 +00:00
Hans Breuer
cdc4f6a476 use g_strcasecmp(), some poor platforms don't have strcasecmp()
2001-11-18  Hans Breuer  <hans@breuer.org>

	* io-xpm.c : use g_strcasecmp(), some poor platforms
	don't have strcasecmp()

	* makefile.msc : do INCLUDE_png etc. definition here to avoid
	my temporary 'gdk-pixbuf-io-include.h' hack
2001-11-18 15:33:18 +00:00
Owen Taylor
e913a97b2d Remove include of gobject/signal.h.
Sun Nov 18 07:54:22 2001  Owen Taylor  <otaylor@redhat.com>

        * gdk-pixbuf-loader.c: Remove include of gobject/signal.h.
2001-11-18 12:55:47 +00:00
Sebastian Wilhelmi
9d8e5e0ba8 gdk_rgb_init() doesn't need to be called anymore. Use g_object_(un)_ref
2001-11-03  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gdk-pixbuf/tmpl/refcounting.sgml,
	gdk-pixbuf/porting-from-imlib.sgml, tmpl/creating.sgml:
	gdk_rgb_init() doesn't need to be called anymore. Use
	g_object_(un)_ref instead of gdk_pixbuf_(un)ref.

	* tmpl/module_interface.sgml: Typo fix.

	* gdk-pixbuf/gdk-pixbuf.sgml: Fixed jade complaining about '_' by
	replacing it with '-'. Now builds again.

	* gdk-pixbuf-loader.c, gdk-pixbuf-scale.c: Documentation fixes.
2001-11-03 18:49:43 +00:00
Tor Lillqvist
47dc8d4dac Use -no-undefined on Win32. Make libgdk_pixbuf_1_3_la_OBJECTS depend on
2001-10-29  Tor Lillqvist  <tml@iki.fi>

	* Makefile.am: Use -no-undefined on Win32. Make
	libgdk_pixbuf_1_3_la_OBJECTS depend on
	gdk-pixbuf-marshal.c. Install import libraries.

	* gdk_pixbuf.def: Update.

	* gdk-pixbuf-io.c: (Win32) Use G_WIN32_DLLMAIN_FOR_DLL_NAME, saves
	the actual DLL name of libgdk_pixbuf.
	(get_libdir): Use it instead of guessing.

	* io-xbm.c (gdk_pixbuf__xbm_image_begin_load): Use
	g_file_open_tmp() insread of mkstemp().
2001-10-29 06:48:04 +00:00
Matthias Clasen
b7b2a5ca64 Don't dereference context when it may be NULL. (#62344)
* io-xbm.c (gdk_pixbuf__xbm_image_load_real): Don't dereference
        context when it may be NULL. (#62344)
2001-10-18 20:12:24 +00:00
Matthias Clasen
4fc79615d0 Documentation. Spelling fixes.
* gdk-pixdata.c, gdk-pixdata.h: Documentation.
        * gdk-pixbuf-csource.1: Spelling fixes.
2001-10-16 21:18:10 +00:00
Owen Taylor
63bd2b3030 Get rid of GDK_PIXBUF_ERROR_HEADER/PIXEL_CORRUPT and use CORRUPT_IMAGE.
Wed Oct 10 11:52:17 2001  Owen Taylor  <otaylor@redhat.com>

	* gdk-pixdata.c gdk-pixbuf.h: Get rid of
	GDK_PIXBUF_ERROR_HEADER/PIXEL_CORRUPT and use CORRUPT_IMAGE.
	Get rid fo GD_PIXBUF_ERROR_UNKNOWN_FORMAT and use the
	existing UKNOWN_TYPE error. (#58308)

	* gdk-pixbuf.h, gdk-pixdata.c: Rename gdk_pixbuf_new_from_stream()
	back to gdk_pixbuf_new_from_inline(). Rework docs to try
	and be helpful for the common case. (#58308)
2001-10-10 16:56:18 +00:00
Sven Neumann
40c2926482 gdk-pixbuf/gdk-pixbuf-io.c gdk-pixbuf/gdk-pixbuf-private.h
2001-10-05  Sven Neumann  <sven@gimp.org>

	* gdk-pixbuf/gdk-pixbuf-io.c
	* gdk-pixbuf/gdk-pixbuf-private.h
	* gdk-pixbuf/gdk-pixbuf.c
	* gdk-pixbuf/gdk-pixbuf.h
	* gdk-pixbuf/io-jpeg.c
	* gdk-pixbuf/io-png.c: changed GDK_PIXBUF_ERROR_BAD_OPTION_VALUE to
	GDK_PIXBUF_ERROR_BAD_OPTION to we can use it for bad keys too. Added
	new public API gdk_pixbuf_get_option() to retrieve key/value pairs
	set by an image loader. Added support for saving and reading PNG tEXt
	chunks in PNG images.

	* demos/testpixbuf-save.c
	* demos/testpixbuf-scale.c: simple tests for the new PNG tEXt chunk
	feature.

	* gdk-pixbuf/tmpl/gdk-pixbuf.sgml: adapt to changes in GDK_PIXBUF_ERROR
	enum.
2001-10-05 18:51:47 +00:00
Owen Taylor
ace5a03b9f Fix indentation use a macro to make code a bit more readable.
Tue Oct  2 11:29:50 2001  Owen Taylor  <otaylor@redhat.com>

        * gdk-pixdata.c (gdk_pixdata_to_csource): Fix indentation
        use a macro to make code a bit more readable.
2001-10-02 16:11:07 +00:00
Sven Neumann
92bcc743fa s/g_string_printfa/g_string_append_printf/ 2001-10-02 12:46:05 +00:00
Owen Taylor
b1fa175336 Fix a typo in the include guards. (#61254, Skip Montaro)
Wed Sep 26 18:08:19 2001  Owen Taylor  <otaylor@redhat.com>

	* Makefile.am (s-enum-types-h): Fix a typo in the include
	guards. (#61254, Skip Montaro)
2001-09-26 22:09:28 +00:00
Matthias Clasen
f3a65f61a9 io-xpm.c (xpm_extract_color): Rewritten to handle
xpm colormap entries more thoroughly. (#59939)
2001-09-21 21:39:42 +00:00
Hans Breuer
35953cae92 updated externals
2001-09-21  Hans Breuer  <hans@breuer.org>

	* gdk-pixbuf.def : updated externals

	* makefile.msc : generate gdk-pixbuf-enum-types.[hc]
2001-09-21 19:54:15 +00:00
Owen Taylor
405c3b090f On OSF, apparently fseek() works in some on-demand way, so the fseek
Thu Sep 20 17:22:48 2001  Owen Taylor  <otaylor@redhat.com>

	* io-tiff.c (gdk_pixbuf__tiff_image_load): On OSF, apparently fseek()
	works in some on-demand way, so the fseek gdk_pixbuf_new_from_file() doesn't
	work here since we are using the raw file descriptor. So, we call lseek()
	on the fileno(f) before using it. (#60840).
2001-09-20 21:24:19 +00:00
James Henstridge
6adbb34d52 same change as in pango, so that flags types are registered as flags
2001-09-20  James Henstridge  <james@daa.com.au>

	* Makefile.am (gdk-pixbuf-enum-types.c): same change as in pango,
	so that flags types are registered as flags rather than enums (not
	that there are any flags here at the moment).
2001-09-20 15:41:20 +00:00
Owen Taylor
69b6e3d63f Don't include gkd-pixbuf-features.h here since is in builddir and confuses
Wed Sep 19 00:28:24 2001  Owen Taylor  <otaylor@redhat.com>

        * Makefile.am (gdk_pixbuf_headers): Don't include
        gkd-pixbuf-features.h here since is in builddir
        and confuses autogen rules.

        * Makefile.am: Don't += variables before they have values,
        automake-1.5 doesn't like it.

        * Makefile.am: Fix srcdir != builddir for gdk-pixbuf-enum-types.c.

        * Makefile.am: The whitespace strikes back.
2001-09-19 04:34:55 +00:00
Matt Wilson
cbae279486 don't use += before =
2001-09-18  Matt Wilson  <msw@redhat.com>

	* docs/Makefile.am (EXTRA_DIST): don't use += before =

	* docs/faq/Makefile.am (EXTRA_DIST): likewise

	* docs/tutorial/Makefile.am (EXTRA_DIST): likewise

	* gdk/Makefile.am (MAINTAINERCLEANFILES): likewise
	(EXTRA_HEADERS): likewise

	* gtk/Makefile.am (MAINTAINERCLEANFILES): likewise
	(EXTRA_HEADERS): likewise
	(EXTRA_DIST): likewise
	(CLEANFILES): likewise

	* gtk/stock-icons/Makefile.am (CLEANFILES): likewise

	* tests/Makefile.am (EXTRA_DIST): likewise

	* Makefile.am (install-data-local): changed to use
	install-data-hook, which runs after install-pkgconfigDATA, so that
	the pkgconfigdir will have been created and populated first.

gdk-pixbuf/ChangeLog

2001-09-17  Matt Wilson  <msw@redhat.com>

	* Makefile.am (libpixbufloader_xbm_la_LDFLAGS): removed duplicate
	LDFLAGS definition, use the -avoid-version one.
	(libpixbufloader_tga_la_LDFLAGS): likewise
2001-09-18 13:26:52 +00:00
Owen Taylor
ef79a175b5 Mirror GdkInterpType to PixopsInterpType to avoid including gdk-pixbuf
Mon Sep 17 11:49:02 2001  Owen Taylor  <otaylor@redhat.com>

        * pixops/*: Mirror GdkInterpType to PixopsInterpType
        to avoid including gdk-pixbuf headers.
2001-09-17 15:53:59 +00:00
James Henstridge
136d4776ec add generated files to ignore list.
2001-09-16  James Henstridge  <james@daa.com.au>

	* .cvsignore: add generated files to ignore list.

	* gdk-pixbuf.h: include gdk-pixbuf-enum-types.h

	* Makefile.am: add rules to build gdk-pixbuf-enum-types.[ch]
2001-09-16 23:54:37 +00:00
Matthias Clasen
165e1833b1 io-pnm.c (pnm_read_header): Use GDK_PIXBUF_ERROR_CORRUPT_IMAGE,
not GDK_PIXBUF_ERROR_HEADER_CORRUPT. (#58308)
2001-09-14 22:15:54 +00:00
Matthias Clasen
49b3e05a30 Robustness fixes and test images for the jpeg, tiff, pnm, gif, xpm and tga
loaders.
2001-09-14 22:04:55 +00:00
Tim Janik
a96f9061d3 don't used BUILT_SOURCES to build marshal files, as in conjunction with
Fri Sep 14 00:30:48 2001  Tim Janik  <timj@gtk.org>

        * Makefile.am: don't used BUILT_SOURCES to build marshal
        files, as in conjunction with stamp files, this can
        lead to endless rebuilding loops.
2001-09-13 22:31:06 +00:00
Owen Taylor
c9b26b3dc6 Version 1.3.7
Tue Sep  4 09:37:19 2001  Owen Taylor  <otaylor@redhat.com>

        * Version 1.3.7

        * configure.in docs/Makefile.am docs/gtk-config.1.in: Remove
        docs for gtk-config

        * modules/input/Makefile.am (install-data-local): Don't
        run gtk-query-immodules if DESTDIR is set.

        * NEWS: Various additions.
2001-09-04 16:07:05 +00:00
Tim Janik
f4ab7aa5eb updates for 1.3.7 release.
Tue Sep  4 03:12:25 2001  Tim Janik  <timj@gtk.org>

        * NEWS: updates for 1.3.7 release.

Tue Sep  4 03:09:52 2001  Tim Janik  <timj@gtk.org>

        * gdk-pixbuf-csource.1: new file, manual page for
        the publically installed gdk-pixbuf-csource utility.
2001-09-04 01:10:11 +00:00
Matthias Clasen
5021904329 gdk-pixbuf-loader.c (gdk_pixbuf_loader_close): Propagate
errors from gdk_pixbuf_loader_load_module.
2001-08-30 07:23:32 +00:00
Matthias Clasen
29c0d6fa32 io-png.c (png_row_callback): Check that row_num is valid. 2001-08-30 07:21:13 +00:00
Matthias Clasen
7f39896945 io-bmp.c (OneLine): Emit area_updated signal with proper
area information. (#52002)
2001-08-28 19:59:42 +00:00
Matthias Clasen
a0c65ec21b *** empty log message *** 2001-08-28 19:08:53 +00:00
Matthias Clasen
61223e291d gdk-pixbuf/test-loaders.c (test_loader): Catch errors at close time.
gdk-pixbuf/test-loaders.c (main): Remove C++ comments.
demos/testpixbuf.c (update_timeout): Use gdk_pixbuf_loader_get_pixbuf
only in response to an area_prepared signal.
2001-08-28 19:06:58 +00:00
Matthias Clasen
a2e555e814 Add tga loader, patch by Nicola Girardi. (#56067) 2001-08-21 08:51:06 +00:00
Matthias Clasen
476cda2a47 Forgotten during last commit. 2001-08-20 12:44:56 +00:00
Sven Neumann
8b89f18577 applied some simple but effective optimizations to
2001-08-19  Sven Neumann  <sven@gimp.org>

	* pixops/pixops.c: applied some simple but effective optimizations
	to pixops_composite_nearest() and pixops_composite_color_nearest().
2001-08-19 10:48:24 +00:00
Sven Neumann
85a58dddba a comment asked to optimize this function, so that's what I did.
2001-08-07  Sven Neumann  <sven@gimp.org>

	* gdk-pixbuf.c (gdk_pixbuf_fill): a comment asked to optimize this
	function, so that's what I did.
2001-08-07 17:49:09 +00:00
Kjartan Maraas
4de796f086 Fix a typo.
2001-08-06  Kjartan Maraas  <kmaraas@gnome.org>

	* gdk-pixdata.c: Fix a typo.
2001-08-06 19:15:25 +00:00
Hans Breuer
4573e112c8 new file use it to complete the build
2001-07-30  Hans Breuer  <hans@breuer.org>

	* pixops/makefile.msc : new file
	* makefile.msc : use it to complete the build
2001-07-30 21:01:12 +00:00
Hans Breuer
9d1e828d08 don't 'g_tohl (*istream++)', but move pointer increment out of the macro,
2001-07-20  Hans Breuer  <hans@breuer.org>

	* gdk-pixdata.c : don't 'g_tohl (*istream++)', but move
	pointer increment out of the macro, because  at least one
	compiler (msvc 5.0) gets confused otherwise (applies the
	wrong increment).

	* gdk_pixbuf.def : updated exports

	* makefile.msc : reflect gdk-pixbuf-csource changes
2001-07-20 17:34:08 +00:00
Darin Adler
b0bb5ac304 Add missing <stdlib.h> include. Add ifdef so we compile without warnings
* gdk-pixbuf-csource.c: Add missing <stdlib.h> include.
	* io-png.c: (setup_png_transformations): Add ifdef so we compile
	without warnings with G_DISABLE_CHECKS on.
	* io-pnm.c: (gdk_pixbuf__pnm_image_load_increment): Add a missing
	const.
	* io-wbmp.c: (getin), (get_mbi): Add a missing const.
	* io-xbm.c: (gdk_pixbuf__xbm_image_load_real): Get rid of some
	unused locals and add an initial value to quiet the compiler's
	unintialized variable warning.
	* pixops/pixops.c: Put an ifdef around some dead code.
2001-07-18 04:25:04 +00:00
Owen Taylor
d69aa7e9c1 Switch over to the new include flags AC_SUBST(). (Problem pointed out by
Thu Jul  5 10:17:15 2001  Owen Taylor  <otaylor@redhat.com>

	* pixops/Makefile.am (noinst_LTLIBRARIES): Switch
	over to the new include flags AC_SUBST(). (Problem
	pointed out by Mikael Hermansson.)
2001-07-05 14:19:43 +00:00
Havoc Pennington
49c1e6dc89 fixes to compile with G_DISABLE_COMPAT
2001-06-29  Havoc Pennington  <hp@redhat.com>

       * Throughout: fixes to compile with G_DISABLE_COMPAT
	(s/g_signal_connectc/g_signal_connect/,
	s/g_signal_newc/g_signal_new/,
	s/g_signal_disconnect_by_func/g_signal_handlers_disconnect_by_func/)
2001-06-29 16:30:25 +00:00
Owen Taylor
0a2fce4577 Fix args to g_type_init ().
Thu Jun 28 21:54:19 2001  Owen Taylor  <otaylor@redhat.com>

	* make-inline-pixbuf.c test-gdk-pixbuf.c test-loaders.c
	gdk-pixbuf-csource.c: Fix args to g_type_init ().
2001-06-29 02:53:01 +00:00
Havoc Pennington
0bee26c7ba Clip the retrieved image data to the screen, using a server grab to avoid
2001-06-28  Havoc Pennington  <hp@pobox.com>

	* gdk/x11/gdkimage-x11.c (_gdk_x11_get_image): Clip the retrieved
	image data to the screen, using a server grab to avoid race
	conditions.

	* gtk/gtkitemfactory.c (gtk_item_factory_create_item): remove
	check for NULL return from gtk_image_new_from_stock(), it never
	returns NULL.
	(gtk_item_factory_create_item): fix bug where we parsed the stock
	ID as an inline pixbuf

	* gtk/gtktext.c (gtk_text_key_press): numeric keypad support

	* gtk/gtkspinbutton.c (gtk_spin_button_key_press): numeric keypad
	support (should be using binding set here)

	* gtk/gtkoptionmenu.c (gtk_option_menu_key_press): numeric keypad
	support (should be using binding set here)

	* gtk/gtkmenushell.c (gtk_menu_shell_class_init): numeric keypad
	support

	* gtk/gtkmenu.c (gtk_menu_class_init): numeric keypad support

	* gtk/gtkmenubar.c (gtk_menu_bar_class_init): numeric keypad

	* gtk/gtklistitem.c (gtk_list_item_class_init): numeric keypad

	* gtk/gtkimcontextsimple.c
	(gtk_im_context_simple_filter_keypress): keypad

	* gtk/gtkfilesel.c (gtk_file_selection_key_press): keypad

	* gtk/gtkentry.c (gtk_entry_class_init): numeric keypad fixes

	* gtk/gtkctree.c (gtk_ctree_class_init): numeric keypad support

	* gtk/gtkcolorsel.c (palette_activate): keypad support (of course,
	should be binding-setted)

	* gtk/gtkwindow.c (gtk_window_class_init): numeric keypad fixes

	* gtk/gtkclist.c (gtk_clist_class_init): numeric keypad fixes

	* gtk/gtkcalendar.c: numeric keypad fixes

	* gtk/gtktextview.c (gtk_text_view_class_init): numeric keypad
	support

	* gdk/gdkwindow.c (gdk_window_get_clip_region): fix infinite loop
	screwup

	* gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
	clip the render area to the drawable's clip region in advance,
	so we don't get data from the server that we don't need.

	* gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
	check return value of gdk_pixbuf_get_from_drawable(), fall back
	to bilevel alpha if we can't get the pixbuf to composite against.

	* gdk/gdkdraw.c (gdk_drawable_get_image): set the image colormap

	* gdk/gdkimage.c (gdk_image_get_colormap): add
	gdk_image_set_colormap, gdk_image_get_colormap

	* gdk/gdkpixbuf-drawable.c (rgbconvert): Change all converters to
	take a region of the image, instead of converting the entire
	image.

	* gtk/gtkwidget.h (struct _GtkWidgetClass): add show_help
	keybinding signal. Add default bindings for it. Add default
	handler for show_help that shows the tooltip for the widget.

	* gtk/gtkdialog.c (gtk_dialog_class_init): add binding set and
	"close" keybinding signal, remove key press handler.

	* gtk/gtktooltips.c (gtk_tooltips_set_colors): Just remove this,
	it's not our usual practice to leave a deprecated function around
	with a runtime warning, plus we don't want it to appear in docs,
	plus if we make them yellow no one will want to change them
	anyhow.
2001-06-29 01:59:02 +00:00
Tim Janik
d4f0062f5e use gdk_pixbuf_new_from_stream(). fixed up item factory so inlined pixbufs
Tue Jun 26 10:04:30 2001  Tim Janik  <timj@gtk.org>

        * gtk/gtkiconfactory.c:
        * gtk/gtkitemfactory.c: use gdk_pixbuf_new_from_stream(). fixed up
        item factory so inlined pixbufs actually work.

Tue Jun 26 09:48:02 2001  Tim Janik  <timj@gtk.org>

        * Makefile.am (noinst_PROGRAMS): get rid of make-inline-pixbuf

        * gdk-pixbuf-data.[hc]: provide gdk_pixbuf_new_from_stream()
        instead from gdk_pixbuf_new_from_inline().

        * gdk-pixdata.[hc]: auxillary GdkPixdata structure, public
        installed API for applications that need to serialize/deserialize
        on their own (gimp, BEAST).

        * gdk-pixbuf/gdk-pixbuf-csource.c: provide publically installed
        program that can dump images in CSource format and Pixbuf
        stream format. supports RLE encoding, MACRO formatting etc...
        invoke with --help.
2001-06-26 20:56:32 +00:00
Owen Taylor
837b7120a8 Revert inline-pixbuf changes until Tim comes back to fix missing files 2001-06-26 16:19:01 +00:00
Tim Janik
0b7418572e hm, second attempt. it's fight CVS time again.
Tue Jun 26 09:48:02 2001  Tim Janik  <timj@gtk.org>

        * Makefile.am (noinst_PROGRAMS): get rid of make-inline-pixbuf

        * gdk-pixbuf-data.[hc]: provide gdk_pixbuf_new_from_stream()
        instead from gdk_pixbuf_new_from_inline().

        * gdk-pixdata.[hc]: auxillary GdkPixdata structure, public
        installed API for applications that need to serialize/deserialize
        on their own (gimp, BEAST).

        * gdk-pixbuf/gdk-pixbuf-csource.c: provide publically installed
        program that can dump images in CSource format and Pixbuf
        stream format. supports RLE encoding, MACRO formatting etc...
        invoke with --help.

Tue Jun 26 10:04:30 2001  Tim Janik  <timj@gtk.org>

        * gtk/gtkiconfactory.c:
        * gtk/gtkitemfactory.c: use gdk_pixbuf_new_from_stream(). fixed up
        item factory so inlined pixbufs actually work.
2001-06-26 08:34:26 +00:00