]> Pileus Git - ~andy/gtk/blob - gdk-pixbuf/ChangeLog
2.13.4
[~andy/gtk] / gdk-pixbuf / ChangeLog
1 2008-07-05  Matthias Clasen  <mclasen@redhat.com>
2
3         * === Released 2.13.4 ===
4
5 2008-06-18  Matthias Clasen  <mclasen@redhat.com>
6
7         * io-ico.c: Add image/x-win-bitmap to the supported mimetypes,
8         since that is what shared-mime-info uses for .cur
9
10 2008-06-13  Matthias Clasen  <mclasen@redhat.com>
11
12         * === Released 2.13.3 ===
13
14 2008-06-13  Hans Breuer  <hans@breuer.org>
15
16         * makefile.msc : updated to allow simple switch between gdiplus- and
17         former fileformat backends
18         * io-tiff.c : use g_snprintf
19
20 2008-06-13  Matthias Clasen  <mclasen@redhat.com>
21
22         Bug 531960 – crash in eog-image.c:1154: (priv->image != NULL)
23
24         * io-ico.c: Check headers more thorougly.
25         Patch by Felix Riemann
26
27 2008-06-03  Matthias Clasen  <mclasen@redhat.com>
28
29         * === Released 2.13.2 ===
30
31 2008-06-02  Behdad Esfahbod  <behdad@gnome.org>
32
33         * Makefile.am: Add gdk-pixbuf-features.h to BUILT_SOURCES.
34
35 2008-05-29  Matthias Clasen <mclasen@redhat.com>
36
37         * io-jasper.c:
38         * io-ico.c:
39         * io-icns.c: Use the correct INCLUDE_ macros.
40
41 2008-05-29  Matthias Clasen <mclasen@redhat.com>
42
43         * === Released 2.13.1 ===
44
45 2008-05-29  Matthias Clasen  <mclasen@redhat.com>
46
47         Bug 535453 - gdk_pixbuf_format_get_license returns NULL for 
48         any of the loaders
49
50         * queryloaders.c (write_loader_info): Add the license info
51         after the description.
52
53         * gdk-pixbuf-io.c (gdk_pixbuf_io_init): Read the license info
54         from the module file. Reported by Andrey Tsyvarev.
55
56 2008-05-28  Michael Natterer  <mitch@imendio.com>
57
58         * gdk-pixbuf.h: define GDK_PIXBUF_H_INSIDE around including all
59         other headers.
60
61         * gdk-pixbuf-animation.h
62         * gdk-pixbuf-core.h
63         * gdk-pixbuf-enum-types.h.template
64         * gdk-pixbuf-features.h.in
65         * gdk-pixbuf-io.h
66         * gdk-pixbuf-loader.h
67         * gdk-pixbuf-simple-anim.h
68         * gdk-pixbuf-transform.h: add single-include guards that #error
69         out if GDK_PIXBUF_DISABLE_SINGLE_INCLUDES is defined and any of
70         these files is included individually.
71
72         * gdk-pixbuf-private.h: don't incude "gdk-pixbuf-io.h".
73
74         * gdk-pixbuf-csource.c: #define __GTK_H_INSIDE__ around including
75         "../gtk/gtkversion.h". Ugly but needed in this special case.
76
77 2008-05-27  Tor Lillqvist  <tml@novell.com>
78
79         * io-*.c: Use explicit G_MODULE_EXPORT decoration when building
80         the loader in question as a module.
81
82         * gdk-pixbuf-io.c: Enable included build of the icns and jasper
83         loaders.
84
85 2008-05-27  Michael Natterer  <mitch@imendio.com>
86
87         * gdk-pixbuf.c: put back the #define, but call it
88         GDK_PIXBUF_C_COMPILATION.
89
90         * gdk-pixbuf-features.h.in: make variable export depend on that
91         define instead of GDK_PIXBUF_COMPILATION.
92
93 2008-05-27  Michael Natterer  <mitch@imendio.com>
94
95         Fix and simplify definition of GDK_PIXBUF_VAR:
96
97         * Makefile.am: add -DGDK_PIXBUF_COMPILATION to INCLUDES.
98
99         * gdk-pixbuf.c: don't #define it here. Remove GDK_PIXBUF_VAR from
100         the definition of the version variables.
101
102         * gdk-pixbuf-features.h.in: in the !G_PLATFORM_WIN32 case, always
103         define GDK_PIXBUF_VAR to "extern". Remove redundant #ifndef
104         GDK_PIXBUF_VAR around the whole block, the header itself already
105         has include guards.
106
107 2008-05-12  Tor Lillqvist  <tml@novell.com>
108
109         Bug 532558 - Cannot build dll when using separate builddir
110
111         * Makefile.am: .def file belongs in $(srcdir). Patch by Marko
112         Lindqvist.
113
114 2008-05-02  Michael Natterer  <mitch@imendio.com>
115
116         * Makefile.am (stamp-gdk-pixbuf-marshal.h): deprecate the entire
117         gdk-pixbuf-marshal.h since it's installed by accident only and
118         shouldn't be used by anybody.
119
120 2008-03-21  Tor Lillqvist  <tml@novell.com>
121
122         Import the GDI+ gdk-pixbuf loaders for Windows by Dominic
123         Lachowicz and Alberto Ruiz into the GTK+ tree, from the
124         gdip-pixbuf-loader module.
125
126         * Makefile.am: Add the bits and pieces for the GDI+ loaders. When
127         building GDI+ loaders don't build the traditional ones for the
128         same formats. Always build the traditional PNG loader, though, as
129         it isn't possible to read and write PNG tEXt chunks through GDI+,
130         and GIMP at least needs that functionality in the gdk-pixbuf PNG
131         loader. 
132
133         Either build all the GDI+ loaders (except the PNG one) into
134         libgdk-pixbuf, or build them all as DLLs. I don't see any reason
135         to enable cherry-picking among them whether to build in or not.
136
137         * io-gdip-animation.c
138         * io-gdip-animation.h
139         * io-gdip-bmp.c
140         * io-gdip-emf.c
141         * io-gdip-gif.c
142         * io-gdip-ico.c
143         * io-gdip-jpeg.c
144         * io-gdip-native.h
145         * io-gdip-png.c
146         * io-gdip-propertytags.h
147         * io-gdip-tiff.c
148         * io-gdip-utils.c
149         * io-gdip-utils.h
150         * io-gdip-wmf.c: New files. Note that io-gdip-png.c is not
151         currently used.
152
153         * gdk-pixbuf-io.c: Add the bits and pieces for built-in GDI+
154         loaders.
155
156         == ChangeLog from gdip-pixbuf-loaders follows: ==
157
158 2008-03-19  Tor Lillqvist  <tml@novell.com>
159
160         * src/io-gdip-utils.c: Drop misleading old comment.
161
162         * src/io-gdip-native.h: Fix typo: s/WINGDIAPI/WINGDIPAPI/.
163
164 2008-03-17  Tor Lillqvist  <tml@novell.com>
165
166         * src/io-gdip-utils.h (MODULE_ENTRY): Use the more descriptive
167         INCLUDE_gdiplus instead of INCLUDE_gdi. (Will be used when this is
168         moved to GTK+ and the gdip loaders are built-in in libgdk-pixbuf.)
169         Use G_MODULE_EXPORT so that only fill_info and fill_vtable get
170         exported in the separate loader DLLs case.
171
172         * src/io-gdip-emf.c
173         * src/io-gdip-ico.c
174         * src/io-gdip-wmf.c: Use unique type parameters to MODULE_ENTRY so
175         that we won't get clashes when building all the gdip loaders in to
176         libgdk-pixbuf.
177
178 2008-03-17  Tor Lillqvist  <tml@novell.com>
179
180         * src/Makefile.am: Remove libpixbufloader-gdip.la, and add missing
181         loaders to loader_LTLIBRARIES. Set loaderdir to use proper GTK+
182         binary version using pkg-config. Add final newline.
183
184 2008-03-15  Dominic Lachowicz <domlachowicz@gmail.com>
185
186         * io-gdip.c: Remove
187         * io-gdip-ico.c:
188         * io-gdip-wmf.c:
189         * io-gdip-emf.c: Separate these into their own loaders, so that existing
190         code that calls "gdk_pixbuf_loader_for_type()" and friends continues
191         to work as expected.
192         * Makefile.test:
193         * Makefile.am: Reflect the above changes
194         * io-gdip-native.h:
195         * io-gdip-utils.c: Better error reporting; handle metafiles properly
196         (loading them as bitmaps doesn't work; you have to load them as a
197         generic image or metafile and then draw them onto a bitmap)
198         
199 2008-03-06  Alberto Ruiz <aruiz@gnome.org>
200
201         * configure.ac: Use the .exe version of the gdk query loaders if the build
202         is for a windows target.
203
204 2008-03-04  Dominic Lachowicz <domlachowicz@gmail.com>
205
206         * src/io-gdip-utils.c: More informative error codes, taken from the COM HRESULT
207         
208 2008-03-03  Dominic Lachowicz <domlachowicz@gmail.com>
209
210         * src/io-gdip-native.h:
211         * src/io-gdip-jpeg.c: Support setting the JPEG's quality, just like GdkPixbuf's 
212         built-in JPEG encoder
213         * src/io-gdip-png.c: Support setting the PNG's compression level, just like
214          GdkPixbuf's built-in PNG encoder
215         
216 2008-02-25  Tor Lillqvist  <tml@novell.com>
217
218         * configure.ac: Move AC_DISABLE_STATIC before AC_PROG_LIBTOOL so
219         that it works better.
220
221 2008-02-24  Dom Lachowicz <domlachowicz@gmail.com>
222
223         * src/io-gdip-animation.[ch]: Animation class and interator
224         * src/io-gdip-utils.c: Use animation iter. GDI+ animations now work.
225         
226 2008-02-24  Dom Lachowicz <domlachowicz@gmail.com>
227
228         * src/io-gdip-utils.c: Simple animation working; need to use a more sophisticated
229         animation class
230         
231 2008-02-24  Dom Lachowicz <domlachowicz@gmail.com>
232
233         * src/*.c: Change to GTK+-style indentation; stub out some stuff
234         for animation support
235         
236 2008-02-22  Dom Lachowicz <domlachowicz@gmail.com>
237
238         * src/Makefile.am: Build those other libraries using automake too;
239         track dependencies properly
240         
241 2008-02-22  Dom Lachowicz <domlachowicz@gmail.com>
242
243         * src/*.[ch]: Separate out formats that are writable into their
244         own plugins. The GDI+ loader can now save as BMP, GIF, JPEG, PNG,
245         or TIFF. Also, some tweaks so that the format plugins can be
246         statically compiled into GTK+ if we choose to do so.
247         
248 2008-02-22  Dom Lachowicz <domlachowicz@gmail.com>
249
250         * src/io-gdip-utils.c (GetEncoderClsid): Add support for BMP,
251         JPEG, GIF, and TIFF
252         
253 2008-02-22  Dom Lachowicz <domlachowicz@gmail.com>
254
255         * src/*.[ch]: Saving images to PNG now works. Conditionally compiled
256         until I get GdkPixbuf's saving architecture straightened out.
257         
258 2008-02-21  Dom Lachowicz <domlachowicz@gmail.com>
259
260         * src/io-gdip-utils.c (io_gdip_init): Make this idempotent
261         * src/io-gdip.c: Function that fills the GdkPixbufIO vtable. To be used across
262         various GDI+-based plugins
263         
264 2008-02-21  Dom Lachowicz <domlachowicz@gmail.com>
265         
266         * src/*.[ch]: If you #define GDIP_TEST_SAVING, you should be able
267         to save a pixbuf to a PNG via GDI+. WARNING: UNTESTED CODE
268         
269 2008-02-21  Dom Lachowicz <domlachowicz@gmail.com>
270
271         * src/*.[ch]: Infrastructure for saving GdkPixbufs to GdkPixbufSaveFunc callbacks.
272         Should be trivial to write a PNG or JPEG saver now.
273         
274 2008-02-20  Tor Lillqvist  <tml@novell.com>
275
276         * src/io-gdip-utils.c: Drop the wrapper functions that each call
277         GetProcAddress(). Instead just use a bunch of function pointers
278         and initialise them at the same time in io_gdip_init().
279
280 2008-02-19  Dom Lachowicz <domlachowicz@gmail.com>
281
282         * src/*.[ch]: ARGB isn't pre-multiplied; first stab @ metadata
283         
284 2008-02-19  Tor Lillqvist  <tml@novell.com>
285
286         * src/io-gdip.c
287         * src/io-gdip-utils.c
288         * src/test.c: Use spaces instead of tabs. Use 2-column indentation
289         offset which was the original intent. Remove trailing whitespace.
290
291 2008-02-19  Tor Lillqvist  <tml@novell.com>
292
293         * configure.ac: Use AC_DISABLE_STATIC. It makes no sense to build
294         a static library of this.
295
296         * autogen.sh: Take ACLOCAL_FLAGS into consideration.
297
298 2008-02-18  Dominic Lachowicz <domlachowicz@gmail.com>
299
300         * src/*.[ch]: Fix image size (don't need to add + 1); framework
301         for supporting animations or multi- paged TIFFs
302         
303 2008-02-18  Dominic Lachowicz <domlachowicz@gmail.com>
304
305         * src/*.[ch]: If the source image doesn't have alpha, don't create
306         an opaque alpha channel in the pixbuf
307         
308 2008-02-18  Dominic Lachowicz <domlachowicz@gmail.com>
309
310         * src/*.c: Whitespace fixes
311         
312 2008-02-18  Dominic Lachowicz <domlachowicz@gmail.com>  
313
314         * src/io-gdip.c: Support pixbuf scaling
315         
316 2008-02-18  Dominic Lachowicz <domlachowicz@gmail.com>
317
318         * src/io-gdip.c: Fill pixbuf properly; propegate errors. Plugin
319         now works for non-animations
320         
321 2008-02-18  Dominic Lachowicz <domlachowicz@gmail.com>
322
323         * src/io-gdip.c: Move initialization to fill_vtable
324         * src/io-gdip-utils.c: GDI+ functions return Status, not HRESULT,
325         so we can't use SUCCEEDED() to test if they worked or not
326         
327 2008-02-18  Dominic Lachowicz <domlachowicz@gmail.com>
328
329         * src/io-gdip.c (gdk_pixbuf__gdip_image_stop_load): Un-premultiply alpha
330         
331 2008-02-18  Dominic Lachowicz <domlachowicz@gmail.com>
332         
333         * src/io-gdip.c (gdk_pixbuf__gdip_image_stop_load): Destroy the
334         context
335         * src/io-gdip.c (fill_info): Add support for PNG, GIF, WMF, EMF, TIFF
336         
337 2008-02-18  Dominic Lachowicz <domlachowicz@gmail.com>
338
339         * src/io-gdip-utils.c (io_gdip_buffer_to_bitmap): Release the IStream
340         * src/io-gdip.c: Move the init() call to fill_vtable, so that it's
341         only called once
342         
343 2008-02-18  Dominic Lachowicz <domlachowicz@gmail.com>  
344
345         * src/io-gdip-utils.c: Make GDI+ function pointers static so that
346         we only load them once
347         
348 2008-02-18  Dominic Lachowicz <domlachowicz@gmail.com>
349
350         * src/test.c: Dispose of the bitmap
351         * src/io-gdip-utils.[ch]: Add bitmap dispose function
352         
353 2008-02-18  Dominic Lachowicz <domlachowicz@gmail.com>
354
355         * src/io-gdip-native.h: The GpImage and GpBitmap structs should be anonymous
356         
357         == End of ChangeLog from gdip-pixbuf-loaders ==
358         
359 2008-03-11  Claudio Saavedra  <csaavedra@alumnos.utalca.cl>
360
361         * io-bmp.c: (gdk_pixbuf__bmp_image_stop_load): Set a
362         GDK_ERROR_CORRUPT_IMAGE error if the loader is closed while
363         still reading the headers.  (#505085)
364
365 2008-03-11  Claudio Saavedra  <csaavedra@alumnos.utalca.cl>
366
367         * io-bmp.c: (DecodeHeader): Check for the BMP header magic numbers
368         before decoding it.  (#505085)
369
370 2008-02-16  Matthias Clasen  <mclasen@redhat.com>
371
372         * === Released 2.13.0 ===
373
374 2008-02-15  Matthias Clasen  <mclasen@redhat.com>
375
376         * gdk-pixbuf-animation.h:
377         * gdk-pixbuf.symbols: Fix up export of gdk_pixbuf_non_anim_get_type.
378
379 2008-02-12  Matthias Clasen  <mclasen@redhat.com>
380
381         * gdk-pixbuf-io.c (at_scale_size_prepared_cb): Don't let
382         the width or height go below 1.  (#516024, Christian Persch)
383
384 2008-02-10  Matthias Clasen  <mclasen@redhat.com>
385
386         * gdk-pixbuf-scaled-anim.c: Try harder to return pixbufs
387         of the requested size.  (#494515, Mike Morrison)
388
389 2008-01-15  Matthias Clasen  <mclasen@redhat.com>
390
391         * gdk-pixbuf-io.c (save_to_stream): Handle partial writes.
392
393 2008-01-16  Michael Natterer  <mitch@imendio.com>
394
395         * gdk-pixbuf-io.c (save_to_stream): fix signature of this function
396         and propagate errors from g_output_stream_write(). Return error
397         also on incomplete writes (which don't generate an error by
398         themselves).
399
400         Unrelated:
401
402         (gdk_pixbuf_io_init): initialize "builtin_module" on a separate
403         line to avoid compiler warning in the common case of no built-in
404         modules.
405
406 2008-01-16  Michael Natterer  <mitch@imendio.com>
407
408         * Makefile.am (LDADDS): use $GDK_PIXBUF_DEP_LIBS instead of
409         $GLIB_LIBS so gio gets pulled in.
410
411 2008-01-15  Matthias Clasen  <mclasne@redhat.com>
412
413         * gdk-pixbuf.symbols:
414         * gdk-pixbuf-core.h:
415         * gdk-pixbuf-io.c (gdk_pixbuf_new_from_stream):
416         (gdk_pixbuf_new_from_stream_at_scale):
417         (gdk_pixbuf_save_to_stream): New stream i/o functions.
418
419 2008-01-14  Michael Natterer  <mitch@imendio.com>
420
421         * gdk-pixbuf-loader.c (gdk_pixbuf_loader_prepare): cast the return
422         value of _gdk_pixbuf_scaled_anim_new() to fix incompatible pointer
423         warning.
424
425 2007-12-09  Matthias Clasen  <mclasen@redhat.com>
426
427         * io-jpeg.c: Fix the spinguard logic for big buffers.
428         (#494667, Ed Catmur)
429         
430 2007-11-25  Tor Lillqvist  <tml@novell.com>
431
432         * Makefile.am: Fix static build of the icns loader.
433
434 2007-11-25  Bastien Nocera  <hadess@hadess.net>
435
436         * Makefile.am:
437         * io-jasper.c: Add the libjasper JPEG2000 loader
438         (Closes: #469901)
439
440 2007-11-20  Matthias Clasen  <mclasen@redhat.com>
441
442         * gdk-pixbuf-animation.c: Use G_DEFINE_TYPE (#469341, 
443         Björn Lindqvist)
444
445 2007-11-20  Bastien Nocera  <hadess@hadess.net>
446
447         * io-icns.c: (load_resources): Add support for 512x512 Leopard
448         icons, using the ic09 iconType
449
450 2007-11-20  Bastien Nocera  <hadess@hadess.net>
451
452         * Makefile.am:
453         * io-icns.c: Add icns (MacOS X icons) loader, based on work by
454         Lyonel Vincent <lyonel@ezix.org> (Closes: #395738)
455
456 2007-11-10  Matthias Clasen <mclasen@redhat.com>
457
458         * io-jpeg.c: Avoid unaligned accesses that cause
459         problems on some architectures.  (patch by David Miller)
460
461 2007-10-16  Matthias Clasen <mclasen@redhat.com>
462
463         * === Released 2.12.1 ===
464
465 2007-10-16  Matthias Clasen  <mclasen@redhat.com>
466
467         * io-wbmp.c: Use better magic.  (#339877, Bastien Nocera)
468
469 2007-09-13  Matthias Clasen  <mclasen@redhat.com>
470
471         * === Released 2.12.0 ===
472
473 2007-09-13  Matthias Clasen  <mclasen@redhat.com>
474
475         * gdk-pixbuf-scaled-anim.c (get_scaled_pixbuf): Don't leak 
476         options.  
477
478 2007-09-08  Matthias Clasen  <mclasen@redhat.com>
479
480         * io-ani.c: Fix some possible crashes.  (#468832, Michal Luczaj)
481
482 2007-09-07  Matthias Clasen  <mclasen@redhat.com>
483
484         * io-tga.c (gdk_pixbuf__tga_stop_load): Handle pbuf 
485         being NULL.  (#468801, Sebastien Bacher)
486
487 2007-07-21  Matthias Clasen  <mclasen@redhat.com>
488
489         * === Released 2.11.6 ===
490
491 Sat Jul  7 17:34:33 2007  Tim Janik  <timj@gtk.org>
492
493         * gdk-pixbuf-scale.c: docu fixes from Guillaume Cottenceau, #454596.
494
495 2007-07-06  Michael J. Chudobiak  <mjc@cvs.gnome.org>
496
497         * io-tiff.c: (tiff_image_parse): Added a comment to explain
498         the signal used to stop parsing early.
499
500 2007-07-05  Matthias Clasen  <mclasen@redhat.com>
501
502         * io-tiff.c: Revert the last change, it was wrong
503         * gdk-pixbuf-loader.c (gdk_pixbuf_loader_close): Redo the last
504         change in a different way.
505
506 2007-07-04  Tor Lillqvist  <tml@novell.com>
507
508         * pixops/Makefile.am (timescale_LDADD): Use GDK_PIXBUF_DEP_LIBS
509         instead of GDK_PIXBUF_EXTRA_LIBS here, too. 
510
511 2007-07-03  Matthias Clasen  <mclasen@redhat.com>
512
513         * io-tiff.c (tiff_image_parse): Always set an error
514         when returning NULL.  (453365, Michael Chudobiak)
515
516 2007-07-03  Matthias Clasen  <mclasen@redhat.com>
517
518         * gdk-pixbuf-loader.c (gdk_pixbuf_loader_close): Be
519         more careful when calling g_propagate_error().  (#453365,
520         Michael Chudobiak)
521
522 2007-07-02  Matthias Clasen  <mclasen@redhat.com>
523
524         * === Released 2.11.5 ===
525
526 2007-07-02  Matthias Clasen <mclasen@redhat.com>
527
528         * gdk-pixbuf.c (gdk_pixbuf_get_option): Document the
529         "orientation" option.
530
531         * gdk-pixbuf.symbols:
532         * gdk-pixbuf-core.h:
533         * gdk-pixbuf-util.c (gdk_pixbuf_apply_embedded_orientation):
534         New function to handle Exif orientation information in 
535         tiff and jpeg images.  (#439567, Michael Chudobiak)
536
537 2007-06-19  Matthias Clasen <mclasen@redhat.com>
538
539         * === Released 2.11.4 ===
540
541 2007-06-15  Matthias Clasen  <mclasen@redhat.com>
542
543         * === Released 2.11.3 ===
544
545 2007-06-15  Hans Breuer  <hans@breuer.org>
546
547         * makefile.msc : updated
548         * io-jpeg.c : use g_snprintf
549
550 2007-06-12  Behdad Esfahbod  <behdad@gnome.org>
551
552         * io-pnm.c (explode_bitmap_into_buf): Fix out-of-bound access.
553         (#440918, Matthias Kilian)
554
555 2007-06-06  Matthias Clasen  <mclasen@redhat.com>
556
557         * === Released 2.11.2 ===
558
559 2007-06-04  Matthias Clasen  <mclasen@redhat.com>
560
561         * === Released 2.11.1 ===
562
563 2007-05-30  Chris Wilson  <chris@chris-wilson.co.uk>
564
565         * io-jpeg.c (gdk_pixbuf__jpeg_image_stop_load):
566         Supply the current GError for fatal_error_handler(). (#441443)
567
568 2007-05-24   Matthias Clasen  <mclasen@redhat.com>
569
570         * === Released 2.11.0 ===
571
572 2007-05-23  Matthias Clasen  <mclasen@redhat.com>
573
574         * gdk-pixbuf.symbols: Add missing scaled-anim entries.
575
576 2007-05-18  Michael J. Chudobiak  <mjc@cvs.gnome.org>
577
578         * gdk-pixbuf-scaled-anim.c: (get_scaled_pixbuf):
579         Preserve pixbuf options when generating a new scaled pixbuf.
580
581         * io-jpeg.c: (get_orientation), (gdk_pixbuf__jpeg_image_load),
582         (gdk_pixbuf__jpeg_image_load_increment): Read the exif
583         orientation tag and associate it with the "orientation" pixbuf
584         option. Renders libexif unnecessary in some applications.
585
586         * io-tiff.c: (tiff_image_parse): Read the tiff orientation tag,
587         compensate for the partial rotations performed by libtiff,
588         and generate an "orientation" option for the pixbuf.
589
590 2007-04-29  Matthias Clasen <mclasen@redhat.com>
591
592         * io-jpeg.c: Remove a pointless check from the previous
593         commit that added a new string.
594
595 2007-04-28  Matthias Clasen <mclasen@redhat.com>
596
597         * io-png.c:
598         * io-jpeg.c: Accept unknown parameters with a warning 
599         when saving.  (#405539, Daniel Atallah)
600
601 2007-04-25  Matthias Clasen <mclasen@redhat.com>
602
603         * gdk-pixbuf-simple-anim.c (gdk_pixbuf_simple_anim_add_frame):
604         Don't double the delay time of the first frame.  (#431997,
605         Bj?rn Lindqvist)
606
607 2007-04-25  Matthias Clasen <mclasen@redhat.com>
608
609         * gdk-pixbuf-scaled-anim.c (gdk_pixbuf_scaled_anim_iter_finalize):
610         Chain up.  (#433125, Christian Persch)
611
612 Wed Mar 28 15:27:35 2007  Tim Janik  <timj@imendio.com>
613
614         * io-jpeg.c: applied JPEG loader fix from maemo. this fix makes sure
615         stop_load() doesn't forget about its return value, and it pulls the
616         check for infinite looping out of an else branch in load_increment()
617         so it runs unconditionally, fixes #397643.
618
619 2007-03-08  Matthias Clasen <mclasen@redhat.com>
620
621         * gdk-pixbuf-scaled-anim.[hc]: Implement an animation
622         wrapper for scaling animations.  
623
624         * gdk-pixbuf-loader.c: Use GdkPixbufScaledAnim to scale
625         animations.  (#335752, Mike Morrison)
626
627         * Makefile.am: Glue.
628
629 2007-03-06  Tor Lillqvist  <tml@novell.com>
630
631         * Makefile.am: Further fixes for building on Win32 outside
632         srcdir. (#413492, Mathias Hasselmann)
633
634 2007-03-05  Matthias Clasen <mclasen@redhat.com>
635
636         * io-tga.c: (gdk_pixbuf__tga_stop_load): Flip rle-encoded
637         images even if they haven't been completely loaded.  (#347106)
638
639 2007-02-27  Felix Riemann  <friemann@svn.gnome.org>
640
641         * io-ico.c: (fill_info): Add image/x-ico to supported mime types.
642         Fixes bug #393599.
643
644 2007-02-16  Matthias Clasen  <mclasen@redhat.com>
645
646         * io-png.c: Don't leak in the error path.  (#405539, Daniel Atallah)
647
648 2007-02-07  Chris Wilson  <chris@chris-wilson.co.uk>
649
650         * io-jpeg.c: (gdk_pixbuf__jpeg_image_load),
651         (gdk_pixbuf__jpeg_image_load_increment): Set the GError
652         if the image is zero length. (#405327)
653
654 2007-02-06  Matthias Clasen  <mclasen@redhat.com>
655
656         * gdk-pixbuf-loader.c (gdk_pixbuf_loader_close): Protect
657         against stop_load begin broken.  (#403255, Lucas Mazzardo Veloso)
658
659 2007-01-21  Matthias Clasen  <mclasen@redhat.com>
660
661         * io-gif.c (gdk_pixbuf__gif_image_stop_load): Return an
662         error if we didn't successfully load a frame.  (#394190,
663         Felix Riemann)
664
665 2007-01-17  Michael Natterer  <mitch@imendio.com>
666
667         Patch taken from maemo-gtk:
668
669         * io-png.c (png_text_to_pixbuf_option): don't call g_convert() on
670         ASCII strings.
671
672         (png_info_callback): set an error when the size_func would scale
673         the pixbuf away completely.
674
675 2007-01-16  Matthias Clasen  <mclasen@redhat.com>
676
677         * gdk-pixbuf-loader.c (gdk_pixbuf_loader_write): Just
678         call gdk_pixbuf_loader_close to close the loader in
679         the error case. Fixes memory leaks in the error case,
680         pointed out by David Necas.
681
682 2007-01-04  Matthias Clasen  <mclasen@redhat.com>
683
684         * io-bmp.c (OneLine32): Fix a warning
685
686 2006-12-22  Matthias Clasen  <mclasen@redhat.com>
687
688         * io-bmp.c (decode_bitmasks): Handle bmps
689         with more than 8 bits per channel.  (#172584,
690         David Costanzo)
691
692         * io-bmp.c: Handle offsets more carefully. (#172188,
693         David Costanzo)
694
695         * io-bmp.c: Handle v5 and OS/2 v2 bmps.
696
697         * io-bmp.c: Handle alpha masks in v4 and v5 bmps.
698
699 2006-12-21  Matthias Clasen  <mclasen@redhat.com>
700
701         * gdk-pixbuf-loader.c (gdk_pixbuf_loader_write): Emit
702         the closed signal when closing the loader, pointed out
703         by David Necas.
704
705 2006-12-21  Matthias Clasen  <mclasen@redhat.com>
706
707         * io-gif.c (gif_get_lzw): Handle invalid gif animations
708         a little bit more robustly.  (#357974, Vassilis Pandis,
709         patch by Felix Riemann)
710
711         * gdk-pixbuf-data.c (gdk_pixbuf_new_from_data):
712         * gdk-pixbuf.c (gdk_pixbuf_new): Remove redundant size
713         checks, and document that width, height must be > 0.
714         (#343330, Felix Riemann)
715
716         * Makefile.am: Link against GLib.  (#341158, Alexey Rusakov)
717
718 2006-12-19  Matthias Clasen  <mclasen@redhat.com>
719
720         * gdk-pixbuf-loader.c (gdk_pixbuf_loader_close): Don't
721         spew a warning if the printer is already closed.
722
723 2006-12-09  Matthias Clasen  <mclasen@redhat.com>
724
725         * gdk-pixbuf-loader.c (gdk_pixbuf_loader_write): Behave as
726         documented and close the loader when returning FALSE.
727
728 2006-10-29  Tor Lillqvist  <tml@novell.com>
729
730         * pixbufloader_*.def
731         * Makefile.am (EXTRA_DIST): Remove pixbufloader_*.def, they are
732         not used. (#365388) They were all identical, and exported just two
733         symbols, so if somebody needs them for a MSVC build that doesn't
734         use built-in modules it's trivial to hack makefile.msc to produce
735         a common .def file for the loaders. The two symbols that need to
736         be exported are fill_info and fill_vtable.
737
738 2006-10-11  Tor Lillqvist  <tml@novell.com>
739
740         Enable having some loaders built-in even if loading the others
741         dynamically. Have loaders in the same order as in configure.in in
742         all places where they are handled/listed.
743
744         * Makefile.am: Define the STATIC_FOO_LIB and FOO_LIB macros
745         conditionally depending on whether said loader is built-in or
746         not. Use the names libstatic-pixbufloader-foo.la instead of
747         libpixbufloader-static-foo.la for the built-in ones so that the
748         "echo libpixbufloader-*.la" won't match them.
749         
750         * gdk-pixbuf-io.c: Reorganize code as to plumb the built-in
751         loaders also if USE_GMODULE. Don't warn about a missing
752         gdk-pixbuf.loaders file if we have at least one included loader.
753         
754         * gdk-pixbuf-private.h
755         * io-*.c: Don't define a generic MODULE_ENTRY, as we can't use it
756         in the loaders anyway. Each loader needs to check if INCLUDE_foo
757         is defined.
758
759 2006-10-08  Matthias Clasen  <mclasen@redhat.com>
760
761         * Apply a cleanup patch by Kjartan Maraas  (#341812) 
762
763 2006-09-06  Matthias Clasen  <mclasen@redhat.com>
764
765         * io-pnm.c: Simplify and fix reading of ASCII images. 
766
767 2006-08-17  Matthias Clasen  <mclasen@redhat.com>
768
769         * === Released 2.10.2 ===
770
771 2006-08-16  Matthias Clasen  <mclasen@redhat.com>
772
773         * gdk-pixbuf-io.c (gdk_pixbuf_new_from_file_at_scale): 
774         Stop loading an animation if the first frame is complete.
775         (#350911, Christian Neumair)
776
777 2006-07-23  Matthias Clasen  <mclasen@redhat.com>
778         
779         * === Released 2.10.1 ===
780
781 2006-07-16  Matthias Clasen  <mclasen@redhat.com>
782
783         * gdk-pixbuf-loader.c (gdk_pixbuf_loader_load_module) 
784         (gdk_pixbuf_loader_write, gdk_pixbuf_loader_close) 
785         (gdk_pixbuf_loader_ensure_error): Put the code to protect
786         against broken loaders that forget to set error in an
787         auxiliary function and call it in more places.  (#346428,
788          Catmur)
789
790         * io-xbm.c: Fix incremental loading of 
791         xbms.  (#346427, Ed Catmur)
792         Also make the xbm loader accept const variations.
793
794 2006-07-02  Matthias Clasen  <mclasen@redhat.com>
795         
796         * === Released 2.10.0 ===
797
798 2006-06-21  Matthias Clasen  <mclasen@redhat.com>
799         
800         * pixops/*.S: NetBSD portability fixes.  (#346374,
801         Thomas Klausner)
802         
803         * === Released 2.9.4 ===
804
805 2006-06-12  Matthias Clasen  <mclasen@redhat.com>
806
807         * === Released 2.9.3 ===
808
809 2006-06-05  Matthias Clasen  <mclasen@redhat.com>
810
811         * === Released 2.9.2 ===
812
813 2006-05-16  Matthias Clasen  <mclasen@redhat.com>
814
815         * === Released 2.9.1 ====
816
817 2006-05-04  Matthias Clasen  <mclasen@redhat.com>
818
819         * === Released 2.9.0 ===
820
821 2006-04-04  Matthias Clasen  <mclasen@redhat.com>
822
823         * gdk-pixbuf-loader.c:
824         * gdk-pixbuf.c: Use G_DEFINE_TYPE.
825
826         * gdk-pixbuf.c: No point in making the error path fast by 
827         caching quarks.
828
829 2006-03-24  Matthias Clasen  <mclasen@redhat.com>
830
831         * gdk-pixbuf-loader.c (gdk_pixbuf_loader_write): Remove a
832         pointless check, pointed out by Kjartan Maraas.
833
834 2006-03-22  Matthias Clasen  <mclasen@redhat.com>
835
836         * gdk-pixbuf-loader.c: Add some documentation about
837         supported image formats, and how to find out about them.
838         (#335536, Murray Cumming)
839
840 2006-03-20  Matthias Clasen  <mclasen@redhat.com>
841
842         * gdk-pixbuf-animation.c: 
843         * gdk-pixbuf-io.c: 
844         * io-xpm.c: 
845         * io-xbm.c: 
846         * io-gif.c: Always save errno to a temporary before making
847         other calls.  (#335179, Morten Welinder)
848
849 2006-03-14  Matthias Clasen  <mclasen@redhat.com>
850
851         * io-gif.c (gdk_pixbuf__gif_image_load): Add a shortcut
852         to stop the gif mainloop after the first frame, if that
853         is all we are interested in.  (#334538)
854
855 2006-03-03  Matthias Clasen  <mclasen@redhat.com>
856
857         * io-pnm.c: Support pnm files with maxval > 255.
858         (#327560, Matthijs Douze)
859
860 2006-03-03  Matthias Clasen  <mclasen@redhat.com>
861
862         * io-pcx.c (pcx_load_palette_8): Fix incremental loading
863         of 8-bit pcx files.  (#148518, Magnus Bergmann)
864
865 2006-02-28  Anders Carlsson  <andersca@imendio.com>
866
867         * gdk-pixbuf-io.c:
868         Update documentation now that tiff supports saving.
869         
870         * io-tiff.c:
871         (tiff_load_read):
872         (tiff_load_write):
873         (tiff_load_seek):
874         (tiff_load_close):
875         (tiff_load_size):
876         (tiff_load_map_file):
877         (tiff_load_unmap_file):
878         (gdk_pixbuf__tiff_image_stop_load):
879         Rename callback functions that are used during loading.
880         
881         (tiff_save_read):
882         (tiff_save_write):
883         (tiff_save_seek):
884         (tiff_save_close):
885         (tiff_save_size):
886         (create_save_context):
887         (free_save_context):
888         New callback functions which operate on a memory buffer.
889         
890         (gdk_pixbuf__tiff_image_save_to_callback):
891         Implement saving of pixbufs to tiffs.
892         
893         (save_to_file_cb):
894         (gdk_pixbuf__tiff_image_save):
895         New function that saves a pixbuf to a FILE handle. Uses
896         save_to_callback.
897         
898         (fill_vtable):
899         Add new functions.
900         
901         (fill_info):
902         Change flags since this module supports writing now.
903         
904 2006-02-10  Matthias Clasen  <mclasen@redhat.com>
905
906         * io-jpeg.c:
907         * io-png.c:
908         * io-pnm.c:
909         * io-tiff.c:
910         * io-xbm.c:
911         * io-xpm.c: Always check for NULL when using callbacks.
912         (#330563, Benjamin Otte)
913
914 2006-01-18  Matthias Clasen  <mclasen@redhat.com>
915
916         * io-gif.c (gdk_pixbuf__gif_image_load_increment): Don't cast
917         the results of g_new().  (#327423, Morten Welinder)
918
919 2006-01-12  Federico Mena Quintero  <federico@ximian.com>
920
921         * gdk-pixbuf-util.c (gdk_pixbuf_saturate_and_pixelate): Clarify
922         the docs ("darkened/brightened" is not "saturation").
923
924 Fri Dec 30 00:59:21 2005  Jonathan Blandford  <jrb@redhat.com>
925
926         * gdk-pixbuf-io.c (gdk_pixbuf_format_get_license): minor doc edit.
927
928 2005-12-16  Matthias Clasen  <mclasen@redhat.com>
929
930         * gdk-pixbuf-io.c (_gdk_pixbuf_load_module_unlocked): Use
931         G_MODULE_BIND_LOCAL when opening modules.
932
933 2005-12-14  Michael Natterer  <mitch@imendio.com>
934
935         * io-jpeg.c (gdk_pixbuf__jpeg_image_load_lines): new utility
936         function which factors out massive code duplication from the
937         commit below.
938
939 2005-12-14  Michael Natterer  <mitch@imendio.com>
940
941         * io-jpeg.c: applied patch from maemo-gtk which avoids the
942         allocation of an intermediate buffer for non-progressive
943         jpegs. Fixed bug #305894.
944
945 2005-11-15  Matthias Clasen  <mclasen@redhat.com>
946
947         * io-xpm.c: Fix several integer overflows which have been
948         reported as CVE-2005-3186 and CVE-2005-2975.
949
950 2005-10-12  Matthias Clasen  <mclasen@redhat.com>
951
952         * gdk-pixbuf-loader.c (gdk_pixbuf_loader_write): Only call
953         gdk_pixbuf_loader_eat_header_write() when count > 0.  (#318589,
954         Bogdan Nicula)
955
956 2005-10-03  Matthias Clasen  <mclasen@redhat.com>
957
958         * gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file): 
959         * gdk-pixbuf-io.c (gdk_pixbuf_new_from_file): 
960         * gdk-pixbuf-loader.c: Use a 1k buffer for sniffing image formats,
961         instead of 128 or 256 bytes.  (#317225, Sebastien Bacher, 
962         Dom Lachowicz)
963
964 2005-09-05  Matthias Clasen  <mclasen@redhat.com>
965
966         * io-tga.c (parse_rle_data): Remove unused variable
967         pbuf_count.  (#315282, Kjartan Maraas)
968
969 2005-08-31  Matthias Clasen  <mclasen@redhat.com>
970
971         * Makefile.am (gdk-pixbuf-enum-types.c): Intern type
972         names in code generated by glib-mkenums, too.
973
974         * io-ani-animation.c (gdk_pixbuf_ani_anim_iter_get_type) 
975         (gdk_pixbuf_ani_anim_get_type): 
976         * io-gif-animation.c (gdk_pixbuf_gif_anim_get_type) 
977         (gdk_pixbuf_gif_anim_iter_get_type): 
978         * gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_type): 
979         * gdk-pixbuf.c (gdk_pixbuf_get_type): 
980         * gdk-pixbuf-animation.c (gdk_pixbuf_animation_get_type): 
981         Intern type names before registering the type to avoid 
982         unnecessary copies.
983
984 2005-08-30  Matthias Clasen  <mclasen@redhat.com>
985
986         * gdk-pixbuf-io.c (format_check): Make this work again.
987
988         * io-png.c (png_save_to_callback_write_func): Add a cast
989         to avoid compiler warnings.
990
991         * pixops/timescale.c (main): Declare src_buf, dest_buf as
992         unsigned to avoid compiler warnings.
993
994         * gdk-pixbuf-io.h: Declare the prefix and mask members of
995         GdkPixbufModulePattern as char*, to avoid compiler warnings.
996
997         * io-ani.c (ani_load_chunk): Use g_try_new() in some places.
998
999 2005-08-24  Matthias Clasen  <mclasen@redhat.com>
1000
1001         * === Released 2.8.2 ===
1002
1003         * === Released 2.8.1 ===
1004
1005 2005-08-18  Matthias Clasen  <mclasen@redhat.com>
1006
1007         * io-ico.c (DecodeHeader): Check for overflow in one more
1008         place.  (#313818, Tommi Komulainen)
1009
1010 2005-08-15  Matthias Clasen  <mclasen@redhat.com>
1011
1012         * io-jpeg.c (fatal_error_handler): Pay attention to the 
1013         libjpeg error code and report OOM errors as such.  (#312674,
1014         Tommi Komulainen)
1015
1016 2005-08-13  Matthias Clasen  <mclasen@redhat.com>
1017
1018         * === Released 2.8.0 ===
1019
1020 2005-08-07  Matthias Clasen  <mclasen@redhat.com>
1021
1022         * abicheck.sh: Also check exported variables.
1023
1024 2005-08-02  Matthias Clasen  <mclasen@redhat.com>
1025
1026         * === Released 2.7.5 ===
1027
1028 2005-07-22  Matthias Clasen  <mclasen@redhat.com>
1029
1030         * === Released 2.7.4 === 
1031
1032 2005-07-22  Matthias Clasen  <mclasen@redhat.com>
1033                 
1034         * queryloaders.c: Accept '*' in masks. (pointed out
1035         by William Jon McCann)
1036
1037         * gdk-pixbuf-io.c (format_check): Make anchored patterns work 
1038         as they did before.  (#311011, William Jon McCann)
1039
1040 2005-07-22  Matthias Clasen  <mclasen@redhat.com>
1041
1042         * gdk-pixbuf-io.c (format_check): Interpret patterns where
1043         the first byte of the mask is '*' as unanchored.  (#311011)
1044         (gdk_pixbuf_new_from_file): Use the first 256 bytes for
1045         sniffing the file format.
1046
1047 2005-07-15  Matthias Clasen  <mclasen@redhat.com>
1048
1049         * === Released 2.7.3 ===
1050         
1051 2005-07-12  Matthias Clasen  <mclasen@redhat.com>
1052
1053         * gdk-pixbuf-i18n.h: 
1054         * pixops/*: Add copyright and license information.
1055
1056 2005-07-09  Tor Lillqvist  <tml@novell.com>
1057
1058         * Makefile.am: Don't use the scripts in build/win32 to compile the
1059         rc file into a resource object file. (This means we lose the
1060         build number increment magic, but I doubt it was that useful
1061         anyway.) Instead use windres directly. To pass the normal .o file
1062         produced by windres through libtool, which would want a .lo file,
1063         pass it directly to the linker using a -Wl option.
1064
1065         * gdk_pixbuf.rc.in: Replace BUILDNUMBER with 0.
1066
1067 2005-07-08  Matthias Clasen  <mclasen@redhat.com>
1068         
1069         * === Released 2.7.2 ===
1070
1071 2005-07-01  Matthias Clasen  <mclasen@redhat.com>
1072
1073         * === Released 2.7.1 ===
1074         
1075 2005-07-01  Matthias Clasen  <mclasen@redhat.com>
1076
1077         * gdk-pixbuf-io.c (gdk_pixbuf_new_from_file_at_scale): Allow
1078         -1 for width/height and interpret them as "not constrained".
1079         (#309258, Mark McLoughlin)
1080
1081 2005-06-26  Tor Lillqvist  <tml@novell.com>
1082
1083         * Makefile.am: Current GNU tools do understand the PRIVATE
1084         keyword, so no need to remove those entries from the import
1085         library. libtool installs the .dll.a import library itself, so no
1086         need to do it here. Do install the .def file.
1087
1088 2005-06-22  Matthias Clasen  <mclasen@redhat.com>
1089
1090         * gdk-pixbuf-i18n.h: Use glib-i18n.h
1091
1092 2005-06-20  Matthias Clasen  <mclasen@redhat.com>
1093
1094         * === Released 2.7.0 ===
1095
1096 2005-06-15  Matthias Clasen  <mclasen@redhat.com>
1097
1098         * gdk-pixbuf.symbols:
1099         * gdk-pixbuf-simple-anim.h: Add 
1100         gdk_pixbuf_simple_anim_iter_get_type()
1101
1102 2005-06-08  Matthias Clasen  <mclasen@redhat.com>
1103
1104         * io-pnm.c (pnm_read_next_value): Check for overflow.
1105         (#306394, Morten Welinder)
1106
1107 2005-05-27  Matthias Clasen  <mclasen@redhat.com>
1108
1109         * io-bmp.c: Accept the 108 byte header of BMP v4.  (#168799)
1110
1111 2005-05-25  Matthias Clasen  <mclasen@redhat.com>
1112
1113         * gdk-pixbuf.symbols: 
1114         * gdk-pixbuf-simple-anim.[hc]: No need to expose the iter
1115         subclass at all in the headers.
1116
1117         * Makefile.am: Add new files. 
1118
1119         * gdk-pixbuf.symbols: Add new api.
1120
1121         * gdk-pixbuf.h: Include gdk-pixbuf-simple-anim.h here.
1122
1123         * gdk-pixbuf-simple-anim.[hc]: Add a way to construct
1124         simple animations out of pixbufs.  (#135161, Dom Lachowicz)
1125
1126 2005-05-24  Sven Neumann  <sven@gimp.org>
1127
1128         * io-png.c: allow to specify the PNG compression level by passing
1129         a "compression" parameter to the PNG save function (bug #305337).
1130
1131         * gdk-pixbuf-io.c (gdk_pixbuf_save): document the new parameter.
1132
1133 2005-04-09  Matthias Clasen  <mclasen@redhat.com>
1134         
1135         * Makefile.am: Use $(NM), not nm directly. (#301299, 
1136         Nguyen Thai Ngoc Duy)
1137
1138         * io-bmp.c (gdk_pixbuf__bmp_image_save_to_callback): 
1139         Don't overflow the stack.  (Jakub Jelinek, Arjan van de Ven)
1140
1141 2005-04-08  Matthias Clasen  <mclasen@redhat.com>
1142
1143         * io-pcx.c: No debugging output, please. (#173107,
1144         John Ellis)
1145
1146 2005-04-07  Matthias Clasen  <mclasen@redhat.com>
1147
1148         * io-bmp.c (DecodeColormap): Initialize the colormap to 
1149         zero.  (#171762, David Costanzo)
1150
1151 2005-03-30  Matthias Clasen  <mclasen@redhat.com>
1152
1153         * io-bmp.c: Avoid bus errors due to unaligned access. (#168173,
1154         Morten Welinder, Ivan Wong)
1155
1156 2005-03-29  Matthias Clasen  <mclasen@redhat.com>
1157
1158         * io-tga.c (parse_rle_data): Fix the update areas for incremental
1159         loading of compressed tgas.  (#171883, David Costanzo)
1160
1161 2005-03-27  Matthias Clasen  <mclasen@redhat.com>
1162
1163         * io-bmp.c (DoCompressed): Use the correct update regions for
1164         compressed bmps.  (#150664, Owen Taylor, test images provided
1165         by David Costanzo)
1166
1167 Sun Mar 27 19:59:52 2005  Manish Singh  <yosh@gimp.org>
1168
1169         * io-bmp.c (grow_buffer): reject 0-sized buffers as corrupt header
1170         data. Fixes bug #171707.
1171
1172 2005-03-25  Matthias Clasen  <mclasen@redhat.com>
1173
1174         * gdk-pixbuf-data.c (gdk_pixbuf_new_from_data): Use canonical
1175         property names.
1176
1177 2005-03-21  Matthias Clasen  <mclasen@redhat.com>
1178
1179         * gdk-pixbuf.c (gdk_pixbuf_class_init): Mark param spec strings
1180         as static.
1181
1182 2005-03-14  Matthias Clasen  <mclasen@redhat.com>
1183
1184         Make PLT-reduction work with gcc4, and don't include
1185         everything in gdk-pixbuf-alias.h:
1186         
1187         * gdk-pixbuf.symbols: Group symbols by header and source file.
1188         * /makegdkpixbufalias.pl: Protect definitions by the same 
1189         preprocessor symbols used to guard the headers. Move
1190         the alias declarations to a separate file which is 
1191         produced when calling makegdkpixbufalias.pl -def
1192         * Makefile.am (gdk-pixbuf-aliasdef.c): Add a rule to generate 
1193         this file.
1194         * *.c: Include gdk-pixbuf-alias.h after the other headers,
1195         include gdk-pixbuf-aliasdef.c at the bottom.
1196
1197 2005-03-10  Tor Lillqvist  <tml@novell.com>
1198
1199         * gdk-pixbuf-core.h
1200         * gdk-pixbuf-io.c
1201         * gdk-pixbuf.symbols: Implement DLL ABI stablility for
1202         gdk_pixbuf_save() and gdk_pixbuf_savev(). (#167973)
1203
1204 2005-03-09  Matthias Clasen  <mclasen@redhat.com>
1205
1206         * io-gif-animation.c (gdk_pixbuf_gif_anim_frame_composite): Fix 
1207         a C99ism.  (#169741, Morten Welinder)
1208
1209 2005-03-08  Matthias Clasen  <mclasen@redhat.com>
1210
1211         * gdk-pixbuf.c (gdk_pixbuf_class_init): Use canonical
1212         form of the name when registering properties. 
1213
1214         * gdk-pixbuf.symbols: Add the new attributes here, too.
1215         
1216         * gdk-pixbuf-core.h: Use G_GNUC_NULL_TERMINATED where
1217         appropriate.  (#165682, Marc Meissner)
1218
1219 2005-03-07  Matthias Clasen  <mclasen@redhat.com>
1220
1221         * io-xpm.c: Use a generated table of offsets
1222         into a big const string to avoid relocations
1223         in the rgb color table. (#168901, Tommi Komulainen)
1224         
1225         * gen-color-table.pl: Script to generate the table,
1226         copied from Owen Taylors script by the same name
1227         in Pango.
1228         
1229         * xpm-color-table.h: The generated table.
1230
1231 2005-03-03  Matthias Clasen  <mclasen@redhat.com>
1232
1233         * io-xpm.c (pixbuf_create_from_xpm): Check the number
1234         of scanned items.  (#168906, Morten Welinder)
1235
1236         Make the gif loader handle oom when loading 
1237         animations.  (#168857, Tommi Komulainen)
1238         
1239         * io-gif-animation.c (gdk_pixbuf_gif_anim_frame_composite): 
1240         Handle oom by returning NULL.
1241
1242         * io-gif.c (gif_get_lzw): Return an error if composite 
1243         returns NULL.
1244
1245 2005-02-28  Matthias Clasen  <mclasen@redhat.com>
1246
1247         * pixops/*.S: Add .note.GNU-stack sections to Mark these as not 
1248         requiring an executable stack.
1249         
1250 2005-02-23  Matthias Clasen  <mclasen@redhat.com>
1251
1252         * gdk-pixbuf-io.c: Document BMP saving support.
1253
1254         * io-bmp.c: Support saving as BMP. (168173, Ivan Wong)
1255
1256         * io-ico.c: Fix a typo.  (#168173, Ivan Wong)
1257
1258 2005-02-15  Matthias Clasen  <mclasen@redhat.com>
1259
1260         * io-pnm.c (pnm_skip_whitespace): Don't read over the end of
1261         the buffer if '#' appears at the very end.  (#167141, Doug Morgan)
1262
1263 2005-02-05  Hans Breuer  <hans@breuer.org>
1264
1265         * makefile.msc : rule for gdk_pixbuf.def
1266
1267 2005-02-07  Matthias Clasen  <mclasen@redhat.com>
1268
1269         * io-pnm.c (pnm_read_next_value): Pass in the max number 
1270         of bytes to read.
1271         (pnm_read_ascii_scanline): And use it here to enable 
1272         parsing of pbm images without whitespace between the 
1273         pixels.  (#165803, Samuel Hym)
1274
1275 2005-01-22  Matthias Clasen  <mclasen@redhat.com>
1276
1277         * gdk-pixbuf-loader.c (gdk_pixbuf_loader_new_with_type) 
1278         (gdk_pixbuf_loader_new_with_mime_type): Close the loader
1279         before unreffing it in the error case.  (#164915, Crispin 
1280         Flowerday)
1281
1282 2005-01-12  Owen Taylor <otaylor@redhat.com>
1283
1284         * Makefile.am:  Use grep | head -n 1 instead of grep -m 1 
1285         which doesn't work
1286         with slightly older versions of GNU grep in 
1287         install-libtool-import-lib rule.
1288
1289 2005-01-08  Matthias Clasen  <mclasen@redhat.com>
1290
1291         * === Released 2.6.1 ===
1292         
1293 2005-01-04  Matthias Clasen  <mclasen@redhat.com>
1294
1295         * io-bmp.c (DecodeHeader): Error on compressed images with 
1296         negative height. Also make uncompressed images with data_offset
1297         != header_size work.  (#150664, Owen Taylor)
1298
1299 2005-01-02  Matthias Clasen  <mclasen@redhat.com>
1300
1301         * pixops/pixops.c (bilinear_box_make_weights): Really fix the
1302         math to make the vectors sum up to 1, making GDK_INTERP_HYPER
1303         work again. (#162703, Dennis Nezic)
1304
1305 2004-12-27  Matthias Clasen  <mclasen@redhat.com>
1306
1307         * gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file) 
1308         Avoid deadlock. Pointed out by Callum McKenzie.
1309         
1310 Wed Dec 22 01:17:44 2004  Jonathan Blandford  <jrb@redhat.com>
1311
1312         * queryloaders.c (main): print out the version and binary name in
1313         the header comment.  Problem reported by Seth Nickell.
1314
1315 2004-12-16  Matthias Clasen  <mclasen@redhat.com>
1316
1317         * === Released 2.6.0 ===
1318
1319 Fri Dec 10 13:57:44 2004  Manish Singh  <yosh@gimp.org>
1320
1321         * abicheck.sh: filter out PRIVATE.
1322
1323 2004-12-05  Tor Lillqvist  <tml@iki.fi>
1324
1325         * gdk-pixbuf-animation.c
1326         * gdk-pixbuf-io.c
1327         * io-xbm.c
1328         * io-xpm.c
1329         * make-inline-pixbuf.c
1330         * queryloaders.c: Use gstdio wrappers. Document that file names
1331         are in the GLib file name encoding.
1332
1333         * gdk-pixbuf-csource.c
1334         * queryloaders.c: On Windows, convert command line arguments and
1335         environment variable values from locale encoding to UTF-8.
1336
1337         * queryloaders.c: On Windows, use wide character API when
1338         available.
1339
1340         * Makefile.am
1341         * gdk-pixbuf-core.h
1342         * gdk-pixbuf-io.c
1343         * gdk-pixbuf-animation.h
1344         * gdk-pixbuf-animation.c: Like in GLib, for DLL ABI stability on
1345         Windows, add binary compatibility versions of functions that take
1346         file names as arguments. They use the system codepage, not GLib
1347         file name encoding (which is UTF-8 on Windows). Use #defines to
1348         make newly compiled code use the "real" functions that use the
1349         GLib file name encoding scheme.
1350
1351 2004-12-02  Matthias Clasen  <mclasen@redhat.com>
1352
1353         * === Released 2.5.6 ===
1354
1355 2004-11-30  Matthias Clasen  <mclasen@redhat.com>
1356
1357         * gdk-pixbuf-animation.c (gdk_pixbuf_animation_iter_get_pixbuf): 
1358         Fix a typo in the docs.  (#159955, Masao Mutoh)
1359
1360 2004-11-29  Matthias Clasen  <mclasen@redhat.com>
1361
1362         * Makefile.am (gdk-pixbuf-alias.h): Use the perl found by 
1363         configure.  (#149826, Morten Welinder)
1364
1365 Sun Nov 28 12:11:21 2004  Manish Singh  <yosh@gimp.org>
1366
1367         * makegdkpixbufalias.pl: Typo fix, so attributes are really
1368         propagated.
1369
1370 2004-11-28  Matthias Clasen  <mclasen@redhat.com>
1371
1372         * gdk-pixbuf.symbols: 
1373         * Makefile.am: Mark get_type() functions generated by glib-mkenums 
1374         as const.
1375
1376 Thu Nov 25 14:21:37 2004  Manish Singh  <yosh@gi,p.org>
1377
1378         * abicheck.sh: filter out G_GNUC stuff when doing the compare.
1379
1380 2004-11-23  Matthias Clasen  <mclasen@redhat.com>
1381
1382         * gdk-pixbuf-core.h: Don't mark gdk_pixbuf_error_quark() as const,
1383         to be consistent with all the other error_quark functions. 
1384         (technically they are const, but since these are called only
1385         in error paths, giving the compiler better optimization 
1386         opportunities doesn't matter much)
1387
1388         * gdk-pixbuf.symbols: Add attribute annotations.
1389         * makegdkpixbufalias.pl: Keep attribute annotations, but strip PRIVATE.
1390         * Makefile.am (gdk_pixbuf.def): Strip attribute annotations, but keep 
1391         PRIVATE.
1392
1393 Mon Nov 15 18:58:22 2004  Manish Singh  <yosh@gimp.org>
1394
1395         * gdk-pixbuf-private.h: _gdk_pixbuf_lock now returns a gboolean.
1396
1397         * abicheck.sh: don't hardcode lengths for cut, instead split on
1398         the third field.
1399
1400 2004-11-15  Matthias Clasen  <mclasen@redhat.com>
1401
1402         * gdk-pixbuf-animation.c: 
1403         * gdk-pixbuf-loader.c: 
1404         * gdk-pixbuf-io.c: Be extra careful when locking and handle
1405         the case that the module may initialize the thread system.
1406
1407         * gdk-pixbuf-io.[hc] (_gdk_pixbuf_lock): Return whether the
1408         lock was actually taken.
1409
1410         * queryloaders.c (query_module): Set vtable->module before
1411         calling fill_vtable(), since gdk-pixbuf-io.c does does the
1412         same and modules may rely on it.  (#158177, Dan Winship)
1413
1414 2004-11-12  Matthias Clasen  <mclasen@redhat.com>
1415
1416         * gdk-pixbuf-io.c (gdk_pixbuf_io_init): Don't use 
1417         _gdk_pixbuf_load_module_unlocked() in the !USE_GMODULE case.
1418
1419         * === Released 2.5.5 ===
1420         
1421 2004-11-12  Matthias Clasen  <mclasen@redhat.com>
1422
1423         Changes to make gdk-pixbuf threadsafe  (#157310, #157306, 
1424         Colin Walters):
1425         
1426         * gdk-pixbuf-io.h (enum GdkPixbufFormatFlags): Add 
1427         GDK_PIXBUF_FORMAT_THREADSAFE to indicate that an image loader
1428         is threadsafe.
1429
1430         * gdk-pixbuf-io.c (get_file_formats, _gdk_pixbuf_load_module): 
1431         Use a lock to make initialization of global data structures 
1432         threadsafe.
1433         * gdk-pixbuf-private.h: 
1434         * gdk-pixbuf-io.c (_gdk_pixbuf_lock, _gdk_pixbuf_unlock): 
1435         Auxiliary functions which use another lock to protect 
1436         threadunsafe image loaders.
1437         
1438         * gdk-pixbuf-io.c (gdk_pixbuf_real_save): 
1439         (save_to_callback_with_tmp_file): 
1440         (gdk_pixbuf_real_save_to_callback): 
1441         (gdk_pixbuf_new_from_xpm_data): 
1442         (_gdk_pixbuf_generic_image_load): 
1443         * gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file): 
1444         * gdk-pixbuf-loader.c (gdk_pixbuf_loader_load_module): 
1445         (gdk_pixbuf_loader_close): 
1446         (gdk_pixbuf_loader_finalize): 
1447         Use _gdk_pixbuf_lock() and _gdk_pixbuf_unlock().
1448
1449         * io-ani.c, io-bmp.c, io-gif.c, io-ico.c:
1450         * io-jpeg.c, io-pcx.c, io-png.c, io-pnm.c:
1451         * io-ras.c, io-tga.c, io-wbmp.c, io-xbm.c:
1452         * io-xpm.c: Mark as threadsafe.
1453         
1454         * io-tiff.c: Remove pointless locking, mark as 
1455         threadunsafe.
1456
1457 2004-11-10  Matthias Clasen  <mclasen@redhat.com>
1458
1459         * gdk-pixbuf-animation.c: 
1460         * gdk-pixbuf-io.c: Use g_filename_display_name() instead of
1461         g_filename_to_utf8() when putting filenames in error messages.
1462
1463 2004-11-04  Matthias Clasen  <mclasen@redhat.com>
1464
1465         * gdk-pixbuf.c (gdk_pixbuf_class_init): Document current
1466         restrictions for property values.  (#157409, Matthew H. Plough)
1467
1468 2004-11-01  Matthias Clasen  <mclasen@redhat.com>
1469
1470         * gdk-pixbuf-features.h.in: Break the declaration of the three 
1471         version variables, so that gtk-doc can grok it.
1472
1473 2004-10-29  Hans Breuer  <hans@breuer.org>
1474
1475         * makefile.msc : updated
1476
1477 2004-10-27  Matthias Clasen  <mclasen@redhat.com>
1478
1479         * === Released 2.5.4 ===
1480
1481 2004-10-27  Matthias Clasen  <mclasen@redhat.com>
1482
1483         * Makefile.am (gdk-pixbuf-alias.h): Fix srcdir != builddir
1484         builds.
1485
1486 2004-09-19  Matthias Clasen  <mclasen@redhat.com>
1487
1488         * === Released 2.5.3 ===
1489
1490 2004-09-15  Matthias Clasen  <mclasen@redhat.com>
1491
1492         * io-ico.c: 
1493         * io-xpm.c: Fix some security issues discovered by Chris Evans. 
1494
1495 Mon Sep 13 19:31:34 2004  Matthias Clasen  <maclas@gmx.de>
1496
1497         * io-jpeg.c (real_save_jpeg): Drop the alpha channel 
1498         when saving 4-channel pixbufs.  (#152450, Emmanuel Pacaud)
1499
1500 2004-09-09  Matthias Clasen  <mclasen@redhat.com>
1501
1502         * makegdkpixbufalias.pl: Use the short prefix "IA__" for 
1503         aliases instead of the long suffix "__internal_alias". 
1504         
1505 2004-09-01  Matthias Clasen  <mclasen@redhat.com>
1506
1507         * gdk-pixbuf-core.h: Align argument names with source.
1508
1509 Thu Aug 26 01:23:16 2004  Matthias Clasen  <maclas@gmx.de>
1510
1511         * gdk-pixbuf-core.h: 
1512         * gdk-pixbuf.symbols: 
1513         * gdk-pixbuf-io.c (gdk_pixbuf_new_from_file_at_scale): 
1514         Add gdk_pixbuf_new_from_file_at_scale(), which is just
1515         like gdk_pixbuf_new_from_file_at_size(), but optionally
1516         ignores the aspect ratio.  (#136395, Dom  Lachowicz)
1517
1518 Wed Aug 25 17:23:23 2004  Manish Singh  <yosh@gimp.org>
1519
1520         * io-gif.c: remove unused set_need_recomposite() function.
1521
1522 2004-08-25  Matthias Clasen  <mclasen@redhat.com>
1523
1524         * === Released 2.5.2 ===
1525
1526         * abicheck.sh: Make work in make distcheck.
1527
1528 2004-08-25  Matthias Clasen  <mclasen@redhat.com>
1529
1530         * Makefile.am: Use the same prefix when creating 
1531         gdk-pixbuf-marshal.c and gdk-pixbuf-marshal.h
1532
1533         * gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): _-prefix
1534         the marshalers.
1535
1536 2004-08-24  Matthias Clasen  <mclasen@redhat.com>
1537
1538         * gdk-pixbuf-loader.c (gdk_pixbuf_loader_new_with_mime_type): Use
1539         the correct index and compare correctly, reported by Tommi Komulainen.
1540         (gdk_pixbuf_loader_new_with_mime_type): 
1541
1542         * gdk-pixdata.c (gdk_pixdata_from_pixbuf): Work around bugs in
1543         the runlength encoder by forcing rowstride * height to be 
1544         divisible by bpp.  (#150882)
1545
1546 Sun Aug 22 03:20:56 2004  Matthias Clasen  <maclas@gmx.de>
1547
1548         * pixops/pixops.c (pixops_scale_nearest): Fix a mixup in the handling
1549         of dest_channels.  (#111922, Christophe Fergeau)
1550
1551 Fri Aug 20 11:59:10 2004  Owen Taylor  <otaylor@redhat.com>
1552
1553         * io-bmp.c: Fix infinite loop that can occur for bad
1554         image data (#150601, Chris Evans, Manish Singh)
1555
1556 2004-08-17  Matthias Clasen  <mclasen@redhat.com>
1557
1558         * abicheck.sh: No need for INCLUDE_INTERNAL_SYMBOLS any more.
1559
1560         * Makefile.am (gdk-pixbuf-alias.h): Don't use cpp to filter the symbols.
1561
1562         * makegdkpixbufalias.pl: Move the #ifdef processing into the perl script,
1563         and keep the #ifdefs which differentiate between platforms.
1564
1565         * gdk-pixbuf.symbols: Remove the marshalers.
1566
1567         * Makefile.am (stamp-gdk-pixbuf-marshal.h): _-prefix the marshalers.
1568
1569 Thu Aug 12 22:19:12 2004  Matthias Clasen  <maclas@gmx.de>
1570
1571         * io-bmp.c (DecodeHeader): Properly determine the number of 
1572         colors in an OS/2 BMP file.  (#150003, Jon-Kare Hellan)
1573
1574 2004-08-12  Matthias Clasen  <mclasen@redhat.com>
1575
1576         * pixops/pixops.c: Remove C99-isms.  (#149967, Vincent Noel)
1577
1578 Wed Aug 11 22:56:55 2004  Matthias Clasen  <maclas@gmx.de>
1579
1580         * abicheck.sh: Check all symbols.
1581
1582 2004-08-11  Matthias Clasen  <mclasen@redhat.com>
1583
1584         * pixops/pixops.c: Make scaling and compositing functions handle
1585         edge pixels consistently.  (#111922, Brian Cameron)
1586
1587         * pixops/pixops-internal.h: 
1588         * pixops/pixops.c:
1589         * pixops/*.S: underscore prefix the mmx implementations, in order
1590         to not export them.
1591
1592         * gdk-pixbuf.symbols: Remove the mmx pixops implementations.
1593
1594         * abicheck.sh: No need to define INCLUDE_MMX_SYMBOLS any more.
1595
1596 Tue Aug 10 23:53:59 2004  Matthias Clasen  <maclas@gmx.de>
1597
1598         Add hidden aliases for exported symbols which are
1599         used internally in order to get rid of many PLT 
1600         entries.  (#145519, Arjan van de Ven)
1601         
1602         * gdk/Makefile.am: Add rules to generate gdk_pixbuf.def and 
1603         gdk-pixbuf-alias.h from gdk-pixbuf.symbols, and make make 
1604         check check the abi with abicheck.sh.
1605
1606         * gdk/gdk-pixbuf.symbols: New file. Definition of the gdk-pixbuf 
1607         ABI. The file can be processed by cpp to filter out certain 
1608         subsets of symbols.
1609
1610         * gdk/abicheck.sh: New file. Script to check the actually 
1611         symbols exported from libgdk_pibuf.2.0.so against the symbols
1612         found in gdk-pixbuf.symbols.
1613
1614         * gdk/makegdkpixbufalias.pl: New file. Perl script to generate the 
1615         header containing the alias definitions for internally used 
1616         exported symbols from a list of symbols.
1617
1618         * *.c: Include gdk-pixbuf-alias.h
1619
1620 2004-08-06  Hans Breuer  <hans@breuer.org>
1621
1622         * gdk_pixbuf.def makefile.msc : updated
1623
1624 Sun Aug  1 23:57:06 2004  Matthias Clasen  <maclas@gmx.de>
1625
1626         * io-pcx.c (pcx_increment_load_data_1): Fix progressive
1627         loading of 8bit pcx files. (#148518, Magnus Bergman)
1628
1629 2004-08-01  Matthias Clasen  <mclasen@redhat.com>
1630                                                                                 
1631         * === Released 2.5.1 ===
1632                                                                                 
1633 Tue Jul 20 22:23:26 2004  Matthias Clasen  <maclas@gmx.de>
1634
1635         * gdk-pixbuf-io.h: Remove trailing commas from 
1636         enumerations.  (#148035)
1637
1638 Sun Jul 18 20:17:41 2004  Soeren Sandmann  <sandmann@daimi.au.dk>
1639
1640         * === released 2.5.0 ==
1641
1642 Thu Jul 15 19:19:21 2004  Matthias Clasen  <maclas@gmx.de>
1643
1644         * io-png.c (real_save_png): 
1645         * gdk-pixbuf-io.c (gdk_pixbuf_io_init): Use 'cannot' instead
1646         of 'can not' in messages.   (#144226, Morten Welinder)
1647
1648 Fri Jul  9 15:38:06 2004  Manish Singh  <yosh@gimp.org>
1649
1650         * gdk-pixbuf-io.c (gdk_pixbuf_format_set_disabled): function doesn't
1651         return a value, so don't use g_return_val_if_fail()
1652
1653         * gdk-pixbuf-scale.c (gdk_pixbuf_rotate_simple): initialize dest in
1654         the can't happen case, to quiet gcc.
1655
1656         * io-tiff.c (tifflibversion): enclose in #if TIFFLIB_VERSION >=
1657         20031226.
1658
1659 Wed Jul  7 23:53:58 2004  Matthias Clasen  <maclas@gmx.de>
1660
1661         * gdk-pixbuf-io.h: 
1662         * gdk-pixbuf-io.c (gdk_pixbuf_format_is_disabled): 
1663         * gdk-pixbuf-io.c (gdk_pixbuf_format_set_disabled): 
1664         * gdk-pixbuf-io.c (gdk_pixbuf_format_get_license): 
1665         New functions to disable/enable individual loaders and to
1666         obtain license information about loaders.
1667         
1668         * gdk-pixbuf-io.h (GdkPixbufFormat): Add disabled and 
1669         license fields.
1670
1671         * gdk-pixbuf-io.c (_gdk_pixbuf_get_module): 
1672         * gdk-pixbuf-io.c (_gdk_pixbuf_get_named_module): Skip
1673         disabled loaders.
1674
1675         * io-*.c: Add license information in the fill_info
1676         functions.
1677         
1678 2004-07-07  Matthias Clasen  <mclasen@redhat.com>
1679
1680         * gdk-pixbuf-features.h.in: Fix the build.
1681
1682 2004-07-06  Tor Lillqvist  <tml@iki.fi>
1683
1684         * gdk-pixbuf-features.h.in
1685         * gdk-pixbuf.c: Mark the version variables for proper import and
1686         export from Windows DLLs. Thanks to Laurent Sansonetti for
1687         reporting the problem.
1688
1689 Sat Jul  3 00:41:44 2004  Matthias Clasen  <maclas@gmx.de>
1690
1691         * pixops/pixops.c (bilinear_box_make_weights): Correct the
1692         math to calculate bilinear weights. (#112412, Brian Cameron)
1693
1694 Mon Jun 21 00:44:51 2004  Matthias Clasen  <maclas@gmx.de>
1695
1696         * gdk-pixbuf-transform.h: 
1697         * gdk-pixbuf-scale.c (gdk_pixbuf_rotate_simple): 
1698         * gdk-pixbuf-scale.c (gdk_pixbuf_flip): New functions to
1699         rotate pixbufs by multiples of 90 degrees and to flip them
1700         horizontally or vertically.
1701
1702 Sun Jun 20 01:06:48 2004  Matthias Clasen  <maclas@gmx.de>
1703
1704         Header reorganization.  (#51999, Jeff Franks, reorganization
1705         proposed by Havoc Pennington)
1706         
1707         * gdk-pixbuf.h: This is now an include-only header, and the only
1708         one which applications should directly use.
1709         
1710         * gdk-pixbuf-animation.h: Add animation api from gdk-pixbuf.h.
1711         * gdk-pixbuf-io.h: Add io api from gdk-pixbuf.h.
1712         * gdk-pixbuf-loader.h: Add loader api from gdk-pixbuf.h.
1713         * gdk-pixbuf-transform.h: New header.
1714         * gdk-pixbuf-core.h: New header.
1715
1716 Sat Jun 19 01:44:12 2004  Matthias Clasen  <maclas@gmx.de>
1717
1718         * gdk-pixbuf-scale.c (gdk_pixbuf_composite): Add a figure which
1719         explains pixbuf compositing.
1720
1721 2004-06-16  Matthias Clasen  <mclasen@redhat.com>
1722
1723         * io-tiff.c: Make the tiff loader work with both 
1724         libtiff 3.5.7 and libtiff 3.6.1.  (#135541, Marco Ghirlanda)
1725
1726 Fri Jun 11 22:02:56 2004  Matthias Clasen  <maclas@gmx.de>
1727
1728         * io-gif.c, io-pnm.c, io-tga.c, io-xpm.c: Don't use
1729         contractions like "don't" or "isn't" in error messages.
1730         It isn't nice to use them in log entries either...
1731         (#137774, Morten Welinder, patch by Alexander Winston)
1732
1733 Sat Jun  5 00:59:12 2004  Matthias Clasen  <maclas@gmx.de>
1734  
1735         Merged from 2.4
1736
1737         * gdk-pixbuf-animation.c: 
1738         * gdk-pixbuf-io.c: Convert filenames to UTF-8 when embedding
1739         them in error messages.  (#143654, Sven Neumann)
1740  
1741 Sun May 16 22:53:47 2004  Matthias Clasen  <maclas@gmx.de>
1742
1743         Merged from 2.4
1744
1745         * io-pnm.c (pnm_read_next_value): Don't read integers 
1746         partially.  (#142584, Kouichirou Hiratsuka) 
1747
1748 2004-05-10  Matthias Clasen  <mclasen@redhat.com>
1749
1750         Merged from 2.4:
1751         
1752         * pixops/timescale.c: 
1753         * pixops/pixops.c: 
1754         * pixops/pixops.h: 
1755         * gdk-pixbuf-scale.c: _-prefix the nonstatic pixops_... 
1756         functions.  (#142233, Morten Welinder)
1757         
1758 Wed May  5 23:09:48 2004  Matthias Clasen  <maclas@gmx.de>
1759
1760         * gdk-pixbuf-io.h (GdkPixbufFormatFlags): New format flag
1761         GDK_PIXBUF_FORMAT_SCALABLE to mark scalable formats.
1762
1763         * gdk-pixbuf.h: 
1764         * gdk-pixbuf-io.c (gdk_pixbuf_format_is_scalable): New function.
1765         (#137995, Dom Lachowicz)
1766
1767 2004-04-30  Matthias Clasen  <mclasen@redhat.com>
1768
1769         * === Released 2.4.1 ===
1770
1771 2004-04-13  Matthias Clasen  <mclasen@redhat.com>
1772
1773         * io-ani.c (gdk_pixbuf__ani_image_load_animation): 
1774         * gdk-pixbuf-io.c (gdk_pixbuf_get_file_info) 
1775         (_gdk_pixbuf_generic_image_load) 
1776         (gdk_pixbuf_new_from_file_at_size): When calling fread()
1777         in a loop, check for ferror() as well as for feof() to
1778         avoid infinite loops on directories.  (#137804, Alex Converse)
1779
1780 Mon Mar 15 15:01:59 2004  Owen Taylor  <otaylor@redhat.com>
1781
1782         * === Released 2.4.0 ===
1783
1784 2004-03-15  Tor Lillqvist  <tml@iki.fi>
1785
1786         * queryloaders.c (main): [Win32] Look up installation prefix at
1787         run-time, replace prefix in PIXBUF_LIBDIR with that. (#106141)
1788
1789         Merges from stable branch that had been left out. (#136282, J. Ali
1790         Harlow):
1791
1792         Changes for run-time lookup of installation location on Win32:
1793         
1794         * Makefile.am (INCLUDES): Define GTK_PREFIX as $(prefix).
1795
1796         * gdk-pixbuf-io.c (get_sysconfdir): New function, look up
1797         installation location at runtime and deduce GTK_SYSCONFDIR
1798         from it.
1799         (get_toplevel): Similar, for the top-level installation directory.
1800         (correct_prefix): Replace compile-time prefix with run-time
1801         prefix.
1802         (get_libdir): Remove, not used any longer.
1803         (gdk_pixbuf_io_init): Call correct_prefix() on Win32.
1804
1805         * queryloaders.c (query_module): [Win32] Change backslahses into
1806         slashes in path.
1807
1808 Tue Mar  9 09:33:28 2004  Owen Taylor  <otaylor@redhat.com>
1809
1810         * === Released 2.3.6 ===
1811
1812 2004-03-05  Tor Lillqvist  <tml@iki.fi>
1813
1814         * gdk_pixbuf.def: Add missing entries. Thanks to J. Ali Harlow.
1815
1816 Fri Mar  5 22:22:25 2004  Matthias Clasen  <maclas@gmx.de>
1817
1818         * io-bmp.c (OneLine32): Don't try to load an alpha channel
1819         from the BMP, since there is no evidence that even 32bit
1820         BMPs have an alpha channel.  (#135502)
1821
1822 Mon Mar  1 19:47:48 2004  Owen Taylor  <otaylor@redhat.com>
1823
1824          * === Released 2.3.5 ====
1825
1826 2004-02-28  Hans Breuer  <hans@breuer.org>
1827
1828         * io-tiff.c : include <io.h> for lseek()
1829         * io-xbm.c : use HAVE_UNISTD_H
1830
1831 Tue Feb 24 14:45:03 2004  Owen Taylor  <otaylor@redhat.com>
1832
1833         * === Released 2.3.3 ===
1834
1835 Sun Feb 22 01:09:55 2004  Matthias Clasen  <maclas@gmx.de>
1836
1837         * io-bmp.c (gdk_pixbuf__bmp_image_begin_load): Remove debugging
1838         code.
1839
1840 Fri Feb 20 22:25:32 2004  Matthias Clasen  <maclas@gmx.de>
1841
1842         * io-bmp.c (DecodeHeader): Store and sanity-check the clrUsed field 
1843         from the header for use in DecodeColormap.
1844         * io-bmp.c (DecodeColormap): Don't read more colormap entries than
1845         the header says are there.  (#134235, Kazuho Okui)
1846
1847 Sun Feb  8 01:07:20 2004  Manish Singh  <yosh@gimp.org>
1848
1849         * gdk-pixbuf-io.c: removed unnecessary G_OBJECT() cast checks.
1850
1851         * io-jpeg.c: make the return type for to_callback_empty_output_buffer
1852         "boolean", which should be defined by the jpeg headers. The right
1853         return type for this function depends on how the jpeg library
1854         was built (one wonders what happens if different compilers are used).
1855
1856 2004-01-28  Hans Breuer  <hans@breuer.org>
1857
1858         * gdk_pixbuf.def : updated externals
1859
1860 Sat Jan 17 23:02:55 2004  Matthias Clasen  <maclas@gmx.de>
1861
1862         The second part of the fix for #114351 (see also 
1863         ../Changelog)
1864         
1865         * gdk-pixbuf-i18n.h (P_): Use translation domain gtk20-properties.
1866
1867 Sat Jan 17 00:01:51 2004  Matthias Clasen  <maclas@gmx.de>
1868
1869         The first part of the fix for #114351 (see also
1870         ../ChangeLog): 
1871
1872         * gdk-pixbuf-i18n.h: Define P_() for property blurbs and nicks.
1873
1874         * gdk-pixbuf.c:  Mark property blurbs and nicks with P_().
1875
1876 Thu Jan  8 22:01:14 2004  Matthias Clasen  <maclas@gmx.de>
1877
1878         * queryloaders.c (loader_sanity_check): Don't use bitwise operators
1879         on booleans.  (#130923, reported by Telsa Gwynne, fix by Dave Jones)
1880
1881 2004-01-06  Federico Mena Quintero  <federico@ximian.com>
1882
1883         * gdk-pixbuf-io.c (gdk_pixbuf_save): Escape an ampersand in the
1884         documentation comment, and hack around an empty line in the code
1885         example so that gtk-doc won't put a <para> due to it.
1886
1887         * gdk-pixbuf.c (gdk_pixbuf_get_pixels): Link to the documentation
1888         section on image data.
1889
1890 2004-01-06  Federico Mena Quintero  <federico@ximian.com>
1891
1892         * gdk-pixdata.c (gdk_pixbuf_new_from_inline): Fix example in
1893         documentation comment.  Fixes #130701.
1894
1895 Wed Jan  7 02:41:14 2004  Matthias Clasen  <maclas@gmx.de>
1896
1897         * gdk-pixbuf-io.c (gdk_pixbuf_save_to_bufferv): 
1898         * gdk-pixbuf-io.c (gdk_pixbuf_save_to_buffer): 
1899         * gdk-pixbuf-io.c (gdk_pixbuf_save_to_callbackv): 
1900         * gdk-pixbuf-io.c (gdk_pixbuf_save_to_callback): New public API
1901         to save pixbufs to non-file locations.  (#82203, Tim Evans)
1902
1903         * gdk-pixbuf.h:
1904         * gdk-pixbuf.def: Declare the new public API.
1905
1906         * gdk-pixbuf-io.h: Add save_to_callback to the module interface.
1907         
1908         * io-jpeg.c: 
1909         * io-png.c: Implement save_to_callback.
1910
1911         * gdk-pixbuf-io.c (gdk_pixbuf_savev): 
1912         * gdk-pixbuf-io.c (gdk_pixbuf_save): Update documentation. 
1913
1914         * gdk-pixbuf-io.c (gdk_pixbuf_real_save): Support saving via
1915         image_module->save_to_callback.
1916
1917         * gdk-pixbuf-io.c (gdk_pixbuf_real_save_to_callback): New generic
1918         save_to_callback function which falls back to image_module->save 
1919         on a temp file.
1920         
1921 Wed Jan  7 01:17:36 2004  Matthias Clasen  <maclas@gmx.de>
1922
1923         * gdk-pixbuf-loader.c (gdk_pixbuf_loader_size_func): 
1924         * gdk-pixbuf-loader.c (gdk_pixbuf_loader_set_size): 
1925         * gdk-pixbuf-loader.c (gdk_pixbuf_loader_init): Make it possible
1926         to call gdk_pixbuf_loader_set_size (loader, 0, 0) by changing
1927         the initial values of priv->width/height to -1.
1928         
1929         * io-tiff.c (tiff_image_parse): 
1930         * io-ras.c (RAS2State): 
1931         * io-pnm.c (gdk_pixbuf__pnm_image_load_increment): 
1932         * io-pcx.c (gdk_pixbuf__pcx_load_increment): 
1933         * io-jpeg.c (gdk_pixbuf__jpeg_image_load_increment): 
1934         * io-png.c (png_info_callback): 
1935         * io-ico.c (DecodeHeader): 
1936         * io-bmp.c (DecodeHeader): Call size_func once the size is known,
1937         even if the module can't make use of the scaling information. If
1938         size_func returns 0, don't allocate a pixbuf and return, if 
1939         necessary with an error.
1940
1941         * gdk-pixbuf.h: 
1942         * gdk-pixbuf-io.c (gdk_pixbuf_get_file_info): A new function 
1943         to determine the type and size of an image file without loading
1944         it completely.  (#53725)
1945
1946 Sun Jan  4 00:44:57 2004  Matthias Clasen  <maclas@gmx.de>
1947
1948         * gdk-pixbuf.c (gdk_pixbuf_class_init): Turn the pixbuf 
1949         attributes into (construct-only, but always readable) 
1950         properties.  (#130196)
1951
1952         * gdk-pixbuf-data.c (gdk_pixbuf_new_from_data): Set properties
1953         in g_object_new().
1954
1955 Mon Dec 22 01:35:36 2003  Matthias Clasen  <maclas@gmx.de>
1956
1957         * Makefile.am (gdk-pixbuf.loaders): Fix building with
1958         --disable-modules --with-included-loaders, create an 
1959         empty gdk-pixbuf.loaders file.  (#124496, Arno Charlet, fix 
1960         proposed by Owen Taylor)
1961
1962 Thu Dec 11 01:57:05 2003  Matthias Clasen  <maclas@gmx.de>
1963
1964         * gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): Move
1965         the documentation for signals inline, to get proper parameter
1966         documentation.  (#128977)       
1967
1968 Sat Nov 15 00:26:19 2003  Matthias Clasen  <maclas@gmx.de>
1969
1970         * queryloaders.c (loader_sanity_check): Check that the mask
1971         is NULL or a string of the same length consisting entirely of
1972         ' ', '!', 'x', 'z', 'n'. 
1973
1974 Mon Nov 10 00:17:52 2003  Matthias Clasen  <maclas@gmx.de>
1975
1976         * Makefile.am (install-data-local): Typo fix in warning.
1977
1978 Sun Nov  9 23:07:05 2003  Matthias Clasen  <maclas@gmx.de>
1979
1980         * gdk-pixbuf-io.c (_gdk_pixbuf_generic_image_load): If neither
1981         load nor begin_load are available fall back to load_animation 
1982         and use gdk_pixbuf_animation_get_static_image() to obtain a 
1983         pixbuf. Inefficient, but at least doesn't crash.
1984
1985 Sun Nov  9 21:56:20 2003  Matthias Clasen  <maclas@gmx.de>
1986
1987         * queryloaders.c (write_loader_info): New function to write 
1988         out the information for a single loader, factored out of 
1989         query_module().
1990         (loader_sanity_check): New function to perform
1991         sanity checks on a loader.
1992         (query_module): Use the new functions.
1993
1994 Thu Nov  6 00:27:27 2003  Matthias Clasen  <maclas@gmx.de>
1995
1996         * io-pcx.c (gdk_pixbuf__pcx_load_increment): Fold two similar
1997         strings into on.  (#126204, Danilo Segan)
1998
1999 2003-09-19  Matthias Clasen  <maclas@gmx.de>
2000
2001         * io-tga.c (try_preload): Remove a pointless check.  
2002         (#122710, Kjartan Maraas)
2003
2004 Mon Aug 18 10:25:29 2003  Owen Taylor  <otaylor@redhat.com>
2005
2006         * gdk-pixdata.c (gdk_pixdata_to_csource): Add the correct
2007         alignment magic for Sun compiler and for GCC to get
2008         the strings aligned. (Patch from Brian Cameron, #117217)
2009
2010 2003-08-14  Matthias Clasen  <maclas@gmx.de>
2011
2012         * gdk-pixdata.c (gdk_pixdata_to_csource): Improve doc comment
2013         wording. (#119754, Doug Quale)
2014
2015 2003-08-03  Matthias Clasen  <maclas@gmx.de>
2016
2017         * gdk-pixbuf.c (gdk_pixbuf_get_rowstride): 
2018         * gdk-pixbuf-data.c (gdk_pixbuf_new_from_data): Clarify misleading
2019         explanation of rowstride.  (#119000)
2020
2021 2003-07-24  Matthias Clasen  <maclas@gmx.de>
2022
2023         * gdk-pixbuf-io.c (gdk_pixbuf_new_from_file_at_size): Preserve the
2024         aspect ratio.  (#118145, Owen Taylor) 
2025
2026 2003-07-23  Matthias Clasen  <maclas@gmx.de>
2027
2028         * gdk-pixbuf-io.c (gdk_pixbuf_new_from_file_at_size): Close loader
2029         before unref'ing it.  (#118146, Owen Taylor)
2030
2031 2003-03-01  Hans Breuer  <hans@breuer.org>
2032
2033         * makefile.msc : updated
2034
2035         * gdk_pixbuf.def : export a bunch of new functions
2036
2037 2003-07-18  Matthias Clasen  <maclas@gmx.de>
2038
2039         * pixops/pixops.c (correct_total): Split correction into multiple
2040         pieces if no single weight is large enough to apply the unsplit
2041         correction.  (#117431, problem reported by Tomas ?gren) 
2042
2043 2003-07-13  Matthias Clasen  <maclas@gmx.de>
2044
2045         * gdk-pixbuf.h: 
2046         * gdk-pixbuf-io.c (gdk_pixbuf_new_from_file_at_size): New function
2047         to load an image from a file at a  specified size.  (#105326, Dom
2048         Lachowicz) 
2049
2050 2003-07-11  Matthias Clasen  <maclas@gmx.de>
2051
2052         * queryloaders.c (query_module): Handle absolute filenames
2053         properly. (#117170, Jens Elkner) 
2054
2055         * gdk-pixbuf-io.c: Mention that NULL-terminated arrays returned by 
2056         gdk_pixbuf_format_get_mime_types() and
2057         gdk_pixbuf_format_get_extensions() must be freed with g_strfreev().
2058
2059 2003-07-04  Matthias Clasen  <maclas@gmx.de>
2060
2061         * gdk-pixbuf-io.c: Document ICO save parameters.
2062
2063         * io-ico.c: Support saving of ICOs and CURs. Currently, only
2064         single-image ICOs are produced, but the code for multi-image ICOs
2065         is already in place. The saver understands the options "depth"
2066         (can be "32", "24" or "16") and "x_hot"/"y_hot" for hotspot
2067         coordinates of CURs. 
2068
2069 2003-06-28  Matthias Clasen  <maclas@gmx.de>
2070
2071         * io-ico.c (DecodeHeader): Stop discriminating against 32bpp ICOs
2072         a): Use the byte size of the image as a heuristic when selecting
2073         the bitmap  to load - this lets us select 32bpp bitmaps which come
2074         after a 8bpp bitmap. 
2075         (OneLineTransp): Stop discriminating against 32bpp ICOs b): Don't
2076         overwrite the alpha channel of 32bpp ICOs. 
2077         (gdk_pixbuf__ico_image_load_increment): Stop decoding the header
2078         unnecessarily. 
2079
2080 Fri Jun 27 03:56:59 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
2081
2082         * io-gif-animation.c (gdk_pixbuf_gif_anim_frame_composite): Make
2083         it compile with C89 compilers.
2084
2085 2003-06-23  Matthias Clasen  <maclas@gmx.de>
2086
2087         * io-gif.c (gif_get_frame_info): Remove the pointless refusal to
2088         load images with dubious disposal mode on the first frame. Just
2089         ignore it, as everybody else does. 
2090
2091 2003-06-22  Matthias Clasen  <maclas@gmx.de>
2092
2093         * gdk-pixbuf-loader.[hc] (gdk_pixbuf_loader_new_with_mime_type):
2094         New function to obtain a loader for a specific mime type.
2095         (#105324, Dom Lachowicz) 
2096
2097         * io-gif.c (gif_get_extension): Reset block_count to 0 for all
2098         application extensions, otherwise the data blocks of unknown
2099         extensions are not propertly skipped.  
2100
2101         Second half of the fix for #106962, handle frames extending beyond
2102         the logical screen: 
2103         
2104         * io-gif.c (clip_frame): New helper function to clip a rectangle
2105         to the logical screen size of the gif. 
2106         (maybe_update): New helper function to call update_func only if
2107         the rectangle is not completely off-bounds. 
2108         (gif_get_lzw): Read frames extending outside the logical screen
2109         size, but be careful clip to the logical screen size 
2110         when operating on the composite pixbuf and when calling update_func.
2111         (gif_init): Set the animation size to the logical screen size.
2112         (gif_get_frame_info): Don't refuse to load images with frames
2113         extending beyond the logical screen size. 
2114
2115         * io-gif-animation.c (gdk_pixbuf_gif_anim_frame_composite): Be
2116         careful to clip all rectangles to the logical screen size, also
2117         handle the fact that frames may be completely off-bounds. 
2118
2119 2003-06-21  Matthias Clasen  <maclas@gmx.de>
2120
2121         * io-gif.c: Merge from 2.2: Fix update_func() arguments and accept
2122         empty frames.  (#106962)
2123
2124 2003-06-17  Matthias Clasen  <maclas@gmx.de>
2125
2126         * Makefile.am (man_MANS): Removed, man pages are now installed
2127         from docs/reference/gdk-pixbuf.
2128
2129 2003-06-03  Matthias Clasen  <maclas@gmx.de>
2130
2131         * gdk-pixdata.c (gdk_pixbuf_new_from_inline): Document
2132         data_length == -1, add an example.  (#97290)
2133
2134 2003-06-01  Matthias Clasen  <maclas@gmx.de>
2135
2136         * gdk-pixdata.h (struct _GdkPixdata): Fix misleading documentation
2137         of rowstride.  (#113924, Noah Levitt)
2138
2139 2003-05-27  Matthias Clasen  <maclas@gmx.de>
2140
2141         * io-wbmp.c: Remove dubious bitfields of
2142         unspecified signedness.  (#112919, Morten Welinder)gdk-p
2143
2144         * gdk-pixdata.c (gdk_pixdata_to_csource): Replace all occurances
2145         of g_string_new ("") by g_string_new (NULL). (#106975, Morten
2146         Welinder) 
2147
2148 2003-05-21  Matthias Clasen  <maclas@gmx.de>
2149
2150         * pixbufloader_pcx.def: 
2151         * io-pcx.c: A loader for PCX files.  (#113035, Josh Beam)
2152
2153         * gdk-pixbuf-io.c: 
2154         * Makefile.am: Add PCX loader.
2155
2156 2003-05-19  Matthias Clasen  <maclas@gmx.de>
2157
2158         Improve progressive loading from slow sources:  (#107368)
2159         
2160         * io-gif-animation.c (gdk_pixbuf_gif_anim_get_iter): Initialize
2161         first_loop_slowness. 
2162         (gdk_pixbuf_gif_anim_iter_advance): Don't wrap during loading if
2163         the datasource falls behind the speed of the display.
2164
2165         * io-gif-animation.h: Add a loading flag to GdkPixbufGifAnim and  
2166         first_loop_slowness to GdkPixbufGifAnimIter.
2167
2168 Wed May 14 18:24:50 2003  Owen Taylor  <otaylor@redhat.com>
2169
2170         * gdk-pixdata.c (gdk_pixdata_deserialize): Add a 
2171         (gint32 *) => (guint32 *) cast. (#108615, Rick Jones)
2172
2173 2003-04-24  Matthias Clasen  <maclas@gmx.de>
2174
2175         * gdk-pixbuf-loader.c (gdk_pixbuf_loader_write): 
2176         (gdk_pixbuf_loader_new_with_type): 
2177         (gdk_pixbuf_loader_close): 
2178         * gdk-pixbuf-io.c (gdk_pixbuf_new_from_file): 
2179         (gdk_pixbuf_save): 
2180         (gdk_pixbuf_savev): 
2181         * gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file): 
2182         Add sanity checks for GError handling.  (#108345) 
2183
2184 Tue Apr  1 15:33:51 2003  Owen Taylor  <otaylor@redhat.com>
2185
2186         * pixops/pixops.c (make_weights): Exploit the fact that all
2187         our filters are separable to simplify the calculation of
2188         the weight tables. (Based on a patch from Brian Cameron.)
2189
2190         * pixops/Makefile.am pixbuf-transform-math.ltx: 
2191         Add a short article describing how the math in pixops.c
2192         works.
2193
2194 2003-03-21  Matthias Clasen  <maclas@gmx.de>
2195
2196         * gdk-pixbuf-animation.c (gdk_pixbuf_non_anim_get_type): Add
2197         missing static.  (#108614)
2198
2199         * io-jpeg.c (gdk_pixbuf__jpeg_image_begin_load): 
2200         * io-ico.c (gdk_pixbuf__ico_image_stop_load): Add missing static
2201         qualifiers apparently causing problems on some platforms. (#108617)
2202
2203 2003-03-11  Matthias Clasen  <maclas@gmx.de>
2204
2205         * io-ico.c (DecodeHeader): Calculate LineWidth for 16bpp from
2206         width, like for the other depths.  (noticed by Marijn Ros)
2207
2208 2003-03-08  Matthias Clasen  <maclas@gmx.de>
2209
2210         Bug #107664 continued: 
2211         
2212         * io-xpm.c (find_color): Fix 0/FALSE confusion
2213         * gdk-pixbuf.c (gdk_pixbuf_get_has_alpha): Fix -1/gboolean
2214         confusion. 
2215
2216 2003-03-06  Matthias Clasen  <maclas@gmx.de>
2217
2218         * io-gif.c (gif_read): Fix 0/FALSE confusion (#107664, Morten
2219         Welinder) 
2220
2221 2003-02-20  Matthias Clasen  <maclas@gmx.de>
2222
2223         * io-gif-animation.c (gdk_pixbuf_gif_anim_frame_composite): 
2224         Always clear the initial frame and "disposed" areas with
2225         transparent pixels, no matter whether the frame has transparency 
2226         or not.  (#55502)
2227
2228 2003-02-18  Matthias Clasen  <maclas@gmx.de>
2229
2230         * io-tga.c (pixbuf_flip_row): 
2231         (pixbuf_flip_vertically): Auxiliary functions used to implement
2232         support for arbitrary origins.
2233         (parse_data_for_row_pseudocolor): 
2234         (parse_data_for_row_truecolor): 
2235         (parse_data_for_row_grayscale): 
2236         (parse_data_for_row): 
2237         (fill_in_context): Remove the check for upper-left origin.
2238         (parse_rle_data): Support arbitrary origins. (#105912)
2239
2240         * io-tga.c (fread_check): 
2241         (fseek_check): 
2242         (get_header_from_file): 
2243         (get_colormap_from_file): 
2244         (get_image_pseudocolor): 
2245         (swap_channels_pixbuf): 
2246         (get_image_truecolor): 
2247         (get_image_grayscale): 
2248         (gdk_pixbuf__tga_load): Remove the non-incremental load
2249         implementation, since we have generic_image_load () now.
2250
2251         (gdk_pixbuf__tga_stop_load): Fix a potential crash discovered by
2252         pixbuf-lowmem.
2253
2254 2003-02-14  Matthias Clasen  <maclas@gmx.de>
2255
2256         * io-tga.c (try_preload): 
2257         (gdk_pixbuf__tga_load): Actually reject images with origin
2258         not in the upper-left corner.  (#105912)  
2259
2260 2003-02-06  Matthias Clasen  <maclas@gmx.de>
2261
2262         * queryloaders.c (query_module): Better error message if
2263         module_open() fails.  (#105349, Tim Mooney)
2264
2265 Mon Jan 27 17:10:30 2003  Owen Taylor  <otaylor@redhat.com>
2266  
2267         * Makefile.am (gdk-pixbuf.loaders): Rewrite to run
2268         on the .la files rather than looking for .so files.
2269         (#102142, Martin Gansser)
2270  
2271         * Makefile.am: Don't build gdk-pixbuf.loaders when
2272         cross-compiling.
2273  
2274 2003-01-05  Tor Lillqvist  <tml@iki.fi>
2275
2276         * Makefile.am (gdk-pixbuf.loaders): Use @SOEXT@ in the find command.
2277
2278         * gdk_pixbuf.def: Add gdk_pixbuf_loader_set_size.
2279
2280 2003-01-03  Matthias Clasen  <maclas@gmx.de>
2281
2282         * gdk-pixbuf-io.c (gdk_pixbuf_new_from_xpm_data): Don't crash if
2283         gdk-pixbuf.loaders file is missing.  (#102222)
2284
2285 2002-12-08  Matthias Clasen  <maclas@gmx.de>
2286
2287         * gdk-pixbuf-animation.h: 
2288         * gdk-pixbuf-io.h: Add /*< public|private >*/ markers.
2289
2290 Sat Dec  7 10:14:05 2002  Owen Taylor  <otaylor@redhat.com>
2291
2292         * Makefile.am (gdk-pixbuf.loaders): Make gdk-pixbuf.loaders
2293         also depend gdk-pixbuf-query-loaders. (#97096, Daniel Elstner)
2294
2295 2002-12-05  Matthias Clasen  <maclas@gmx.de>
2296
2297         * io-ico.c: Remove leftover debug output.  (#100357, Owen Taylor)
2298
2299 2002-12-04  Bastien Nocera  <hadess@hadess.net>
2300
2301         * io-tiff.c: (tiff_image_parse): use G_BIG_ENDIAN instead of
2302         WORDS_BIGENDIAN which isn't set by configure.in
2303
2304 2002-11-29  Matthias Clasen  <maclas@gmx.de>
2305
2306         * gdk-pixbuf-animation.c: 
2307         * gdk-pixbuf.c: Add deprecation docs. 
2308
2309 2002-11-28  Matthias Clasen  <maclas@gmx.de>
2310
2311         * gdk-pixbuf/gdk-pixbuf-io.c:
2312         * gdk-pixbuf/gdk-pixbuf-loader.c:
2313         * gdk-pixbuf/gdk-pixbuf.c: Document 2.2 API additions. I'm not
2314         going to list all individual functions here; if you want to see
2315         the list, grep for "Since: 2.2".
2316
2317 Fri Nov  8 19:06:07 2002  Owen Taylor  <otaylor@redhat.com>
2318
2319         * Makefile.am (gdk-pixbuf.loaders): Make gdk-pixbuf.loaders
2320         file depend on the loaders (#97096, Jeff Waugh)
2321
2322 Wed Nov  6 15:19:53 2002  Owen Taylor  <otaylor@redhat.com>
2323  
2324         * io-gif.c (CHECK_LZW_SP): Fix trailing semicolon on macro,
2325         clean up a bit.
2326  
2327 2002-11-05  Matthias Clasen  <maclas@gmx.de>
2328
2329         * gdk-pixbuf-loader.c: Reindent to follow the gdk-pixbuf indentation.  
2330
2331 Tue Nov  5 14:16:17 2002  Owen Taylor  <otaylor@redhat.com>
2332
2333         * gdk-pixbuf-loader.c (gdk_pixbuf_loader_close): Fix 
2334         leaked pixbuf reference (#96823, Morten Welinder)
2335
2336 2002-10-23  Matthias Clasen  <maclas@gmx.de>
2337
2338         * io-gif.c (lzw_read_byte): Check for stack overflow throughout.
2339         (#91808, Elliot Lee)
2340
2341 2002-10-21  Matthias Clasen  <maclas@gmx.de>
2342
2343         Support the Netscape application extension for gif animations 
2344         (#95060):
2345         
2346         * io-gif-animation.h: 
2347         * io-gif-animation.c (gdk_pixbuf_gif_anim_iter_advance): 
2348         Add loop count to GdkPixbufGifAnim and use it in the advance
2349         method of GdkPixbufGifAnimIter.
2350         
2351         * io-gif.c (gif_get_extension): Parse Netscape application
2352         extension block and set the animation loop count. 
2353
2354 2002-10-11  Matthias Clasen  <maclas@gmx.de>
2355
2356         * gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_format): Remove
2357         unused variable.
2358
2359         * gdk-pixbuf-io.h: Remove unused typedef 
2360         GdkPixbufModuleGetSignatureFunc.
2361
2362 2002-10-04  jacob berkman  <jacob@ximian.com>
2363
2364         * queryloaders.c (query_module): make legal C
2365
2366 2002-10-04  Matthias Clasen  <maclas@gmx.de>
2367
2368         * Makefile.am gdk-pixbuf-animation.c gdk-pixbuf-data.c 
2369         gdk-pixbuf-io.c gdk-pixbuf-io.h gdk-pixbuf-loader.c 
2370         gdk-pixbuf-loader.h gdk-pixbuf-private.h gdk-pixbuf.h 
2371         gdk-pixdata.c io-ani-animation.h io-ani.c io-bmp.c 
2372         io-gif-animation.c io-gif-animation.h io-gif.c io-ico.c 
2373         io-jpeg.c io-png.c io-pnm.c io-ras.c io-tga.c io-tiff.c 
2374         io-wbmp.c io-xbm.c io-xpm.c pixbufloader_ani.def 
2375         pixbufloader_bmp.def pixbufloader_gif.def pixbufloader_ico.def 
2376         pixbufloader_jpeg.def pixbufloader_png.def 
2377         pixbufloader_pnm.def pixbufloader_ras.def pixbufloader_tga.def 
2378         pixbufloader_tiff.def pixbufloader_wbmp.def 
2379         pixbufloader_xbm.def pixbufloader_xpm.def test-gdk-pixbuf.c 
2380         gdk-pixbuf-animation.h queryloaders.c: Support for separately
2381         installed loaders.  (#77486)
2382
2383 Thu Oct  3 18:25:57 2002  Owen Taylor  <otaylor@redhat.com>
2384
2385         * io-jpeg.c (gdk_pixbuf__jpeg_image_save): 
2386         Fix memory leak. (#94399)
2387
2388 Tue Oct  1 17:35:43 2002  Owen Taylor  <otaylor@redhat.com>
2389
2390         * gdkpixdata.c: Patch from Andy Wingo to always 
2391         escape ? to avoid accidentally generating trigraphs
2392         in the output (#94631)
2393
2394 2002-09-28  Tor Lillqvist  <tml@iki.fi>
2395
2396         * pixops/*.S: Don't use .type on Cygwin, either (#91597, Masahiro
2397         Sakai).
2398
2399 2002-09-27  Federico Mena Quintero  <federico@ximian.com>
2400
2401         * io-ico.c (gdk_pixbuf__ico_image_begin_load): Free the context if
2402         we cannot allocate the HeaderBuf.
2403
2404 2002-09-27  Federico Mena Quintero  <federico@ximian.com>
2405
2406         * io-bmp.c (OneLine): Fix the update region notification to handle
2407         top-to-bottom and bottom-to-top BMPs correctly.
2408
2409 2002-09-19  Matthias Clasen  <maclas@gmx.de>
2410
2411         * Revert the previous change; the symbols need to be exported 
2412         to be usable from dlopened modules.
2413         
2414 2002-09-18  Matthias Clasen  <maclas@gmx.de>
2415
2416         * io-xpm.c, io-xbm.c, io-ico.c, io-ani.c, io-png.c,
2417         gdk-pixbuf.c, gdk-pixbuf-animation.c, gdk-pixbuf-loader.c,
2418         gdk-pixbuf-private.h: _-prefix gdk_pixbuf_non_anim_new and
2419         gdk_pixbuf_set_option. Adjust all callers. 
2420
2421 2002-09-14  Hans Breuer  <hans@breuer.org>
2422
2423         * pixops/Makefile.am : added makefile.msc to EXTRA_DIST
2424
2425 2002-09-12  Matthias Clasen  <maclas@gmx.de>
2426
2427         * io-gif-animation.h: 
2428         * gdk-pixbuf.h: Move GdkPixbufFrame from the public header to
2429         the gif-animation-specific private header.  (#91929)
2430
2431 2002-09-12  Federico Mena Quintero  <federico@ximian.com>
2432
2433         * io-jpeg.c (gdk_pixbuf__jpeg_image_load): Unref the pixbuf if we
2434         hit an unsupported colorspace.
2435
2436 2002-09-06  Matthias Clasen  <maclas@gmx.de>
2437
2438         * io-ani.c, io-ani-animation.h, io-ani-animation.c, 
2439         pixbufloader_ani.def, Makefile.am, gdk-pixbuf-io.c: New loader,
2440         for .ANI animations.
2441         
2442         * io-xpm.c (pixbuf_create_from_xpm): 
2443         * io-xbm.c (gdk_pixbuf__xbm_image_load_real): 
2444         * io-ico.c (DecodeHeader): Attach hotspot coordinates to the
2445         pixbuf as options "x_hot" and "y_hot". 
2446
2447 2002-09-04  Matthias Clasen  <maclas@gmx.de>
2448
2449         * io-tga.c (io_buffer_append): 
2450         * io-ico.c (DecodeHeader): 
2451         * io-bmp.c (grow_buffer): Don't leak memory if g_try_realloc fails.
2452
2453         * gdk-pixbuf-io.c (pixbuf_check_ico): Fix loading of .CUR files.
2454         (#91826)
2455
2456 2002-08-25  Tor Lillqvist  <tml@iki.fi>
2457
2458         * Makefile.am (libgdk_pixbuf_2_0_la_DEPENDENCIES): Add
2459         gdk_pixbuf_win32res_lo. (#87101, J. Ali Harlow)
2460
2461 2002-08-22  Matthias Clasen  <maclas@gmx.de>
2462
2463         * gdk-pixbuf-io.h:
2464         gdk-pixbuf-io.c (_gdk_pixbuf_generic_image_load): No longer
2465         static, thus _gdk_pixbuf-prefixed.
2466
2467         * gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file): 
2468         Keep this logic in sync with gdk_pixbuf_new_from_file().  (Based
2469         on a patch by Anders Carlsson)
2470
2471         * io-png.c (gdk_pixbuf__png_image_save): Plug a memory 
2472         leak.  (#91422, Sven Neumann)
2473
2474 2002-07-31  Sven Neumann  <sven@gimp.org>
2475
2476         * gdk-pixdata.c (gdk_pixdata_to_csource): free the result of
2477         gdk_pixdata_serialize() (bug #89411).
2478
2479 Mon Jul 29 23:06:10 2002  Owen Taylor  <otaylor@redhat.com>
2480
2481         * gdk-pixbuf-scale.c: Fix some warnings by adding
2482         casts to PixopsInterpType. (#85839, David L. Cooper, II.)
2483
2484 2002-07-16  Matthias Clasen  <maclas@gmx.de>
2485
2486         * io-ras.c (DoCompressed): Avoid unnecessary casting.
2487
2488 2002-07-07  Matthias Clasen  <maclas@gmx.de>
2489
2490         * gdk-pixbuf-io.c (generic_image_load): New function for loading
2491         an image from a file either via module->load or incrementally.
2492         (prepared_notify): ModulePreparedNotifyFunc for generic_image_load.
2493         (gdk_pixbuf_new_from_file): Use generic_image_load.
2494         * io-bmp.c, io-ico.c, io-ras.c, io-wbmp.c: Remove trivial
2495         implementations of module->load.  (#71266)
2496         
2497         * io-ico.c (DecodeHeader): Correct computation of image height.
2498         (OneLine): Correct update notification.
2499
2500         Load-at-size functionality  (#53726): 
2501         
2502         * gdk-pixbuf-io.h (ModuleSizeFunc): New. 
2503         (_GdkPixbufModule): Prepend a ModuleSizeFunc to the 
2504         begin_load arguments. Adjust all modules.
2505         * gdk-pixbuf-loader.c (struct GdkPixbufLoaderPrivate): Add
2506         fields width, height, size_fixed, need_scale.
2507         (gdk_pixbuf_loader_class_init): Add size_prepared signal.
2508         (gdk_pixbuf_loader_set_size): New function.
2509         (gdk_pixbuf_loader_size_func): ModuleSizeFunc which gets
2510         passed to the module, emits size_prepared.
2511         (gdk_pixbuf_loader_prepare): Call gdk_pixbuf_loader_size_func
2512         if necessary, only emit area_prepared if no separate scaling
2513         is required.
2514         (gdk_pixbuf_loader_update): Only emit area_updated if no 
2515         separate scaling is required.
2516         (gdk_pixbuf_loader_load_module): Add size_func as first argument.
2517         (gdk_pixbuf_loader_close): If necessary scale the image
2518         to the desired size and emit area_prepared and area_updated.
2519         * gdk-pixbuf-loader.h (struct _GdkPixbufLoaderClass): Add
2520         size_prepared signal.
2521         (gdk_pixbuf_loader_set_size) New API.
2522         * gdk-pixbuf-marshal.list: Add VOID:INT,INT.
2523         * io-jpeg.c: User cinfo->output_width/height instead of 
2524         cinfo->image_width/height throughout when adressing the pixbuf.
2525         (gdk_pixbuf__jpeg_image_load_increment): Call size_func, and
2526         find the nearest possible output size which libjpeg can produce
2527         that is still larger than the desired size.
2528         
2529 2002-07-06  Matthias Clasen  <maclas@gmx.de>
2530
2531         * io-tiff.c (tiff_set_error): Handle global_error == NULL
2532         better.
2533         (tiff_image_parse): Don't trust TIFFRGBAImageBegin to set
2534         the "put" routine.  (Fixes #87384)
2535         (gdk_pixbuf__tiff_image_stop_load): Don't call TIFFClose too 
2536         early.
2537
2538 2002-07-02  Matthias Clasen  <maclas@gmx.de>
2539
2540         Miscellaneous bmp loader fixes (#85448, #86286, #86287):
2541         
2542         * io-bmp.c (grow_buffer): New function to avoid crashes
2543         on unchecked reallocs. 
2544         (DecodeHeader, DecodeColormap, decode_bitmasks,
2545         DoCompressed): Use grow_buffer instead of g_realloc 
2546         throughout. Change signatures where necessary to pass the
2547         errors up.
2548         (OneLine16): Fix loading of 16bpp BI_RGB bmps. 
2549         (DoCompressed): Rewritten to properly support BI_RLE4 and
2550         skips and jumps.
2551
2552         Support for compressed ras images (#84994):
2553         
2554         * io-ras.c (RAS2State): Error on unsupported ras variations.
2555         (OneLine8): Fix colormap indexing.
2556         (OneLine): Call updated_func with proper region.
2557         (DoCompressed): New function, handles compressed ras data.
2558         (gdk_pixbuf__ras_image_load_increment): Handle compressed ras
2559         images.
2560
2561         Better colorspace support for the jpeg loader (#61211):
2562         
2563         * io-jpeg.c (convert_cmyk_to_rgb): New function.
2564         (gdk_pixbuf__jpeg_image_load,
2565         gdk_pixbuf__jpeg_image_load_increment): Allocate a pixbuf with
2566         alpha for 4-channel jpegs and call convert_cmyk_to_rgb for these.
2567
2568         All of this needs to be merged to GNOME 1.4 gdk-pixbuf.
2569         
2570 2002-06-28  Sven Neumann  <sven@gimp.org>
2571
2572         * gdk-pixbuf-csource.c (print_blurb): converted a Tab to spaces.
2573
2574 Thu Jun 13 18:11:11 2002  Owen Taylor  <otaylor@redhat.com>
2575
2576         * pixops/pixops.c: Fix problem where when no alpha was
2577         involved, we scaled rather than composited, but then
2578         went ahead and composited anyways. (#76958, Patch
2579         from Matthias Clasen). Needs to be merged to GNOME
2580         1.4 gdk-pixbuf.
2581
2582 2002-06-13  Matthias Clasen  <maclas@gmx.de>
2583
2584         * io-jpeg.c: Use libjpeg in buffered-image mode in order to
2585         incrementally display incrementally loaded progressive jpegs.
2586
2587 2002-06-07  Federico Mena Quintero  <federico@ximian.com>
2588
2589         * io-bmp.c (lsb_32):
2590         (lsb_16): New functions to fetch 32 or 16-bit little-endian values
2591         starting at a specific memory location.  We do this instead of
2592         GINT32_FROM_LE() as the latter is simply dereferences a cast,
2593         which doesn't work on platforms with alignment requirements.
2594         Fixes #84083.
2595
2596 2002-06-01  Matthias Clasen  <maclas@gmx.de>
2597
2598         * gdk-pixbuf-io.c (pixbuf_check_xbm): Accept xbms starting
2599         with a C comment - those seem to be not uncommon, e.g. the Gimp 
2600         produces them.  (#82706)
2601
2602         * io-xbm.c (read_bitmap_file_data): Don't leak memory on certain
2603         invalid inputs.
2604         (gdk_pixbuf__xbm_image_load_real): Don't leak memory on valid inputs.
2605
2606 2002-05-22  Tor Lillqvist  <tml@iki.fi>
2607
2608         * gdk-pixbuf-io.c (get_libdir): Use GTK_BINARY_VERSION (and not
2609         GTK_VERSION) in the path to the loaders on Win32, too.
2610
2611         * Makefile.am: Pass GTK_BINARY_VERSION.
2612
2613 2002-05-22  Federico Mena Quintero  <federico@ximian.com>
2614
2615         * io-xpm.c (pixbuf_create_from_xpm): Ahem, take the rowstride into
2616         account!!!  Fixes #82515.
2617
2618         [This bug is not present in the GNOME 1.4 branch as its XPM loader
2619         does not use gdk_pixbuf_new(); rather it malloc()s a buffer with
2620         no row padding and then uses gdk_pixbuf_new_from_data() on it.]
2621
2622         [IMPORTANT: The comment above is to make my life easier when
2623         merging stuff across branches.  If you make changes to gdk-pixbuf
2624         in either branch, please include a comment in the ChangeLog that
2625         indicates whether this should be merged into the other branch.
2626         Thanks!]
2627
2628 2002-05-18  Matthias Clasen  <maclas@gmx.de>
2629
2630         * io-tiff.c (tiff_image_parse): fix packing order on bigendian 
2631         systems.  (#81702)
2632
2633 Thu May 16 15:17:30 2002  Owen Taylor  <otaylor@redhat.com>
2634
2635         * pixops/pixops.c: Patch from Matthias Clasen to fix some typos 
2636         (#77246)
2637
2638 Thu May 16 15:02:46 2002  Owen Taylor  <otaylor@redhat.com>
2639
2640         * gdk-pixdata.c (gdk_pixdata_to_csource): Fix 64-bit warning.
2641         (#78258)
2642
2643 2002-05-07  Michael Natterer  <mitch@gimp.org>
2644
2645         * gdk-pixbuf/Makefile.am: build the static pixbuf loaders
2646         conditionally like the dynamic ones so --without-lib<foo> is
2647         honored when building with --disable-modules. (#66867)
2648
2649 Sun May  5 02:27:01 2002  Soeren Sandmann  <sandmann@daimi.au.dk>
2650
2651         * Makefile.am (noinst_PROGRAMS): remove test-loaders (moved to
2652         gtk+/tests/)
2653         * test-loaders.c, test-images.h: remove 
2654
2655 2002-04-24  Matthias Clasen  <maclas@gmx.de>
2656
2657         * gdk-pixbuf-io.c (gdk_pixbuf_save): Remove the ISO8859-1
2658         restriction from the description of png tEXt parameters.
2659
2660         * io-png.c (png_text_to_pixbuf_option): 
2661         (gdk_pixbuf__png_image_save): If libpng supports it,
2662         store and retrieve non-ISO8859-1 text as UTF-8.  (#76172)
2663
2664 2002-04-11  Matthias Clasen  <maclas@gmx.de>
2665
2666         More fixes for #77807:
2667         
2668         * io-tga.c (get_contiguous_pixbuf): Helper function to create
2669         a pixbuf with a contiguous pixel array while being careful about
2670         overflow. 
2671
2672         * io-tga.c (fill_in_context, get_image_pseudocolor,
2673         get_image_truecolor, get_image_grayscale): Use 
2674         get_contiguous_pixbuf instead of manually allocating image
2675         storage. 
2676
2677         * io-xpm.c (pixbuf_create_from_xpm): 
2678         * io-pnm.c (gdk_pixbuf__pnm_image_load):
2679         * io-jpeg.c (gdk_pixbuf__jpeg_image_load): Use gdk_pixbuf_new
2680         instead of manually allocating image storage.
2681
2682 2002-04-09  Matthias Clasen  <maclas@gmx.de>
2683
2684         * gdk-pixbuf-loader.c (gdk_pixbuf_loader_load_module): Use 
2685         priv->image_module->module_name instead of image_type which may 
2686         be NULL.
2687
2688 2002-04-06  Matthias Clasen  <maclas@gmx.de>
2689
2690         * io-png.c (gdk_pixbuf__png_image_load): Restructured to use
2691         gdk_pixbuf_new instead of manually allocating image storage. This
2692         gives us a good rowstride and overflow checks.  (#77807)
2693
2694 2002-04-05  Matthias Clasen  <maclas@gmx.de>
2695
2696         * io-tiff.c (tiff_image_parse): Avoid allocating an extra copy of
2697         the image by using a TIFFRGBAImage{Begin,Get,End} with suitable
2698         put functions instead of TIFFRGBAImage. And check image dimensions
2699         for overflow. 
2700
2701 2002-04-03  Matthias Clasen  <maclas@gmx.de>
2702
2703         * gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_type): Fix a doc typo.
2704
2705 2002-03-29  Matthias Clasen  <maclas@gmx.de>
2706
2707         * io-png.c (png_simple_error_callback): libpng error handlers must
2708         not return to their callers, thus longjmp out. This prevents
2709         annoying stderr output from the default error handler.
2710
2711 2002-03-27  Matthias Clasen  <maclas@gmx.de>
2712
2713         * io-png.c (gdk_pixbuf__png_image_stop_load): Don't leak info_ptr.
2714
2715         * io-png.c (gdk_pixbuf__png_image_load): Get rid of unused
2716         end_info. Also call png_read_end to check proper ending of the png
2717         file and catch text chunks after the image data.
2718
2719 2002-03-27  Matthias Clasen  <maclas@gmx.de>
2720
2721         * io-png.c (gdk_pixbuf__png_image_load,
2722         gdk_pixbuf__png_image_begin_load): Make libpng use g_malloc
2723         instead of system malloc. 
2724
2725 2002-03-26  Matthias Clasen  <maclas@gmx.de>
2726
2727         * io-tiff.c (tiff_image_parse): Don't leak pixbuf on error.
2728
2729         * io-gif.c (gdk_pixbuf__gif_image_load_increment): Don't leak
2730         context->buf on error.
2731
2732         * gdk-pixbuf-loader.c (gdk_pixbuf_loader_close): Make sure to call
2733         stop_load even for short images to prevent memleaks.
2734
2735 2002-03-25  Matthias Clasen  <maclas@gmx.de>
2736
2737         * io-png.c (setup_png_transformations): Changed signature to
2738         return success and set a GError parameter, adjusted all callers.
2739         Also work around a possible FPE in libpng and always check that
2740         the new info is sane.
2741
2742 2002-03-23  Matthias Clasen  <maclas@gmx.de>
2743
2744         * io-wbmp.c (gdk_pixbuf__wbmp_image_load_increment):
2745         context->updated_func is NULL during a nonincremental load.
2746         (gdk_pixbuf__wbmp_image_load): Stop reading after the first error.
2747
2748 2002-03-18  Matthias Clasen  <maclas@gmx.de>
2749
2750         * io-tga.c: Fix assumptions on rowstride by manually allocating a
2751         contiguous pixel buffer. Catch buffer overruns in RLE-modi. 
2752         Support grayscale + alpha (which can be written, but not read (!)
2753         by the Gimp). 
2754
2755 2002-03-15  Matthias Clasen  <maclas@gmx.de>
2756
2757         * io-gif.c (gif_get_frame_info): Catch invalid frame dimensions.
2758
2759 2002-03-13  Matthias Clasen  <maclas@gmx.de>
2760
2761         * test-images.h: Add valid_ras_test and invalid_bmp_1.
2762
2763         * test-loaders.c (main): Add random tests for ras and pnm and an
2764         invalid bmp which was a crasher until my 2002-03-12 commit.
2765
2766         * io-pnm.c (gdk_pixbuf__pnm_image_load_increment): Don't unref the
2767         pixbuf on errors.
2768
2769         * io-ras.c: Handle some errors.
2770
2771 2002-03-12  Sven Neumann  <sven@gimp.org>
2772
2773         * gdk-pixbuf.c (gdk_pixbuf_fill): use sequential writes instead of
2774         calling memcpy(). Simpler and potentially faster. (#70332)
2775
2776 2002-03-12  Matthias Clasen  <maclas@gmx.de>
2777
2778         * io-bmp.c (DecodeHeader): Replace a g_assert_not_reached ()
2779         which could actually be reached by a proper error status return.
2780
2781 2002-03-05  Matthias Clasen  <maclas@gmx.de>
2782
2783         * test-loaders.c, test-images.h: More random tests. 
2784
2785         * io-bmp.c (DecodeHeader): Fail gracefully on OOM here.
2786
2787 Tue Mar  5 10:39:03 2002  Owen Taylor  <otaylor@redhat.com>
2788
2789         * Makefile.am (loaderdir): Put the modules into the
2790         GTK_BINARY_VERSION directory for consistency with
2791         immodules and theme engines.
2792
2793 Sat Mar  2 22:11:10 2002  Owen Taylor  <otaylor@redhat.com>
2794
2795         * gdk-pixbuf-io.c (_gdk_pixbuf_load_module): If we
2796         can't load the module using the g_module_build_path()
2797         filename, try loading it as a .la file.
2798
2799         * test-loaders.c: Look for modules in current directory
2800         rather than .libs, so we find the right .la files.
2801
2802         * test-loaders.c: Back out some accidental commits.
2803
2804 Sat Mar  2 21:28:03 2002  Owen Taylor  <otaylor@redhat.com>
2805
2806         * gdk-pixbuf.c (gdk_pixbuf_new): Bullet-proof against integer
2807         overflow.
2808
2809 2002-03-03  Tor Lillqvist  <tml@iki.fi>
2810
2811         * gtk-pixbuf.rc.in: Remove.
2812
2813         * gdk_pixbuf.rc.in: Name like this instead (wrong name used by
2814         mistake by Hans).
2815
2816         * makefile.msc: Corresponding changes.
2817
2818         * Makefile.am: Use gdk_pixbuf.rc on Win32. Distribute it.
2819
2820 2002-02-28  Matthias Clasen  <maclas@gmx.de>
2821
2822         * pixops/pixops.c (tile_make_weights): Move the call to
2823         correct_total() to the right spot. (#72732)
2824
2825 Wed Feb 27 18:33:04 2002  Owen Taylor  <otaylor@redhat.com>
2826
2827         * gdk-pixdata.c (gdk_pixdata_to_csource): Use {} not
2828         () to group around string assigned to char[]. (#72767,
2829         Tomas ?gren)
2830
2831 2002-02-21  Havoc Pennington  <hp@pobox.com>
2832
2833         * gdk-pixbuf-loader.c (gdk_pixbuf_loader_load_module): remove
2834         C++-commented debug spew, reported by David L. Cooper
2835
2836 2002-02-15  Matthias Clasen  <maclas@gmx.de>
2837
2838         * pixops/pixops.c (correct_total): New function to make sure
2839         that the weights sum up to the correct total without introducing
2840         negative weights.
2841         (tile_make_weights, bilinear_make_fast_weights, 
2842         bilinear_make_weights): Use correct_total.
2843
2844 2002-02-10  Matthias Clasen  <maclas@gmx.de>
2845
2846         * test-images.h (tiff1_test_3), test-loaders.c (main): Add a
2847         (#ifdef 0'ed) test provoking a segfault in TIFFReadDirectory(). 
2848         
2849         * io-ico.c (DecodeHeader): Check that pixbuf could be allocated.
2850
2851         * test-images.h (ico_test_2), test-loaders.c (main): Test the 
2852         previous change.
2853
2854         * io-wbmp.c (gdk_pixbuf__wbmp_image_load_increment): Don't write 
2855         beyond the end of buffer if width % 8 != 0.
2856
2857         * io-tga.c (try_preload): Enforce that ctx->hdr->type is one of
2858         the supported types, otherwise parse_data_for_row () will not make
2859         any progress, leading to an infinite loop.
2860
2861 Mon Feb 11 14:31:53 2002  Owen Taylor  <otaylor@redhat.com>
2862
2863         * pixops/pixops.c (bilinear_make_weights): Fix handing of
2864         overall alpha.
2865
2866 2002-02-10  Matthias Clasen  <maclas@gmx.de>
2867
2868         * test-loaders.c (main): Enable some tests which should work
2869         now.
2870
2871         * io-wbmp.c (gdk_pixbuf__wbmp_image_load_increment): Detect
2872         invalid image dimensions and insufficient memory.
2873
2874         * io-tga.c (try_preload): Detect invalid image dimensions.
2875         (gdk_pixbuf__tga_stop_load): Don't try to unref NULL pointers.
2876
2877         * io-ico.c (DecodeHeader): Detect some invalid headers and
2878         don't segfault.
2879
2880 Fri Feb  8 23:11:15 2002  Owen Taylor  <otaylor@redhat.com>
2881
2882         * pixops/pixops.c: Force all weight arrays to sum exactly
2883         to 65535. (Fixes #70971, reported by Federico Mena Quintero)
2884
2885         * Makefile.am (libgdk_pixbuf_1_3_la_DEPENDENCIES): Add
2886         libpixops.la.
2887
2888 2002-02-08  Federico Mena Quintero  <federico@ximian.com>
2889
2890         * pixops/pixops.h: Fix comment; PixopsInterpType -> GdkInterpType.
2891
2892 2002-02-08  Darin Adler  <darin@bentspoon.com>
2893
2894         * io-xbm.c: (next_int): Wean this from <ctype.h>.
2895
2896 2002-02-01  Matthias Clasen  <matthiasc@poet.de>
2897
2898         * Makefile.am: Build the tga loader as a static library. (#70157)
2899
2900         * io-ico.c: Merge 16- and 32-bit ico support from the stable 
2901         branch.  (#61179)
2902
2903         * io-gif.c: Recomposite all images if the animation size changes
2904         while loading.  (#70055)
2905
2906         * gdk-pixbuf.c (gdk-pixbuf-fill): Make it work for subpixbufs. 
2907         (#70055)
2908
2909 Sat Jan 19 20:49:20 2002  Manish Singh  <yosh@gimp.org>
2910
2911         * io-jpeg.c, io-png.c: Made sure all the error cases involving
2912         jpeg or png load/saves clean themselves up properly. Marked some
2913         variables needed for cleanup volatile so they aren't clobbered by
2914         setjmp.
2915
2916 Fri Jan 11 18:05:07 2002  Owen Taylor  <otaylor@redhat.com>
2917
2918         * pixops/pixops.c: Fix integer overflow for the values
2919         passed to the pixel functions. (#55148, fix from Michael Hore)
2920
2921 Fri Jan 11 17:53:58 2002  Owen Taylor  <otaylor@redhat.com>
2922
2923         * pixops/pixops.c (pixops_scale_nearest): Remove meaningless
2924         FIXME.
2925
2926         * pixops/pixops.c (pixops_process): Comment the computation
2927         of run_end_index and fix some edge cases.
2928
2929         * pixops/{scale_line_22_33_mmx.S, composite_line_22_4a4_mmx.S:
2930         composite_line_color_22_4a4_mmx.S}: Handle the case where
2931         dest <= dest_end properly. (#52001, fix from Michael Hore)
2932
2933 Thu Jan 10 16:48:30 2002  Owen Taylor  <otaylor@redhat.com>
2934
2935         * pixops/pixops.c: Replace some hardcoded values with the 
2936         SUBSAMPLE constant used elsewhere. (#51033)
2937
2938 Wed Jan  9 11:29:44 2002  Owen Taylor  <otaylor@redhat.com>
2939
2940         * Makefile.am (s-enum-types-h): Include glib-object.h,
2941         Add G_BEGIN_DECLS/END_DECLS to gdk-pixbuf-enum-types.h. (#68325,
2942         Mikael Hermansson)
2943
2944         * *.h: G_BEGIN_DECLS cleanups.
2945
2946 Tue Jan  8 10:58:04 2002  Owen Taylor  <otaylor@redhat.com>
2947
2948         * gdk-pixbuf-util.c (gdk_pixbuf_saturate_and_pixelate): 
2949          - Massive cleanup, make actually legible. 
2950          - Fix some clamp-to-range bugs found by Jim Cape (#68231). 
2951          - Add a g_return_if_fail() if src and dest alpha don't match.
2952          - Allow for src_rowstride != dest_rowstride.
2953
2954 2002-01-04  Hans Breuer  <hans@breuer.org>
2955
2956         * gdk_pixbuf.def : don't export functions prefixed
2957         with underscore
2958
2959         * makefile.msc : use -FImsvc_recommende_pragmas.h
2960
2961 Thu Jan  3 19:31:58 2002  Owen Taylor  <otaylor@redhat.com>
2962
2963         * pixops/pixops.c (scale_line_22_33): Fix and uncomment
2964         non-MMX version.
2965
2966         * pixops/pixops.c (pixops_composite_nearest): Remove a
2967         division.
2968
2969         * pixops/pixops.c (pixops_composite): Add some docs
2970         about the parameters.
2971
2972         * pixops/README: Add notes about the correct algorithms
2973         for alpha compositing and how to implement them quickly.
2974
2975 2001-12-29  Tor Lillqvist  <tml@iki.fi>
2976
2977         * Makefile.am (EXTRA_DIST): Add makefile.msc.
2978
2979 Sat Dec 22 15:31:20 2001  Owen Taylor  <otaylor@redhat.com>
2980
2981         * gdk-pixdata.h: Fix trailing "," in enumeration.
2982
2983 2001-12-17  Matthias Clasen  <matthiasc@poet.de> 
2984
2985         * gdk-pixbuf.c, gdk-pixbuf-io.c, gdk-pixbuf-animation.c, 
2986         gdk-pixbuf-data.c, gdk-pixbuf-loader.c, gdk-pixbuf-scale.c, 
2987         gdk-pixbuf-util.c, gdk-pixdata.c: Markup fixes.
2988
2989 2001-12-16  Havoc Pennington  <hp@pobox.com>
2990
2991         * gdk-pixbuf-scale.c: docs enhancements
2992
2993 2001-12-14  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2994
2995         * io-xpm.c: Use g_ascii_strcasecmp() instead of g_strcasecmp().
2996
2997 2001-12-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2998
2999         * gdk-pixbuf-animation.c, gdk-pixbuf-loader.c, gdk-pixpuf.c,
3000         io-gif-animation.c, io-gif.c, io-tiff.c, test-loaders.c: Remove
3001         assorted G_OBJECT casts where unnecessary.
3002
3003         * gdk-pixbuf-loader.c: Call g_object_ref and g_object_unref
3004         instead of gdk_pixbuf_animation_ref and gdk_pixbuf_animation_unref
3005         resp.
3006
3007         * gdk-pixbuf-csource.c, io-bmp.c, io-gif-animation.c, io-ico.c,
3008         io-jpeg.c, io-png.c, io-pnm.c, io-ras.c, io-tga.c, io-wbmp.c,
3009         io-xbm.c, io-xpm.c, test-gdk-pixbuf.c: Dito for gdk_pixbuf_ref and
3010         gdk_pixbuf_unref.
3011         
3012         * Makefile.am, pixops/Makefile.am: Compile everything with
3013         -DG_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED
3014
3015         * gdk-pixdata.c: Use g_ascii_strup() instead of g_strup().
3016
3017         * io-xpm.c: Use g_ascii_strcasecmp() instead of g_strcasecmp().
3018
3019 2001-12-12  Matthias Clasen  <matthiasc@poet.de>
3020
3021         * gdk-pixbuf-io.c: Markup fixes.
3022
3023 2001-12-12  Matthias Clasen  <matthiasc@poet.de>
3024
3025         * Makefile.am (INCLUDES): Define G_LOG_DOMAIN. (#66412)
3026
3027         * gdk-pixbuf-loader.c, gdk-pixbuf-util.c: Markup fixes.
3028
3029 2001-12-11  Michael Natterer  <mitch@gimp.org>
3030
3031         * io-png.c: gdk_pixbuf__png_image_save: removed wrong endian
3032         conversion stuff; don't copy RGB pixbufs' lines around before
3033         saving them.
3034
3035 2001-12-05  Matthias Clasen  <matthiasc@poet.de>
3036
3037         * gdk-pixbuf.h (gdk_pixbuf_ref, gdk_pixbuf_unref,
3038         gdk_pixbuf_animation_ref, gdk_pixbuf_animation_unref):
3039         Deprecate. (#66208)
3040
3041 Tue Dec  4 11:45:45 2001  Owen Taylor  <otaylor@redhat.com>
3042
3043         * io-xpm.c (pixbuf_create_from_xpm): Fill in color 
3044         fields to black for transparent colors since we'll
3045         later initialize pixels from them. (Fixes purify
3046         errors, #66093, HideToshi Tajima)
3047
3048 2001-11-30  Tor Lillqvist  <tml@iki.fi>
3049
3050         * gdk_pixbuf.def: Add gdk_pixbuf_get_option.
3051
3052 Fri Nov 30 15:55:34 2001  Owen Taylor  <otaylor@redhat.com>
3053
3054         * gdk-pixdata.c (gdk_pixdata_deserialize): Fix
3055         alignment problem in deserialization, (#65785,
3056         reported by Hidetoshi Tajima)
3057
3058 2001-11-28  Manish Singh  <yosh@gimp.org>
3059
3060         * gdk-pixbuf/io-bmp.c (gdk_pixbuf__bmp_image_load_increment): Fill
3061         in missing error parameters to DecodeHeader and DecodeColormap.
3062
3063 2001-11-21  Federico Mena Quintero  <federico@ximian.com>
3064
3065         Fix Ximian bug #12125; merged from gdk-pixbuf stable.
3066
3067         * gdk-pixbuf/io-bmp.c (gdk_pixbuf__bmp_image_load_increment): Use
3068         a simple state machine instead of a scary if/else chain.
3069         (DecodeHeader): Set the reading state.
3070         (DecodeColormap): Set the reading state.
3071         (decode_bitmasks): New function, decodes the bitmasks for
3072         BI_BITFIELDS coding.
3073         (OneLine32): Handle BI_BITFIELDS coding.
3074         (OneLine16): Likewise.
3075
3076 2001-11-18  Hans Breuer  <hans@breuer.org>
3077
3078         * io-xpm.c : use g_strcasecmp(), some poor platforms
3079         don't have strcasecmp()
3080
3081         * makefile.msc : do INCLUDE_png etc. definition here to avoid
3082         my temporary 'gdk-pixbuf-io-include.h' hack
3083
3084 Sun Nov 18 07:54:22 2001  Owen Taylor  <otaylor@redhat.com>
3085
3086         * gdk-pixbuf-loader.c: Remove include of gobject/signal.h.
3087
3088 2001-11-03  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3089
3090         * gdk-pixbuf-loader.c, gdk-pixbuf-scale.c: Documentation fixes.
3091
3092 2001-10-29  Tor Lillqvist  <tml@iki.fi>
3093
3094         * Makefile.am: Use -no-undefined on Win32. Make
3095         libgdk_pixbuf_1_3_la_OBJECTS depend on
3096         gdk-pixbuf-marshal.c. Install import libraries.
3097
3098         * gdk_pixbuf.def: Update.
3099
3100         * gdk-pixbuf-io.c: (Win32) Use G_WIN32_DLLMAIN_FOR_DLL_NAME, saves
3101         the actual DLL name of libgdk_pixbuf.
3102         (get_libdir): Use it instead of guessing.
3103
3104         * io-xbm.c (gdk_pixbuf__xbm_image_begin_load): Use
3105         g_file_open_tmp() insread of mkstemp().
3106
3107 2001-10-18  Matthias Clasen  <matthiasc@poet.de>
3108
3109         * io-xbm.c (gdk_pixbuf__xbm_image_load_real): Don't dereference
3110         context when it may be NULL. (#62344)
3111
3112 2001-10-16  Matthias Clasen  <matthiasc@poet.de>
3113
3114         * gdk-pixdata.c, gdk-pixdata.h: Documentation.
3115
3116         * gdk-pixbuf-csource.1: Spelling fixes.
3117
3118 Wed Oct 10 11:52:17 2001  Owen Taylor  <otaylor@redhat.com>
3119
3120         * gdk-pixdata.c gdk-pixbuf.h: Get rid of 
3121         GDK_PIXBUF_ERROR_HEADER/PIXEL_CORRUPT and use CORRUPT_IMAGE.
3122         Get rid fo GD_PIXBUF_ERROR_UNKNOWN_FORMAT and use the
3123         existing UKNOWN_TYPE error. (#58308)
3124
3125         * gdk-pixbuf.h, gdk-pixdata.c: Rename gdk_pixbuf_new_from_stream()
3126         back to gdk_pixbuf_new_from_inline(). Rework docs to try
3127         and be helpful for the common case. (#58308)
3128
3129 2001-10-05  Sven Neumann  <sven@gimp.org>
3130
3131         * gdk-pixbuf/gdk-pixbuf-io.c
3132         * gdk-pixbuf/gdk-pixbuf-private.h
3133         * gdk-pixbuf/gdk-pixbuf.c
3134         * gdk-pixbuf/gdk-pixbuf.h
3135         * gdk-pixbuf/io-jpeg.c
3136         * gdk-pixbuf/io-png.c: changed GDK_PIXBUF_ERROR_BAD_OPTION_VALUE to
3137         GDK_PIXBUF_ERROR_BAD_OPTION to we can use it for bad keys too. Added
3138         new public API gdk_pixbuf_get_option() to retrieve key/value pairs
3139         set by an image loader. Added support for saving and reading PNG tEXt 
3140         chunks in PNG images.
3141
3142 Tue Oct  2 11:29:50 2001  Owen Taylor  <otaylor@redhat.com>
3143
3144         * gdk-pixdata.c (gdk_pixdata_to_csource): Fix indentation
3145         use a macro to make code a bit more readable.
3146
3147 2001-10-02  Sven Neumann  <sven@gimp.org>
3148
3149         * gdk-pixdata.c: g_string_printfa => g_string_append_printf. 
3150
3151 Wed Sep 26 18:08:19 2001  Owen Taylor  <otaylor@redhat.com>
3152
3153         * Makefile.am (s-enum-types-h): Fix a typo in the include
3154         guards. (#61254, Skip Montaro)
3155
3156 2001-09-21  Matthias Clasen  <matthiasc@poet.de>
3157
3158         * io-xpm.c (xpm_extract_color): Rewritten to handle
3159         xpm colormap entries more thoroughly. (#59939)
3160
3161 2001-09-21  Hans Breuer  <hans@breuer.org>
3162
3163         * gdk-pixbuf.def : updated externals
3164
3165         * makefile.msc : generate gdk-pixbuf-enum-types.[hc]
3166
3167 Thu Sep 20 17:22:48 2001  Owen Taylor  <otaylor@redhat.com>
3168
3169         * io-tiff.c (gdk_pixbuf__tiff_image_load): On OSF, apparently fseek()
3170         works in some on-demand way, so the fseek
3171         gdk_pixbuf_new_from_file() doesn't work here since we are using
3172         the raw file descriptor. So, we call lseek() on the fileno(f)
3173         before using it. (#60840). 
3174
3175 2001-09-20  James Henstridge  <james@daa.com.au>
3176
3177         * Makefile.am (gdk-pixbuf-enum-types.c): same change as in pango,
3178         so that flags types are registered as flags rather than enums (not
3179         that there are any flags here at the moment).
3180
3181 Wed Sep 19 00:28:24 2001  Owen Taylor  <otaylor@redhat.com>
3182
3183         * Makefile.am (gdk_pixbuf_headers): Don't include
3184         gkd-pixbuf-features.h here since is in builddir
3185         and confuses autogen rules.
3186
3187         * Makefile.am: Don't += variables before they have values,
3188         automake-1.5 doesn't like it.
3189
3190         * Makefile.am: Fix srcdir != builddir for gdk-pixbuf-enum-types.c.
3191
3192         * Makefile.am: The whitespace strikes back.
3193         
3194 2001-09-17  Matt Wilson  <msw@redhat.com>
3195
3196         * Makefile.am (libpixbufloader_xbm_la_LDFLAGS): removed duplicate
3197         LDFLAGS definition, use the -avoid-version one.
3198         (libpixbufloader_tga_la_LDFLAGS): likewise
3199
3200 Mon Sep 17 11:49:02 2001  Owen Taylor  <otaylor@redhat.com>
3201
3202         * pixops/*: Mirror GdkInterpType to PixopsInterpType
3203         to avoid including gdk-pixbuf headers.
3204
3205 2001-09-16  James Henstridge  <james@daa.com.au>
3206
3207         * .cvsignore: add generated files to ignore list.
3208
3209         * gdk-pixbuf.h: include gdk-pixbuf-enum-types.h
3210
3211         * Makefile.am: add rules to build gdk-pixbuf-enum-types.[ch]
3212
3213 Fri Sep 14 23:22:12 2001  Matthias Clasen  <matthiasc@poet.de>
3214
3215         * io-pnm.c (pnm_read_header): Use GDK_PIXBUF_ERROR_CORRUPT_IMAGE,
3216         not GDK_PIXBUF_ERROR_HEADER_CORRUPT. (#58308)
3217
3218 Fri Sep 14 22:53:45 2001  Matthias Clasen  <matthiasc@poet.de>
3219
3220         * io-jpeg.c (gdk_pixbuf__jpeg_image_begin_load): Handle
3221         out-of-memory situation better.
3222
3223         * io-pnm.c: Robustness fixes for pnm loader
3224
3225         * io-gif.c: Make gif loader survive TEST_RANDOMLY_MODIFY
3226
3227         * io-xpm.c (parse_color): detect very long color strings
3228
3229         All of the above from Matthias Clasen <matthiasc@poet.de>,
3230         the remaining from Soeren Sandmann <sandmann@daimi.au.dk>.
3231
3232         * test-images.h: add tests:
3233                 - four valid ppm's, eight invalid (matthiasc@poet.de)
3234                 - one invalid xpm (matthiasc@poet.de)
3235                 - one valid tga, one invalid (sandmann@daimi.au.dk)
3236                 - one invalid tiff (sandmann@daimi.au.dk
3237
3238         * test-loaders.c: enable tests for ppm, png, gif, tga, tiff, xpm
3239         
3240         * io-tiff.c (gdk_pixbuf__tiff_image_stop_load): TIFFClientOpen can
3241         fail - detect it when it happens
3242
3243         * io-tga.c (gdk_pixbuf__tga_load_increment): Fail if there is too
3244         much data in file
3245         
3246         * gdk-pixbuf-io.c: moved wbmb check after ico check to avoid false
3247         positives
3248         
3249 Fri Sep 14 00:30:48 2001  Tim Janik  <timj@gtk.org>
3250
3251         * Makefile.am: don't used BUILT_SOURCES to build marshal
3252         files, as in conjunction with stamp files, this can
3253         lead to endless rebuilding loops.
3254
3255 Tue Sep  4 00:22:07 2001  Owen Taylor  <otaylor@redhat.com>
3256
3257         * Makefile.am: Fix EXTRA_DIST for gdk-pixbuf-csource.1
3258
3259 Tue Sep  4 03:09:52 2001  Tim Janik  <timj@gtk.org>
3260
3261         * gdk-pixbuf-csource.1: new file, manual page for
3262         the publically installed gdk-pixbuf-csource utility.
3263
3264 Thu Aug 30 08:30:03 2001  Matthias Clasen  <matthiasc@poet.de>
3265
3266         * gdk-pixbuf-loader.c (gdk_pixbuf_loader_close): Propagate
3267         errors from gdk_pixbuf_loader_load_module.
3268
3269 Thu Aug 30 08:27:37 2001  Matthias Clasen  <matthiasc@poet.de>
3270
3271         * io-png.c (png_row_callback): Check that row_num is valid.
3272
3273 Tue Aug 28 21:05:26 2001  Matthias Clasen  <matthiasc@poet.de>
3274
3275         * io-bmp.c (OneLine): Emit area_updated signal with proper
3276         area information. (#52002)
3277
3278 Tue Aug 28 20:03:43 2001  Matthias Clasen  <matthiasc@poet.de>
3279
3280         * test-loaders.c (test_loader): Catch errors at close time. 
3281         * test-loaders.c (main): Remove C++ comments. 
3282
3283 2001-08-21  Matthias Clasen  <matthiasc@poet.de>
3284
3285         * Makefile.am, gdk-pixbuf-io.c, pixbufloader_tga.def, 
3286         io-tga.c: Add tga loader, patch by Nicola Girardi. (#56067)
3287
3288 2001-08-20  Matthias Clasen  <matthiasc@poet.de>
3289
3290         * test-images.h, test-loaders.c: Add ico and wbmp tests.
3291         * io-jpeg.c (gdk_pixbuf__jpeg_image_save): Fail with a suitable
3292         error if buffer allocation fails.
3293         * io-ico.c: Make .ICO loader more robust.
3294         All of these are due to sandmann@daimi.au.dk (#50187)
3295
3296 2001-08-19  Sven Neumann  <sven@gimp.org>
3297
3298         * pixops/pixops.c: applied some simple but effective optimizations 
3299         to pixops_composite_nearest() and pixops_composite_color_nearest().
3300
3301 2001-08-07  Sven Neumann  <sven@gimp.org>
3302
3303         * gdk-pixbuf.c (gdk_pixbuf_fill): a comment asked to optimize this
3304         function, so that's what I did.
3305
3306 2001-08-06  Kjartan Maraas  <kmaraas@gnome.org>
3307
3308         * gdk-pixdata.c: Fix a typo.
3309         
3310 2001-07-30  Hans Breuer  <hans@breuer.org>
3311
3312         * pixops/makefile.msc : new file
3313         * makefile.msc : use it to complete the build
3314
3315 2001-07-20  Hans Breuer  <hans@breuer.org>
3316
3317         * gdk-pixdata.c : don't 'g_tohl (*istream++)', but move
3318         pointer increment out of the macro, because  at least one
3319         compiler (msvc 5.0) gets confused otherwise (applies the
3320         wrong increment).
3321
3322         * gdk_pixbuf.def : updated exports
3323
3324         * makefile.msc : reflect gdk-pixbuf-csource changes
3325  
3326 2001-07-17  Darin Adler  <darin@bentspoon.com>
3327
3328         * gdk-pixbuf-csource.c: Add missing <stdlib.h> include.
3329         * io-png.c: (setup_png_transformations): Add ifdef so we compile
3330         without warnings with G_DISABLE_CHECKS on.
3331         * io-pnm.c: (gdk_pixbuf__pnm_image_load_increment): Add a missing
3332         const.
3333         * io-wbmp.c: (getin), (get_mbi): Add a missing const.
3334         * io-xbm.c: (gdk_pixbuf__xbm_image_load_real): Get rid of some
3335         unused locals and add an initial value to quiet the compiler's
3336         unintialized variable warning.
3337         * pixops/pixops.c: Put an ifdef around some dead code.
3338
3339 Thu Jul  5 10:17:15 2001  Owen Taylor  <otaylor@redhat.com>
3340
3341         * pixops/Makefile.am (noinst_LTLIBRARIES): Switch
3342         over to the new include flags AC_SUBST(). (Problem
3343         pointed out by Mikael Hermansson.)
3344
3345 2001-06-29  Havoc Pennington  <hp@redhat.com>
3346
3347         * gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): fix for
3348         G_DISABLE_COMPAT
3349
3350 Thu Jun 28 21:54:19 2001  Owen Taylor  <otaylor@redhat.com>
3351
3352         * make-inline-pixbuf.c test-gdk-pixbuf.c test-loaders.c
3353         gdk-pixbuf-csource.c: Fix args to g_type_init ().
3354
3355 2001-06-28  Havoc Pennington  <hp@pobox.com>
3356
3357         * gdk-pixdata.c: <string.h>
3358
3359         * gdk-pixbuf-io.c (get_libdir): fix typo in dll name (aren't we
3360         also leaking memory here from g_strdup_printf?)
3361
3362 Tue Jun 26 09:48:02 2001  Tim Janik  <timj@gtk.org>
3363
3364         * Makefile.am (noinst_PROGRAMS): get rid of make-inline-pixbuf
3365
3366         * gdk-pixbuf-data.[hc]: provide gdk_pixbuf_new_from_stream()
3367         instead from gdk_pixbuf_new_from_inline().
3368
3369         * gdk-pixdata.[hc]: auxillary GdkPixdata structure, public
3370         installed API for applications that need to serialize/deserialize
3371         on their own (gimp, BEAST).
3372         
3373         * gdk-pixbuf/gdk-pixbuf-csource.c: provide publically installed
3374         program that can dump images in CSource format and Pixbuf
3375         stream format. supports RLE encoding, MACRO formatting etc...
3376         invoke with --help.
3377
3378 Mon Jun 25 00:28:11 2001  Owen Taylor  <otaylor@redhat.com>
3379
3380         * Makefile.am: Actually update timestamps, so rules don't
3381         constantly run.
3382
3383 2001-06-11  Havoc Pennington  <hp@redhat.com>
3384
3385         * Makefile.am (stamp-gdk-pixbuf-marshal.c): glib_genmarshal
3386         already includes top_builddir
3387
3388 2001-06-08  Havoc Pennington  <hp@redhat.com>
3389
3390         * gdk-pixbuf-loader.c (gdk_pixbuf_loader_load_module): remove
3391         bogus g_return_if_fail  
3392
3393         * io-gif.c (gif_get_lzw): if delay time is 0 or smaller than
3394         likely timeout resolution, set it to an arbitrarily-chosen short
3395         delay.
3396         Fixes bug #55953 from warmenhoven@yahoo.com
3397
3398 2001-06-07  Havoc Pennington  <hp@redhat.com>
3399
3400         * Makefile.am: use Owen's new way of doing stampfiles/generated
3401         sources
3402
3403 2001-06-07  Havoc Pennington  <hp@redhat.com>
3404
3405         * Makefile.am (gdk-pixbuf-marshal.c): fix up the glib-genmarshal path
3406
3407 2001-06-05  Havoc Pennington  <hp@redhat.com>
3408
3409         * test-loaders.c (main): use putenv not setenv, reported by 
3410          Armin Theissen
3411
3412 2001-05-08  Havoc Pennington  <hp@redhat.com>
3413
3414         * gdk-pixbuf-util.c (gdk_pixbuf_add_alpha): docs fixup, 
3415         and fix behavior to still subst color if the original image 
3416         had alpha
3417
3418 2001-06-04  Havoc Pennington  <hp@redhat.com>
3419
3420         * io-pnm.c (pnm_skip_whitespace): patch from Szekeres Istvan,
3421         bug #52560
3422
3423 2001-06-01  Havoc Pennington  <hp@redhat.com>
3424
3425         Apply patch from sandmann@daimi.au.dk, with some tweaks.
3426         Makes things a bit more robust, and adds test-loaders.c 
3427         which is good for finding further robustness bugs to fix.
3428         
3429         * io-tiff.c: Try to work around libtiff suckiness a bit; 
3430         put a giant thread lock on the whole loader, 
3431         paranoically check both whether error handlers were called and
3432         also whether functions return false. Handle case where width or
3433         height is 0. Various cleanups.
3434
3435         * io-png.c (gdk_pixbuf__png_image_stop_load): only unref pixbuf
3436         if it existed
3437         (png_error_callback): apparently libpng expects you to longjmp out
3438         of this thing?
3439
3440         * io-gif.c (struct _GifContext): remove unused "pixbuf" field
3441         (lzw_read_byte): change "Mail jrb if this fails" g_warning 
3442         to a g_set_error()
3443         (gif_get_lzw): check for out-of-memory
3444         (gif_prepare_lzw): catch/report an error
3445         (new_context): use try_malloc, since GifContext is nearly 70K
3446         (gdk_pixbuf__gif_image_load_increment): set context->buf to NULL
3447         so we don't crash later.
3448
3449         * Makefile.am: Add test-loaders
3450
3451         * gdk-pixbuf-loader.c (gdk_pixbuf_loader_close): handle context ==
3452         NULL due to errors
3453         
3454 2001-05-29  Darin Adler  <darin@eazel.com>
3455
3456         * gdk-pixbuf.h: Fix prototype to use "(void)" instead of "()".
3457
3458 Mon May 28 14:21:35 2001  Jonathan Blandford  <jrb@redhat.com>
3459
3460         * io-bmp.c: Patch from Helmethead <hoshem@mel.comcen.com.au> to
3461         fix up bmp decoder to: 
3462          - adds 16 bpp bmp support (bug #53884)
3463          - adds OS/2 1.x format bmp support (bug #54964)
3464          - adds 4 bpp RLE compressed bmp support
3465          - adds 1 bpp colormap support
3466          - fixes negative height (top down) bmp support
3467
3468 2001-05-25  Hans Breuer  <hans@breuer.org>
3469
3470         * gdk_pixbuf.def : reflect Havoc's recent api change
3471
3472 Sun May 20 12:53:49 2001  Owen Taylor  <otaylor@redhat.com>
3473
3474         * Makefile.am (libgdk_pixbuf_1_3_la_LDFLAGS): Remove an
3475         excess $(GLIB_LIBS).
3476
3477 Sun May 13 11:59:11 2001  Owen Taylor  <otaylor@redhat.com>
3478
3479         * Makefile.am: Make modules depend on libgdk_pixbuf.la.
3480
3481 2001-05-04  Havoc Pennington  <hp@redhat.com>
3482
3483         * pixops/pixops.c (pixops_process): merge fix from stable: Patch
3484          from hoshem@mel.comcen.com.au to fix nonzero X offsets.  Fixes
3485          bug #50371.
3486         
3487         * gdk-pixbuf/pixops/pixops.c (pixops_composite_nearest): merge
3488         from stable: Patch from OKADA Mitsuru <m-okada@fjb.co.jp> to fix
3489         confusion of using "src" instead of "p".
3490         (pixops_composite_color_nearest): Use a more accurate (and
3491         correct, to begin with) compositing method.  This cures checks
3492         showing through on images with no alpha.
3493
3494         * gdk-pixbuf.c (gdk_pixbuf_fill): fix bug that left some trailing
3495         bytes unfilled.
3496
3497         * gdk-pixbuf-io.h: fix UpdatedNotifyFunc to use signed ints
3498
3499         * gdk-pixbuf-loader.h (struct _GdkPixbufLoaderClass): Change
3500         area_updated signal to use signed ints.  Removed animation-related
3501         signals.
3502
3503         * io-gif.c, io-gif-animation.h, io-gif-animation.c: Massive
3504         rewrite action
3505
3506         * gdk-pixbuf-animation.c: Add GdkPixbufAnimationIter to abstract
3507         all the pesky details. Remove old frame-based API. Make
3508         GdkPixbufAnimation an abstract base class, derived by the loaders.
3509
3510 Sun Apr 22 15:51:32 2001  Owen Taylor  <otaylor@redhat.com>
3511
3512         * Makefile.am (LDADDS): Add $(MATH_LIB).
3513
3514 2001-04-18  Havoc Pennington  <hp@redhat.com>
3515
3516         * gdk-pixbuf.c (gdk_pixbuf_fill): Function to fill pixbuf with a
3517         given color.
3518
3519 Wed Apr  4 01:41:02 2001  Tim Janik  <timj@gtk.org>
3520
3521         * pixops/Makefile.am (noinst_LTLIBRARIES): include $top_srcdir
3522         so we don't try to get <gtk/gtkobject.h> from standard search
3523         paths.
3524
3525         * Makefile.am (gdk-pixbuf-marshal.c): use deps from srcdir.
3526         add gdk-pixbuf-marshal.list to EXTRA_DIST.
3527         take gdk-pixbuf-marshal.h out of _la sources.
3528
3529 2001-03-19  Tor Lillqvist  <tml@iki.fi>
3530
3531         * makefile.mingw.in: Handle gdk-pixbuf-marshal.c.
3532
3533         * gdk_pixbuf.def: Update.
3534
3535         * pixbufloader_*.def: Just export the fill_vtable functions now.
3536
3537 2001-03-18  Mike Kestner  <mkestner@ameritech.net>
3538
3539         * make-inline-pixbuf.c (main): Added logic to remove output when
3540         failures occur.
3541
3542 2001-03-14  Havoc Pennington  <hp@redhat.com>
3543
3544         * Makefile.am (gdk-pixbuf-marshal.c): Use different temporary file
3545         from gdk-pixbuf-marshal.h, fixes parallel makes.
3546
3547 Thu Mar  1 04:01:57 2001  Tim Janik  <timj@gtk.org>
3548
3549         * test-gdk-pixbuf.c: fixed includes.
3550
3551 2001-02-18  Havoc Pennington  <hp@pobox.com>
3552
3553         * gdk-pixbuf-io.c (gdk_pixbuf_load_module): prepend underscore
3554         (gdk_pixbuf_get_named_module): prepend underscore
3555         (gdk_pixbuf_get_module): prepend underscore
3556
3557 2001-02-19  Havoc Pennington  <hp@redhat.com>
3558
3559         * gdk-pixbuf-io.c (gdk_pixbuf_load_module): const fix
3560
3561 2001-02-17  Havoc Pennington  <hp@pobox.com>
3562
3563         * gdk-pixbuf-loader.c (gdk_pixbuf_loader_new_with_type): docs
3564
3565 2001-02-07  Alexander Larsson  <alexl@redhat.com>
3566
3567         * io-xpm.c (free_buffer):
3568         Use g_free, since the buffer is allocated with g_try_alloc().
3569
3570 2001-02-06  Christophe Merlet  <redfox@eikonex.org>
3571
3572         * gdk-pixbuf-data.c: Fixes a minor typo.
3573
3574 Sun Feb  4 07:59:57 2001  Tim Janik  <timj@gtk.org>
3575
3576         * gdk-pixbuf.h: DOH! don't include glib/gobject.h but glib-object.h,
3577         we finally need the gobject->gruntime rename.
3578
3579         * *.c: scratched calls to g_type_init(), there's simply no point in
3580         doing that, use gtk_init().
3581
3582 2001-02-01  Havoc Pennington  <hp@pobox.com>
3583
3584         * gdk-pixbuf-loader.c, gdk-pixbuf-loader.h: rename "private" field
3585         in struct to "priv" for C++
3586
3587 2001-01-31  Havoc Pennington  <hp@pobox.com>
3588
3589         * gdk-pixbuf.c: include glib-object.h instead of gvaluetypes.h
3590
3591 2001-01-26  Havoc Pennington  <hp@redhat.com>
3592
3593         * gdk-pixbuf-io.c (mname): fix included modules case.
3594
3595 2001-01-22  Havoc Pennington  <hp@redhat.com>
3596
3597         * gdk-pixbuf-io.c (gdk_pixbuf_new_from_xpm_data): check errors 
3598         from gdk_pixbuf_load_module
3599
3600 2001-01-22  Havoc Pennington  <hp@redhat.com>
3601
3602         * Makefile.am: Add built marshaller files to support
3603         GdkPixbufLoader signals
3604
3605         * gdk-pixbuf-io.c (gdk_pixbuf_load_module): have
3606         GDK_PIXBUF_MODULEDIR unconditionally replace the compiled-in
3607         module location, rather than acting as a fallback, because we are
3608         using GDK_PIXBUF_MODULEDIR to use gdk-pixbuf before installing it.
3609
3610         * gdk-pixbuf.h: include gdk-pixbuf-loader.h
3611
3612         * gdk-pixbuf-loader.h, gdk-pixbuf-loader.c: Move back over here
3613         from gtk, and add error to close(), because stop_load may do
3614         parsing of the image.
3615         
3616         * pixops/have_mmx.S (_pixops_have_mmx): add newline at end of file
3617
3618         * io-*.c: make individual operations static, and add fill_vtable
3619         functions which are exported. Fix the collection of type warnings
3620         that surfaced, including a number of functions that didn't
3621         properly take a GError and some that weren't
3622         const-correct. Involved adding error handling for a few loaders.
3623
3624         * gdk-pixbuf-io.h: Add error reporting to stop_load function
3625         
3626         * gdk-pixbuf-io.c (gdk_pixbuf_load_module): change to just look up
3627         a function that fills in the GdkPixbufModule vtable, instead of 
3628         looking up all the image functions individually; this means we 
3629         can get type safety within modules for the loader functions.
3630         Also it means you don't have to keep the statically compiled and 
3631         GModule versions in sync. 
3632
3633         * test-gdk-pixbuf.c (main): remove gdk_pixbuf_init()
3634
3635         * make-inline-pixbuf.c (main): remove call to gdk_pixbuf_init()
3636
3637         * gdk-pixbuf.h: nuke gdk_pixbuf_init()
3638         
3639         * gdk-pixbuf-animation.c (gdk_pixbuf_frame_get_type): g_type_init
3640         () here
3641
3642         * gdk-pixbuf.c (gdk_pixbuf_get_type): g_type_init () here
3643
3644         * gdk-pixbuf-animation.c (gdk_pixbuf_animation_get_type):
3645         g_type_init() here
3646
3647 2001-01-20  John Harper  <jsh@eazel.com>
3648
3649         * io-xbm.c: new pixbuf loader, for X bitmap files. Basically a
3650         collision between Xlib's RdBitF.c and io-tiff.c
3651
3652         * gdk-pixbuf-io.c, Makefile.am, pixbufloader_xbm.def: added
3653         io-xbm.c support
3654
3655         [ merged from stable gdk-pixbuf module. Untested, but it
3656         compiles, and works fine in the stable module ]
3657
3658 2001-01-18  Tor Lillqvist  <tml@iki.fi>
3659
3660         * gdk-pixbuf-io.c (get_libdir): (Win32) Use the new
3661         g_win32_get_package_installation_subdirectory() function.  No need
3662         to include windows.h.
3663         (gtk_win32_get_installation_directory): Remove this then.
3664
3665 2001-01-01  Havoc Pennington  <hp@redhat.com>
3666
3667         * Makefile.am (libgdk_pixbuf_1_3_la_LDFLAGS): add
3668         @LIBTOOL_EXPORT_OPTIONS@
3669
3670 2000-12-30  Tor Lillqvist  <tml@iki.fi>
3671
3672         * gdk_pixbuf.def: Update.
3673
3674 2000-12-16  Havoc Pennington  <hp@pobox.com>
3675
3676         * gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file): ref
3677         the pixbuf in the frame, so we can use gdk_pixbuf_frame_free
3678         (gdk_pixbuf_frame_copy): new function
3679         (gdk_pixbuf_frame_free): new function
3680         (gdk_pixbuf_frame_get_type): new function
3681         (GDK_TYPE_PIXBUF_FRAME): macro to get type for GdkPixbufFrame
3682
3683 Tue Nov 14 11:51:26 2000  Owen Taylor  <otaylor@redhat.com>
3684
3685         * Makefile.am: Add -avoid-version for all modules.
3686
3687 2000-11-13  Havoc Pennington  <hp@redhat.com>
3688
3689         * io-png.c (png_simple_error_callback): fix error message to not
3690         say "save" since it's used for loading
3691
3692 2000-11-11  Hans Breuer <Hans@Breuer.Org>
3693
3694         * gdk-pixbuf-io.c : Fix all function prototype macros for self 
3695         contained image handlers (!USE_G_MODULE). Files to save should
3696         be opened in binary mode, fopen(s, "wb").
3697
3698         * io-xpm.c : added HAVE_UNISTD_H condition
3699
3700 2000-11-11  Tor Lillqvist  <tml@iki.fi>
3701
3702         * gdk_pixbuf.def: Add gdk_pixbuf_new_subpixbuf.
3703
3704         * io-tiff.c (gdk_pixbuf__tiff_image_begin_load): Use
3705         g_file_open_tmp() (just added to GLib) instead of mkstemp() (or
3706         mktemp() and open()).
3707         
3708         * io-xpm.c (gdk_pixbuf__xpm_image_begin_load): Ditto.
3709
3710 2000-11-01  Havoc Pennington  <hp@pobox.com>
3711
3712         * gdk-pixbuf.c (gdk_pixbuf_new_subpixbuf): New function to create 
3713         a pixbuf pointing to a subregion of another pixbuf.
3714
3715 2000-10-16  Tor Lillqvist  <tml@iki.fi>
3716
3717         * gdk-pixbuf-io.c: Define also m_save (for the non-gmodule case).
3718
3719 2000-10-16  Havoc Pennington  <hp@redhat.com>
3720
3721         * gdk-pixbuf-io.c (gdk_pixbuf_get_module)
3722         (gdk_pixbuf_get_named_module) (gdk_pixbuf_load_module): 
3723         add error reporting here also
3724
3725         * make-inline-pixbuf.c (main): use GError
3726
3727         * io-xpm.c: include unistd.h
3728
3729         * gdk-pixbuf-util.c: include string.h
3730
3731         * io-*.c: add error reporting
3732         
3733         * gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file): add
3734         error reporting
3735
3736         * gdk-pixbuf-io.c (gdk_pixbuf_new_from_file): Add error reporting
3737
3738         * gdk-pixbuf-io.h: Add GError** to load_increment and load 
3739         methods
3740
3741         * gdk-pixbuf-io.c (gdk_pixbuf_save) (gdk_pixbuf_savev): return 
3742         a G_FILE_ERROR if we fail to write or close the file.
3743
3744         * gdk-pixbuf.h: remove GDK_PIXBUF_ERROR_IO, instead we'll use
3745         G_FILE_ERROR_*. Rename enum to GdkPixbufError, properly following
3746         the GError naming rules. Add GError** to load functions.
3747
3748 2000-10-06  Havoc Pennington  <hp@redhat.com>
3749
3750         * gdk-pixbuf.h: add GdkPixbufAlphaMode
3751
3752 2000-10-06  Havoc Pennington  <hp@redhat.com>
3753
3754         This entry is a summary of the merged-in changes from 1.0. 
3755         Relevant original ChangeLog entries are spliced in after 
3756         this entry; the files they refer to are from the 1.0
3757         gdk-pixbuf sources.
3758         
3759         * pixops/pixops.c (pixops_composite_nearest): sync a small fix
3760         from 1.0
3761
3762         * io-xpm.c (xpm_seek_string): add fscanf error check from 1.0
3763         Add progressive loader from 1.0
3764
3765         * io-tiff.c (gdk_pixbuf__tiff_image_begin_load): mem leak fixes
3766         from 1.0 tree
3767
3768         * io-pnm.c: new version from 1.0 tree
3769
3770         * io-jpeg.c (gdk_pixbuf__jpeg_image_load): sync from 1.0, use 
3771         malloc not g_malloc
3772
3773         * io-gif.c (lzw_read_byte): sync from 1.0, change a g_error to
3774         g_warning
3775         (gif_get_next_step): return 0 here, sync from 1.0
3776
3777         * gdk-pixbuf-util.c: sync email address change for Cody
3778         Russell
3779
3780 2000-09-11  Jeffrey Stedfast  <fejj@helixcode.com>
3781
3782         * gdk-pixbuf/io-pnm.c: Pretty much totally rewrote again because
3783         last nights code was still "broken". Should now properly handle
3784         all error conditions gracefully.
3785
3786 2000-09-10  Jeffrey Stedfast  <fejj@helixcode.com>
3787
3788         * gdk-pixbuf/io-pnm.c: Rewrote.
3789
3790 2000-09-09  Federico Mena Quintero  <federico@helixcode.com>
3791
3792         * gdk-pixbuf/pixops/pixops.c (pixops_composite_nearest): Compute
3793         the correct dest offset.
3794
3795 2000-08-25  Federico Mena Quintero  <federico@helixcode.com>
3796
3797         * gdk-pixbuf/io-xpm.c: #include <unistd.h>
3798
3799 2000-08-05  Larry Ewing  <lewing@helixcode.com>
3800
3801         * gdk-pixbuf/io-tiff.c: stop leaking context->tempname.
3802
3803         * gdk-pixbuf/io-xpm.c: same as above.
3804
3805 2000-07-26  Michael Meeks  <michael@helixcode.com>
3806
3807         * gdk-pixbuf/io-jpeg.c (gdk_pixbuf__jpeg_image_load): make
3808         g_malloc a malloc.
3809
3810 2000-07-21  Larry Ewing  <lewing@helixcode.com>
3811
3812         * gdk-pixbuf/io-xpm.c: add a fake progressive loader so that
3813         xpm at least supports the progressive interface like the one in
3814         io-tiff.c. This should be reimplemented as an actual progressive
3815         loader.
3816
3817 2000-07-19  Jonathan Blandford  <jrb@redhat.com>
3818
3819         * demo/pixbuf-demo.c (update_timeout): changed scaling level to
3820         make it look better.
3821         * gdk-pixbuf/testpixbuf.c (update_timeout): Patch from michael
3822         meeks to handle errors better.
3823         
3824 2000-10-07  Tor Lillqvist  <tml@iki.fi>
3825
3826         * gdk_pixbuf.def
3827         * pixbufloader_jpeg.def
3828         * pixbufloader_png.def: Add new entry points.
3829
3830         * makefile.mingw.in: Use libintl.
3831
3832 2000-10-06  Havoc Pennington  <hp@redhat.com>
3833
3834         * gdk-pixbuf-io.c (gdk_pixbuf_save): s/format/type/g to be
3835         consistent with gdk_pixbuf_loader_new_with_type(). 
3836         Return runtime error if a module is missing.
3837
3838         * gdk-pixbuf.h: add GDK_PIXBUF_ERROR_UNKNOWN_TYPE
3839
3840 2000-10-05  Havoc Pennington  <hp@redhat.com>
3841
3842         Pixbuf saving, patch from David Welton.
3843         
3844         * Makefile.am (GDK_PIXBUF_LIBS): add INTLLIBS
3845         (libgdk_pixbuf_1_3_la_SOURCES): add gdk-pixbuf-i18n.h
3846
3847         * gdk-pixbuf-i18n.h: Add _() to gdk-pixbuf
3848
3849         * io-png.c (gdk_pixbuf__png_image_save): PNG save routine.
3850
3851         * io-jpeg.c (gdk_pixbuf__jpeg_image_save): JPEG save routine.
3852
3853         * gdk-pixbuf-io.c (gdk_pixbuf_save): 
3854         (gdk_pixbuf_savev): Implement pixbuf saving routines
3855
3856         * gdk-pixbuf.c (gdk_pixbuf_error_quark): pixbuf error quark
3857         function
3858
3859         * gdk-pixbuf.h: Add public save routines; add pixbuf error 
3860         types
3861
3862         * gdk-pixbuf-io.h: Add save function to GdkPixbufModule
3863
3864 2000-10-05  Dan Winship  <danw@helixcode.com>
3865
3866         * io-png.c, io-tiff.c, io-xpm.c: Fix comments to not claim that
3867         all three of these files are the JPEG image loader. (From
3868         gdk-pixbuf module.)
3869
3870 2000-10-03  Tor Lillqvist  <tml@iki.fi>
3871
3872         * makefile.mingw.in: Add rule for make-inline-pixbuf. Use
3873         gdk-pixbuf's version number in the rule for makefile.mingw itself.
3874
3875         * gdk_pixbuf.def: Add new entry points.
3876
3877 2000-09-26  Havoc Pennington  <hp@redhat.com>
3878
3879         * gdk-pixbuf-util.c (gdk_pixbuf_saturate_and_pixelate): Add this
3880         function here, instead of putting it in a private GTK+ file.
3881
3882         * gdk-pixbuf-private.h (GdkPixbufInlineFormat): include an 
3883         enum here for the known formats of inlined pixbufs.
3884         Also, #define our file magic here.
3885
3886 2000-06-23  Havoc Pennington  <hp@redhat.com>
3887
3888         * make-inline-pixbuf.c: Small program that creates C variable
3889         declarations of inline pixbuf data. This can be read 
3890         by gdk_pixbuf_new_from_inline.
3891
3892         * gdk-pixbuf.h (gdk_pixbuf_new_from_inline): New function to read
3893         inline pixbuf data and create a pixbuf from it. 
3894
3895         * gdk-pixbuf-data.c (gdk_pixbuf_new_from_inline): implement here
3896
3897 2000-09-07  Tor Lillqvist  <tml@iki.fi>
3898
3899         * makefile.mingw.in: Use own version number for gdk-pixbuf DLLs,
3900         like on Unix.
3901
3902 2000-08-12  Tor Lillqvist  <tml@iki.fi>
3903
3904         * gdk_pixbuf.def: Add missing entry point.
3905
3906 2000-08-10  Havoc Pennington  <hp@redhat.com>
3907
3908         * Makefile.am (EXTRA_DIST): The *.def files had the wrong names
3909         (s/pixbuf_/pixbufloader_)
3910         
3911 2000-08-02  Tor Lillqvist  <tml@iki.fi>
3912
3913         * io-bmp.c
3914         * io-ico.c
3915         * io-ras.c
3916         * io-tiff.c
3917         * io-wbmp.c: Conditionalise inclusion of <unistd.h>.
3918
3919         * makefile.mingw.in: List loaders alphabetically. Add the wbmp
3920         one. Fix names of DLLs to have '-' instead of '_'.
3921
3922 2000-07-31  Elliot Lee  <sopwith@redhat.com>
3923         * io-wbmp.c: Some bug fixes - now tested to work.
3924
3925 2000-07-27  Elliot Lee  <sopwith@redhat.com>
3926
3927         * gdk-pixbuf-io.h, gdk-pixbuf-io.c: Add
3928         gdk_pixbuf_get_named_module() function to facilitate above change
3929         * io-wbmp.c, pixbufloader_wbmp.defs, gdk-pixbuf-io.c, Makefile:
3930         Implement loader for WBMP format.
3931         * io-bmp.c: Don't malloc a temporary buffer - use stack instead.
3932
3933 2000-07-23  Tor Lillqvist  <tml@iki.fi>
3934
3935         Win32 build setup:
3936         
3937         * makefile.mingw.in
3938         * pixops/makefile.mingw.in
3939         * pixbuf_*.def: New files.
3940
3941         * Makefile.am
3942         * pixops/Makefile.am: Add them. Add rule to generate makefile.mingw.
3943
3944         * gdk-pixbuf-io.c (gtk_win32_get_installation_directory):
3945         New function, to get the GTK+ installation directory from
3946         the Windows Registry, where the installation program
3947         for whatever software includes GTK+ has stored it.
3948
3949         Used to avoid having hardcoding the directory where to look for
3950         loaders. This function is needed by gtk, too, so it should
3951         really be just in one place. Maybe a small static library
3952         one level up from here?
3953
3954         * gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file)
3955         * gdk-pixbuf-io.c (gdk_pixbuf_new_from_file): 
3956         Open file in binary mode. This *is* standard C. (No-op on Unix,
3957         of course.)
3958
3959         * io-jpeg.c: If we don't HAVE_SIGSETJMP, use normal setjmp().
3960
3961         * io-tiff.c: Use g_get_tmp_dir(). If we don't HAVE_MKSTEMP, use
3962         mktemp() and open().
3963         (gdk_pixbuf__tiff_image_stop_load): g_free() also the tempname.
3964
3965         * pixops/*.S: The Gas from mingw32 doesn't like the .type
3966         pseudo-op. Conditionalise on __MINGW32__, but probably
3967         should conditionalise on Gas version instead? Or could we
3968         do without .type on all systems?
3969
3970         * pixops/timescale.c: Use g_get_current_time()
3971         instead of gettimeofday().
3972
3973 Sat Jul 22 10:57:22 2000  Owen Taylor  <otaylor@redhat.com>
3974
3975         * Makefile.am (test_gdk_pixbuf_LDADD): Remove -lgmodule
3976
3977 Tue Jul 11 11:26:42 2000  Owen Taylor  <otaylor@redhat.com>
3978
3979         * gdk-pixbuf.c: Add <string.h> include.
3980
3981 Tue Jul 11 06:20:14 2000  Tim Janik  <timj@gtk.org>
3982
3983         * io-gif.c (gdk_pixbuf__gif_image_load_animation): 
3984         * gdk-pixbuf-data.c (gdk_pixbuf_new_from_data): 
3985         * gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file): 
3986         use g_object_new() instead of g_type_create_instance() which
3987         is a private function for fundamental type implementations.
3988         
3989 Thu Jul  6 11:49:47 2000  Owen Taylor  <otaylor@redhat.com>
3990
3991         * Makefile.am (libgdk_pixbuf_la_LDFLAGS): Use GTK+ version
3992         soname scheme for gdk-pixbuf.
3993         
3994 2000-06-21  Havoc Pennington  <hp@pobox.com>
3995
3996         * gdk-pixbuf.c: Convert GdkPixbuf to GObject, leaving it opaque
3997         (i.e. derivation is not allowed, and there are no virtual methods
3998         anyway).
3999         (gdk_pixbuf_preinit): Call g_type_init() here.
4000         (gdk_pixbuf_init): Add a user-friendly init function, for users
4001         of standalone gdk-pixbuf
4002
4003         * gdk-pixbuf-animation.c: Convert to GObject, in the same
4004         way GdkPixbufAnimation was done.
4005         
4006         * gdk-pixbuf.h: Remove gdk_pixbuf_set_unref_handler() and
4007         gdk_pixbuf_finalize() from API, since these are broken and don't
4008         make sense with new GObject stuff.
4009
4010 Wed Jun 21 16:02:48 2000  Owen Taylor  <otaylor@redhat.com>
4011
4012         * gdk-pixbuf-io.c (gdk_pixbuf_load_module): Add feature to
4013         support a GDK_PIXBUF_MODULEDIR env variable as a secondary
4014         load location.
4015
4016 2000-06-10  Federico Mena Quintero  <federico@helixcode.com>
4017
4018         * demo/pixbuf-demo.c: It was cold and rainy this Saturday morning,
4019         so I needed something to warm my thighs.  Running plain infinite
4020         loops on your laptop to make it hot is not very much fun.  A demo
4021         of the gdk-pixbuf scaling functions is way better, and looks
4022         prettier, too.
4023
4024         * configure.in (AC_OUTPUT): Added the demo Makefile.
4025
4026         * Makefile.am (SUBDIRS): Added the demo directory.
4027
4028 2000-06-09  Larry Ewing  <lewing@helixcode.com>
4029
4030         * gdk-pixbuf/io-png.c (gdk_pixbuf__png_image_load_increment):
4031         setjmp for the png error handler.  It seems setting the error
4032         handling functions does not avoid the jump, and so not calling
4033         setjmp was causing the incremental loader to jump into lala land.
4034         (gdk_pixbuf__png_image_begin_load): setjmp for error handling, I'm
4035         not sure this one is actually required but the docs say it must be
4036         set for every call to a png_* function.
4037         Also changed the comment to reflect the fact that setting the
4038         error handlers does _not_ avoid the longjmp.
4039
4040 2000-06-06  Larry Ewing  <lewing@helixcode.com>
4041
4042         * gdk-pixbuf/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
4043         take frame offest into account when trying to calculate the
4044         animation bbox.  Also set the width to the width not the height.
4045         (gdk_pixbuf_loader_animation_done): cycle over the frames to
4046         calculate bbox because now we finally have all the offset
4047         information for each frame.
4048
4049 2000-06-05      Mathieu Lacage  <mathieu@gnome.org>
4050
4051         * configure.in: add some gtk parameters to the
4052         GDK_PIXBUF_LIB?�?S and GDK_PIXBUG_INCLUDEDIR vars. One more
4053         fight in my crusade for strange prefix compile...
4054
4055 2000-05-30  Not Zed  <NotZed@HelixCode.com>
4056
4057         * gdk-pixbuf/io-jpeg.c (gdk_pixbuf__jpeg_image_begin_load):
4058         Initialise the error handler exit routine to our own.  Note this
4059         means that every function that accesses the jpeg lib on this
4060         object MUST do a setjmp.
4061         (gdk_pixbuf__jpeg_image_stop_load): setjmp before accessing jpeg
4062         lib for handling fatal error.
4063         (gdk_pixbuf__jpeg_image_load_increment): And here too.  So now
4064         your applications dont quit if there's a jpeg error!
4065
4066 2000-05-30  Federico Mena Quintero  <federico@helixcode.com>
4067
4068         * gdk-pixbuf.spec.in: Include all the loader libraries.  Patch
4069         from Frank de Lange <frank@unternet.org>.
4070
4071 2000-05-09  Darin Adler  <darin@eazel.com>
4072
4073         * gdk-pixbuf/test-gdk-pixbuf.c:
4074         Fixed includes to get rid of accidental GNOME dependency.
4075
4076 2000-05-26  Cody Russell  <car0969@gamma2.uta.edu>
4077         * Makefile.am: Added gdk-pixbuf.spec to EXTRA_DIST
4078
4079 2000-05-22  Federico Mena Quintero  <federico@helixcode.com>
4080
4081         * configure.in: Bumped version number to 0.8.0.
4082
4083         * doc/Makefile.am (content_files): The toplevel gdk-pixbuf.sgml
4084         file was not being distributed.
4085
4086         * gdk-pixbuf/pixops/Makefile.am (EXTRA_DIST): Added DETAILS.
4087
4088 2000-05-09  Darin Adler  <darin@eazel.com>
4089
4090         * gdk-pixbuf/gdk-pixbuf-drawable.c: (rgb565lsb), (rgb565msb),
4091         (rgb565alsb), (rgb565amsb), (rgb555lsb), (rgb555msb), (rgb555alsb),
4092         (rgb555amsb), (convert_real_slow): Change all conversion from 16-bit
4093         formats to 32-bit formats to re-use the high bits of the color values
4094         so that white maps to full white.
4095
4096 Fri May  5 12:16:32 2000  Owen Taylor  <otaylor@redhat.com>
4097
4098         * gdk-pixbuf/pixops/DETAILS: Add beginnings of file with 
4099         detailed information about the structure and algorithms
4100         of pixops so people can fix it instead of breaking it.
4101
4102 2000-05-04  Darin Adler  <darin@eazel.com>
4103
4104         * gdk-pixbuf/pixops/pixops.c: (pixops_composite_nearest),
4105         (composite_pixel), (composite_line):
4106         * gdk-pixbuf/test-gdk-pixbuf.c: (simple_composite_test_one_type):
4107         Now that Owen explained the algorithm, I think I implemented it
4108         right for the cases where the destination pixbuf is not opaque.
4109         The test does seem to confirm it.
4110
4111 2000-05-04  Darin Adler  <darin@eazel.com>
4112
4113         * gdk-pixbuf/.cvsignore:
4114         * gdk-pixbuf/Makefile.am:
4115         * gdk-pixbuf/test-gdk-pixbuf.c (store_pixel), (fill_with_pixel),
4116         (load_pixel), (simple_composite_test_one),
4117         (simple_composite_test_one_type), (simple_composite_test), (main):
4118         Added some tests of composite to highlight problems in the old
4119         implementation. These tests run without any user interaction.
4120         Just do "make check".
4121
4122         * gdk-pixbuf/pixops/pixops.c (pixops_composite_nearest),
4123         (composite_pixel), (composite_line): Fix composite to do a textbook
4124         "A over B" composite. This was clearly the intent, and it was easy
4125         to fix the code to do it. (Note to those that read my earlier tries
4126         at a patch; this version fixes typos that were present in all
4127         my patch attempts. I checked the final version by adding more tests.)
4128
4129 2000-04-22 05:27:43 2000  Owen Taylor  <otaylor@redhat.com>
4130
4131         * gdk-pixbuf/pixops/pixops.c (pixops_scale_nearest): Properly
4132         offset y coordinate accordining to render_y0.
4133
4134         * gdk-pixbuf/gdk-pixbuf-scale.c: Properly handle nonzero
4135         dest_x, dest_y.
4136
4137 2000-04-22  James Henstridge  <james@daa.com.au>
4138
4139         * gdk-pixbuf.spec.in (%files): moved %{prefix}/bin/* from the main
4140         package to the devel package.  The only file installed in bin is
4141         gdk-pixbuf-config, which belongs in -devel.  This should allow having
4142         multiple versions of the main gdk-pixbuf package installed.
4143
4144 2000-04-17  Karl Eichwalder  <ke@suse.de>
4145
4146         * gdk-pixbuf/Makefile.am (INCLUDES): Add $(GNOME_CFLAGS).
4147         Reported by Jens Finke.
4148
4149 2000-04-14 Tomasz K?�?opczko <kloczek@pld.org.pl>
4150
4151         * gdk-pixbuf/pixops/makefile.am: $(LIBART_CFLAGS) replaced by 
4152         $(GTK_CFLAGS) - now gdk-pixbuf compiles correctly.
4153
4154 2000-04-13  James Henstridge  <james@daa.com.au>
4155
4156         * configure.in: when performing the configure check to see if
4157         gmodule works, set CFLAGS to GLIB_CFLAGS and LIBS to GLIB_LIBS,
4158         rather than the other way round.  Also, call AC_MSG_RESULT in the
4159         even that dynamic modules were not supported.
4160
4161 2000-04-12  Federico Mena Quintero  <federico@helixcode.com>
4162
4163         This comes from an excellent idea by Tim Janik (timj@gtk.org) to
4164         hook to the last unref operation.
4165
4166         * gdk-pixbuf/gdk-pixbuf.c (gdk_pixbuf_set_last_unref_handler): New
4167         function to set the last unref handler for a pixbuf.
4168         (gdk_pixbuf_finalize): New function to actually finalize a pixbuf.
4169         It calls the pixbuf's destroy notification function and frees the
4170         GdkPixbuf structure itself.
4171         (gdk_pixbuf_unref): Use the last unref function of the pixbuf if
4172         available.
4173
4174         * gdk-pixbuf/gdk-pixbuf-private.h (struct _GdkPixbuf): New fields
4175         for the last unref handler and its user data.
4176
4177         * gdk-pixbuf/gdk-pixbuf-data.c (gdk_pixbuf_new_from_data): Use
4178         g_new0() to allocate the pixbuf.
4179
4180         * gdk-pixbuf/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
4181         Fixed the call to gtk_signal_new() for the "frame_done" signal; it
4182         was not specifying the `frame' argument.
4183
4184         * gdk-pixbuf/gdk-pixbuf-animation.c
4185         (gdk_pixbuf_animation_get_width): Fixed docstring.
4186         (gdk_pixbuf_animation_get_height): Likewise.
4187         (gdk_pixbuf_animation_get_num_frames): Likewise.
4188         (gdk_pixbuf_animation_get_frames): Likewise.
4189
4190         * doc/gdk-pixbuf-sections.txt: Updated with the new functions and
4191         types.
4192
4193         * doc/tmpl/gdk-pixbuf.sgml: Added the description for GdkColorspace.
4194
4195         * doc/tmpl/scaling.sgml: Added the description for GdkInterpType.
4196
4197         * doc/tmpl/refcounting.sgml: Updated with the information about
4198         the last unref handler.
4199
4200         * doc/tmpl/*.sgml: Markup tweaks.
4201
4202         * gdk-pixbuf/Makefile.am (libgnomecanvaspixbuf_la_LDFLAGS): Sigh,
4203         update the libtool version number for libgnomecanvaspixbuf as
4204         well.
4205         (libpixbufloader_*_la_LDFLAGS): The loaders need to be versioned
4206         as well, or the old ones won't work with the new stuff.  Also,
4207         renamed the modules as follows.
4208
4209         * gdk-pixbuf/gdk-pixbuf-io.c (gdk_pixbuf_load_module): Now the
4210         modules are called "libpixbufloader-<format>.so" instead of
4211         "libpixbuf-<format>.so".  They needed renaming so that the new
4212         loaders won't overwrite the old ones; even with the versioning
4213         stuff, the new .so symlink to the .so.1.0.0 would overwrite the
4214         old real .so file.
4215
4216 2000-04-12  Paolo Molaro <lupus@debian.org>
4217
4218         * .cvsignore, src/.cvsignore: shut up cvs.
4219
4220 2000-04-11  Federico Mena Quintero  <federico@helixcode.com>
4221
4222         Most of this patch is based on a patch by Havoc Pennington
4223         (hp@redhat.com) to make GdkPixbuf's structures opaque and to
4224         remove the libart dependency.
4225
4226         * gdk-pixbuf/gdk-pixbuf.h: Removed the public structures.
4227         (GdkColorspace): New enum that for now only contains
4228         GDK_COLORSPACE_RGB.
4229         (GdkPixbufDestroyNotify): New type for the pixbuf's pixels destroy
4230         notification function.
4231         (GdkInterpType): New num with interpolation types.
4232
4233         * *.[ch]: Replace the libart stuff with our own stuff.
4234
4235         * pixops/*.[ch]: Likewise.
4236
4237         * gdk-pixbuf/gdk-pixbuf-private.h: New file with the private
4238         declarations of the GdkPixbuf structures.
4239
4240         * gdk-pixbuf/gdk-pixbuf.c (gdk_pixbuf_new_from_art_pixbuf):
4241         Removed function.
4242         (gdk_pixbuf_get_format): Constify.
4243         (gdk_pixbuf_get_n_channels): Constify.
4244         (gdk_pixbuf_get_has_alpha): Constify.
4245         (gdk_pixbuf_get_bits_per_sample): Constify.
4246         (gdk_pixbuf_get_pixels): Constify.
4247         (gdk_pixbuf_get_width): Constify.
4248         (gdk_pixbuf_get_height): Constify.
4249         (gdk_pixbuf_get_rowstride): Constify.
4250
4251         * gdk-pixbuf/gdk-pixbuf.c (gdk_pixbuf_copy): New function to copy
4252         a pixbuf.
4253
4254         * gdk-pixbuf/gdk-pixbuf-data.c (gdk_pixbuf_new_from_data): Added a
4255         bits_per_sample argument; currently only 8 bits per sample are
4256         supported.
4257
4258         * gdk-pixbuf/gdk-pixbuf-animation.c (gdk_pixbuf_frame_get_pixbuf):
4259         New accessor.
4260         (gdk_pixbuf_frame_get_x_offset): New accessor.
4261         (gdk_pixbuf_frame_get_y_offset): New accessor.
4262         (gdk_pixbuf_frame_get_delay_time): New accessor.
4263         (gdk_pixbuf_frame_get_action): New accessor.
4264
4265         * gdk-pixbuf/gdk-pixbuf-render.c
4266         (gdk_pixbuf_render_pixmap_and_mask): Instead of returning a solid
4267         mask rectangle for pixbufs without an alpha channel, set the
4268         *mask_return to NULL.
4269
4270         * gdk-pixbuf/gdk-pixbuf-util.c (gdk_pixbuf_add_alpha): Constify.
4271
4272         * gdk-pixbuf/gdk-pixbuf-scale.c: Fix includes.
4273
4274         * gdk-pixbuf/gdk-pixbuf-scale.c (gdk_pixbuf_scale): Added some
4275         preconditions.  Maybe we should also check for the colorspace,
4276         bits per pixel, and such.
4277         (gdk_pixbuf_composite): Likewise.
4278         (gdk_pixbuf_composite_color): Likewise.
4279         (gdk_pixbuf_scale_simple): Likewise, and fail gracefully if we
4280         cannot allocate the new pixbuf.
4281         (gdk_pixbuf_composite_color_simple): Likewise.
4282
4283         * gdk-pixbuf/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_render):
4284         Use art_rgb_rgba_affine() or art_rgb_affine() since we no longer
4285         have an ArtPixBuf.
4286
4287         * gdk-pixbuf/io-bmp.c: Fix includes.
4288
4289         * gdk-pixbuf/pixops/pixops.c (pixops_scale_nearest): Fixed cast in
4290         an lvalue.
4291
4292         * TODO: Populated.
4293
4294         * configure.in: Removed checks for libart.
4295
4296         * gdk-pixbuf/Makefile.am: Removed references to libart.
4297         (noinst_HEADERS): Added gdk-pixbuf-private.h.
4298
4299         * gdk-pixbuf/Makefile.am (libgdk_pixbuf_la_LDFLAGS): Incremented
4300         the version number of the libtool library to indicate that this
4301         definitely is not compatible with the old usage.  I know you love
4302         me.  I know you do.
4303
4304         * configure.in: Bumped version number to 0.7.0.
4305
4306         * README: Updated.
4307
4308         * gdk-pixbuf-config.in (--libs): We no longer require libart.
4309
4310         * DEPENDS.libgdk_pixbuf: We no longer depend on libart.
4311
4312         * gdk-pixbuf.spec.in: Updated, but I don't guarantee anything.
4313
4314 2000-04-06  Jonathan Blandford  <jrb@redhat.com>
4315
4316         * gdk-pixbuf/testanimation.c (main): add more info to the
4317         testanimation frames.
4318
4319 2000-04-04  Ettore Perazzoli  <ettore@helixcode.com>
4320
4321         * gdk-pixbuf/gdk-pixbuf-animation.c
4322         (gdk_pixbuf_animation_get_width): New accessor function.
4323         (gdk_pixbuf_animation_get_height): New accessor function.
4324         (gdk_pixbuf_animation_get_num_frames): New accessor function.
4325         (gdk_pixbuf_animation_get_frames): New accessor function.
4326
4327 2000-04-01  Federico Mena Quintero  <federico@helixcode.com>
4328
4329         * gdk-pixbuf/gdk-pixbuf.c: Reverted Mark's change.  The refcount
4330         is private information, and the art_pixbuf will go away soon.
4331
4332 2000-03-31  Mark Crichton  <crichton@gimp.org>
4333
4334         * gdk-pixbuf/gdk-pixbuf.c: Added gdk_pixbuf_get_refcount
4335         and gdk_pixbuf_get_artpixbuf accessor functions.
4336
4337 2000-03-29  Federico Mena Quintero  <federico@helixcode.com>
4338
4339         * gdk-pixbuf/gdk-pixbuf.c (gdk_pixbuf_get_has_alpha): Return
4340         gboolean instead of int.
4341
4342 2000-03-29  Radek Doulik  <rodo@helixcode.com>
4343
4344         * gdk-pixbuf/gdk-pixbuf-animation.c
4345         (gdk_pixbuf_animation_new_from_file): same as below
4346
4347         * gdk-pixbuf/io-gif.c (gif_get_lzw): added update of width and
4348         height in GdkPixbufAnimation
4349
4350 2000-03-28  Radek Doulik  <rodo@helixcode.com>
4351
4352         * gdk-pixbuf/io-gif.c (gif_get_lzw): test also for
4353         context->frame_done_func and context->anim_done_func to make
4354         progressive animation loading work
4355
4356         * gdk-pixbuf/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
4357         added priv->pixbuf = NULL as pixbuf is now in frame (and to make
4358         gdk_pixbuf_loader_prepare happy)
4359         (gdk_pixbuf_loader_frame_done): update animation bbox
4360
4361         * gdk-pixbuf/gdk-pixbuf.h: added bbox size (width, height) to
4362         _GdkPixbufAnimation
4363
4364 2000-03-27  Radek Doulik  <rodo@helixcode.com>
4365
4366         * gdk-pixbuf/io-gif.c (gif_get_lzw): use frame_len and frame_width
4367         instead of width and height
4368
4369 2000-03-27  Owen Taylor  <otaylor@redhat.com>
4370
4371         * gdk-pixbuf/pixops/pixops.c: Fix problem with 
4372         precendence of >> and & which was keeping composite_color
4373         from working with non-gray images.
4374
4375 2000-03-08  Jonathan Blandford  <jrb@redhat.com>
4376
4377         * gdk-pixbuf/io-gif.c (gdk_pixbuf__gif_image_load): free the context.
4378         (gdk_pixbuf__gif_image_load_animation): free the context.
4379
4380 2000-03-06  Arjan van de Ven <arjan@fenrus.demon.nl>
4381
4382         * gdk-pixbuf/io-bmp.c: Fixed to pointer-bugs and a 
4383         mis-interpretation of the Microsoft documentation. Now
4384         it can load .BMP files that are not generated by The Gimp
4385         as well.
4386
4387 2000-03-01  Mark Crichton  <crichton@gimp.org>
4388
4389         * configure.in: Added BUILD_CANVAS_ITEM stuff to (finally)
4390         fix the last auto* build bug (where we have libart, but no
4391         gnome-libs)
4392
4393         * gdk-pixbuf/Makefile.am: Same.
4394
4395 2000-02-28  Matt Wilson  <msw@redhat.com>
4396
4397         * gdk-pixbuf/gdk-pixbuf-drawable.c: s/unsigned long/guint32/g,
4398         s/unsigned short/guint16/g, s/unsigned char/guint8/g
4399
4400 2000-02-26  Federico Mena Quintero  <federico@helixcode.com>
4401
4402         * README: We don't require libgif/ungif nor libXpm.
4403
4404         * NEWS: This was outdated, so updated it.
4405
4406 2000-02-25  Federico Mena Quintero  <federico@helixcode.com>
4407
4408         * gdk-pixbuf.m4: Use the correct name for
4409         gdk-pixbuf/gdk-pixbuf.h.  Thanks to Jacob Berkman for pointing
4410         this out.
4411
4412 2000-02-21  Federico Mena Quintero  <federico@helixcode.com>
4413
4414         * configure.in (GDK_PIXBUF_MINOR): Bumped version number to 0.6.0.
4415
4416         * doc/compiling.sgml: New appendix documenting the gdk-pixbuf
4417         library's particular options to configure.in.
4418
4419         * doc/gdk-pixbuf.sgml: Include compiling.sgml appendix via an
4420         entity.
4421
4422         * doc/Makefile.am (gdk-pixbuf.html): Added compiling.sgml.
4423
4424         * gdk-pixbuf/io-ico.c (gdk_pixbuf__ico_image_load_increment):
4425         Fixed typo in prototype name.
4426
4427         * configure.in: Changed duplicated AC_MSG_CHECKING message to
4428         something more meaningful; now it is "checking whether dynamic
4429         modules work".
4430
4431         * gdk-pixbuf/pixops/Makefile.am (noinst_PROGRAMS): Do not install
4432         the timescale program.
4433
4434         Integrated Miguel de Icaza's <miguel@gnu.org> patch for optionally
4435         creating a single static library with all the image format modules
4436         in it.
4437
4438 2000-02-20  Miguel de Icaza  <miguel@gnu.org>
4439
4440         * gdk-pixbuf/io-xpm.c (gdk_pixbuf__xpm_image_load): Add prefix.
4441         (gdk_pixbuf__xpm_image_load_xpm_data): Add prefix.
4442
4443         * gdk-pixbuf/io-tiff.c (gdk_pixbuf__tiff_image_load_real): Add prefix.
4444         (gdk_pixbuf__tiff_image_stop_load): Add prefix.
4445         (gdk_pixbuf__tiff_image_load_increment): Add prefix.
4446         (gdk_pixbuf__tiff_image_load): Add prefix.
4447         (gdk_pixbuf__tiff_image_stop_load): Update invocation.
4448         (gdk_pixbuf__tiff_image_begin_load): Add prefix.
4449
4450         * gdk-pixbuf/io-ras.c (gdk_pixbuf__ras_image_load): Add prefix.
4451         (gdk_pixbuf__ras_image_load): Updated invocation.
4452         (gdk_pixbuf__ras_image_begin_load): Add prefix.
4453         (gdk_pixbuf__ras_image_stop_load): Add prefix.
4454         (gdk_pixbuf__ras_image_load_increment): Add prefix.
4455
4456         * gdk-pixbuf/io-pnm.c (gdk_pixbuf__pnm_image_begin_load): Add prefix.
4457         (gdk_pixbuf__pnm_image_stop_load): Add prefix.
4458         (gdk_pixbuf__pnm_image_load_increment): Add prefix
4459         (gdk_pixbuf__pnm_image_load): Add prefix.
4460
4461         * gdk-pixbuf/io-jpeg.c (gdk_pixbuf__jpeg_image_load): Add prefix.
4462         (gdk_pixbuf__jpeg_image_load_increment): Add prefix.
4463         (gdk_pixbuf__jpeg_image_begin_load): Add prefix.
4464         (gdk_pixbuf__jpeg_image_stop_load): Add prefix.
4465
4466         * gdk-pixbuf/io-ico.c (gdk_pixbuf__ico_image_load): Add prefix.
4467         (gdk_pixbuf__ico_image_load): update invocation.
4468         (gdk_pixbuf__ico_image_load_increment): Add prefix.
4469         (gdk_pixbuf__ico_image_load): update invocation.
4470         (gdk_pixbuf__ico_image_begin_load): Add prefix.
4471         (gdk_pixbuf__ico_image_load): update invocation.
4472         (gdk_pixbuf__ico_image_stop_load): Add prefix.
4473
4474         * gdk-pixbuf/io-gif.c (gdk_pixbuf__gif_image_load_animation): Add prefix.
4475         (gdk_pixbuf__gif_image_load): Add prefix.
4476         (gdk_pixbuf__gif_image_begin_load): Add prefix.
4477         (gdk_pixbuf__gif_image_load_increment): Add prefix.
4478         (gdk_pixbuf__gif_image_load_animation): Add prefix.
4479         (gdk_pixbuf__gif_image_stop_load): Add prefix.
4480
4481         * gdk-pixbuf/io-bmp.c (gdk_pixbuf__bmp_image_load): Add prefix.
4482         (gdk_pixbuf__bmp_image_load): Rename function called.
4483         (gdk_pixbuf__bmp_image_load_increment): Add prefix
4484
4485         * gdk-pixbuf/io-png.c (gdk_pixbuf__png_image_load): Add prefix.
4486         (gdk_pixbuf__png_image_begin_load): Add prefix.
4487         (gdk_pixbuf__png_image_stop_load): Add prefix.
4488         (gdk_pixbuf__png_image_load_increment): Add prefix.
4489
4490         * gdk-pixbuf/gdk-pixbuf-io.c (file_formats): Make this static.
4491         (gdk_pixbuf_load_module): Load the shared library entry points
4492         using a "gdk_pixbuf__$module_name" prefix.
4493         (pixbuf_module_symbol): Wrapper routine that uses the module
4494         prefix for the modules to load the information.
4495
4496         * configure.in (GDK_PIXBUF_VERSION): New option --disable-modules
4497         lets the user specify that gdk-pixbuf should link all image loader
4498         code into the library instaed of creating shared library modules.
4499         
4500         (dynworks): Renamed the automake conditional DYNAMIC_MODULES_WORK
4501         to BUILD_DYNAMIC_MODULES.
4502
4503 2000-02-19  Jonathan Blandford  <jrb@redhat.com>
4504
4505         * gdk-pixbuf/io-gif.c (new_context): fix case where initial
4506         colormap entry is Transparent.
4507
4508 2000-02-19  Owen Taylor  <otaylor@redhat.com>
4509
4510         * gdk-pixbuf/pixops/pixops.c (scale_pixel): Fix error in
4511         scale factors for non-alpha case.
4512
4513 2000-02-14  Mark Crichton  <crichton@gimp.org>
4514
4515         * gdk-pixbuf/io-xpm.c (xpm_extract_color): Added check for "g"
4516         color type. Imlib/libXpm handle this, but we didn't.
4517
4518 2000-02-14  Darin Adler  <darin@eazel.com>
4519
4520         * gdk-pixbuf/testpixbuf.c: Remove now-unnecessary cast.
4521         * .cvsignore: gdk-pixbuf/.cvsignore: More to ignore.
4522
4523 2000-02-14  Elliot Lee  <sopwith@redhat.com>
4524         * gdk-pixbuf/gdk-pixbuf.h, gdk-pixbuf/gdk-pixbuf-data.c: Make
4525         passed-in argument 'const'.
4526
4527 2000-02-04  Michael Meeks  <mmeeks@gnu.org>
4528
4529         * gdk-pixbuf/io-gif.c (struct _GifContext): add x,y_offset.
4530         (gif_get_frame_info): put the offsets on the context.
4531         (gif_get_lzw): copy them off into the frame.
4532         (new_context): no change required; will 0 offsets by default.
4533
4534 2000-01-28  Michael Meeks  <michael@mejm2.dow.cam.ac.uk>
4535
4536         * gdk-pixbuf/pixops/pixops.c (pixops_process): const + nasty
4537         un-consting cast.
4538
4539         * gdk-pixbuf/pixops/pixops.h: const.
4540
4541         * gdk-pixbuf/gdk-pixbuf-util.c: const.
4542         
4543         * gdk-pixbuf/gdk-pixbuf-scale.c: const.
4544
4545         * gdk-pixbuf/gdk-pixbuf.h: constify lots of things.
4546
4547 2000-02-03  Federico Mena Quintero  <federico@helixcode.com>
4548
4549         * gdk-pixbuf/gdk-pixbuf-render.c
4550         (gdk_pixbuf_render_threshold_alpha): Added sanity check for width
4551         and height being >= 0.  Also, do nothing if either of them is
4552         zero.  Thanks to Ettore for pointing this out.
4553         (gdk_pixbuf_render_to_drawable): Likewise.
4554         (gdk_pixbuf_render_to_drawable_alpha): Likewise.
4555
4556 2000-02-02  Federico Mena Quintero  <federico@helixcode.com>
4557
4558         * gdk-pixbuf/io-gif.c (gif_get_lzw): Removed debugging g_print.
4559         Thanks to John Sullivan <sullivan@eazel.com> for the patch.
4560
4561         * gdk-pixbuf/testpixbuf-drawable.c (configure_cb): Get a new area
4562         of the screen when the window is resized.  Thanks to David
4563         N. Welton <davidw@linuxcare.com> for pointing this out.
4564         Misc. cleanups to the rest of the file.
4565
4566 2000-02-01  Federico Mena Quintero  <federico@helixcode.com>
4567
4568         * doc/tmpl/rendering.sgml: gnome_init() does not call
4569         gdk_rgb_init(), so don't mention that it does in the
4570         documentation.  Thanks to Alexander Kruuse <kruuse@home.se> for
4571         pointing this out.
4572
4573 2000-01-31  Havoc Pennington  <hp@redhat.com>
4574
4575         * gdk-pixbuf/Makefile.am (noinst_PROGRAMS): no testpixbuf-foo target
4576
4577 Mon Jan 31 12:38:50 2000  Owen Taylor  <otaylor@redhat.com>
4578
4579         * gdk-pixbuf/pixops/pixops.c (scale_line): Fix from Peter
4580         Wainwright to fix 4a => 4a scaling.
4581
4582 2000-01-29  Mark Crichton  <crichton@gimp.org>
4583
4584         * gdk-pixbuf-config: Oh dear, we weren't Telsa/Alan proof...
4585         put `libart-config --libs` in instead of -lart_lgpl.
4586
4587 2000-01-22  Federico Mena Quintero  <federico@helixcode.com>
4588
4589         * gdk-pixbuf/io-pnm.c (pnm_read_raw_scanline): Return an error on
4590         invalid pnm type.
4591         (pnm_read_ascii_scanline): Initialize data and mask.
4592
4593         * gdk-pixbuf/io-xpm.c (pixbuf_create_from_xpm): Initialize
4594         fallbackcolor to keep gcc happy.
4595
4596         * configure.in: Bumped version number to 0.5.0.
4597
4598         * gdk-pixbuf/pixops/timescale.c (dump_array): Removed unused variable.
4599         (main): Return 0.
4600
4601         * gdk-pixbuf/pixops/pixops.c (pixops_composite_color_nearest): Put
4602         parentheses around + in a shift to remove a compiler warning.
4603         (pixops_process): Likewise.
4604
4605         Patch from Ross Golder <rossigee@bigfoot.com> to create an RPM
4606         specfile:
4607
4608         * configure.in: Added gdk-pixbuf.spec to AC_OUTPUT.
4609
4610         * Makefile.am (EXTRA_DIST): Added gdk-pixbuf.spec.in
4611
4612 2000-01-22  Federico Mena Quintero  <federico@helixcode.com>
4613
4614         * gdk-pixbuf/gnome-canvas-pixbuf.c (PixbufPrivate): Removed the
4615         x_set and y_set arguments.  Now they are always on and start with
4616         defaults of 0.0 in units.
4617         (gnome_canvas_pixbuf_class_init): Likewise.
4618         (gnome_canvas_pixbuf_set_arg): Likewise.
4619         (gnome_canvas_pixbuf_get_arg): Likewise.
4620         (compute_viewport_affine): Likewise; always use the priv->x and
4621         priv->y fields.
4622
4623         * doc/tmpl/gnome-canvas-pixbuf.sgml: Modified to reflect the
4624         removal of the x_set/y_set arguments.
4625
4626 2000-01-21  Federico Mena Quintero  <federico@helixcode.com>
4627
4628         * gdk-pixbuf/gdk-pixbuf.c (gdk_pixbuf_ref): Return the same pixbuf
4629         as the input parameter.
4630
4631         * gdk-pixbuf/gdk-pixbuf-animation.c (gdk_pixbuf_animation_ref):
4632         Return the same animation as the input parameter.
4633
4634 2000-01-16  Elliot Lee  <sopwith@redhat.com>
4635
4636         * gdk-pixbuf/Makefile.am: Don't link against libgnomecanvaspixbuf.la
4637
4638 2000-01-16  Federico Mena Quintero  <federico@helixcode.com>
4639
4640         * configure.in: Removed the broken --enable-canvas-pixbuf option.
4641         Added the stuff necessary to substitute the variables in
4642         gnomecanvaspixbufConf.sh.in.
4643
4644         * gnomecanvaspixbufConf.sh.in: New gnome-config handler for the
4645         tiny gnomecanvaspixbuf library.
4646
4647         * Makefile.am: Build gnomecanvaspixbufConf.sh.
4648
4649         * gdk-pixbuf/Makefile.am: Create a libgnomecanvaspixbuf and only
4650         build it if gdk-pixbuf is being built outside of gnome-libs.
4651
4652         * doc/gdk-pixbuf-sections.txt: Added gdk_pixbuf_render_pixmap_and_mask().
4653
4654         * gdk-pixbuf/gdk-pixbuf-render.c
4655         (gdk_pixbuf_render_pixmap_and_mask): Renamed from
4656         gdk_pixbuf_render_pixmap().  Do not create the mask if it is not
4657         needed, and do not use a clipping mask when rendering the pixmap.
4658         Tweaked documentation a little.
4659
4660         * HACKING: New file with hacking policies for the gdk-pixbuf
4661         module.
4662
4663         * doc/Makefile.am (tmpl_sources): Added missing backslash.
4664
4665         * doc/Makefile.am: Use gnomecanvaspixbuf in gnome-config when
4666         scanning for docstrings.
4667
4668         * gdk-pixbuf/gdk-pixbuf-util.c (gdk_pixbuf_copy_area): Made sanity
4669         checks more stringent.  Removed "gint" abominations.  Made
4670         documentation consistent with the rest of the functions.
4671
4672         * doc/gdk-pixbuf-sections.txt: Added gdk_pixbuf_copy_area() to the
4673         utilities section.
4674
4675 2000-01-14  Jonathan Blandford  <jrb@redhat.com>
4676
4677         * gdk-pixbuf/gdk-pixbuf-render.c (gdk_pixbuf_render_pixmap): new
4678         function to let you create a gdk_pixmap from a gdk_pixbuf.
4679
4680 2000-01-11  Jacob Berkman  <jacob@helixcode.com>
4681
4682         * gdk-pixbuf/pixops/Makefile.am (INCLUDES): added
4683         $LIBART_CFLAGS to $INCLUDES
4684
4685 2000-01-10  Elliot Lee  <sopwith@redhat.com>
4686
4687         * configure.in, gdk-pixbuf/Makefile.am: Build a libcanvas_pixbuf.
4688
4689         * configure.in: Define version macros. Generate
4690         gdk-pixbuf/gdk-pixbuf-features.h. Always INSIDE_GNOME.
4691
4692         * gdk-pixbuf/Makefile.am: Add gdk-pixbuf-features.h
4693
4694         * gdk-pixbuf/gdk-pixbuf.c: Add definitions of
4695         gdk-pixbuf-features.h declarations, plus some initialization
4696         stubs.
4697
4698 2000-01-05  Owen Taylor  <otaylor@redhat.com>
4699
4700         * gdk-pixbuf/pixops/pixops.c: Fixed src_channels/dest_channels
4701         confusion. (Again caught by Tomas Ogren's Purify)
4702
4703 2000-01-07  Jonathan Blandford  <jrb@redhat.com>
4704
4705         * gdk-pixbuf/gdk-pixbuf-xform.c (gdk_pixbuf_rotate): comment out
4706         debugging printing.
4707
4708         * gdk-pixbuf/gdk-pixbuf-io.c: Added progressive animation loading.
4709         * gdk-pixbuf/gdk-pixbuf-io.h: Added progressive animation loading.
4710         * gdk-pixbuf/gdk-pixbuf-loader.c: Added progressive animation
4711         loading.
4712         * gdk-pixbuf/gdk-pixbuf-loader.h: Added progressive animation
4713         loading.
4714         * gdk-pixbuf/io-gif.c (image_load_increment): I think the
4715         ref-counting mess is finally fixed.  Added progressive animation
4716         loading.
4717         (gif_get_lzw): remove memory_leak
4718
4719         * doc/tmpl/gdk-pixbuf-loader.sgml: much longer long description
4720         added.
4721
4722 2000-01-05  Owen Taylor  <otaylor@redhat.com>
4723
4724         * gdk-pixbuf/pixops/pixops.c (pixops_process): Fix computation of
4725         end of run indices. 
4726
4727         * gdk-pixbuf/pixops/pixops.c: Fix double increments when
4728           dest_channels == 4.  (Pointed out by Tomas Ogren)
4729
4730 2000-01-05  Mark Crichton  <crichton@gimp.org>
4731
4732         * gdk-pixbuf/gdk-pixbuf-loader.c (gdk_pixbuf_loader_eat_header_write):
4733         Return 0 if gdk_pixbuf_load_loader_module returns FALSE.
4734
4735 2000-01-05 Elliot Lee <sopwith@redhat.com>
4736
4737         * gdk-pixbuf/pixops/Makefile.am: Link with -lm (to get 'ceil' function)
4738
4739 2000-01-05  Owen Taylor  <otaylor@redhat.com>
4740
4741         * doc/Makefile.am doc/gdk-pixbuf-sections.txt
4742           doc/gdk-pixbuf.sgml doc/tmpl/scaling.sgml:
4743         Added scaling functions into gtk-doc framework.
4744
4745         * gdk-pixbuf/gdk-pixbuf-scale.c: Documentation fixes.
4746
4747         * gdk-pixbuf/testpixbuf-scale.c (expose_cb): Simplify a bit.
4748
4749         * gdk-pixbuf/pixops/pixops.c (pixops_composite_color): Return
4750         immediately if scale_x or scale_y is 0.
4751
4752 2000-01-05  Owen Taylor  <otaylor@redhat.com>
4753
4754         * gdk-pixbuf/pixops/timescale.c: quick fix for initializing
4755         arrays in benchmark.
4756
4757 2000-01-05  Jonathan Blandford  <jrb@redhat.com>
4758
4759         * gdk-pixbuf/gdk-pixbuf-io.h: Change the order of the update func
4760         to make it more compatible with the rest of GTK.  Added animation
4761         framework for progressive loading.
4762
4763         * gdk-pixbuf/io-bmp.c (image_begin_load): Modified to handle new
4764         system.
4765         * gdk-pixbuf/io-ico.c (image_begin_load): ditto
4766         * gdk-pixbuf/io-png.c (image_begin_load): ditto
4767         * gdk-pixbuf/io-ras.c (image_begin_load): ditto
4768         * gdk-pixbuf/io-jpeg.c (image_begin_load): ditto
4769         * gdk-pixbuf/io-pnm.c (image_begin_load): ditto
4770         * gdk-pixbuf/io-tiff.c (image_begin_load): ditto
4771         * gdk-pixbuf/io-gif.c (image_begin_load): ditto
4772
4773 2000-01-05  Owen Taylor  <otaylor@redhat.com>
4774
4775         * gdk-pixbuf/pixops/README: Added a README with a TODO
4776         and some explainations of the algorithms.
4777
4778         * gdk-pixbuf/testpixbuf-scale.c: Set a background pixmap of None
4779         to reduce flashing when resizing.
4780
4781 2000-01-05  Owen Taylor  <otaylor@redhat.com>
4782
4783         * gdk-pixbuf/pixops/: Directory full of pixel data scaling
4784         code that will eventually migrate into libart.
4785
4786         * configure.in acconfig.h: Add checks for MMX compiler support
4787
4788         * gdk-pixbuf/gdk-pixbuf.h gdk-pixbuf/gdk-pixbuf-scale.c:
4789         Nice wrapper routines for the code in pixops that operate
4790         on pixbufs instead of raw data.
4791
4792         * gdk-pixbuf/testpixbuf-scale: Test program for scaling
4793         routines.
4794
4795 2000-01-05  Jonathan Blandford  <jrb@redhat.com>
4796
4797         * doc/tmpl/animation.sgml: Documentation changes.
4798
4799 2000-01-01  Federico Mena Quintero  <federico@helixcode.com>
4800
4801         * gdk-pixbuf/gdk-pixbuf.h (GdkPixbufAnimation): Added reference
4802         counting to animations.  A web browser may want to share a single
4803         copy of an animated GIF if it appears multiple times in a web
4804         page, for example.
4805
4806         * gdk-pixbuf/gdk-pixbuf-animation.c: New file.  Moved the
4807         animation functions here.
4808         (gdk_pixbuf_animation_new_from_file): Prettified.  Return a NULL
4809         animation if the loader does not support multiframe loading and
4810         the single-frame load returned NULL.  Check that the filename is
4811         not NULL.  Updated inline documentation.
4812         (gdk_pixbuf_animation_ref): New function.
4813         (gdk_pixbuf_animation_unref): New function.
4814         Removed gdk_pixbuf_animation_destroy() in favor of reference
4815         counting.
4816
4817         * gdk-pixbuf/gdk-pixbuf-io.c (gdk_pixbuf_new_from_file):
4818         Prettified.  Made ref_count assertion more paranoid.  Check that
4819         the filename is not NULL.
4820         (gdk_pixbuf_get_module): Use guchar * and guint for buffer and
4821         size, respectively.
4822         (gdk_pixbuf_new_from_xpm_data): Changed the "data" argument to
4823         const char **.
4824
4825         * gdk-pixbuf/io-gif.c (image_load_animation): Create the animation
4826         with a reference count of 1.
4827
4828         * gdk-pixbuf/Makefile.am (libgdk_pixbuf_la_SOURCES): Added
4829         gdk-pixbuf-animation.c.
4830
4831         * doc/tmpl/animation.sgml: Populated.  It is still missing a
4832         description of the overlay modes.
4833
4834         * doc/gdk-pixbuf-sections.txt: Added the animation section.  Moved
4835         the canvas item section to the end, as it will be moved later to
4836         gnome-libs.
4837
4838         * doc/gdk-pixbuf.sgml: Added the animation section.
4839
4840         * doc/Makefile.am (tmpl_sources): Added tmpl/animation.sgml.
4841
4842 1999-12-26  Peter Teichman  <pat@gnu.org>
4843
4844         * gdk-pixbuf/Makefile.am (libpixbuf_tiff_la_LIBADD): add
4845         $(LIBTIFF) to libpixbuf_tiff_la_LIBADD, proxying for mmarker.
4846         This closes bug #4676.
4847
4848 1999-12-23  Havoc Pennington  <hp@pobox.com>
4849
4850         * gdk-pixbuf/io-gif.c (image_load): Stuff that should have been
4851         set to NULL here (specifically context->animation) was not being
4852         set to NULL. use g_new0() to alloc the struct.
4853
4854 1999-12-20  Jonathan Blandford  <jrb@redhat.com>
4855
4856         * gdk-pixbuf/io-gif.c: finished work to make animated gifs load
4857         correctly.  Progressive loading needs some work, but that all
4858         needs doing from the gdk-pixbuf-loader end, not here.
4859
4860 1999-12-17  Jonathan Blandford  <jrb@redhat.com>
4861
4862         * gdk-pixbuf/gdk-pixbuf-io.c (gdk_pixbuf_animation_new_from_file):
4863         moved the file here.  It seems natural to put this function here,
4864         as that's where the gdk_pixbuf_new_from_file function is, but it's
4865         still a little convoluted.  The source files might be played with
4866         in a bit.
4867
4868 1999-12-14  Jonathan Blandford  <jrb@redhat.com>
4869
4870         * gdk-pixbuf/gdk-pixbuf-loader.c
4871         (gdk_pixbuf_loader_get_animation):  Gets the animation from the
4872         loader.
4873
4874 1999-12-16  Federico Mena Quintero  <federico@redhat.com>
4875
4876         * doc/tmpl/rendering.sgml: Added notice about initializing GdkRGB
4877         before using the GdkPixbuf rendering functions.  Thanks to Joe
4878         Shaw <joe@off.net> for pointing this out.
4879
4880 1999-12-13  Federico Mena Quintero  <federico@redhat.com>
4881
4882         * gdk-pixbuf/gnome-canvas-pixbuf.c
4883         (gnome_canvas_pixbuf_class_init): Renamed arguments to
4884         width_in_pixels, height_in_pixels, x_in_pixels, y_in_pixels, for
4885         consistency with the new canvas.
4886         (PixbufPrivate): Do the same renaming in the structure fields, for
4887         consistency.
4888
4889         * doc/tmpl/gnome-canvas-pixbuf.sgml: Updated for new argument names.
4890
4891 1999-12-12  Federico Mena Quintero  <federico@redhat.com>
4892
4893         * gdk-pixbuf/Makefile.am (libgdk_pixbuf_la_LDFLAGS): Use a
4894         conditional to see whether to link $(GNOME_LIBS) or not.
4895
4896 1999-12-10  Jonathan Blandford  <jrb@redhat.com>
4897
4898         * gdk-pixbuf/gdk-pixbuf-io.h: thinking about the new loading API.
4899
4900         * gdk-pixbuf/gdk-pixbuf-drawable.c (gdk_pixbuf_get_from_drawable):
4901         make a warning go away.
4902
4903         * gdk-pixbuf/gdk-pixbuf.h: added new prototypes for animations.
4904
4905         * gdk-pixbuf/gdk-pixbuf-loader.h: added new prototypes for
4906         animations.
4907
4908 1999-12-09  Michael Zucchi  <zucchi@zedzone.mmc.com.au>
4909
4910         * gdk-pixbuf/gdk-pixbuf.h: Enable gdk_pixbuf_get_from_drawable()
4911         api call.
4912
4913         * gdk-pixbuf/gdk-pixbuf-drawable.c (gdk_pixbuf_get_from_drawable):
4914         Filled in body of function.
4915         (rgbconvert): Added GdkColormap parameter, and to all conversion
4916         functions also.
4917         (convert_real_slow): New function - should convert ANY visual/data
4918         format properly, but it aint fast.  Used as a fallback when an
4919         optimised routine wont match.
4920         (rgbconvert): Do very specific tests on the data format to verify
4921         properly if the optimised version will do, otherwise use the
4922         fallback function for all other data formats.
4923
4924         * gdk-pixbuf/Makefile.am: Re-enabled building of
4925         textpixbuf-drawable.
4926
4927         * gdk-pixbuf/testpixbuf-drawable.c (main): Changed to use
4928         gdk_pixbuf_get_from_drawable().
4929
4930 1999-12-08  Arjan van de Ven <arjan@fenrus.demon.nl>
4931
4932         * gdk-pixbuf/gdk-pixbuf-drawable.c : Fixed the red/green/red
4933         bug on two occasions.
4934         * gdk-pixbuf/io-ras.c: Changed from the custom be32_to_cpu
4935         function to the generic glib one.
4936
4937 1999-12-08  Federico Mena Quintero  <federico@redhat.com>
4938
4939         * gdk-pixbuf/gdk-pixbuf-drawable.c: Fix includes.
4940         (gdk_pixbuf_get_from_drawable): Implemented the zillion sanity
4941         checks and API definition.  The body needs filling in and it needs
4942         to do the Right Thing(tm) for pixmaps plus the given colormap and
4943         windows and their own colormaps.
4944
4945         * gdk-pixbuf/gdk-pixbuf.h: Added prototype for
4946         gdk_pixbuf_get_from_drawable().  Killed gdk-pixbuf-drawable.h.
4947
4948         * gdk-pixbuf/Makefile.am: Re-added the gdk-pixbuf-drawable sources.
4949
4950         * doc/tmpl/from-drawables.sgml: Populated.
4951
4952         * doc/gdk-pixbuf.sgml: Added the from-drawables section.
4953
4954         * doc/Makefile.am (tmpl_sources): Added tmpl/from-drawables.sgml.
4955
4956         * doc/gdk-pixbuf-sections.txt: Added a section for getting pixbufs
4957         from drawables.
4958
4959 1999-12-07  Federico Mena Quintero  <federico@redhat.com>
4960
4961         * doc/tmpl/gnome-canvas-pixbuf.sgml: Added clarification about
4962         reference counting for GdkPixbuf structures.
4963
4964 1999-12-07  Martin Baulig  <martin@home-of-linux.org>
4965
4966         * gdk-pixbuf/Makefile.am (testpixbuf_LDADD): Conditionally
4967         include $(GNOME_LIBS) here.
4968
4969 1999-12-05  Arjan van de Ven <arjan@fenrus.demon.nl>
4970
4971         Added missing "include <string.h>" to:
4972         * gdk-pixbuf/io-ras.c
4973         * gdk-pixbuf/io-bmp.c
4974         * gdk-pixbuf/io-ico.c
4975
4976 1999-12-06  Federico Mena Quintero  <federico@redhat.com>
4977
4978         * gdk-pixbuf/gdk-pixbuf-io.c (file_formats): Patch from Arjan to
4979         fix an initializer.
4980
4981 1999-12-05  Federico Mena Quintero  <federico@redhat.com>
4982
4983         * gdk-pixbuf/Makefile.am (testpixbuf_LDADD): Add back
4984         $(GNOME_LIBS).  This must compile outside of gnome-libs.  If you
4985         want, send me a patch to do the conditional stuff properly.
4986         Otherwise, please read the GNOME Programming Guidelines,
4987         especially the "CVS policies" section.
4988
4989 1999-12-05  Jaka Mocnik  <jaka.mocnik@kiss.uni-lj.si>
4990
4991         * gdk-pixbuf/Makefile.am: removed GNOME_LIBS from testpixbuf_LDADD.
4992
4993 1999-12-05  Arjan van de Ven <arjan@fenrus.demon.nl>
4994
4995         * gdk-pixbuf/io-ico.c: Bug in palet-size
4996         calculation fixed
4997
4998 1999-12-04  Arjan van de Ven <arjan@fenrus.demon.nl>
4999
5000         * gdk-pixbuf/io-bmp.c: Major cleanup, added support for
5001         32 bpp and 4 bpp (uncompressed) images, fixed 1bpp.
5002
5003         * gdk-pixbuf/io-ras.c: Minor cleanup, ran through lclint
5004
5005         * gdk-pixbuf/io-ico.c: Minor cleanup, fixed 1bpp icons,
5006         ran through lclint.
5007
5008         * gdk-pixbuf/gdk-pixbuf-io.c: Added detection of .CUR files
5009         (Windows Cursor files). These are identical to .ICO files,
5010         except for the signature and 2 extra fields for the hotspot.
5011
5012 1999-12-03  Federico Mena Quintero  <federico@redhat.com>
5013
5014         * gdk-pixbuf/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_get_arg):
5015         Removed unused variable `item'.
5016
5017 1999-12-03  Jonathan Blandford  <jrb@redhat.com>
5018
5019         * gdk-pixbuf/io-gif.c (gif_fill_in_lines): added a comment to
5020         explain this function better.
5021
5022 1999-12-02  Federico Mena Quintero  <federico@redhat.com>
5023
5024         Source files moved from src/ to gdk-pixbuf/, to be consistent with
5025         other libraries.
5026
5027         * doc/Makefile.am: Modified for the new source directory.
5028
5029         * configure.in: Likewise.
5030
5031         * Makefile.am: Likewise.
5032
5033         * autogen.sh: Likewise.
5034
5035         * gdk-pixbuf/Makefile.am: Likewise.
5036
5037 1999-12-02  Federico Mena Quintero  <federico@redhat.com>
5038
5039         * src/testpixbuf.c: #include <config.h>, and fix includes.
5040
5041         * src/testpixbuf-drawable.c: #include <config.h>, and fix includes.
5042
5043         * src/io-xpm.c: Fix includes.
5044
5045         * src/io-tiff.c: Fix includes.
5046
5047         * src/io-ras.c: Fix includes, and do not include more stuff than needed.
5048
5049         * src/io-pnm.c: Fix inlcudes, and do not include more stuff than needed.
5050
5051         * src/io-png.c: Fix includes.
5052
5053         * src/io-ico.c: Fix includes, and do not include more stuff than needed.
5054
5055         * src/io-gif.c: Fix includes, and do not include more stuff than needed.
5056
5057         * src/io-bmp.c: Fix includes, and do not include more stuff than needed.
5058
5059         * src/gnome-canvas-pixbuf.c: Fix includes.
5060
5061         * src/gdk-pixbuf.c: Fix includes.
5062
5063         * src/gdk-pixbuf-util.c: Fix includes.
5064
5065         * src/gdk-pixbuf-render.c: Fix includes.
5066
5067         * src/gdk-pixbuf-io.h: Fix includes.
5068
5069         * src/gdk-pixbuf-drawable.c: Fix includes.
5070
5071         * src/gdk-pixbuf-drawable.h: Use angle brackets for the gdk-pixbuf
5072         include files.
5073
5074         * src/gdk-pixbuf-data.c: Fix includes.
5075
5076         * src/gdk-pixbuf-loader.c: #include <config.h>
5077
5078         * src/gdk-pixbuf-loader.h: Use angle brackets for the gdk-pixbuf
5079         include files.
5080
5081         * src/Makefile.am: Commented out the gdk-pixbuf-drawable stuff,
5082         since it is not finished.
5083
5084         * src/gdk-pixbuf.h: Removed unused transformation prototypes.
5085
5086         * src/gdk-pixbuf-util.c: New file with utility and convenience
5087         functions for pixbufs.
5088
5089         * src/Makefile.am (libgdk_pixbuf_la_SOURCES): Added gdk-pixbuf-util.c.
5090
5091         * doc/gdk-pixbuf-sections.txt: Added section for utility functions.
5092
5093         * doc/Makefile.am (tmpl_sources): Added tmpl/util.sgml.
5094
5095         * doc/gdk-pixbuf.sgml: Added the utilities section.
5096
5097         * doc/tmpl/util.sgml: Documentation for the utility functions.
5098
5099 1999-11-29  Owen Taylor  <otaylor@redhat.com>
5100
5101         * src/gdk-pixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
5102         Keep the mask around until after we draw ... since
5103         the GC changes aren't flushed to the X server until we
5104         draw, destroying it before that may result in BadPixmap
5105         errors.
5106
5107 1999-11-30  Havoc Pennington  <hp@pobox.com>
5108
5109         * configure.in: Add AM_CONDITIONAL for inside gnome-libs
5110
5111         * src/Makefile.am: conditionalize GnomeCanvasPixbuf
5112
5113 1999-11-29  Federico Mena Quintero  <federico@redhat.com>
5114
5115         * src/Makefile.am: Uncomment the GnomeCanvasPixbuf sources.  This
5116         should be made conditional, not blindly commented out.
5117
5118 1999-11-29  Jonathan Blandford  <jrb@redhat.com>
5119
5120         * src/Makefile.am (ICO_LIB): Added another loader from Arjan to
5121         handle .ico files.  Cool.
5122
5123 1999-11-24  Jonathan Blandford  <jrb@redhat.com>
5124
5125         * src/io-bmp.c (OneLine24): new patch from Arjan to handle
5126         compressed bmps.
5127
5128 1999-11-24  James Henstridge  <james@daa.com.au>
5129
5130         * configure.in (AC_OUTPUT): altered hack to place the symlink in the
5131         top builddir rather than src.  This still builds fine, and does not
5132         get gtk-doc into an infinite loop when trying to find all the source
5133         files.
5134
5135 1999-11-23  Jonathan Blandford  <jrb@redhat.com>
5136
5137         * Removed #PRAGMA } from headers.  Also, make compile if you don't
5138         have it installed, already.
5139
5140 1999-11-22  Federico Mena Quintero  <federico@redhat.com>
5141
5142         * src/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_draw): Create the
5143         temporary buffer to the size of the interesction of the bounding
5144         box and the expose area, not the whole expose area.  This speeds
5145         up things a lot.
5146
5147         * src/gdk-pixbuf-render.c (gdk_pixbuf_render_threshold_alpha): Do
5148         not paint black on the mask, since we already cleared it in a
5149         single gdk_draw_rectangle() operation.
5150
5151 1999-11-22  Raja R Harinath  <harinath@cs.umn.edu>
5152
5153         * configure.in (GDK_PIXBUF_DIR): Fix for srcdir != builddir.
5154
5155 1999-11-22  Havoc Pennington  <hp@pobox.com>
5156
5157         * src/Makefile.am (GDK_PIXBUF_LIBS): Patch from Paul Fisher
5158         <pnfisher@redhat.com> adds all -lgdk-pixbuf and all other
5159         dependencies to LIBADD variables for loadable modules. Necessary
5160         for a Java dynamic loading thing to be able to figure it out.
5161
5162 1999-11-22  Havoc Pennington  <hp@pobox.com>
5163
5164         * src/io-png.c (image_load_increment): Call the update_area
5165         callback depending on the number of rows loaded in this increment.
5166
5167         * src/testpixbuf.c (main): slow down the progressive load demo
5168
5169 1999-11-16  Havoc Pennington  <hp@pobox.com>
5170
5171         * src/gdk-pixbuf-drawable.h: Get the quotes right on the #include
5172
5173 1999-11-22  Jonathan Blandford  <jrb@redhat.com>
5174
5175         * configure.in (GDK_PIXBUF_DIR): make the symlink.  Does not work
5176         for srcdir != buildir != .  Beats me why; I can't figure it out.
5177         AC_OUTPUT_COMMANDS doesn't seem to let me substitute it correctly.
5178
5179 1999-11-21  Jonathan Blandford  <jrb@redhat.com>
5180
5181         * src/gdk-pixbuf-io.c: added io-bmp from Arjan
5182         <arjan@fenrus.demon.nl>
5183
5184 1999-11-20  Michael Zucchi  <zucchi@zedzone.mmc.com.au>
5185
5186         * src/gdk-pixbuf-drawable.c (gdk_pixbuf_from_drawable_core):
5187         Rework/reorder of the code.  Each case has been separated into
5188         another function; its big but it should be quick.
5189         gdk_pixbuf_rgba_from_drawable() will now return a pixbuf with
5190         opaque alpha information.  Not all depths/formats have been
5191         tested, but 8, 15/16 and 24 (alinged 32) should work ok.
5192
5193 1999-11-17  Larry Ewing  <lewing@gimp.org>
5194
5195         * src/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_bounds):
5196         implement the bounds method correctly.
5197         (compute_viewport_affine): compute the affine need to fit the
5198         image within the viewport given by the args.
5199         (compute_render_affine): call compute_viewport_affine.
5200
5201 1999-11-16  Havoc Pennington  <hp@pobox.com>
5202
5203         * src/gdk-pixbuf-drawable.h: Use includes from the current
5204         directory, not the system directory.
5205
5206 Mon Nov 15 17:18:28 1999  George Lebl <jirka@5z.com>
5207
5208         * src/testpixbuf-drawable.c: use includes from the current directory
5209           rather then from the system include directory as gdk-pixbuf
5210           includes are not yet installed when this is compiled.
5211
5212 1999-11-13  Cody Russell  <bratsche@dfw.net>
5213         * src/testpixbuf-drawable.c: Added a test program for drawable
5214         code.
5215
5216         * src/Makefile.am: Build testpixbuf-drawable.
5217
5218 1999-11-12  Cody Russell  <bratsche@dfw.net>
5219
5220         * src/gdk-pixbuf-drawable.c: Merged in Michael Zucchi's changes.
5221
5222 1999-11-10  Federico Mena Quintero  <federico@redhat.com>
5223
5224         * doc/tmpl/gdk-pixbuf-loader.sgml: Populated.
5225
5226         * doc/gdk-pixbuf.signals: Put in the real names of signal
5227         arguments.
5228
5229         * src/gdk-pixbuf-loader.c: Improved documentation comments.
5230
5231 1999-11-10  Jonathan Blandford  <jrb@redhat.com>
5232
5233         * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_close): emit the
5234         closed signal.
5235
5236         * src/io-ras.c (OneLineMapped_file): Now can handle indexing
5237         correctly.  Patch from Arjan to do so.
5238
5239 1999-11-10  Michael Fulbright  <drmike@redhat.com>
5240
5241         * src/io-pnm.c (pnm_ascii_read_scanline): Fixed loading of ASCII PNM
5242         files.
5243
5244         * src/testpixbuf.c: Added final queued draw when done loading image.
5245
5246 1999-11-10  Jonathan Blandford  <jrb@redhat.com>
5247
5248         * src/gdk-pixbuf-io.c (gdk_pixbuf_load_module): removed spurious
5249         print statements.
5250
5251 1999-11-10  Federico Mena Quintero  <federico@redhat.com>
5252
5253         * src/gdk-pixbuf-io.c (gdk_pixbuf_new_from_xpm_data): Added
5254         documentation.
5255
5256 1999-11-09  Federico Mena Quintero  <federico@redhat.com>
5257
5258         * src/io-png.c: Fixed some incompatible pointer initializations.
5259
5260         * src/io-jpeg.c (image_load_increment): Remove unused variable.
5261
5262 1999-11-09  Michael Fulbright  <drmike@redhat.com>
5263
5264         * src/testpixbuf.c: Fixed it to use timeout to read from file
5265         for progressive loading. Set TBF_KBPS=n, where n is the number of
5266         kilobytes/second to simulate in downloading. n has to be an integer.
5267
5268         * src/io-jpeg.c: Slight cosmetic cleanup.
5269
5270         * src/io-pnm.c: Fixed raw PNM loading bug. Also discovered that ASCII
5271         PBM loading has a similar problem and will address tomorrow.
5272
5273 1999-11-09  Havoc Pennington  <hp@pobox.com>
5274
5275         * src/Makefile.am (libgdk_pixbuf_la_SOURCES): build the
5276         gdk-pixbuf-drawable stuff.
5277
5278 1999-11-09  Federico Mena Quintero  <federico@redhat.com>
5279
5280         * configure.in: Bumped version number to 0.4.
5281
5282 1999-11-09  Michael Fulbright  <drmike@redhat.com>
5283
5284         * src/io-pnm.c : Finished progressive PNM loading code. Should handle
5285         all types of PNM files now.
5286
5287         * src/io-jpeg.c (image_load_increment): Figured out problem with
5288         loading Progressive JPEG's progressively (say that 10 times fast).
5289         Currently for Progressive JPEG's the entire image is loaded before
5290         it is displayed. libjpeg supports a fancier mechanism which I may
5291         implement later.
5292
5293         With these changes all JPEG formats appear to load properly for me.
5294
5295 1999-11-08  Jonathan Blandford  <jrb@redhat.com>
5296
5297         * src/io-ras.c (image_load_increment): Final patch from Arjan.
5298         Seems to do progressive loading.
5299
5300 1999-11-08  Michael Fulbright  <drmike@redhat.com>
5301
5302         * src/io-pnm.c image_load (): Fixed so we do not create a separate
5303         pixel buffer when reading in image - we reuse the pixel data in
5304         the GdkPixbuf structure instead.
5305
5306 1999-11-08  Michael Fulbright  <drmike@redhat.com>
5307
5308         * src/io-pnm.c pnm_read_ascii_scanline (): Added support for
5309         ASCII PNM files. Note I haven't tested loaded ASCII PBM files because
5310         I can't seem to find a utility to convert into this format.
5311         Next is to add progressive loading support for the PNM format.
5312
5313 1999-11-07  Federico Mena Quintero  <federico@redhat.com>
5314
5315         * doc/tmpl/gnome-canvas-pixbuf.sgml: Finished detailed explanation
5316         of the width, height, x, and y setting and pixels arguments.
5317
5318 1999-11-05  Jonathan Blandford  <jrb@redhat.com>
5319
5320         * src/io-ras.c (image_load): third patch.  Now it seems to load.
5321
5322         * src/gdk-pixbuf-io.c: second patch Arjan van de Ven
5323         <arjan@fenrus.demon.nl> to autodetect/load the sunras files.
5324
5325         * src/io-ras.c (image_load): new file from Arjan van de Ven
5326         <arjan@fenrus.demon.nl> to begin the ras loader.
5327
5328 1999-11-05  Federico Mena Quintero  <federico@redhat.com>
5329
5330         * doc/gdk-pixbuf-sections.txt: Removed gdk-pixbuf-io, since it is
5331         for internal use only.
5332
5333         * doc/gdk-pixbuf.sgml: Likewise.
5334
5335         * doc/tmpl/gnome-canvas-pixbuf.sgml: Finished docs.
5336
5337 1999-11-05  Michael Fulbright  <drmike@redhat.com>
5338
5339         * src/io-pnm.c: Implemented support for reading raw PBM/PGM/PPM
5340         files from a file. Next step is support for ASCII files, and
5341         then incremental loading.
5342
5343 1999-11-04  Federico Mena Quintero  <federico@redhat.com>
5344
5345         * Makefile.am: Added doc to SUBDIRS.
5346
5347 1999-11-04  Michael Fulbright  <drmike@redhat.com>
5348
5349         * src/io-jpeg.c: Prettied up code slightly.
5350         * src/io-pnm.c:  Start of pnm loader (from file and progressively).
5351                          Doesn't do much yet (will finish tomorrow).
5352         * src/gdk-pixbuf-io.c: Added pnm to structure of known types.
5353
5354 1999-11-04  Federico Mena Quintero  <federico@redhat.com>
5355
5356         * doc/tmpl/rendering.sgml: Populated.
5357
5358         * doc/Makefile.am: Added the template files.
5359
5360 1999-11-04  Havoc Pennington  <hp@pobox.com>
5361
5362         * src/gdk-pixbuf-render.c (gdk_pixbuf_render_to_drawable): In
5363         docs, explain what a dither offset is for.
5364         (gdk_pixbuf_render_to_drawable_alpha): Explain why you would use
5365         this function vs. gdk_pixbuf_render_to_drawable().
5366
5367 1999-11-04  Havoc Pennington  <hp@pobox.com>
5368
5369         * configure.in: Use libart-config correctly; find gnome-config
5370         separately. Fix GNOME_LIBS to be correct in "no gnome installed
5371         yet" case.
5372
5373         * src/Makefile.am: Link to GNOME_LIBS instead of a hardcoded
5374         library list.
5375
5376         Patch untested in the inside-gnome-libs case, I need to commit
5377         then check out to the gnome-libs I'm using.
5378
5379 1999-11-04  Michael Fulbright  <drmike@redhat.com>
5380
5381         * src/io-jpeg.c (image_begin_load): Add update_func callback.
5382         * src/io-jpeg.c (image_load_increment): Call updated callback when
5383         new graphic data decoded.
5384
5385 1999-11-04  Jonathan Blandford  <jrb@redhat.com>
5386
5387         * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_update): handle the
5388         actual update.
5389         * src/io-png.c (image_begin_load): add a update_func callback.
5390         * src/io-gif.c (image_begin_load): add a update_func callback.
5391         (gif_get_lzw): added the update_func ability
5392
5393         * src/io-tiff.c (image_begin_load): add a update_func callback.
5394
5395 1999-11-04  Federico Mena Quintero  <federico@redhat.com>
5396
5397         * doc/tmpl/gdk-pixbuf.sgml: Populated.
5398
5399         * doc/tmpl/refcounting.sgml: Populated.
5400
5401         * doc/tmpl/file-loading.sgml: Populated.
5402
5403         * src/gdk-pixbuf.c: Added documentation comments.
5404
5405         * src/gdk-pixbuf-io.c (gdk_pixbuf_new_from_file): Added
5406         documentation comments.
5407
5408         * doc/: Finished integrating the documentation framework.
5409
5410 1999-11-03  Federico Mena Quintero  <federico@redhat.com>
5411
5412         * configure.in: Removed libgif stuff now that we do not depend on it.
5413         Added the necessary cruft for gtk-doc.
5414
5415         * src/Makefile.am: Unconditionally build the GIF loader.
5416
5417 1999-11-03  Jonathan Blandford  <jrb@redhat.com>
5418
5419         * src/io-gif.c (gif_read): renamed ReadOK to gif_read.
5420         Added a lot of comments to the file.
5421
5422         * src/Makefile.am (libpixbuf_gif_la_LIBADD): Remove dependency on
5423         lib*gif!!!!
5424
5425 1999-11-03  Michael Fulbright  <drmike@redhat.com>
5426
5427         * src/io-jpeg.c (image_load_increment): Further removal of
5428         bugginess in local buffering code. Handles grayscale jpegs
5429         correctly now.
5430
5431         * src/io-jpeg.c (image_load_stop): Was freeing local context
5432         for jpeg library before calling jpeg_decompres_finish ().
5433
5434 1999-11-03  Jonathan Blandford  <jrb@redhat.com>
5435
5436         * src/io-gif.c (image_load_increment): now handle arbitrary buffer
5437         sizes.
5438         (gif_get_lzw): set the transparency to the right val.
5439
5440 1999-11-03  Federico Mena Quintero  <federico@redhat.com>
5441
5442         * src/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_init):
5443         Initiailize the x and y fields.
5444         (gnome_canvas_pixbuf_destroy): Queue a redraw upon destruction.
5445         (PixbufPrivate): Renamed need_size_update to need_xform_update.
5446         (recompute_bounding_box): Do not use temporary values.
5447
5448 1999-11-03  Jonathan Blandford  <jrb@redhat.com>
5449
5450         * src/io-gif.c (set_gif_lzw_clear_code): new state.  Fixes
5451         un-compressed gifs.
5452
5453         * src/gnome-canvas-pixbuf.c (recompute_bounding_box): remove
5454         unneeded x,y,h,w vars.
5455
5456 1999-11-03  Larry Ewing  <lewing@gimp.org>
5457
5458         * src/gnome-canvas-pixbuf.c (compute_render_affine): adjust
5459         render_affine calculation for x,y offsets.
5460         (gnome_canvas_pixbuf_set_arg): add x,y args.
5461         (gnome_canvas_pixbuf_get_arg): add x,y args.
5462         (recompute_bounding_box): simply code using ArtDrect and the
5463         render_affine.  Removed compute_xform_vectors as it was no longer
5464         needed.
5465
5466 1999-11-03  Federico Mena Quintero  <federico@redhat.com>
5467
5468         * src/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_point): I'm a
5469         doofus.  Return a distance, not a boolean, for opaque images.
5470
5471         * src/gnome-canvas-pixbuf.c (recompute_bounding_box): Do proper
5472         rounding of bounding box coordinates.
5473         (gnome_canvas_pixbuf_bounds): Implemented the ::bounds() method.
5474         (gnome_canvas_pixbuf_draw): Use the correct alpha threshold value.
5475
5476 1999-11-03  Jonathan Blandford  <jrb@redhat.com>
5477
5478         * src/io-gif.c (gif_prepare_lzw): s/lwz/lzw/g
5479
5480 1999-11-03  Michael Fulbright  <drmike@redhat.com>
5481
5482         * src/io-jpg.c (image_load_increment): Fixed code which moved
5483         buffer around as new data comes in to work properly. JPEG progressive
5484         loading should be working now except for grayscale JPEG's, which I
5485         will look into next.
5486
5487 1999-11-03    <sopwith@redhat.com>
5488         * src/testpixbuf.c: A GtkFunction needs to return a value for
5489           deterministic behaviour. Also put dot printing back in.
5490
5491 1999-11-03    <jrb@redhat.com>
5492
5493         * src/io-gif.c (gif_get_extension): Read 'til the next empty block
5494         correctly, now.
5495
5496 1999-11-02  Cody Russell  <bratsche@dfw.net>
5497         * src/gdk-pixbuf-drawable.c: Changed the behavior to return NULL
5498         if part of the requested image is offscreen, rather than clipping
5499         the image.
5500
5501 1999-11-02  Jonathan Blandford  <jrb@redhat.com>
5502
5503         * src/io-gif.c (gif_fill_in_lines): Fill in the gif's blank areas
5504         for interlacing and progressive loading.
5505
5506 1999-11-02  Cody Russell  <bratsche@dfw.net>
5507         * src/gdk-pixbuf-drawable.c (gdk_pixbuf_from_drawable_core): Now
5508         calls gdk_pixbuf_new_from_art_pixbuf() instead of gdk_pixbuf_new().
5509
5510 1999-11-02  Jonathan Blandford  <jrb@redhat.com>
5511
5512         * src/io-gif.c (gif_main_loop): Now progressive gif loading works!
5513         It's a little slow though. )-:
5514
5515 1999-11-02 Elliot Lee <sopwith@redhat.com>
5516         * src/gdk-pixbuf-loader.[ch], src/gdk-pixbuf-io.h: Make the
5517         arguments to the write/load_increment operations const-correct.
5518
5519 1999-11-02  Federico Mena Quintero  <federico@redhat.com>
5520
5521         * src/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_point):
5522         Implemented the ::point() method.  We do a simple containment test
5523         instead of a full distance calculation since the canvas is going
5524         to change to that scheme, anyways.
5525
5526 1999-11-02 Elliot Lee <sopwith@redhat.com>
5527
5528         * src/testpixbuf.c: Allow using $TBF_READLEN to specify the size
5529         of the chunks that are read from the input file.
5530
5531 1999-11-02  Larry Ewing  <lewing@gimp.org>
5532
5533         * src/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_render): add aa
5534         render function.
5535         (gnome_canvas_pixbuf_class_init): add gnome_canvas_pixbuf_render
5536         to class.
5537
5538 1999-11-02  Federico Mena Quintero  <federico@redhat.com>
5539
5540         * src/gnome-canvas-pixbuf.c (compute_render_affine): Moved the
5541         affine computation code from ::draw() to here, since it is needed
5542         by ::point() as well.
5543
5544 1999-11-02 Elliot Lee <sopwith@redhat.com>
5545
5546         * src/gdk-pixbuf-loader.c: Reorganize gdk_pixbuf_loader_write into
5547         three functions, and eliminate duplication of code from write()
5548         and close(). Also fix bug where the 128-byte header was being
5549         written twice.
5550
5551 1999-11-01  Federico Mena Quintero  <federico@redhat.com>
5552         * src/gnome-canvas-pixbuf.c (recompute_bounding_box): Fixed
5553         bounding box computation.
5554
5555 1999-11-01  Federico Mena Quintero  <federico@redhat.com>
5556
5557         * src/gnome-canvas-pixbuf.c: Start of the pixbuf canvas item.
5558         Drawing affines seem to work.  Bounding box is fubared.  ::point()
5559         is not implemented.  This is a work in progress.
5560
5561         * src/Makefile.am: Added gnome-canvas-pixbuf.[ch] to the list of
5562         sources.
5563
5564         * configure.in: Sigh.  We need to link in libgnomeui for the
5565         canvas stuff.  This mess will disappear when gdk-pixbuf gets
5566         folded into gnome-libs.
5567
5568 1999-10-30  Jonathan Blandford  <jrb@redhat.com>
5569
5570         * src/io-gif.c: Some more work.  Now it generates a gdk_pixbuf of
5571         the right size, at a minimum, even if the image is squished and
5572         the wrong color.
5573         (ReadImage): lets get the offset right.  This will let transparent
5574         gifs work.
5575
5576 1999-10-29  Michael Fulbright  <drmike@redhat.com>
5577
5578         * src/io-jpeg.c: image_load_increment(): Fixed bug when
5579         image width was not a multiple of 4 - always use the
5580         gdk_pixbuf rowstride to increment pointers!
5581
5582 1999-10-29  Michael Fulbright  <drmike@redhat.com>
5583
5584         * src/io-jpeg.c: Added first cut at progressive jpeg loading.
5585         Currently does not handle either progressive jpeg files (jpeg
5586         files with multiple scans at different quality settings), but
5587         I plan on adding this support soon. These are fairly rare in
5588         my experience, so it shouldn't slow people down too much.
5589         Grayscale jpegs also don't work but that should be easy to fix.
5590
5591 1999-10-29  Michael Fulbright  <drmike@redhat.com>
5592
5593         * src/testpixbuf.c: Added title to windows so you can identify
5594         progressive and file windows.
5595
5596 1999-10-29  Michael Fulbright  <drmike@redhat.com>
5597
5598         * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_write): Actually
5599         load the image handler when we determine the image type.
5600
5601         * src/gdk-pixbuf-io.[ch] (gdk_pixbuf_load_module): Changed the
5602         previously static function load_image_handler () to
5603         a public function gdk_pixbuf_load_module (). It is needed in
5604         gdk-pixbuf-loader.c to load image handler modules.  This function
5605         is different from gdk_pixbuf_get_module (), which only returns
5606         a reference to the required handler, because it actually loads
5607         the handler into memory. Both actions should possibly be combined
5608         in a convenience function since one w/o the other doesn't seem to
5609         make much sense.
5610
5611 1999-10-28  Jonathan Blandford  <jrb@redhat.com>
5612
5613         * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_write): don't send a
5614         0 length buffer.
5615
5616 1999-10-28  Federico Mena Quintero  <federico@redhat.com>
5617
5618         * src/gdk-pixbuf-render.c (gdk_pixbuf_render_to_drawable): New
5619         function to render a portion of a pixbuf to a drawable.  Ignores
5620         alpha information and takes in a GC.
5621         (gdk_pixbuf_render_to_drawable_alpha): New function to render a
5622         portion of a pixbuf to a drawable.  It automatically creates a GC
5623         and a clipping mask for alpha pixbufs.
5624
5625 1999-10-28  Jonathan Blandford  <jrb@redhat.com>
5626
5627         * src/gdk-pixbuf.h: turned convenience macros into convenience
5628         functions so some error checking could be added.
5629
5630         * src/io-tiff.c (image_load_increment): started work on the tiff
5631         non-incremental loader.
5632         (image_begin_load): Finished the incremental loader.
5633
5634         * src/io-gif.c (image_load_increment): started work on the gif
5635         incremental loader.
5636
5637         * src/gdk-pixbuf-io.h: Changed ModuleType to GdkPixbufModule.
5638
5639 1999-10-27  Federico Mena Quintero  <federico@redhat.com>
5640
5641         * src/gdk-pixbuf-render.c (gdk_pixbuf_render_threshold_alpha): New
5642         function to threshold a pixbuf's alpha channel into a bitmap.
5643
5644         * src/gdk-pixbuf.c (gdk_pixbuf_new): Fixed so that it will
5645         contemplate future extensions to ArtPixBuf's formats.
5646
5647         * src/io-png.c (png_info_callback): Use the new API of gdk_pixbuf_new().
5648
5649         * src/gdk-pixbuf.h (gdk_pixbuf_get_height): Added some convenience
5650         macros to fetch the ArtPixBuf's fields.
5651
5652 1999-10-27  Havoc Pennington  <hp@pobox.com>
5653
5654         * src/testpixbuf.c (main): Display the progressive load
5655
5656         * src/io-png.c (setup_png_transformations): Break transformation
5657         code into separate function
5658         (png_info_callback): Use setup_png_transformations
5659
5660 1999-10-27  Havoc Pennington  <hp@pobox.com>
5661
5662         * src/gdk-pixbuf-io.c (gdk_pixbuf_new_from_xpm_data): Check
5663         properly whether the XPM module has already been loaded
5664         (gdk_pixbuf_new_from_file): Check properly if loader module
5665         was already loaded (was checking if load symbol was present
5666         in order to decide whether to re-load; should check module !=
5667         NULL, then load != NULL)
5668         (image_handler_load): Check in present working directory,
5669         makes it easier to debug for now
5670         (file_formats): This array initializer was seriously on crack,
5671         was assigning a function pointer to a GModule*
5672
5673         * src/testpixbuf.c (main): Change type of pixbuf_loader to
5674         GdkPixbufLoader* 
5675
5676 1999-10-27  Havoc Pennington  <hp@pobox.com>
5677
5678         * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_finalize):
5679         Fix typo that prevented compilation
5680         (gdk_pixbuf_loader_destroy): ditto
5681
5682 1999-10-27  Federico Mena Quintero  <federico@redhat.com>
5683
5684         * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_new): Return a
5685         GdkPixbufLoader, not a GtkObject.
5686         (gtk_marshal_NONE__INT_INT_INT_INT): Made static.
5687         (gdk_pixbuf_loader_get_type): Documented.
5688         (gdk_pixbuf_loader_class_init): Initialize the parent class
5689         correctly.
5690         (gdk_pixbuf_loader_destroy): Added sanity checks. Call the parent
5691         class destroy function.
5692         (gdk_pixbuf_loader_new): Documented.
5693         (gdk_pixbuf_loader_finalize): Call the parent class finalize
5694         function.
5695         (gdk_pixbuf_loader_write): Use size_t for count.
5696
5697 1999-10-27  Michael Fulbright  <drmike@redhat.com>
5698
5699         * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_destroy): Fixed
5700         logic so we only try to close loader if it wasn't previously closed.
5701
5702 1999-10-27  Michael Fulbright  <drmike@redhat.com>
5703
5704         * src/gdk-pixbuf-loader.c: Made sure image_loader struct member of
5705         pixbuf_loader properly initialized.
5706
5707         * src/testpixbuf.c: Made sure we cleanup pixbuf_loader properly
5708         when done.
5709
5710 1999-10-26  Jonathan Blandford  <jrb@redhat.com>
5711
5712         * src/gdk-pixbuf-io.c (image_handler_load): load the vtable fully.
5713
5714         * src/gdk-pixbuf-loader.c: Finished initial cut at the object.
5715
5716 1999-10-26  Havoc Pennington  <hp@pobox.com>
5717
5718         * src/gdk-pixbuf-loader.h: fix signals
5719
5720         * src/gdk-pixbuf-io.h: add new vtable fields
5721
5722
5723 1999-10-26  Jonathan Blandford  <jrb@redhat.com>
5724
5725         * src/gdk-pixbuf-loader.h: New Class.  Beginning of progrssive
5726         loading.
5727
5728 1999-10-25  Federico Mena Quintero  <federico@redhat.com>
5729
5730         * configure.in (CFLAGS): Patch from Uwe Koloska
5731         <koloska@Rcs1.urz.tu-dresden.de> to fix a stupid typo of mine.
5732
5733 1999-10-22  Havoc Pennington  <hp@pobox.com>
5734
5735         * src/io-xpm.c (mem_buffer): Clean up stupid
5736         increment-inside-array-dereference thing
5737
5738         * src/testpixbuf.c: Add XPM data tests.
5739
5740         * src/io-xpm.c: Make the XPM data buffer const, fix const
5741         correctness throughout the code.
5742
5743 1999-10-22  Havoc Pennington  <hp@pobox.com>
5744
5745         * src/gdk-pixbuf.h: Export gdk_pixbuf_new_from_xpm_data()
5746
5747 1999-10-22  Havoc Pennington  <hp@pobox.com>
5748
5749         * src/io-xpm.c (image_load_xpm_data): Export this symbol for
5750         loading an XPM from memory.
5751
5752         * src/gdk-pixbuf-io.c (gdk_pixbuf_new_from_xpm_data): New
5753         function, loads pixbuf from xpm data
5754         (image_handler_load): Add g_return_if_fail() to ensure the same
5755         module isn't loaded twice. Add g_module_symbol() to scan for XPM
5756         loader function.
5757
5758 1999-10-22  Federico Mena Quintero  <federico@redhat.com>
5759
5760         * src/io-png.c (image_load): Patch from Kristian Hogsberg
5761         Kristensen <hogsberg@daimi.au.dk> to avoid allocating extra row
5762         buffers; the rows can be read in directly into the main pixel
5763         buffer.
5764
5765 1999-10-20  Federico Mena Quintero  <federico@redhat.com>
5766
5767         * src/gdk-pixbuf-io.c (image_handler_load): Free path.
5768
5769 1999-10-20  Federico Mena Quintero  <federico@redhat.com>
5770
5771         * configure.in: Bumped version number to 0.3.
5772
5773         * src/Makefile.am (lbgdk_pixbuf_la_LDFLAGS): Added a libtool
5774         version number for the library.
5775
5776 1999-10-20  Federico Mena Quintero  <federico@redhat.com>
5777
5778         * src/gdk-pixbuf.h (GdkPixbuf): Removed the unref_fn field.  Now
5779         all memory management of the buffer is done by libart.
5780
5781         * src/gdk-pixbuf.c (gdk_pixbuf_unref): Do destruction here.
5782         Removed gdk_pixbuf_destroy, gdk_pixbuf_duplicate.
5783
5784         * src/gdk-pixbuf-data.c (gdk_pixbuf_new_from_data): Implemented in
5785         terms of the libart functions.  Removed the old code.
5786
5787         * src/gdk-pixbuf-io.c (image_handler_load): Removed the save
5788         symbols.  Saving will not be implemented in GdkPixbuf.
5789
5790         * src/io-gif.c: Removed the saving stub.
5791         (image_load): Fixed memory management to fail gracefully if we run
5792         out of memory while loading the image.  Close the gif file when we
5793         are done.  This still needs more error handling for the DGif
5794         functions.
5795
5796         * src/io-jpeg.c (image_load): Some robustness fixes.
5797
5798         * src/io-png.c: Removed the saving stuff.
5799         (image_load): Some memory management fixes.
5800
5801         * src/io-tiff.c (image_load): Ditto.
5802
5803         * src/io-xpm.c (pixbuf_create_from_xpm): Ditto.
5804
5805 1999-10-18  Havoc Pennington  <hp@pobox.com>
5806
5807         * subautogen.sh: New name for macros/autogen.sh
5808
5809         * autogen.sh: use subautogen.sh
5810
5811 1999-10-18  Federico Mena Quintero  <federico@redhat.com>
5812
5813         * src/*: Reindented to use the GNOME Indentation.  Renamed
5814         GdkPixBuf to GdkPixbuf, for consistency with the function names
5815         (and it is also easier to type) :-)
5816
5817 1999-10-18  Havoc Pennington  <hp@pobox.com>
5818
5819         * configure.in: Use AM_PATH_GLIB instead of glib-config directly
5820
5821         * src/Makefile.am: Re-enable testpixbuf with GTK_CFLAGS/GTK_LIBS
5822
5823 1999-10-18  Havoc Pennington  <hp@pobox.com>
5824
5825         * Makefile.am (SUBDIRS): Remove "macros"
5826
5827         * configure.in: Don't use GNOME_INIT, handle case where we are
5828         inside gnome-libs. AM_PATH_GTK for the GIF test
5829
5830         * src/Makefile.am: Change flags to work without libgnomeui,
5831         comment out testpixbuf for now
5832
5833 1999-10-18  Federico Mena Quintero  <federico@redhat.com>
5834
5835         * configure.in: Use $GTK_LIBS as the extra libs when checking for
5836         libgif/libungif, as they need the X libraries.  Fixes bug #2472.
5837
5838 1999-10-10  Cody Russell  <bratsche@dfw.net>
5839         * src/gdk-pixbuf-drawable.c: core function now determines whether
5840         the requested geometry is on screen or not, and if some is not
5841         then the request is clamped to geometry that is on the screen.
5842
5843         Changed 'pixbuf' to 'art_pixbuf' in core function.
5844
5845 1999-10-08  Michael Fulbright  <drmike@redhat.com>
5846
5847         * src/gdk-pixbuf-data.c: Added to load rgb data from const data.
5848
5849         * src/testpifbuf: Changed test program to display cdrom from rgb data
5850         if no filename given to test program.
5851
5852 1999-10-07  Cody Russell  <bratsche@dfw.net>
5853         * src/gdk-pixbuf-drawable.[ch]: Added. (Actually, Miguel committed
5854         them, but I wrote them).
5855
5856         * src/gdk-pixbuf-drawable.h: Added a missing ; so things will now
5857         compile.
5858
5859         * src/Makefile.am: Added gdk-pixbuf-drawable.[ch] to
5860         libgdk_pixbuf_la_SOURCES and libgdk_pixbufinclude_HEADERS.
5861
5862         * src/gdk-pixbuf-drawable.c: Added #include "gdk-pixbuf-drawable.h"
5863         to fix compilation.
5864
5865         * src/gdk-pixbuf-drawable.[ch]: Changed functions to return
5866         GdkPixBuf* instead of ArtPixBuf*.
5867
5868 1999-09-22  Michael Meeks  <michael@nuclecu.unam.mx>
5869
5870         * src/gdk-pixbuf.c (gdk_pixbuf_new): created.
5871         (gdk_pixbuf_scale): use gdk_pixbuf_new + return a new scaled image.
5872
5873         * src/gdk-pixbuf.h (struct _GdkPixBuf): Re-organise struct, + add
5874         GdkPixBufUnrefFunc + gdk_pixbuf_new.
5875
5876         * src/io-jpeg.c (image_load): clean to use gdk_pixbuf_new.
5877
5878         * src/io-xpm.c (_pixbuf_create_from_xpm): ditto.
5879
5880         * src/io-tiff.c (image_load): ditto + fix leak
5881
5882         * src/io-png.c (image_load): ditto + add more exit points; monitor.png
5883         crashes this module ( add warning :-)
5884
5885         * src/io-bmp.c (image_load): ditto.
5886
5887         * src/io-gif.c (image_load): ditto.
5888
5889 1999-09-18  Michael Meeks  <michael@nuclecu.unam.mx>
5890
5891         * src/gdk-pixbuf.c (gdk_pixbuf_scale): Hack rgba support in so
5892         it doesn't crash scaling with alpha.
5893
5894 1999-09-17  Federico Mena Quintero  <federico@redhat.com>
5895
5896         * src/io-bmp.c (image_load): Set the initial ref_count to 1.
5897
5898         * src/io-gif.c (image_load): Likewise.
5899
5900         * src/io-jpeg.c (image_load): Likewise.
5901
5902         * src/io-png.c (image_load): Likewise.
5903
5904         * src/io-tiff.c (image_load): Likewise.
5905
5906         * src/io-xpm.c (_pixbuf_create_from_xpm): Likewise.
5907
5908         * src/gdk-pixbuf-io.c (gdk_pixbuf_load_image): Added an assertion
5909         for the ref_count to be != 0.
5910
5911         * src/gdk-pixbuf.c (gdk_pixbuf_ref): Be more paranoid with sanity
5912         checking.
5913         (gdk_pixbuf_unref): Fix incorrect sanity check and comparison.
5914
5915 1999-08-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
5916
5917         * src/io-png.c (image_save): Fixed compiler warnings.  Fixed write
5918         to unallocated memory (row_ptr), and fixed its type as well.  Take
5919         into account the ArtPixbuf's rowstride when assigning the row
5920         pointers.
5921
5922         * src/gdk-pixbuf.c: Fixup includes.
5923
5924         * src/gdk-pixbuf-io.c: Likewise.
5925
5926 Sat Jul 31 19:19:47 CEST 1999
5927
5928         * src/gdk-pixbuf-io.c:
5929         * src/io-png.c: Fixed two obvious C syntax bugs
5930
5931 1999-07-29  Mark Crichton  <crichton@gimp.org>
5932
5933         * src/io-png.c (image_save): Added PNG saving function
5934
5935         * src/gdk-pixbuf-io.c: Changed image_save function format.  Now it's
5936         image_save(GdkPixBuf *p, FILE *f, ...)
5937
5938
5939 1999-07-26  Michael Zucchi  <mzucchi@denr.sa.gov.au>
5940
5941         * src/Makefile.am (*_LIB): Only build the relevant loaders which
5942         require extra libraries if we actually have those libraries.
5943
5944 1999-07-23  Richard Hestilow  <hestgray@ionet.net>
5945
5946         * src/gdk-pixbuf.h: Include glib.h as it uses g* datatypes
5947         * gdk_pixbufConf.sh.in: Added for gnome-config
5948         * Makefile.am:
5949         * configure.in: Modified to generate gdk_pixbufConf.sh
5950
5951 1999-07-20  Mark Crichton  <crichton@gimp.org>
5952
5953         * src/gdk-pixbuf.c (gdk_pixbuf_rotate): Fixed rotation.  Now a bbox
5954         calculation needs to be done.
5955
5956 1999-07-18  Larry Ewing  <lewing@gimp.org>
5957
5958         * src/io-xpm.c:
5959         * src/io-gif.c:
5960         * src/io-png.c:
5961         * src/io-jpeg.c: Fix a few memory leaks in the, most of them in
5962         error cases but one or two in the common case.  There are probably
5963         a few small ones left.
5964
5965 1999-07-18  Mark Crichton  <crichton@gimp.org>
5966
5967         * configure.in: removed version.h.
5968
5969         * src/gdk-pixbuf-io.c (pixbuf_check_tiff): Minor readability
5970         improvements.
5971
5972 1999-07-17  Mark Crichton  <crichton@gimp.org>
5973
5974         * src/gdk-pixbuf.c: Removed gdk_pixbuf_free, redundant code.
5975         (gdk_pixbuf_rotate): Added pixbuf rotation code.
5976         (gdk_pixbuf_scale): Changed // comments to /* */
5977
5978         * src/gdk-pixbuf.h (gdk_pixbuf_destroy): Added gdk_pixbuf_destroy
5979         function to header.
5980
5981 1999-07-16  Larry Ewing  <lewing@gimp.org>
5982
5983         * src/testpixbuf.c (expose_func): reverted the expose everything
5984         changes, I'm not sure why these went in.
5985         (config_func): bring this up to date with the new pixbuf_scale
5986         semantics.
5987
5988         * src/gdk-pixbuf-io.c: added a couple of warnings to the module
5989         loading code so that poeple can diagnose problems better.
5990
5991         * src/gdk-pixbuf.c (gdk_pixbux_scale): fix the borkedness, also it
5992         no longer allocates a new pixbuf, which make things nicer for the
5993         rest of the code.  Unfortunately there is still a problem with
5994         scaling rgba images.
5995
5996 1999-07-16  Mark Crichton  <crichton@gimp.org>
5997
5998         * src/testpixbuf.c (config_func): ConfigureEvent handler.  This
5999         calls gdk_pixbuf_scale.  However, something is not working.
6000         N.B.: current pixmap is now stored in user_data with a key of
6001         "pixmap"
6002
6003         * src/gdk-pixbuf.c (gdk_pixbuf_scale): Implemented scaling function.
6004         Something is still borked, however.
6005
6006 1999-07-15  Larry Ewing  <lewing@gimp.org>
6007
6008         * src/io-jpeg.c (image_load): add raph@gimp.org's fix to the jpeg
6009         indexing routine
6010
6011         * src/testpixbuf.c (main): fix up the file routines a little so
6012         that you can load multiple files given the file names
6013
6014 1999-07-14  Larry Ewing  <lewing@gimp.org>
6015
6016         * src/testpixbuf.c (expose_func): added an almost proper expose
6017         handler for testpixbuf
6018
6019 1999-07-13  Mark Crichton  <crichton@gimp.org>
6020
6021         * configure.in: Fixed GIF check.  Replaced " with '
6022         * src/gdk-pixbuf.c: More (minor) work on gdk_pixbuf_scale
6023
6024 1999-07-13  Mark Crichton  <crichton@gimp.org>
6025
6026         * configure.in: I am a bonehead.  Added gif-lib check.