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)
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.
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)
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)
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.
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.
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.
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-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.
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)
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-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-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-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-10-28 Hans Breuer <hans@breuer.org>
* gtk/gtkfontsel.c : use g_strcasecmp(), some poor platforms
don't have strcasecmp()
* gtk/gtktextview.c : to fix crashing on e.g. TextView::find need
to remove the idle funcs in gtk_text_view_destroy (). To reduce
code duplication wrap it in its own function and use it in
gtk_text_view_unrealize () and gtk_text_view_destroy_layout ()
* gdk/win32/gdkdrawable-win32.c : implement the finalize
method like the X11 version does, allow to set_colormap NULL
* gdk/win32/gdkwindow-win32.c : adapt GdkWindowImplWin32::
set_colormap, also some adaption to X11 version :
(gdk_window_hide) call _gdk_window_clear_update_area
(gdk_window_reparent) call _gdk_window_init_position
* gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints) :
call gdk_window_resize() after all hints are set, because the
window resizing process (WM_GETMINMAXINFO) takes all of them into
account
* gdk/win32/gdkfont-win32.c : make gdk_font_equal return a gboolean
* gdk/win32/gdkvisual-win32.c : register GdkVisual with
sizeof (GdkVisualPrivate)
* gdk/gdk.def gtk/gtk.def : upated externals
* gdk/makefile.msc gdk/win32/makefile.msc gdk-pixbuf/makefile.msc
gdk-pixbuf/pixops/makefile.msc gtk/makefile.msc.in tests/makefile.msc :
from now on use make.msc from $(TOP)/glib/build/win32
* gtk/stock-icons/makefile.msc : add stock_missing_image
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-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-26 Hans Breuer <hans@breuer.org>
* gdk-pixbuf/gdk_pixbuf.def :
* gdk/gdk.def :
* gtk/gtk.def : updated externals
* gdk/win32/gdkpixmap-win32.c : removed duplicate of
gdk_window_lookup implementation. It already was in
gdk/win32/gdkwindow-win32.c
* gdk/win32/gdkproperty-win32.c : made it compile again
after GdkAtom API change
* gtk/gtk/makefile.msc.in : updated
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-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.
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.
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 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).
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.
Wed Sep 19 02:50:40 2001 Tim Janik <timj@gtk.org>
* demos/Makefile.am ($(testpixbuf_OBJECTS)): don't use BUILT_SOURCES
as its broken in automake 1.4, add explicit object rule to
generate this.
* gdk-pixbuf/Makefile.am: fix maintainer and normal cleanfiles.
get rid of uneccessary stamps, group stuff more logically, and build
sources due to object rules. fix srcdir!=builddir.
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
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.
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.
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.
Wed Aug 22 19:15:39 2001 Owen Taylor <otaylor@redhat.com>
[ Patch from Sebastian Wilhelmi, 52790 ]
* gtk/gtkversion.h.in gtk/gtk.h: New file replacing gtkcompat.h
* gdk/gdkcompat.h gdk/gdk*.h gtk/gtkcompat.h.in gtk/gtk*.h:
Move compatibility macros from g[dt]kcompat.h to within
#ifndef G[DT]K_DISABLE_DEPRECATED in each file.
* gdk/gdk-pixbuf-csource.c: Fix up include of gtkcompat.h.
* demos/Makefile.am demos/gtk-demo/Makefile.am
docs/reference/gdk-pixbuf/Makefile.am modules/input/Makefile.am
tests/Makefile.am: Remove references to -G[DT]K_DISABLE_DEPRECATED.
* demos/{pixbuf-demo.c,testpixbuf-drawable.c,testpixbuf-save.c,
testpixbuf.c}: Fix usages of deprecated functions.
* test-images.h, test-loaders.c: Add ico and wbmp tests.
* io-jpeg.c (gdk_pixbuf__jpeg_image_save): Fail with a suitable
error if buffer allocation fails.
* io-ico.c: Make .ICO loader more robust.
All of these are due to sandmann@daimi.au.dk (#50187)
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-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
* 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.
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-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.
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.
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-08 Havoc Pennington <hp@redhat.com>
* gdk-pixbuf-loader.c (gdk_pixbuf_loader_load_module): remove
bogus g_return_if_fail
* io-gif.c (gif_get_lzw): if delay time is 0 or smaller than
likely timeout resolution, set it to an arbitrarily-chosen short
delay.
Fixes bug #55953 from warmenhoven@yahoo.com
2001-06-07 Havoc Pennington <hp@redhat.com>
* gtk/Makefile.am: fixups for glib-mkenums and glib-genmarshal
(not tested yet because with absolute path to srcdir I can't build
atk, but it was broken anyway so this may help)
2001-06-07 Havoc Pennington <hp@redhat.com>
* m4macros/glib-2.0.m4: subst GLIB_GENMARSHAL, GOBJECT_QUERY,
GLIB_MKENUMS variables
* gmodule-2.0.pc.in: add gmodule_supported variable
* glib-2.0.pc.in: add glib_genmarshal, gobject_query,
glib_mkenums variables
* configure.in: put G_MODULE_SUPPORTED value into
.pc files
* autogen.sh: support AUTOGEN_SUBDIR_MODE
* Makefile.am: add -uninstalled.pc.in to EXTRA_DIST
2001-06-07 Havoc Pennington <hp@redhat.com>
* pango/Makefile.am: add libpango.la to _DEPENDENCIES for the
other libs
* configure.in: use AM_PATH_GLIB_2_0
* autogen.sh: support AUTOGEN_SUBDIR_MODE
* Makefile.am: dist the .pc.in files
2001-06-07 Havoc Pennington <hp@redhat.com>
* atk/Makefile.am: use @GLIB_GENMARSHAL@ so we can use uninstalled
glib-genmarshal
* configure.in: rearrange the library checks to support
uninstalled linking
* autogen.sh: add support for AUTOGEN_SUBDIR_MODE
* atk-uninstalled.pc.in: new file, allows linking to uninstalled
ATK in giant GTK tarball
2001-06-07 Havoc Pennington <hp@redhat.com>
* tests/Makefile.am: add missing -I flag
* gtk/Makefile.am: use @GLIB_MKENUMS@, @GLIB_GENMARSHAL@, etc.
* configure.in: use pkg-config to see if GModule is
supported; fix to properly turn on included loaders
when GModule isn't supported; don't use AC_CHECK_LIB
when libs are not installed yet
* autogen.sh: add support for AUTOGEN_SUBDIR_MODE
* Makefile.am (SUBDIRS): add m4macros subdir
* gtk/Makefile.am: $(srcdir)/foo targets must be $(srcdir)/foo in
dependencies also.
2001-06-05 Havoc Pennington <hp@redhat.com>
* gtk/gtkspinbutton.c (gtk_spin_button_set_range): clamp the value
to the range that was set
* gtk/gtkrange.c: add value_changed signal, primarily
intended for use with GtkScale
(gtk_range_set_increments): new function
(gtk_range_set_range): new function with weird name
(gtk_range_set_value): new function
(gtk_range_get_value): new function
* gtk/gtkspinbutton.c (gtk_spin_button_get_value): rename
from gtk_spin_button_get_value_as_float(). Compat #define
added for get_value_as_float.
* gtk/gtkhscale.c (gtk_hscale_new_with_range): new function
* gtk/gtkvscale.c (gtk_vscale_new_with_range): new function
2001-06-05 Havoc Pennington <hp@redhat.com>
* test-loaders.c (main): use putenv not setenv, reported by
Armin Theissen
2001-05-10 Havoc Pennington <hp@redhat.com>
* gtk/gtksettings.c (gtk_settings_get_property): Handle case where
we need to parse the xsetting as if it were an RC file string.
* gtk/gtkcolorsel.c (gtk_color_selection_class_init): load initial
value of palette from settings, not from static variable
* gdk/x11/gdkevents-x11.c: add color palette, toolbar mode to
xsettings translation table
* gtk/gtktoolbar.c (gtk_toolbar_new): Remove arguments, because
hardcoding the toolbar style conflicts with new customizable
toolbar style philosophy
(gtk_toolbar_class_init): add settings for default toolbar style;
these are used unless the app specifically forces a toolbar style
* gtk/gtksettings.c (settings_install_property_parser): only
return at the start if we warn and parser == NULL
* gtk/gtkcolorsel.c (gtk_color_selection_finalize): disconnect the
palette changed handler so we don't notify dead color selections
* gtk/gtkstyle.c (gtk_default_draw_shadow): handle
xthickness/ythickness of 0 or 1 properly
(gtk_default_draw_resize_grip): clear the background behind the
resize grips, and align to bottom right if we square the
area to be drawn.
* gtk/gtkstatusbar.c (gtk_statusbar_init): set horizontal usize on
statusbar label to 1, so it doesn't make toplevels resize oddly
(gtk_statusbar_size_request): add grip size to request
(gtk_statusbar_size_allocate): hack so the hbox still works with
the grip size in the request
* gtk/gtktoolbar.c (gtk_toolbar_show_all): override to fix
bug where showing all on a toplevel makes the toolbar
button text appear despite the toolbar mode
* gtk/gtkmenubar.c: add internal padding style property
* gtk/gtktoolbar.c: Add internal padding style property; add
shadow type style property
* gtk/gtkmenubar.c (gtk_menu_bar_paint): paint box with widget
state; and put Container::border_width outside the frame
* gtk/gtktextview.c: don't draw focus rectangle if we're in
interior focus mode, we just use blinking cursor
Fri Jun 1 18:54:47 2001 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreeview.c: (gtk_tree_view_focus): Initial stab at
getting the focus code to work.
(gtk_tree_view_class_init): Add a bunch of keybindings.
* gtk/gtktreeviewcolumn.c
(gtk_tree_view_column_set_cell_data_func):
s/GtkCellDataFunc/GtkTreeCellDataFunc.
(_gtk_tree_view_column_set_tree_view): Use "notify::model" instead
of "properties_changed" to help justify the death of the latter
signal. (-:
* tests/testtreefocus.c (main): Let some columns be focussable to
test focus better.
Sun May 13 12:01:12 2001 Owen Taylor <otaylor@redhat.com>
* autogen.sh (have_automake): Require libtool-1.4,
automake-1.4p1.
* acinclude.m4: Remove libtool macros.
* gdk-pixbuf/Makefile.am: Add dependencies to loade
modules.
* gdk/Makefile.am: Add dependency on libgdk_pixbuf.la
for libgdk.
* gtk/Makefile.am: Add dependency on libgdk_pixbuf.la
libgdk.la for libgtk.
* modules/input/Makefile.am: Make modules have full
dependencies.
2001-05-04 Havoc Pennington <hp@redhat.com>
* configure.in: fix some shell typos
* gtk/gtkcolorsel.c (gtk_color_selection_destroy): warning fix
* gtk/gtkimage.c: handle animations
* gtk/gtkcheckbutton.c (gtk_check_button_size_request): request
border_width * 2, not just border_width
* gtk/gtkscale.c: add "format_value" signal to allow people
to override the way values are drawn.
(gtk_scale_get_value_size): fix width/height mistake,
and compute size from actual displayed text, not
from made-up text.
* gtk/gtktexttag.c (gtk_text_tag_class_init): fix return type in
signal registration
* tests/testtext.c: Add "Remove all tags" menu item for testing
* gtk/gtktextbuffer.c (gtk_text_buffer_remove_all_tags): implement
* demos/gtk-demo/main.c (main): add hack so we can find modules
without installing gtk
* demos/gtk-demo/textview.c (insert_text): demo font scaling
* gtk/gtkcellrenderertext.c: Add "scale" property (font scaling
factor)
(gtk_cell_renderer_text_set_property): remove some bogus
g_object_notify
* gtk/gtktexttag.c: add "scale" property which is a font scaling
factor
* gtk/gtktextlayout.c (add_text_attrs): add font scale attribute
to layout
* gtk/gtktextiter.c (gtk_text_iter_is_start): rename from
gtk_text_iter_is_first
2001-05-04 Havoc Pennington <hp@redhat.com>
* pixops/pixops.c (pixops_process): merge fix from stable: Patch
from hoshem@mel.comcen.com.au to fix nonzero X offsets. Fixes
bug #50371.
* gdk-pixbuf/pixops/pixops.c (pixops_composite_nearest): merge
from stable: Patch from OKADA Mitsuru <m-okada@fjb.co.jp> to fix
confusion of using "src" instead of "p".
(pixops_composite_color_nearest): Use a more accurate (and
correct, to begin with) compositing method. This cures checks
showing through on images with no alpha.
* gdk-pixbuf.c (gdk_pixbuf_fill): fix bug that left some trailing
bytes unfilled.
* gdk-pixbuf-io.h: fix UpdatedNotifyFunc to use signed ints
* gdk-pixbuf-loader.h (struct _GdkPixbufLoaderClass): Change
area_updated signal to use signed ints. Removed animation-related
signals.
* io-gif.c, io-gif-animation.h, io-gif-animation.c: Massive
rewrite action
* gdk-pixbuf-animation.c: Add GdkPixbufAnimationIter to abstract
all the pesky details. Remove old frame-based API. Make
GdkPixbufAnimation an abstract base class, derived by the loaders.
Thu May 3 14:13:49 2001 Owen Taylor <otaylor@redhat.com>
* INSTALL.in HACKING gtk/gtkaccessible.[ch] gtk/gtk.c: Add
dependency on Atk for accessibility support.
* configure.in **/Makefile.am: Major reworking of substituted
variables for CFLAGS/LIBS to make a lot more sane and
keep the the compile/link lines a bit shorter.
* gdk/x11/gdkkeys-x11.c: Fix #endif with trailing stuff.
2001-04-18 Havoc Pennington <hp@redhat.com>
* gtk/gtkimage.c: fix to properly queue resizes when the image is
set
* gtk/gtktextview.c (gtk_text_view_do_popup): desensitize Paste
if the insertion point isn't editable
* demos/gtk-demo/images.c: Added a GtkImage demo
* demos/gtk-demo/drawingarea.c: drawing area demo
* demos/gtk-demo/menus.c (create_menu): cleanups
2001-04-18 Havoc Pennington <hp@redhat.com>
* gdk-pixbuf.c (gdk_pixbuf_fill): Function to fill pixbuf with a
given color.
2001-03-31 Hans Breuer <hans@breuer.org>
* config.h.win32.in : disable USE_MMX for msvc build cause
the assembler doesn't fit and is out of my scope. Disable
USE_GMODULE for msvc build as wel. The right way to share
binaries on win32 would be to use libtiff.dll etc. To reduce
installation hassles IMO it's better to include all fileformats
builtin to gdk-pixbuf
* gdk-pixbuf/makefile.msc : new file
* gdk/gdk.def : updated
* gdk/win32/gdkevents-win32.c : don't erase the background if
.no_bg is set. It improves the scrolling (e.g. of testgtk main
buttons
* gdk/win32/gdkgeometry-win32.c : added comment about the above
* gdk/win32/gdkwindow-win32.c : added three new functions like
the X version. Only one is implemented, because the other two
"gdk_window_begin_(resize|move)_drag" got no docs and appear to
be default behaviour on win32 anyway ...
* gtk/gtk.def : updated
* gtk/makefile.msc.in : update for new files, use glib-genmarshal
from where it was built and add an additional rule to automagically
build gtkmarshal.[hc]
* gtk/gtkfilesel.c (open_new_dir) : don't increase n_entries
before array access for the current entry isn't finished
* gtk/gtktreeitem.c (gtk_tree_item_subtree_button_click) :
use g_return_val_if_fail
* gtk/testgtk.c (window_controls) : don't use the *wrong* size
for the static array, but let the compiler calculate it. It
makes me wonder if gcc isn't capable to catch bugs like this ...