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