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