* gdk-pixbuf-io.c (_gdk_pixbuf_get_module): If pure sniffing
yields uncertain results, try again with the filename.
Patch by Tyler Lawson
svn path=/trunk/; revision=22433
2009-02-12 Cody Russell <bratsche@gnome.org>
Bug 571576 – gdk_pixbuf_save_to_stream() broken
* gdk-pixbuf/gdk-pixbuf-io.c: Fix gdk_pixbuf_save_to_stream() so that
it does not always return FALSE (even when it succeeds), and also so
that it does not set error to NULL when something goes wrong.
svn path=/trunk/; revision=22322
2009-01-07 Matthias Clasen <mclasen@redhat.com>
Bug 566862 – pixbuf_new_from_file does not autodetect format
* gdk-pixbuf-io.c (_gdk_pixbuf_get_module): Go back to sniffing
without looking at the filename, to avoid breaking expected
functionality.
svn path=/trunk/; revision=22073
2008-09-13 Tor Lillqvist <tml@novell.com>
* gdk-pixbuf/gdk-pixbuf-io.c
* gtk/gtkmain.c: Don't use the deprectated
g_win32_get_package_installation_directory() and
g_win32_get_package_installation_subdirectory() functions. Use
g_win32_get_package_installation_directory_of_module()
instead. Also, don't use the deprecated silly
G_WIN32_DLLMAIN_FOR_DLL_NAME macro, but an explicit minimal
DllMain() that just saves the DLL handle.
svn path=/trunk/; revision=21381
2008-09-13 Tor Lillqvist <tml@novell.com>
* gdk-pixbuf/gdk-pixbuf-io.c
* gtk/gtkmain.c: Do as the docs for
g_win32_get_package_installation_directory() say and pass NULL as
the first parameter.
svn path=/trunk/; revision=21379
2008-07-11 Matthias Clasen <mclasen@redhat.com>
* gdk-pixbuf-io.c: Use GIO for sniffing image types, except
on Win32, where GIO doesn't do any sniffing.
svn path=/trunk/; revision=20820
any of the loaders
* queryloaders.c (write_loader_info): Add the license info
after the description.
* gdk-pixbuf-io.c (gdk_pixbuf_io_init): Read the license info
from the module file. Reported by Andrey Tsyvarev.
svn path=/trunk/; revision=20241
2008-05-27 Tor Lillqvist <tml@novell.com>
* io-*.c: Use explicit G_MODULE_EXPORT decoration when building
the loader in question as a module.
* gdk-pixbuf-io.c: Enable included build of the icns and jasper
loaders.
svn path=/trunk/; revision=20192
2008-03-23 Björn Lindqvist <bjourne@gmail.com>
* gdk-pixbuf/gdk-pixbuf-io.c (gdk_pixbuf_new_from_xpm_data): Guard
against NULL pointer. (#467051, Gian Mario Tagliaretti)
svn path=/trunk/; revision=19929
2008-03-21 Tor Lillqvist <tml@novell.com>
Import the GDI+ gdk-pixbuf loaders for Windows by Dominic
Lachowicz and Alberto Ruiz into the GTK+ tree, from the
gdip-pixbuf-loader module.
* configure.in: Add switch --disable-gdiplus-loaders that disables
building of the GDI+ loaders.
When including loaders in the gdk-pixbuf library, either build in
abll the GDI+ ones or none of them. Use just -DINCLUDE_gdiplus in
$INCLUDED_LOADER_DEFINE to signal building them in.
Add Automake conditionals BUILD_GDIPLUS_LOADERS to indicate
whether the GDI+ loaders should be built and INCLUDE_GDIPLUS to
indicate whether they should be built-in.
For the rest of the changes, see gdk-pixbuf/ChangeLog.
In gdk-pixbuf:
* Makefile.am: Add the bits and pieces for the GDI+ loaders. When
building GDI+ loaders don't build the traditional ones for the
same formats. Always build the traditional PNG loader, though, as
it isn't possible to read and write PNG tEXt chunks through GDI+,
and GIMP at least needs that functionality in the gdk-pixbuf PNG
loader.
Either build all the GDI+ loaders (except the PNG one) into
libgdk-pixbuf, or build them all as DLLs. I don't see any reason
to enable cherry-picking among them whether to build in or not.
* io-gdip-animation.c
* io-gdip-animation.h
* io-gdip-bmp.c
* io-gdip-emf.c
* io-gdip-gif.c
* io-gdip-ico.c
* io-gdip-jpeg.c
* io-gdip-native.h
* io-gdip-png.c
* io-gdip-propertytags.h
* io-gdip-tiff.c
* io-gdip-utils.c
* io-gdip-utils.h
* io-gdip-wmf.c: New files. Note that io-gdip-png.c is not
currently used.
* gdk-pixbuf-io.c: Add the bits and pieces for built-in GDI+
loaders.
svn path=/trunk/; revision=19914
2008-02-15 Matthias Clasen <mclasen@redhat.com>
* configure.in: Go back to 2.13.0 as version for now,
as there was no consensus to do the jump.
* many other places: Update Since: tags.
svn path=/trunk/; revision=19586
2008-02-12 Matthias Clasen <mclasne@redhat.com>
* gdk-pixbuf-io.c (at_scale_size_prepared_cb): Don't let
the width or height go below 1. (#516024, Christian Persch)
svn path=/trunk/; revision=19534
2008-01-16 Michael Natterer <mitch@imendio.com>
* gdk-pixbuf-io.c (save_to_stream): fix signature of this function
and propagate errors from g_output_stream_write(). Return error
also on incomplete writes (which don't generate an error by
themselves).
Unrelated:
(gdk_pixbuf_io_init): initialize "builtin_module" on a separate
line to avoid compiler warning in the common case of no built-in
modules.
svn path=/trunk/; revision=19378
2006-10-11 Tor Lillqvist <tml@novell.com>
* configure.in: Enable having some gdk-pixbuf loaders built-in
even if loading the others dynamically. Define Automake
conditional INCLUDE_FOO for each loader as TRUE if that loader is
built-in. See also gdk-pixbuf/ChangeLog.
2006-10-11 Tor Lillqvist <tml@novell.com>
Enable having some loaders built-in even if loading the others
dynamically. Have loaders in the same order as in configure.in in
all places where they are handled/listed.
* Makefile.am: Define the STATIC_FOO_LIB and FOO_LIB macros
conditionally depending on whether said loader is built-in or
not. Use the names libstatic-pixbufloader-foo.la instead of
libpixbufloader-static-foo.la for the built-in ones so that the
"echo libpixbufloader-*.la" won't match them.
* gdk-pixbuf-io.c: Reorganize code as to plumb the built-in
loaders also if USE_GMODULE. Don't warn about a missing
gdk-pixbuf.loaders file if we have at least one included loader.
* gdk-pixbuf-private.h
* io-*.c: Don't define a generic MODULE_ENTRY, as we can't use it
in the loaders anyway. Each loader needs to check if INCLUDE_foo
is defined.
2006-09-10 Matthias Clasen <mclasen@redhat.com>
* Commit a patch by Behdad to fix typos, omissions and other
errors in the symbol aliasing, and add checks for local PLT
entries. (#354687, Behdad Esfahbod)
2006-08-16 Matthias Clasen <mclasen@redhat.com>
* gdk-pixbuf-io.c (gdk_pixbuf_new_from_file_at_scale):
Stop loading an animation if the first frame is complete.
(#350911, Christian Neumair)
2006-03-20 Matthias Clasen <mclasen@redhat.com>
* gdk-pixbuf-animation.c:
* gdk-pixbuf-io.c:
* io-xpm.c:
* io-xbm.c:
* io-gif.c: Always save errno to a temporary before making
other calls. (#335179, Morten Welinder)
2006-02-28 Anders Carlsson <andersca@imendio.com>
* gdk-pixbuf-io.c:
Update documentation now that tiff supports saving.
* io-tiff.c:
(tiff_load_read):
(tiff_load_write):
(tiff_load_seek):
(tiff_load_close):
(tiff_load_size):
(tiff_load_map_file):
(tiff_load_unmap_file):
(gdk_pixbuf__tiff_image_stop_load):
Rename callback functions that are used during loading.
(tiff_save_read):
(tiff_save_write):
(tiff_save_seek):
(tiff_save_close):
(tiff_save_size):
(create_save_context):
(free_save_context):
New callback functions which operate on a memory buffer.
(gdk_pixbuf__tiff_image_save_to_callback):
Implement saving of pixbufs to tiffs.
(save_to_file_cb):
(gdk_pixbuf__tiff_image_save):
New function that saves a pixbuf to a FILE handle. Uses
save_to_callback.
(fill_vtable):
Add new functions.
(fill_info):
Change flags since this module supports writing now.
2005-08-30 Matthias Clasen <mclasen@redhat.com>
* io-png.c (png_save_to_callback_write_func): Add a cast
to avoid compiler warnings.
* pixops/timescale.c (main): Declare src_buf, dest_buf as
unsigned to avoid compiler warnings.
* gdk-pixbuf-io.h: Declare the prefix and mask members of
GdkPixbufModulePattern as char*, to avoid compiler warnings.
* io-ani.c (ani_load_chunk): Use g_try_new() in some places.
2005-07-22 Matthias Clasen <mclasen@redhat.com>
* gdk-pixbuf-io.c (format_check): Interpret patterns where
the first byte of the mask is '*' as unanchored. (#311011)
(gdk_pixbuf_new_from_file): Use the first 256 bytes for
sniffing the file format.
2005-07-01 Matthias Clasen <mclasen@redhat.com>
* gdk-pixbuf-io.c (gdk_pixbuf_new_from_file_at_scale): Allow
-1 for width/height and interpret them as "not constrained".
(#309258, Mark McLoughlin)
2005-05-24 Sven Neumann <sven@gimp.org>
* io-png.c: allow to specify the PNG compression level by passing
a "compression" parameter to the PNG save function (bug #305337).
* gdk-pixbuf-io.c (gdk_pixbuf_save): document the new parameter.
2005-03-14 Matthias Clasen <mclasen@redhat.com>
Make PLT-reduction work with gcc4, and don't include
everything in gdk-pixbuf-alias.h:
* gdk-pixbuf.symbols: Group symbols by header and source file.
* /makegdkpixbufalias.pl: Protect definitions by the same
preprocessor symbols used to guard the headers. Move
the alias declarations to a separate file which is
produced when calling makegdkpixbufalias.pl -def
* Makefile.am (gdk-pixbuf-aliasdef.c): Add a rule to generate
this file.
* *.c: Include gdk-pixbuf-alias.h after the other headers,
include gdk-pixbuf-aliasdef.c at the bottom.
2005-03-10 Tor Lillqvist <tml@novell.com>
* gdk-pixbuf-core.h
* gdk-pixbuf-io.c
* gdk-pixbuf.symbols: Implement DLL ABI stablility for
gdk_pixbuf_save() and gdk_pixbuf_savev(). (#167973)
2004-12-05 Tor Lillqvist <tml@iki.fi>
* gdk-pixbuf-animation.c
* gdk-pixbuf-io.c
* io-xbm.c
* io-xpm.c
* make-inline-pixbuf.c
* queryloaders.c: Use gstdio wrappers. Document that file names
are in the GLib file name encoding.
* gdk-pixbuf-csource.c
* queryloaders.c: On Windows, convert command line arguments and
environment variable values from locale encoding to UTF-8.
* queryloaders.c: On Windows, use wide character API when
available.
* Makefile.am
* gdk-pixbuf-core.h
* gdk-pixbuf-io.c
* gdk-pixbuf-animation.h
* gdk-pixbuf-animation.c: Like in GLib, for DLL ABI stability on
Windows, add binary compatibility versions of functions that take
file names as arguments. They use the system codepage, not GLib
file name encoding (which is UTF-8 on Windows). Use #defines to
make newly compiled code use the "real" functions that use the
GLib file name encoding scheme.
2004-11-15 Matthias Clasen <mclasen@redhat.com>
* gdk-pixbuf-animation.c:
* gdk-pixbuf-loader.c:
* gdk-pixbuf-io.c: Be extra careful when locking and handle
the case that the module may initialize the thread system.
* gdk-pixbuf-io.[hc] (_gdk_pixbuf_lock): Return whether the
lock was actually taken.
2004-11-12 Matthias Clasen <mclasen@redhat.com>
* gdk-pixbuf-io.c (gdk_pixbuf_io_init): Don't use
_gdk_pixbuf_load_module_unlocked() in the !USE_GMODULE case.
2004-11-12 Matthias Clasen <mclasen@redhat.com>
Changes to make gdk-pixbuf threadsafe (#157310, #157306,
Colin Walters):
* gdk-pixbuf-io.h (enum GdkPixbufFormatFlags): Add
GDK_PIXBUF_FORMAT_THREADSAFE to indicate that an image loader
is threadsafe.
* gdk-pixbuf-io.c (get_file_formats, _gdk_pixbuf_load_module):
Use a lock to make initialization of global data structures
threadsafe.
* gdk-pixbuf-private.h:
* gdk-pixbuf-io.c (_gdk_pixbuf_lock, _gdk_pixbuf_unlock):
Auxiliary functions which use another lock to protect
threadunsafe image loaders.
* gdk-pixbuf-io.c (gdk_pixbuf_real_save):
(save_to_callback_with_tmp_file):
(gdk_pixbuf_real_save_to_callback):
(gdk_pixbuf_new_from_xpm_data):
(_gdk_pixbuf_generic_image_load):
* gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file):
* gdk-pixbuf-loader.c (gdk_pixbuf_loader_load_module):
(gdk_pixbuf_loader_close):
(gdk_pixbuf_loader_finalize):
Use _gdk_pixbuf_lock() and _gdk_pixbuf_unlock().
* io-ani.c, io-bmp.c, io-gif.c, io-ico.c:
* io-jpeg.c, io-pcx.c, io-png.c, io-pnm.c:
* io-ras.c, io-tga.c, io-wbmp.c, io-xbm.c:
* io-xpm.c: Mark as threadsafe.
* io-tiff.c: Remove pointless locking, mark as
threadunsafe.
2004-11-10 Matthias Clasen <mclasen@redhat.com>
* gdk-pixbuf-animation.c:
* gdk-pixbuf-io.c: Use g_filename_display_name() instead of
g_filename_to_utf8() when putting filenames in error messages.