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