Fri Jul 9 15:38:06 2004 Manish Singh <yosh@gimp.org>
* gdk-pixbuf-io.c (gdk_pixbuf_format_set_disabled): function doesn't
return a value, so don't use g_return_val_if_fail()
* gdk-pixbuf-scale.c (gdk_pixbuf_rotate_simple): initialize dest in
the can't happen case, to quiet gcc.
* io-tiff.c (tifflibversion): enclose in #if TIFFLIB_VERSION >=
20031226.
2004-07-06 Tor Lillqvist <tml@iki.fi>
* gdk-pixbuf-features.h.in: Mark the version variables for proper
import and export from Windows DLLs. Thanks to Laurent Sansonetti
for reporting the problem.
Sat Jul 3 00:41:44 2004 Matthias Clasen <maclas@gmx.de>
* pixops/pixops.c (bilinear_box_make_weights): Correct the
math to calculate bilinear weights. (#112412, Brian Cameron)
Mon Jun 21 00:44:51 2004 Matthias Clasen <maclas@gmx.de>
* gdk-pixbuf-transform.h:
* gdk-pixbuf-scale.c (gdk_pixbuf_rotate_simple):
* gdk-pixbuf-scale.c (gdk_pixbuf_flip): New functions to
rotate pixbufs by multiples of 90 degrees and to flip them
horizontally or vertically.
2004-06-16 Matthias Clasen <mclasen@redhat.com>
* io-tiff.c: Make the tiff loader work with both
libtiff 3.5.7 and libtiff 3.6.1. (#135541, Marco Ghirlanda)
Fri Jun 11 22:02:56 2004 Matthias Clasen <maclas@gmx.de>
* io-gif.c, io-pnm.c, io-tga.c, io-xpm.c: Don't use
contractions like "don't" or "isn't" in error messages.
It isn't nice to use them in log entries either...
(#137774, Morten Welinder, patch by Alexander Winston)
Sat Jun 5 00:59:12 2004 Matthias Clasen <maclas@gmx.de>
* gdk-pixbuf-animation.c:
* gdk-pixbuf-io.c: Convert filenames to UTF-8 when embedding
them in error messages. (#143654, Sven Neumann)
Wed May 5 23:09:48 2004 Matthias Clasen <maclas@gmx.de>
* gdk-pixbuf-io.h (GdkPixbufFormatFlags): New format flag
GDK_PIXBUF_FORMAT_SCALABLE to mark scalable formats.
* gdk-pixbuf.h:
* gdk-pixbuf-io.c (gdk_pixbuf_format_is_scalable): New function.
(#137995, Dom Lachowicz)
2004-04-13 Matthias Clasen <mclasen@redhat.com>
* io-ani.c (gdk_pixbuf__ani_image_load_animation):
* gdk-pixbuf-io.c (gdk_pixbuf_get_file_info)
(_gdk_pixbuf_generic_image_load)
(gdk_pixbuf_new_from_file_at_size): When calling fread()
in a loop, check for ferror() as well as for feof() to
avoid infinite loops on directories. (#137804, Alex Converse)
2004-03-15 Tor Lillqvist <tml@iki.fi>
* queryloaders.c (main): [Win32] Look up installation prefix at
run-time, replace prefix in PIXBUF_LIBDIR with that. (#106141)
2004-03-15 Tor Lillqvist <tml@iki.fi>
Merges from stable branch that had been left out. (#136282, J. Ali
Harlow)
Changes for run-time lookup of installation location on Win32:
* Makefile.am (INCLUDES): Define GTK_PREFIX as $(prefix).
* gdk-pixbuf-io.c (get_sysconfdir): New function, look up
installation location at runtime and deduce GTK_SYSCONFDIR
from it.
(get_toplevel): Similar, for the top-level installation directory.
(correct_prefix): Replace compile-time prefix with run-time
prefix.
(get_libdir): Remove, not used any longer.
(gdk_pixbuf_io_init): Call correct_prefix() on Win32.
* queryloaders.c (query_module): [Win32] Change backslahses into
slashes in path.
2004-03-05 Federico Mena Quintero <federico@ximian.com>
Fixes#136082 and #135265, patch by Morten Welinder.
* configure.in: Use AC_SYS_LARGEFILE.
* */*.c: #include <config.h>
Fri Mar 5 22:22:25 2004 Matthias Clasen <maclas@gmx.de>
* io-bmp.c (OneLine32): Don't try to load an alpha channel
from the BMP, since there is no evidence that even 32bit
BMPs have an alpha channel. (#135502)
Tue Feb 24 14:45:03 2004 Owen Taylor <otaylor@redhat.com>
* === Released 2.3.3 ===
* configure.in: Version 2.3.3, interface age 0.
* NEWS: Finish updates for 2.3.3.
Fri Feb 20 22:25:32 2004 Matthias Clasen <maclas@gmx.de>
* io-bmp.c (DecodeHeader): Store and sanity-check the clrUsed field
from the header for use in DecodeColormap.
* io-bmp.c (DecodeColormap): Don't read more colormap entries than
the header says are there. (#134235, Kazuho Okui)
Sun Feb 8 01:07:20 2004 Manish Singh <yosh@gimp.org>
* gdk-pixbuf-io.c: removed unnecessary G_OBJECT() cast checks.
* io-jpeg.c: make the return type for to_callback_empty_output_buffer
"boolean", which should be defined by the jpeg headers. The right
return type for this function depends on how the jpeg library
was built (one wonders what happens if different compilers are used).
Fri Jan 16 23:59:01 2004 Matthias Clasen <maclas@gmx.de>
The first part of the fix for #114351 (see also
gdk-pixbuf/ChangeLog and po/ChangeLog):
* gtk/gtkintl.h:
* gdk-pixbuf/gdk-pixbuf-i18n.h:
* gdk/gdkintl.h: Define P_() for property blurbs and nicks.
* gdk/gdkdisplaymanager.c:
* gdk-pixbuf/gdk-pixbuf.c:
* modules/input/gtkimcontextxim.c:
* gtk/*.c: Mark property blurbs and nicks with P_().
* po/Makefile.in.in: Add --keyword=P_ to the xgettext
invocation, since property blurbs and nicks are
now marked with P_().
Thu Jan 8 22:01:14 2004 Matthias Clasen <maclas@gmx.de>
* queryloaders.c (loader_sanity_check): Don't use bitwise operators
on booleans. (#130923, reported by Telsa Gwynne, fix by Dave Jones)
2004-01-06 Federico Mena Quintero <federico@ximian.com>
* gdk-pixbuf-io.c (gdk_pixbuf_save): Escape an ampersand in the
documentation comment, and hack around an empty line in the code
example so that gtk-doc won't put a <para> due to it.
2004-01-06 Federico Mena Quintero <federico@ximian.com>
* gdk-pixdata.c (gdk_pixbuf_new_from_inline): Fix example in
documentation comment. Fixes#130701.
Wed Jan 7 02:41:14 2004 Matthias Clasen <maclas@gmx.de>
* gdk-pixbuf-io.c (gdk_pixbuf_save_to_bufferv):
* gdk-pixbuf-io.c (gdk_pixbuf_save_to_buffer):
* gdk-pixbuf-io.c (gdk_pixbuf_save_to_callbackv):
* gdk-pixbuf-io.c (gdk_pixbuf_save_to_callback): New public API
to save pixbufs to non-file locations. (#82203, Tim Evans)
* gdk-pixbuf.h:
* gdk_pixbuf.def: Declare the new public API.
* gdk-pixbuf-io.h: Add save_to_callback to the module interface.
* io-jpeg.c:
* io-png.c: Implement save_to_callback.
* gdk-pixbuf-io.c (gdk_pixbuf_savev):
* gdk-pixbuf-io.c (gdk_pixbuf_save): Update documentation.
* gdk-pixbuf-io.c (gdk_pixbuf_real_save): Support saving via
image_module->save_to_callback.
* gdk-pixbuf-io.c (gdk_pixbuf_real_save_to_callback): New generic
save_to_callback function which falls back to image_module->save
on a temp file.
Wed Jan 7 01:17:36 2004 Matthias Clasen <maclas@gmx.de>
* gdk-pixbuf-loader.c (gdk_pixbuf_loader_size_func):
* gdk-pixbuf-loader.c (gdk_pixbuf_loader_set_size):
* gdk-pixbuf-loader.c (gdk_pixbuf_loader_init): Make it possible
to call gdk_pixbuf_loader_set_size (loader, 0, 0) by changing
the initial values of priv->width/height to -1.
* io-tiff.c (tiff_image_parse):
* io-ras.c (RAS2State):
* io-pnm.c (gdk_pixbuf__pnm_image_load_increment):
* io-pcx.c (gdk_pixbuf__pcx_load_increment):
* io-jpeg.c (gdk_pixbuf__jpeg_image_load_increment):
* io-png.c (png_info_callback):
* io-ico.c (DecodeHeader):
* io-bmp.c (DecodeHeader): Call size_func once the size is known,
even if the module can't make use of the scaling information. If
size_func returns 0, don't allocate a pixbuf and return, if
necessary with an error.
* gdk-pixbuf.h:
* gdk-pixbuf-io.c (gdk_pixbuf_get_file_info): A new function
to determine the type and size of an image file without loading
it completely. (#53725)
Sun Jan 4 00:44:57 2004 Matthias Clasen <maclas@gmx.de>
* gdk-pixbuf.c (gdk_pixbuf_class_init): Turn the pixbuf
attributes into (construct-only, but always readable)
properties. (#130196)
* gdk-pixbuf-data.c (gdk_pixbuf_new_from_data): Set properties
in g_object_new().
Mon Dec 22 01:35:36 2003 Matthias Clasen <maclas@gmx.de>
* Makefile.am (gdk-pixbuf.loaders): Fix building with
--disable-modules --with-included-loaders, create an
empty gdk-pixbuf.loaders file. (#124496, Arno Charlet, fix
proposed by Owen Taylor)
Thu Dec 11 01:57:05 2003 Matthias Clasen <maclas@gmx.de>
* gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): Move
the documentation for signals inline, to get proper parameter
documentation. (#128977)
Sat Nov 15 00:26:19 2003 Matthias Clasen <maclas@gmx.de>
* queryloaders.c (loader_sanity_check): Check that the mask
is NULL or a string of the same length consisting entirely of
' ', '!', 'x', 'z', 'n'.
Sun Nov 9 23:07:05 2003 Matthias Clasen <maclas@gmx.de>
* gdk-pixbuf-io.c (_gdk_pixbuf_generic_image_load): If neither
load nor begin_load are available fall back to load_animation
and use gdk_pixbuf_animation_get_static_image() to obtain a
pixbuf. Inefficient, but at least doesn't crash.
Sun Nov 9 21:56:20 2003 Matthias Clasen <maclas@gmx.de>
* queryloaders.c (write_loader_info): New function to write
out the information for a single loader, factored out of
query_module().
(loader_sanity_check): New function to perform
sanity checks on a loader.
(query_module): Use the new functions.
Thu Nov 6 00:27:27 2003 Matthias Clasen <maclas@gmx.de>
* io-pcx.c (gdk_pixbuf__pcx_load_increment): Fold two similar
strings into on. (#126204, Danilo Segan)
Mon Aug 18 10:25:29 2003 Owen Taylor <otaylor@redhat.com>
* gdk-pixdata.c (gdk_pixdata_to_csource): Add the correct
alignment magic for Sun compiler and for GCC to get
the strings aligned. (Patch from Brian Cameron, #117217)
2003-07-23 Matthias Clasen <maclas@gmx.de>
* gdk-pixbuf-io.c (gdk_pixbuf_new_from_file_at_size): Close loader before unref'ing
it. (#118146, Owen Taylor)
2003-07-18 Matthias Clasen <maclas@gmx.de>
* pixops/pixops.c (correct_total): Split correction into multiple pieces if no single weight is large
enough to apply the unsplit correction. (#117431, problem reported by Tomas Ögren)
2003-07-13 Matthias Clasen <maclas@gmx.de>
* gdk-pixbuf.h:
* gdk-pixbuf-io.c (gdk_pixbuf_new_from_file_at_size): New function to load an image from a file at a
specified size. (#105326, Dom Lachowicz)
2003-07-11 Matthias Clasen <maclas@gmx.de>
* gtk/gtkicontheme.c (pixbuf_supports_svg): Use g_strfreev() to free mime_types.
(#117219, Steve Chaplin)
* queryloaders.c (query_module): Handle absolute filenames properly. (#117170, Jens Elkner)
* gdk-pixbuf-io.c: Mention that NULL-terminated arrays returned by
gdk_pixbuf_format_get_mime_types() and gdk_pixbuf_format_get_extensions() must be
freed with g_strfreev().
2003-06-28 Matthias Clasen <maclas@gmx.de>
* io-ico.c (DecodeHeader): Stop discriminating against 32bpp ICOs a): Use the byte
size of the image as a heuristic when selecting the bitmap to load - this lets us
select 32bpp bitmaps which come after a 8bpp bitmap.
(OneLineTransp): Stop discriminating against 32bpp ICOs b): Don't overwrite the
alpha channel of 32bpp ICOs.
(gdk_pixbuf__ico_image_load_increment): Stop decoding the header unnecessarily.
Fri Jun 27 03:56:59 2003 Soeren Sandmann <sandmann@daimi.au.dk>
* io-gif-animation.c (gdk_pixbuf_gif_anim_frame_composite): Make
it compile with C89 compilers.
Thu Jun 26 21:41:16 2003 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtktreeviewcolumn.c
(gtk_tree_view_column_cell_set_cell_data): only set "is_expander"
and "is_expanded" if the new value is different fromt he old one.
2003-06-23 Matthias Clasen <maclas@gmx.de>
* io-gif.c (gif_get_frame_info): Remove the pointless refusal to load images with dubious
disposal mode on the first frame. Just ignore it, as everybody else does.
2003-06-22 Matthias Clasen <matthias@localhost.localdomain>
* io-gif.c (gif_get_extension): Reset block_count to 0 for all application extensions, otherwise the data blocks
of unknown extensions are not propertly skipped.
Second half of the fix for #106962, handle frames extending beyond the logical screen:
* io-gif.c (clip_frame): New helper function to clip a rectangle to the logical screen size of the gif.
(maybe_update): New helper function to call update_func only if the rectangle is not completely off-bounds.
(gif_get_lzw): Read frames extending outside the logical screen size, but be careful clip to the logical screen size
when operating on the composite pixbuf and when calling update_func.
(gif_init): Set the animation size to the logical screen size.
(gif_get_frame_info): Don't refuse to load images with frames extending beyond the logical screen size.
* io-gif-animation.c (gdk_pixbuf_gif_anim_frame_composite): Be careful to clip all rectangles to the logical screen
size, also handle the fact that frames may be completely off-bounds.
2003-06-17 Matthias Clasen <maclas@gmx.de>
* gdk-pixbuf/Makefile.am: Add rule to regenerate man pages from
Docbook.
(man_MANS): Add gdk-pixbuf-csource.1, gdk-pixbuf-query-loaders.1.
(content_files): Add gdk-pixbuf-csource.xml,
gdk-pixbuf-query-loaders.xml.
* gdk-pixbuf/gdk-pixbuf-csource.xml: New refentry, containing the
former gdk-pixbuf/gdk-pixbuf-csource.1, converted to Docbook.
* gdk-pixbuf/gdk-pixbuf-query-loaders.xml: New refentry.
* gdk-pixbuf/gdk-pixbuf-csource.1:
* gdk-pixbuf/gdk-pixbuf-query-loaders.1: Man pages generated from
the .xml sources.
* gdk-pixbuf/gdk-pixbuf.sgml: Include gdk-pixbuf-csource.xml and
gdk-pixbuf-query-loaders.xml.
* gtk/Makefile.am: Add rule to regenerate man pages from Docbook.
(man_MANS): Add gtk-query-immodules-2.0.1
(content_files): Add gtk-query-immodules-2.0.xml
* gtk/gtk-query-immodules-2.0.xml: New refentry.
* gtk/gtk-query-immodules-2.0.1: Man page generated from the .xml
source.
* gtk/gtk-docs.sgml: Include gtk-query-immodules-2.0.xml.
* acinclude.m4 (JH_PATH_XML_CATALOG, JH_CHECK_XML_CATALOG): New
macros to check for XML catalog contents and path, borrowed from
gtk-doc.
* configure.in: New option --enable-man to enable regeneration of
man pages from Docbook, if the necessary tools are found.
2003-05-19 Matthias Clasen <maclas@gmx.de>
Improve progressive loading from slow sources: (#107368)
* io-gif-animation.c (gdk_pixbuf_gif_anim_get_iter): Initialize
first_loop_slowness.
(gdk_pixbuf_gif_anim_iter_advance): Don't wrap during loading if
the datasource falls behind the speed of the display.
* io-gif-animation.h: Add a loading flag to GdkPixbufGifAnim and
first_loop_slowness to GdkPixbufGifAnimIter.
Tue May 6 16:50:52 2003 Owen Taylor <otaylor@redhat.com>
Patch from James Henstridge to update to automake-1.7
(#109542)
* autogen.sh: update to call newer tools.
* configure.in: various updates, to use M4 macros to put
variables that change each release at the top.
Use AC_HELP_STRING to format help strings.
Use AC_CONFIG_COMMANDS to generate gdkconfig.h.
* Makefile.am: require Automake 1.7. Remove gdk-2.0.pc and
gtk+-2.0.pc on uninstall. Pass --enable-gtk-doc to configure
during distcheck.
* docs/reference/*/Makefile.am: simplify to use the gtk-doc.make
makefile fragment.
* */Makefile.am: don't use STRIP_BEGIN/STRIP_END.
Use BUILT_SOURCES where appropriate.
Build generated files in builddir rather than srcdir.
Fix uninstall and distclean targets to satisfy distcheck.
===
* gdk/*/Makefile.am: Remove the hacks to get gdkenumtypes.h
built first, since we are now using BUILT_SOURCES.
* gdk/Makefile.am: Remove an outdated comment about gdk_headers.
* demos/gtk-demo/Makefile.am: Fix srcdir != buildd problem
with geninclude.pl.
* configure.in: Update versions to 2.3.0.
Tue Apr 1 15:33:51 2003 Owen Taylor <otaylor@redhat.com>
* pixops/pixops.c (make_weights): Exploit the fact that all
our filters are separable to simplify the calculation of
the weight tables. (Based on a patch from Brian Cameron.)
* pixops/Makefile.am pixbuf-transform-math.ltx:
Add a short article describing how the math in pixops.c
works.
2003-03-11 Matthias Clasen <maclas@gmx.de>
* io-ico.c (DecodeHeader): Calculate LineWidth for 16bpp from
width, like for the other depths. (noticed by Marijn Ros)
2003-02-20 Matthias Clasen <maclas@gmx.de>
* io-gif-animation.c (gdk_pixbuf_gif_anim_frame_composite):
Always clear the initial frame and "disposed" areas with
transparent pixels, no matter whether the frame has transparency
or not. (#55502)
2003-02-18 Matthias Clasen <maclas@gmx.de>
* io-tga.c (pixbuf_flip_row):
(pixbuf_flip_vertically): Auxiliary functions used to implement
support for arbitrary origins.
(parse_data_for_row_pseudocolor):
(parse_data_for_row_truecolor):
(parse_data_for_row_grayscale):
(parse_data_for_row):
(fill_in_context): Remove the check for upper-left origin.
(parse_rle_data): Support arbitrary origins. (#105912)
* io-tga.c (fread_check):
(fseek_check):
(get_header_from_file):
(get_colormap_from_file):
(get_image_pseudocolor):
(swap_channels_pixbuf):
(get_image_truecolor):
(get_image_grayscale):
(gdk_pixbuf__tga_load): Remove the non-incremental load
implementation, since we have generic_image_load () now.
(gdk_pixbuf__tga_stop_load): Fix a potential crash discovered by
pixbuf-lowmem.
2003-02-14 Matthias Clasen <maclas@gmx.de>
* io-tga.c (try_preload):
(gdk_pixbuf__tga_load): Actually reject images with origin
not in the upper-left corner. (#105912)
Mon Jan 27 17:10:30 2003 Owen Taylor <otaylor@redhat.com>
* Makefile.am (gdk-pixbuf.loaders): Rewrite to run
on the .la files rather than looking for .so files.
(#102142, Martin Gansser)
* Makefile.am: Don't build gdk-pixbuf.loaders when
cross-compiling.
2003-01-05 Tor Lillqvist <tml@iki.fi>
* gtk-zip.sh.in: Use correct DLL and import library names, with
GTK_API_VERSION in name, not GTK_MAJOR_VERSION.GTK_MINOR_VERSION.
(DEVZIP): Add gdk-pixbuf-query-loaders.exe.
* configure.in: Improve check for dimm.h.
* configure.in: Set SOEXT to 'so' on Unix, 'dll' on Win32. Used in
gdk-pixbuf/Makefile.am.
* gdk-pixbuf/makefile.mingw.in
* gdk-pixbuf/pixops/makefile.mingw.in
* gdk/makefile.mingw.in
* gdk/win32/makefile.mingw.in
* gtk/makefile.mingw.in: Remove. Not maintained anyway.
* gdk-pixbuf/Makefile.am
* gdk-pixbuf/pixops/Makefile.am
* gdk/Makefile.am
* gdk/win32/Makefile.am
* gtk/Makefile.am
* configure.in: Remove makefile.mingw{,.in} from here, too.
* README.win32: Updates. Don't mention the now removed
makefile.mingw files.
* gdk/gdk.def
* gtk/gtk.def: Add a couple of missing entries.
* gdk/gdkkeynames.c: Include <string.h> for strcmp() and memcpy().
* gdk/win32/gdkevents-win32.c: Move dimm.h header clash workaround
earlier.
* gdk/win32/rc/Makefile.am: Add hack to help
build/win32/lt-compile-resource decide which kind of libtool
object file to produce.
Sat Dec 7 10:14:05 2002 Owen Taylor <otaylor@redhat.com>
* Makefile.am (gdk-pixbuf.loaders): Make gdk-pixbuf.loaders
also depend gdk-pixbuf-query-loaders. (#97096, Daniel Elstner)
2002-12-04 Bastien Nocera <hadess@hadess.net>
* io-tiff.c: (tiff_image_parse): use G_BIG_ENDIAN instead of
WORDS_BIGENDIAN which isn't set by configure.in
Fri Nov 8 19:06:07 2002 Owen Taylor <otaylor@redhat.com>
* Makefile.am (gdk-pixbuf.loaders): Make gdk-pixbuf.loaders
file depend on the loaders (#97096, Jeff Waugh)
Tue Oct 1 17:35:43 2002 Owen Taylor <otaylor@redhat.com>
* gdkpixdata.c: Patch from Andy Wingo to always
escape ? to avoid accidentally generating trigraphs
in the output (#94631)
2002-09-27 Federico Mena Quintero <federico@ximian.com>
* io-ico.c (gdk_pixbuf__ico_image_begin_load): Free the context if
we cannot allocate the HeaderBuf.
2002-09-27 Federico Mena Quintero <federico@ximian.com>
* io-bmp.c (OneLine): Fix the update region notification to handle
top-to-bottom and bottom-to-top BMPs correctly.
2002-09-12 Federico Mena Quintero <federico@ximian.com>
* io-jpeg.c (gdk_pixbuf__jpeg_image_load): Unref the pixbuf if we
hit an unsupported colorspace.
* io-xpm.c (pixbuf_create_from_xpm):
* io-xbm.c (gdk_pixbuf__xbm_image_load_real):
* io-ico.c (DecodeHeader): Attach hotspot coordinates to the
pixbuf as options "x_hot" and "y_hot".
2002-08-25 Tor Lillqvist <tml@iki.fi>
* gtk/Makefile.am (libgtk_win32_2_0_la_DEPENDENCIES): Add
gtk_win32res_lo. (#87101, J. Ali Harlow)
* gdk-pixbuf/Makefile.am (libgdk_pixbuf_2_0_la_DEPENDENCIES): Add
gdk_pixbuf_win32res_lo. (#87101, J. Ali Harlow)
* gdk-pixbuf-io.h:
gdk-pixbuf-io.c (_gdk_pixbuf_generic_image_load): No longer
static, thus _gdk_pixbuf-prefixed.
* gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file):
Keep this logic in sync with gdk_pixbuf_new_from_file(). (Based
on a patch by Anders Carlsson)
* io-png.c (gdk_pixbuf__png_image_save): Plug a memory
leak. (#91422, Sven Neumann)
Mon Jul 29 23:06:10 2002 Owen Taylor <otaylor@redhat.com>
* gdk-pixbuf-scale.c: Fix some warnings by adding
casts to PixopsInterpType. (#85839, David L. Cooper, II.)
* gdk-pixbuf-io.c (generic_image_load): New function for loading
an image from a file either via module->load or incrementally.
(prepared_notify): ModulePreparedNotifyFunc for generic_image_load.
(gdk_pixbuf_new_from_file): Use generic_image_load.
* io-bmp.c, io-ico.c, io-ras.c, io-wbmp.c: Remove trivial
implementations of module->load. (#71266)
* io-bmp.c (grow_buffer): New function to avoid crashes
on unchecked reallocs.
(DecodeHeader, DecodeColormap, decode_bitmasks,
DoCompressed): Use grow_buffer instead of g_realloc
throughout. Change signatures where necessary to pass the
errors up.
(OneLine16): Fix loading of 16bpp BI_RGB bmps.
(DoCompressed): Rewritten to properly support BI_RLE4 and
skips and jumps.
* io-jpeg.c (convert_cmyk_to_rgb): New function.
(gdk_pixbuf__jpeg_image_load,
gdk_pixbuf__jpeg_image_load_increment): Allocate a pixbuf with
alpha for 4-channel jpegs and call convert_cmyk_to_rgb for these.
Thu Jun 13 18:11:11 2002 Owen Taylor <otaylor@redhat.com>
* pixops/pixops.c: Fix problem where when no alpha was
involved, we scaled rather than composited, but then
went ahead and composited anyways. (#76958, Patch
from Matthias Clasen). Needs to be merged to GNOME
1.4 gdk-pixbuf
Thu Jun 13 18:11:11 2002 Owen Taylor <otaylor@redhat.com>
* pixops/pixops.c: Fix problem where when no alpha was
involved, we scaled rather than composited, but then
went ahead and composited anyways. (#76958, Patch
from Matthias Clasen). Needs to be merged to GNOME
1.4 gdk-pixbuf.
2002-06-07 Federico Mena Quintero <federico@ximian.com>
* io-bmp.c (lsb_32):
(lsb_16): New functions to fetch 32 or 16-bit little-endian values
starting at a specific memory location. We do this instead of
GINT32_FROM_LE() as the latter is simply dereferences a cast,
which doesn't work on platforms with alignment requirements.
Fixes#84083.
* gdk-pixbuf-io.c (pixbuf_check_xbm): Accept xbms starting
with a C comment - those seem to be not uncommon, e.g. the Gimp
produces them. (#82706)
* io-xbm.c (read_bitmap_file_data): Don't leak memory on certain
invalid inputs.
(gdk_pixbuf__xbm_image_load_real): Don't leak memory on valid inputs.
2002-05-22 Tor Lillqvist <tml@iki.fi>
* gdk-pixbuf-io.c (get_libdir): Use GTK_BINARY_VERSION (and not
GTK_VERSION) in the path to the loaders on Win32, too.
* Makefile.am: Pass GTK_BINARY_VERSION.
2002-05-22 Federico Mena Quintero <federico@ximian.com>
* io-xpm.c (pixbuf_create_from_xpm): Ahem, take the rowstride into
account!!! Fixes#82515.
[This bug is not present in the GNOME 1.4 branch as its XPM loader
does not use gdk_pixbuf_new(); rather it malloc()s a buffer with
no row padding and then uses gdk_pixbuf_new_from_data() on it.]
[IMPORTANT: The comment above is to make my life easier when
merging stuff across branches. If you make changes to gdk-pixbuf
in either branch, please include a comment in the ChangeLog that
indicates whether this should be merged into the other branch.
Thanks!]
Thu May 16 14:51:14 2002 Owen Taylor <otaylor@redhat.com>
Fixes for #78258
* gtk/gtkrbtree.c demos/gtk-demo/editable-cells.c:
Fix some 64-bit warning problems. (Patch from Matthias
Clasen.)
* gtk/gtkrbtree.c (_gtk_rbtree_debug_spew_helper): Surround
a bunch of debug code with G_ENABLE_DEBUG.
* configure.in demos/gtk-demo/main.c: Replace
#ifndef G_OS_WIN32 with proper #ifdef HAVE_FLOCKFILE.
2002-05-07 Michael Natterer <mitch@gimp.org>
* gdk-pixbuf/Makefile.am: build the static pixbuf loaders
conditionally like the dynamic ones so --without-lib<foo> is
honored when building with --disable-modules. (#66867)
Sun May 5 02:22:59 2002 Soeren Sandmann <sandmann@daimi.au.dk>
* tests/test-images/*: image files for testing pixbuf loaders
* tests/pixbuf-*.c: the old test-loaders.c split into four
different programs
* tests/Makefile.am: add new pixbuf tests
Sun May 5 02:27:01 2002 Soeren Sandmann <sandmann@daimi.au.dk>
* Makefile.am (noinst_PROGRAMS): remove test-loaders (moved to
gtk+/tests/)
* test-loaders.c, test-images.h: remove
* gdk-pixbuf-io.c (gdk_pixbuf_save): Remove the ISO8859-1
restriction from the description of png tEXt parameters.
* io-png.c (png_text_to_pixbuf_option):
(gdk_pixbuf__png_image_save): If libpng supports it,
store and retrieve non-ISO8859-1 text as UTF-8. (#76172)
2002-04-18 Tor Lillqvist <tml@iki.fi>
* gdk-pixbuf/Makefile.am (uninstall-libtool-import-lib)
* gdk/Makefile.am (uninstall-libtool-import-lib): Fix typo,
thanks to David Sterba for noticing.
* gtk/gtkmain.h
* gtk/gtkmain.c (gtk_init_abi_check, gtk_init_check_abi_check): In
GTK+ 2.0 the GtkWindow struct actually is the same size in gcc on
Win32 whether compiled with -fnative-struct or not. Unfortunately
this wan't noticed until now. So, from now on, check some other
struct, too, for which the use of -fnative-struct still
matters. GtkBox is one such.
* io-tga.c (get_contiguous_pixbuf): Helper function to create
a pixbuf with a contiguous pixel array while being careful about
overflow.
* io-tga.c (fill_in_context, get_image_pseudocolor,
get_image_truecolor, get_image_grayscale): Use
get_contiguous_pixbuf instead of manually allocating image
storage.
* io-xpm.c (pixbuf_create_from_xpm):
* io-pnm.c (gdk_pixbuf__pnm_image_load):
* io-jpeg.c (gdk_pixbuf__jpeg_image_load): Use gdk_pixbuf_new
instead of manually allocating image storage.
* io-png.c (gdk_pixbuf__png_image_load): Restructured to use
gdk_pixbuf_new instead of manually allocating image storage. This
gives us a good rowstride and overflow checks. (#77807)
* 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.
* 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.
* 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.
* 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.
* 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.
* 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.
* io-tga.c (try_colormap, gdk_pixbuf__tga_stop_load): Avoid a
double free error if reading the colormap fails.
* io-tiff.c (tiff_image_parse): Make TIFFReadRGBAImage stop on
errors, since it may otherwise segfault on certain bad TIFFs.
Wed Mar 20 16:36:08 2002 Owen Taylor <otaylor@redhat.com>
* gtk/*.c: Patch from Erwann Chenede, #73900 fixing
a lot of warnings with Forte CC, mostly implicit
casts between void * and function pointers.
* gdk/gdkevents.c (gdk_event_get_state): GdkEventVisibility's
state field is not a GdkModifierType. (Also #73900)
* 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).
* 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-12 Sven Neumann <sven@gimp.org>
* gdk-pixbuf.c (gdk_pixbuf_fill): use sequential writes instead of
calling memcpy(). Simpler and potentially faster. (#70332)
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 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.
Sat Mar 2 14:32:50 2002 Owen Taylor <otaylor@redhat.com>
* configure.in: Default to --disable-gtk-doc (avoid Jade
breakage) and --disable-static (static linking causes
problems with Xft changes.)
* autogen.sh: Add --enable-gtk-doc by default.
* Makefile.am: Add a 'mydistcheck' rule that passes
--enable-gtk-doc to the configure since that is needed
for 'make dist'.
* docs/tutorial/Makefile.am (dist-hook): Don't distribute
the PDF file. (Rule doesn't work on my system, plus it's
big.)
* gtk/Makefile.am: 'make dist' fixes.
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-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
* docs/tutorial/gtk-tut.sgml, examples/paned/paned.c,
examples/paned/Makefile: Make the paned example deprecation-clean.
* various ChangeLog files: correct my email.
* 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.
* 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.
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.
* 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)