summaryrefslogtreecommitdiff
path: root/gdk-pixbuf/io-xbm.c
Commit message (Collapse)AuthorAgeFilesLines
* XBM: Fix signed integer overflow.Tobias Stoeckmann2020-06-261-2/+2
| | | | | | | | | | | | | | | | Parsing an XBM file with pixel bits larger than int leads to undefined behavior (signed integer overflow). Since only the lowest 8 bits are used, this patched code produces the same images as before. Also do not increment gotone but set it to a value. If more than INT_MAX values are parsed, this int would overflow as well. Proof of Concept (compile with -fsanitize=undefined or -ftrapv): static unsigned char poc_bits[] = { 0xFFFFFFFF };
* loaders: Make the names of prepared_func and updated_func consistentFederico Mena Quintero2020-01-071-10/+10
| | | | | | | | | They were prepare_func/prepared_func, and update_func/updated_func in various places. Since their corresponding type names are GdkPixbufModulePreparedFunc and GdkPixbufModuleUpdatedFunc, make all the fields be called prepared_func and updated_func to make them easier to grep.
* XBM: assert and assume that the module callbacks are non-NULLFederico Mena Quintero2020-01-071-3/+6
|
* io-xbm.c: Don't use gdk-pixbuf-private.hFederico Mena Quintero2018-06-011-1/+3
|
* io-xbm: Fix potential overflows in read_bitmap_file_data()Philip Withnall2017-02-071-6/+22
| | | | | | | | | | ww and hh are both potentially tainted data (as they come from a potentially attacker controlled file), so we need to ensure that all arithmetic is bounds checked. Coverity ID: 1388540 https://bugzilla.gnome.org/show_bug.cgi?id=777374
* loaders: Simplify and shorten the loader namesBastien Nocera2014-10-241-1/+1
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=641106
* Updated FSF's addressDaniel Mustieles2014-01-311-3/+1
|
* Make some string data constMatthias Clasen2013-12-181-6/+6
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=144042
* Avoid an integer overflow in the xbm loaderMatthias Clasen2012-04-141-2/+10
| | | | | | | At the same time, reject some silly input, such as negative width or height. https://bugzilla.gnome.org/show_bug.cgi?id=672811
* Replace the aliasing hacks by -Bsymbolic-functionsMatthias Clasen2010-07-091-4/+0
| | | | This is copying similar changes from glib.
* Include alias header when using built-in loadersColin Walters2010-07-061-0/+6
| | | | | | | | If we're building a loader like png into gdk-pixbuf, we need to include the alias header. Otherwise we get internal PLT entries, which makes make check fail. https://bugzilla.gnome.org/show_bug.cgi?id=623314
* Make it compileMatthias Clasen2010-06-251-1/+0
|
* Include "config.h" instead of <config.h> Command used: find -nameJohan Dahlin2008-06-221-1/+1
| | | | | | | | | | | | 2008-06-21 Johan Dahlin <jdahlin@async.com.br> * *.[ch]: Include "config.h" instead of <config.h> Command used: find -name \*.[ch]|xargs perl -p -i -e 's/^#include <config.h>/#include "config.h"/g' Rubberstamped by Mitch and Tim svn path=/trunk/; revision=20669
* Use g_set_error_literal where appropriate. Bug #538640.Christian Persch2008-06-191-12/+12
| | | | svn path=/trunk/; revision=20463
* Use explicit G_MODULE_EXPORT decoration when building the loader inTor Lillqvist2008-05-271-6/+4
| | | | | | | | | | | | | 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
* Enable having some gdk-pixbuf loaders built-in even if loading the othersTor Lillqvist2006-10-111-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Fix incremental loading of xbms. (#346427, Ed Catmur) Also make the xbmMatthias Clasen2006-07-171-18/+28
| | | | | | | | 2006-07-16 Matthias Clasen <mclasen@redhat.com> * io-xbm.c: Fix incremental loading of xbms. (#346427, Ed Catmur) Also make the xbm loader accept const variations.
* Always save errno to a temporary before making other calls. (#335179,Matthias Clasen2006-03-201-1/+2
| | | | | | | | | | | 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)
* Always check for NULL when using callbacks. (#330563, Benjamin Otte)Matthias Clasen2006-02-101-2/+3
| | | | | | | | | | | | 2006-02-10 Matthias Clasen <mclasen@redhat.com> * io-jpeg.c: * io-png.c: * io-pnm.c: * io-tiff.c: * io-xbm.c: * io-xpm.c: Always check for NULL when using callbacks. (#330563, Benjamin Otte)
* gdk-pixbuf-animation.c gdk-pixbuf-io.c io-xbm.c io-xpm.cTor Lillqvist2004-12-051-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Changes to make gdk-pixbuf threadsafe (#157310, #157306, Colin Walters):Matthias Clasen2004-11-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* New functions to disable/enable individual loaders and to obtain licenseMatthias Clasen2004-07-081-0/+1
| | | | | | | | | | | | | | | | | | | | | Wed Jul 7 23:53:58 2004 Matthias Clasen <maclas@gmx.de> * gdk-pixbuf-io.h: * gdk-pixbuf-io.c (gdk_pixbuf_format_is_disabled): * gdk-pixbuf-io.c (gdk_pixbuf_format_set_disabled): * gdk-pixbuf-io.c (gdk_pixbuf_format_get_license): New functions to disable/enable individual loaders and to obtain license information about loaders. * gdk-pixbuf-io.h (GdkPixbufFormat): Add disabled and license fields. * gdk-pixbuf-io.c (_gdk_pixbuf_get_module): * gdk-pixbuf-io.c (_gdk_pixbuf_get_named_module): Skip disabled loaders. * io-*.c: Add license information in the fill_info functions.
* include <io.h> for lseek() use HAVE_UNISTD_HHans Breuer2004-02-281-0/+2
| | | | | | | 2004-02-28 Hans Breuer <hans@breuer.org> * io-tiff.c : include <io.h> for lseek() * io-xbm.c : use HAVE_UNISTD_H
* Support for separately installed loaders. (#77486)Matthias Clasen2002-10-031-10/+36
| | | | | | | | | | | | | | | | | * Makefile.am gdk-pixbuf-animation.c gdk-pixbuf-data.c gdk-pixbuf-io.c gdk-pixbuf-io.h gdk-pixbuf-loader.c gdk-pixbuf-loader.h gdk-pixbuf-private.h gdk-pixbuf.h gdk-pixdata.c io-ani-animation.h io-ani.c io-bmp.c io-gif-animation.c io-gif-animation.h io-gif.c io-ico.c io-jpeg.c io-png.c io-pnm.c io-ras.c io-tga.c io-tiff.c io-wbmp.c io-xbm.c io-xpm.c pixbufloader_ani.def pixbufloader_bmp.def pixbufloader_gif.def pixbufloader_ico.def pixbufloader_jpeg.def pixbufloader_png.def pixbufloader_pnm.def pixbufloader_ras.def pixbufloader_tga.def pixbufloader_tiff.def pixbufloader_wbmp.def pixbufloader_xbm.def pixbufloader_xpm.def test-gdk-pixbuf.c gdk-pixbuf-animation.h queryloaders.c: Support for separately installed loaders. (#77486)
* Remove the _-prefix from gdk_pixbuf_set_option andMatthias Clasen2002-09-191-2/+2
| | | | gdk_pixbuf_non_anim_new again.
* _-prefix gdk_pixbuf_non_anim_new and gdk_pixbuf_set_option. Adjust allMatthias Clasen2002-09-171-2/+2
| | | | | | | * io-xpm.c, io-xbm.c, io-ico.c, io-ani.c, io-png.c, gdk-pixbuf.c, gdk-pixbuf-animation.c, gdk-pixbuf-loader.c, gdk-pixbuf-private.h: _-prefix gdk_pixbuf_non_anim_new and gdk_pixbuf_set_option. Adjust all callers.
* Attach hotspot coordinates to the pixbuf as options "x_hot" and "y_hot".Matthias Clasen2002-09-061-0/+8
| | | | | | | * 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".
* Load-at-size functionality for gdk-pixbuf.Matthias Clasen2002-07-061-1/+2
|
* Accept xbms starting with a C comment - those seem to be not uncommon,Matthias Clasen2002-05-311-0/+2
| | | | | | | | | | * 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.
* Wean this from <ctype.h>.Darin Adler2002-02-081-3/+2
| | | | * io-xbm.c: (next_int): Wean this from <ctype.h>.
* Remove assorted G_OBJECT casts where unnecessary.Sebastian Wilhelmi2001-12-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Use -no-undefined on Win32. Make libgdk_pixbuf_1_3_la_OBJECTS depend onTor Lillqvist2001-10-291-3/+3
| | | | | | | | | | | | | | | | | 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().
* Don't dereference context when it may be NULL. (#62344)Matthias Clasen2001-10-181-2/+1
| | | | | * io-xbm.c (gdk_pixbuf__xbm_image_load_real): Don't dereference context when it may be NULL. (#62344)
* Add missing <stdlib.h> include. Add ifdef so we compile without warningsDarin Adler2001-07-181-2/+2
| | | | | | | | | | | | | * 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.
* fix some shell typosHavoc Pennington2001-05-071-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Add built marshaller files to support GdkPixbufLoader signalsHavoc Pennington2001-01-221-14/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-01-22 Havoc Pennington <hp@redhat.com> * Makefile.am: Add built marshaller files to support GdkPixbufLoader signals * gdk-pixbuf-io.c (gdk_pixbuf_load_module): have GDK_PIXBUF_MODULEDIR unconditionally replace the compiled-in module location, rather than acting as a fallback, because we are using GDK_PIXBUF_MODULEDIR to use gdk-pixbuf before installing it. * gdk-pixbuf.h: include gdk-pixbuf-loader.h * gdk-pixbuf-loader.h, gdk-pixbuf-loader.c: Move back over here from gtk, and add error to close(), because stop_load may do parsing of the image. * pixops/have_mmx.S (_pixops_have_mmx): add newline at end of file * io-*.c: make individual operations static, and add fill_vtable functions which are exported. Fix the collection of type warnings that surfaced, including a number of functions that didn't properly take a GError and some that weren't const-correct. Involved adding error handling for a few loaders. * gdk-pixbuf-io.h: Add error reporting to stop_load function * gdk-pixbuf-io.c (gdk_pixbuf_load_module): change to just look up a function that fills in the GdkPixbufModule vtable, instead of looking up all the image functions individually; this means we can get type safety within modules for the loader functions. Also it means you don't have to keep the statically compiled and GModule versions in sync. * test-gdk-pixbuf.c (main): remove gdk_pixbuf_init() * make-inline-pixbuf.c (main): remove call to gdk_pixbuf_init() * gdk-pixbuf.h: nuke gdk_pixbuf_init() * gdk-pixbuf-animation.c (gdk_pixbuf_frame_get_type): g_type_init () here * gdk-pixbuf.c (gdk_pixbuf_get_type): g_type_init () here * gdk-pixbuf-animation.c (gdk_pixbuf_animation_get_type): g_type_init() here 2001-01-22 Havoc Pennington <hp@redhat.com> * demos/testanimation.c: fix to reflect gdk-pixbuf changes * demos/testpixbuf.c: fix to reflect gdk-pixbuf changes * gtk/gdk-pixbuf-loader.c, gtk/gdk-pixbuf-loader.h: Remove, move back to gdk-pixbuf * gtk/gtktextiter.c, gtk/gtktextiter.h: add sentence equivalents to all the word functions * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): return before doing anything on NULL layout or if we don't have the focus * gtk/testtext.c (fill_example_buffer): "justification" * gtk/gtktexttag.h, gtk/gtktexttag.c: change the tag attribute to be called "justification" not "justify" * demos/gtk-demo/textview.c (create_tags): "justification" * gtk/gtktextlayout.c (set_para_values): Handle char-wise wrapping
* new pixbuf loader, for X bitmap files. Basically a collision betweenJohn Harper2001-01-221-0/+406
2001-01-20 John Harper <jsh@eazel.com> * io-xbm.c: new pixbuf loader, for X bitmap files. Basically a collision between Xlib's RdBitF.c and io-tiff.c * gdk-pixbuf-io.c, Makefile.am, pixbufloader_xbm.def: added io-xbm.c support [ merged from stable gdk-pixbuf module. Untested, but it compiles, and works fine in the stable module ]