ChangeLog 118 KB
Newer Older
1
2
3
4
5
6
2002-09-12  Matthias Clasen  <maclas@gmx.de>

	* io-gif-animation.h: 
	* gdk-pixbuf.h: Move GdkPixbufFrame from the public header to
	the gif-animation-specific private header.  (#91929)

7
8
9
10
11
2002-09-12  Federico Mena Quintero  <federico@ximian.com>

	* io-jpeg.c (gdk_pixbuf__jpeg_image_load): Unref the pixbuf if we
	hit an unsupported colorspace.

12
13
2002-09-06  Matthias Clasen  <maclas@gmx.de>

Matthias Clasen's avatar
Matthias Clasen committed
14
15
16
17
	* io-ani.c, io-ani-animation.h, io-ani-animation.c, 
	pixbufloader_ani.def, Makefile.am, gdk-pixbuf-io.c: New loader,
	for .ANI animations.
	
18
19
20
21
22
	* io-xpm.c (pixbuf_create_from_xpm): 
	* io-xbm.c (gdk_pixbuf__xbm_image_load_real): 
	* io-ico.c (DecodeHeader): Attach hotspot coordinates to the
	pixbuf as options "x_hot" and "y_hot". 

23
24
25
26
27
28
29
30
31
2002-09-04  Matthias Clasen  <maclas@gmx.de>

	* io-tga.c (io_buffer_append): 
	* io-ico.c (DecodeHeader): 
	* io-bmp.c (grow_buffer): Don't leak memory if g_try_realloc fails.

	* gdk-pixbuf-io.c (pixbuf_check_ico): Fix loading of .CUR files.
	(#91826)

32
33
34
35
36
2002-08-25  Tor Lillqvist  <tml@iki.fi>

	* Makefile.am (libgdk_pixbuf_2_0_la_DEPENDENCIES): Add
	gdk_pixbuf_win32res_lo. (#87101, J. Ali Harlow)

37
38
39
40
41
42
43
44
45
46
47
48
49
2002-08-22  Matthias Clasen  <maclas@gmx.de>

	* gdk-pixbuf-io.h:
	gdk-pixbuf-io.c (_gdk_pixbuf_generic_image_load): No longer
	static, thus _gdk_pixbuf-prefixed.

	* gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file): 
	Keep this logic in sync with gdk_pixbuf_new_from_file().  (Based
	on a patch by Anders Carlsson)

	* io-png.c (gdk_pixbuf__png_image_save): Plug a memory 
	leak.  (#91422, Sven Neumann)

50
51
52
53
54
2002-07-31  Sven Neumann  <sven@gimp.org>

	* gdk-pixdata.c (gdk_pixdata_to_csource): free the result of
	gdk_pixdata_serialize() (bug #89411).

55
56
57
58
59
Mon Jul 29 23:06:10 2002  Owen Taylor  <otaylor@redhat.com>

	* gdk-pixbuf-scale.c: Fix some warnings by adding
	casts to PixopsInterpType. (#85839, David L. Cooper, II.)

Matthias Clasen's avatar
Matthias Clasen committed
60
61
62
63
2002-07-16  Matthias Clasen  <maclas@gmx.de>

	* io-ras.c (DoCompressed): Avoid unnecessary casting.

64
65
2002-07-07  Matthias Clasen  <maclas@gmx.de>

66
67
68
69
70
71
72
	* gdk-pixbuf-io.c (generic_image_load): New function for loading
	an image from a file either via module->load or incrementally.
	(prepared_notify): ModulePreparedNotifyFunc for generic_image_load.
	(gdk_pixbuf_new_from_file): Use generic_image_load.
	* io-bmp.c, io-ico.c, io-ras.c, io-wbmp.c: Remove trivial
	implementations of module->load.  (#71266)
	
73
74
75
	* io-ico.c (DecodeHeader): Correct computation of image height.
	(OneLine): Correct update notification.

76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
	Load-at-size functionality  (#53726): 
	
	* gdk-pixbuf-io.h (ModuleSizeFunc): New. 
	(_GdkPixbufModule): Prepend a ModuleSizeFunc to the 
	begin_load arguments. Adjust all modules.
	* gdk-pixbuf-loader.c (struct GdkPixbufLoaderPrivate): Add
	fields width, height, size_fixed, need_scale.
	(gdk_pixbuf_loader_class_init): Add size_prepared signal.
	(gdk_pixbuf_loader_set_size): New function.
	(gdk_pixbuf_loader_size_func): ModuleSizeFunc which gets
	passed to the module, emits size_prepared.
	(gdk_pixbuf_loader_prepare): Call gdk_pixbuf_loader_size_func
	if necessary, only emit area_prepared if no separate scaling
	is required.
	(gdk_pixbuf_loader_update): Only emit area_updated if no 
	separate scaling is required.
	(gdk_pixbuf_loader_load_module): Add size_func as first argument.
	(gdk_pixbuf_loader_close): If necessary scale the image
	to the desired size and emit area_prepared and area_updated.
	* gdk-pixbuf-loader.h (struct _GdkPixbufLoaderClass): Add
	size_prepared signal.
	(gdk_pixbuf_loader_set_size) New API.
	* gdk-pixbuf-marshal.list: Add VOID:INT,INT.
	* io-jpeg.c: User cinfo->output_width/height instead of 
	cinfo->image_width/height throughout when adressing the pixbuf.
	(gdk_pixbuf__jpeg_image_load_increment): Call size_func, and
	find the nearest possible output size which libjpeg can produce
	that is still larger than the desired size.
	
105
106
107
108
109
110
111
112
113
2002-07-06  Matthias Clasen  <maclas@gmx.de>

	* io-tiff.c (tiff_set_error): Handle global_error == NULL
	better.
	(tiff_image_parse): Don't trust TIFFRGBAImageBegin to set
	the "put" routine.  (Fixes #87384)
	(gdk_pixbuf__tiff_image_stop_load): Don't call TIFFClose too 
	early.

114
115
2002-07-02  Matthias Clasen  <maclas@gmx.de>

116
117
118
119
120
121
122
123
124
125
126
127
	Miscellaneous bmp loader fixes (#85448, #86286, #86287):
	
	* io-bmp.c (grow_buffer): New function to avoid crashes
	on unchecked reallocs. 
	(DecodeHeader, DecodeColormap, decode_bitmasks,
	DoCompressed): Use grow_buffer instead of g_realloc 
	throughout. Change signatures where necessary to pass the
	errors up.
	(OneLine16): Fix loading of 16bpp BI_RGB bmps. 
	(DoCompressed): Rewritten to properly support BI_RLE4 and
	skips and jumps.

128
129
130
131
132
133
134
135
136
	Support for compressed ras images (#84994):
	
	* io-ras.c (RAS2State): Error on unsupported ras variations.
	(OneLine8): Fix colormap indexing.
	(OneLine): Call updated_func with proper region.
	(DoCompressed): New function, handles compressed ras data.
	(gdk_pixbuf__ras_image_load_increment): Handle compressed ras
	images.

137
138
139
140
141
142
143
	Better colorspace support for the jpeg loader (#61211):
	
	* io-jpeg.c (convert_cmyk_to_rgb): New function.
	(gdk_pixbuf__jpeg_image_load,
	gdk_pixbuf__jpeg_image_load_increment): Allocate a pixbuf with
	alpha for 4-channel jpegs and call convert_cmyk_to_rgb for these.

144
145
	All of this needs to be merged to GNOME 1.4 gdk-pixbuf.
	
Sven Neumann's avatar
Sven Neumann committed
146
147
148
149
2002-06-28  Sven Neumann  <sven@gimp.org>

	* gdk-pixbuf-csource.c (print_blurb): converted a Tab to spaces.

150
151
152
153
154
155
156
157
Thu Jun 13 18:11:11 2002  Owen Taylor  <otaylor@redhat.com>

	* pixops/pixops.c: Fix problem where when no alpha was
	involved, we scaled rather than composited, but then
	went ahead and composited anyways. (#76958, Patch
	from Matthias Clasen). Needs to be merged to GNOME
	1.4 gdk-pixbuf.

158
159
160
161
162
2002-06-13  Matthias Clasen  <maclas@gmx.de>

	* io-jpeg.c: Use libjpeg in buffered-image mode in order to
	incrementally display incrementally loaded progressive jpegs.

163
164
165
166
167
168
169
170
171
2002-06-07  Federico Mena Quintero  <federico@ximian.com>

	* io-bmp.c (lsb_32):
	(lsb_16): New functions to fetch 32 or 16-bit little-endian values
	starting at a specific memory location.  We do this instead of
	GINT32_FROM_LE() as the latter is simply dereferences a cast,
	which doesn't work on platforms with alignment requirements.
	Fixes #84083.

172
173
174
175
176
177
178
179
180
181
2002-06-01  Matthias Clasen  <maclas@gmx.de>

	* gdk-pixbuf-io.c (pixbuf_check_xbm): Accept xbms starting
	with a C comment - those seem to be not uncommon, e.g. the Gimp 
	produces them.  (#82706)

	* io-xbm.c (read_bitmap_file_data): Don't leak memory on certain
	invalid inputs.
	(gdk_pixbuf__xbm_image_load_real): Don't leak memory on valid inputs.

182
183
184
185
186
187
188
2002-05-22  Tor Lillqvist  <tml@iki.fi>

	* gdk-pixbuf-io.c (get_libdir): Use GTK_BINARY_VERSION (and not
	GTK_VERSION) in the path to the loaders on Win32, too.

	* Makefile.am: Pass GTK_BINARY_VERSION.

189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
2002-05-22  Federico Mena Quintero  <federico@ximian.com>

	* io-xpm.c (pixbuf_create_from_xpm): Ahem, take the rowstride into
	account!!!  Fixes #82515.

	[This bug is not present in the GNOME 1.4 branch as its XPM loader
	does not use gdk_pixbuf_new(); rather it malloc()s a buffer with
	no row padding and then uses gdk_pixbuf_new_from_data() on it.]

	[IMPORTANT: The comment above is to make my life easier when
	merging stuff across branches.  If you make changes to gdk-pixbuf
	in either branch, please include a comment in the ChangeLog that
	indicates whether this should be merged into the other branch.
	Thanks!]

Matthias Clasen's avatar
Matthias Clasen committed
204
205
206
207
208
2002-05-18  Matthias Clasen  <maclas@gmx.de>

	* io-tiff.c (tiff_image_parse): fix packing order on bigendian 
	systems.  (#81702)

209
210
211
212
213
Thu May 16 15:17:30 2002  Owen Taylor  <otaylor@redhat.com>

	* pixops/pixops.c: Patch from Matthias Clasen to fix some typos 
	(#77246)

Owen Taylor's avatar
Owen Taylor committed
214
215
216
217
218
Thu May 16 15:02:46 2002  Owen Taylor  <otaylor@redhat.com>

	* gdk-pixdata.c (gdk_pixdata_to_csource): Fix 64-bit warning.
	(#78258)

219
220
221
222
223
224
2002-05-07  Michael Natterer  <mitch@gimp.org>

	* gdk-pixbuf/Makefile.am: build the static pixbuf loaders
	conditionally like the dynamic ones so --without-lib<foo> is
	honored when building with --disable-modules. (#66867)

225
226
227
228
229
230
Sun May  5 02:27:01 2002  Soeren Sandmann  <sandmann@daimi.au.dk>

	* Makefile.am (noinst_PROGRAMS): remove test-loaders (moved to
	gtk+/tests/)
	* test-loaders.c, test-images.h: remove 

231
232
233
234
235
236
237
238
239
2002-04-24  Matthias Clasen  <maclas@gmx.de>

	* gdk-pixbuf-io.c (gdk_pixbuf_save): Remove the ISO8859-1
	restriction from the description of png tEXt parameters.

	* io-png.c (png_text_to_pixbuf_option): 
	(gdk_pixbuf__png_image_save): If libpng supports it,
	store and retrieve non-ISO8859-1 text as UTF-8.  (#76172)

Matthias Clasen's avatar
Matthias Clasen committed
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
2002-04-11  Matthias Clasen  <maclas@gmx.de>

	More fixes for #77807:
	
	* io-tga.c (get_contiguous_pixbuf): Helper function to create
	a pixbuf with a contiguous pixel array while being careful about
	overflow. 

	* io-tga.c (fill_in_context, get_image_pseudocolor,
	get_image_truecolor, get_image_grayscale): Use 
	get_contiguous_pixbuf instead of manually allocating image
	storage. 

	* io-xpm.c (pixbuf_create_from_xpm): 
	* io-pnm.c (gdk_pixbuf__pnm_image_load):
	* io-jpeg.c (gdk_pixbuf__jpeg_image_load): Use gdk_pixbuf_new
	instead of manually allocating image storage.

258
259
260
261
262
263
2002-04-09  Matthias Clasen  <maclas@gmx.de>

	* gdk-pixbuf-loader.c (gdk_pixbuf_loader_load_module): Use 
	priv->image_module->module_name instead of image_type which may 
	be NULL.

264
265
266
267
268
269
2002-04-06  Matthias Clasen  <maclas@gmx.de>

	* io-png.c (gdk_pixbuf__png_image_load): Restructured to use
	gdk_pixbuf_new instead of manually allocating image storage. This
	gives us a good rowstride and overflow checks.  (#77807)

270
271
272
273
274
275
276
2002-04-05  Matthias Clasen  <maclas@gmx.de>

	* io-tiff.c (tiff_image_parse): Avoid allocating an extra copy of
	the image by using a TIFFRGBAImage{Begin,Get,End} with suitable
	put functions instead of TIFFRGBAImage. And check image dimensions
	for overflow. 

Matthias Clasen's avatar
Matthias Clasen committed
277
278
279
280
2002-04-03  Matthias Clasen  <maclas@gmx.de>

	* gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_type): Fix a doc typo.

281
282
283
284
285
286
2002-03-29  Matthias Clasen  <maclas@gmx.de>

	* io-png.c (png_simple_error_callback): libpng error handlers must
	not return to their callers, thus longjmp out. This prevents
	annoying stderr output from the default error handler.

Matthias Clasen's avatar
Matthias Clasen committed
287
288
289
290
291
292
293
294
2002-03-27  Matthias Clasen  <maclas@gmx.de>

	* io-png.c (gdk_pixbuf__png_image_stop_load): Don't leak info_ptr.

	* io-png.c (gdk_pixbuf__png_image_load): Get rid of unused
	end_info. Also call png_read_end to check proper ending of the png
	file and catch text chunks after the image data.

295
296
297
298
299
300
2002-03-27  Matthias Clasen  <maclas@gmx.de>

	* io-png.c (gdk_pixbuf__png_image_load,
	gdk_pixbuf__png_image_begin_load): Make libpng use g_malloc
	instead of system malloc. 

Matthias Clasen's avatar
Matthias Clasen committed
301
302
303
304
305
306
307
308
309
310
2002-03-26  Matthias Clasen  <maclas@gmx.de>

	* io-tiff.c (tiff_image_parse): Don't leak pixbuf on error.

	* io-gif.c (gdk_pixbuf__gif_image_load_increment): Don't leak
	context->buf on error.

	* gdk-pixbuf-loader.c (gdk_pixbuf_loader_close): Make sure to call
	stop_load even for short images to prevent memleaks.

311
312
313
314
315
316
317
2002-03-25  Matthias Clasen  <maclas@gmx.de>

	* io-png.c (setup_png_transformations): Changed signature to
	return success and set a GError parameter, adjusted all callers.
	Also work around a possible FPE in libpng and always check that
	the new info is sane.

318
319
320
321
322
323
2002-03-23  Matthias Clasen  <maclas@gmx.de>

	* io-wbmp.c (gdk_pixbuf__wbmp_image_load_increment):
	context->updated_func is NULL during a nonincremental load.
	(gdk_pixbuf__wbmp_image_load): Stop reading after the first error.

324
325
326
327
328
329
330
2002-03-18  Matthias Clasen  <maclas@gmx.de>

	* io-tga.c: Fix assumptions on rowstride by manually allocating a
	contiguous pixel buffer. Catch buffer overruns in RLE-modi. 
	Support grayscale + alpha (which can be written, but not read (!)
	by the Gimp). 

331
332
333
334
2002-03-15  Matthias Clasen  <maclas@gmx.de>

	* io-gif.c (gif_get_frame_info): Catch invalid frame dimensions.

335
336
337
338
339
340
341
342
343
344
345
346
2002-03-13  Matthias Clasen  <maclas@gmx.de>

	* test-images.h: Add valid_ras_test and invalid_bmp_1.

	* test-loaders.c (main): Add random tests for ras and pnm and an
	invalid bmp which was a crasher until my 2002-03-12 commit.

	* io-pnm.c (gdk_pixbuf__pnm_image_load_increment): Don't unref the
	pixbuf on errors.

	* io-ras.c: Handle some errors.

347
348
349
350
351
2002-03-12  Sven Neumann  <sven@gimp.org>

	* gdk-pixbuf.c (gdk_pixbuf_fill): use sequential writes instead of
	calling memcpy(). Simpler and potentially faster. (#70332)

352
353
354
355
356
2002-03-12  Matthias Clasen  <maclas@gmx.de>

	* io-bmp.c (DecodeHeader): Replace a g_assert_not_reached ()
	which could actually be reached by a proper error status return.

Matthias Clasen's avatar
Matthias Clasen committed
357
358
359
360
361
362
2002-03-05  Matthias Clasen  <maclas@gmx.de>

	* test-loaders.c, test-images.h: More random tests. 

	* io-bmp.c (DecodeHeader): Fail gracefully on OOM here.

363
364
365
366
367
368
Tue Mar  5 10:39:03 2002  Owen Taylor  <otaylor@redhat.com>

	* Makefile.am (loaderdir): Put the modules into the
	GTK_BINARY_VERSION directory for consistency with
	immodules and theme engines.

369
370
371
372
373
374
375
376
377
378
379
Sat Mar  2 22:11:10 2002  Owen Taylor  <otaylor@redhat.com>

	* gdk-pixbuf-io.c (_gdk_pixbuf_load_module): If we
	can't load the module using the g_module_build_path()
	filename, try loading it as a .la file.

	* test-loaders.c: Look for modules in current directory
	rather than .libs, so we find the right .la files.

	* test-loaders.c: Back out some accidental commits.

380
381
382
383
384
Sat Mar  2 21:28:03 2002  Owen Taylor  <otaylor@redhat.com>

	* gdk-pixbuf.c (gdk_pixbuf_new): Bullet-proof against integer
	overflow.

Tor Lillqvist's avatar
Remove.    
Tor Lillqvist committed
385
386
387
388
389
390
391
392
393
394
395
2002-03-03  Tor Lillqvist  <tml@iki.fi>

	* gtk-pixbuf.rc.in: Remove.

	* gdk_pixbuf.rc.in: Name like this instead (wrong name used by
	mistake by Hans).

	* makefile.msc: Corresponding changes.

	* Makefile.am: Use gdk_pixbuf.rc on Win32. Distribute it.

396
397
398
399
400
2002-02-28  Matthias Clasen  <maclas@gmx.de>

	* pixops/pixops.c (tile_make_weights): Move the call to
	correct_total() to the right spot. (#72732)

401
402
403
404
Wed Feb 27 18:33:04 2002  Owen Taylor  <otaylor@redhat.com>

	* gdk-pixdata.c (gdk_pixdata_to_csource): Use {} not
	() to group around string assigned to char[]. (#72767,
405
	Tomas gren)
406

407
408
409
410
411
2002-02-21  Havoc Pennington  <hp@pobox.com>

	* gdk-pixbuf-loader.c (gdk_pixbuf_loader_load_module): remove
	C++-commented debug spew, reported by David L. Cooper

412
2002-02-15  Matthias Clasen  <maclas@gmx.de>
413
414
415
416
417
418
419

	* pixops/pixops.c (correct_total): New function to make sure
	that the weights sum up to the correct total without introducing
	negative weights.
	(tile_make_weights, bilinear_make_fast_weights, 
	bilinear_make_weights): Use correct_total.

420
2002-02-10  Matthias Clasen  <maclas@gmx.de>
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436

	* test-images.h (tiff1_test_3), test-loaders.c (main): Add a
	(#ifdef 0'ed) test provoking a segfault in TIFFReadDirectory(). 
	
	* io-ico.c (DecodeHeader): Check that pixbuf could be allocated.

	* test-images.h (ico_test_2), test-loaders.c (main): Test the 
	previous change.

	* io-wbmp.c (gdk_pixbuf__wbmp_image_load_increment): Don't write 
	beyond the end of buffer if width % 8 != 0.

	* io-tga.c (try_preload): Enforce that ctx->hdr->type is one of
	the supported types, otherwise parse_data_for_row () will not make
	any progress, leading to an infinite loop.

Owen Taylor's avatar
Owen Taylor committed
437
438
439
440
441
Mon Feb 11 14:31:53 2002  Owen Taylor  <otaylor@redhat.com>

	* pixops/pixops.c (bilinear_make_weights): Fix handing of
	overall alpha.

442
2002-02-10  Matthias Clasen  <maclas@gmx.de>
443
444
445
446
447
448
449
450
451
452
453
454
455

	* test-loaders.c (main): Enable some tests which should work
	now.

	* io-wbmp.c (gdk_pixbuf__wbmp_image_load_increment): Detect
	invalid image dimensions and insufficient memory.

	* io-tga.c (try_preload): Detect invalid image dimensions.
	(gdk_pixbuf__tga_stop_load): Don't try to unref NULL pointers.

	* io-ico.c (DecodeHeader): Detect some invalid headers and
	don't segfault.

456
457
458
459
460
461
462
463
Fri Feb  8 23:11:15 2002  Owen Taylor  <otaylor@redhat.com>

	* pixops/pixops.c: Force all weight arrays to sum exactly
	to 65535. (Fixes #70971, reported by Federico Mena Quintero)

	* Makefile.am (libgdk_pixbuf_1_3_la_DEPENDENCIES): Add
	libpixops.la.

464
465
466
467
2002-02-08  Federico Mena Quintero  <federico@ximian.com>

	* pixops/pixops.h: Fix comment; PixopsInterpType -> GdkInterpType.

Darin Adler's avatar
Darin Adler committed
468
469
470
471
2002-02-08  Darin Adler  <darin@bentspoon.com>

	* io-xbm.c: (next_int): Wean this from <ctype.h>.

472
473
2002-02-01  Matthias Clasen  <matthiasc@poet.de>

474
475
	* Makefile.am: Build the tga loader as a static library. (#70157)

476
477
478
479
480
481
482
483
484
	* io-ico.c: Merge 16- and 32-bit ico support from the stable 
	branch.  (#61179)

	* io-gif.c: Recomposite all images if the animation size changes
	while loading.  (#70055)

	* gdk-pixbuf.c (gdk-pixbuf-fill): Make it work for subpixbufs. 
	(#70055)

485
486
487
488
489
490
491
Sat Jan 19 20:49:20 2002  Manish Singh  <yosh@gimp.org>

	* io-jpeg.c, io-png.c: Made sure all the error cases involving
	jpeg or png load/saves clean themselves up properly. Marked some
	variables needed for cleanup volatile so they aren't clobbered by
	setjmp.

492
493
494
Fri Jan 11 18:05:07 2002  Owen Taylor  <otaylor@redhat.com>

	* pixops/pixops.c: Fix integer overflow for the values
495
	passed to the pixel functions. (#55148, fix from Michael Hore)
496

Owen Taylor's avatar
Owen Taylor committed
497
498
499
500
501
502
503
504
505
506
Fri Jan 11 17:53:58 2002  Owen Taylor  <otaylor@redhat.com>

	* pixops/pixops.c (pixops_scale_nearest): Remove meaningless
	FIXME.

	* pixops/pixops.c (pixops_process): Comment the computation
	of run_end_index and fix some edge cases.

	* pixops/{scale_line_22_33_mmx.S, composite_line_22_4a4_mmx.S:
	composite_line_color_22_4a4_mmx.S}: Handle the case where
507
	dest <= dest_end properly. (#52001, fix from Michael Hore)
Owen Taylor's avatar
Owen Taylor committed
508

509
510
511
Thu Jan 10 16:48:30 2002  Owen Taylor  <otaylor@redhat.com>

	* pixops/pixops.c: Replace some	hardcoded values with the 
Owen Taylor's avatar
Owen Taylor committed
512
	SUBSAMPLE constant used elsewhere. (#51033)
513

514
515
516
517
518
519
520
521
Wed Jan  9 11:29:44 2002  Owen Taylor  <otaylor@redhat.com>

	* Makefile.am (s-enum-types-h): Include glib-object.h,
	Add G_BEGIN_DECLS/END_DECLS to gdk-pixbuf-enum-types.h. (#68325,
	Mikael Hermansson)

	* *.h: G_BEGIN_DECLS cleanups.

522
523
524
525
526
527
528
529
Tue Jan  8 10:58:04 2002  Owen Taylor  <otaylor@redhat.com>

	* gdk-pixbuf-util.c (gdk_pixbuf_saturate_and_pixelate): 
	 - Massive cleanup, make actually legible. 
	 - Fix some clamp-to-range bugs	found by Jim Cape (#68231). 
	 - Add a g_return_if_fail() if src and dest alpha don't match.
	 - Allow for src_rowstride != dest_rowstride.

530
531
532
533
534
535
536
2002-01-04  Hans Breuer  <hans@breuer.org>

	* gdk_pixbuf.def : don't export functions prefixed
	with underscore

	* makefile.msc : use -FImsvc_recommende_pragmas.h

537
538
539
540
541
542
543
544
545
546
547
548
549
550
Thu Jan  3 19:31:58 2002  Owen Taylor  <otaylor@redhat.com>

	* pixops/pixops.c (scale_line_22_33): Fix and uncomment
	non-MMX version.

	* pixops/pixops.c (pixops_composite_nearest): Remove a
	division.

	* pixops/pixops.c (pixops_composite): Add some docs
	about the parameters.

	* pixops/README: Add notes about the correct algorithms
	for alpha compositing and how to implement them quickly.

Tor Lillqvist's avatar
Tor Lillqvist committed
551
552
553
554
2001-12-29  Tor Lillqvist  <tml@iki.fi>

	* Makefile.am (EXTRA_DIST): Add makefile.msc.

Owen Taylor's avatar
Owen Taylor committed
555
556
557
558
Sat Dec 22 15:31:20 2001  Owen Taylor  <otaylor@redhat.com>

	* gdk-pixdata.h: Fix trailing "," in enumeration.

Matthias Clasen's avatar
Matthias Clasen committed
559
560
561
562
563
564
2001-12-17  Matthias Clasen  <matthiasc@poet.de> 

	* gdk-pixbuf.c, gdk-pixbuf-io.c, gdk-pixbuf-animation.c, 
	gdk-pixbuf-data.c, gdk-pixbuf-loader.c, gdk-pixbuf-scale.c, 
	gdk-pixbuf-util.c, gdk-pixdata.c: Markup fixes.

565
566
567
568
2001-12-16  Havoc Pennington  <hp@pobox.com>

	* gdk-pixbuf-scale.c: docs enhancements

569
570
571
572
2001-12-14  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* io-xpm.c: Use g_ascii_strcasecmp() instead of g_strcasecmp().

573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
2001-12-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gdk-pixbuf-animation.c, gdk-pixbuf-loader.c, gdk-pixpuf.c,
	io-gif-animation.c, io-gif.c, io-tiff.c, test-loaders.c: Remove
	assorted G_OBJECT casts where unnecessary.

	* gdk-pixbuf-loader.c: Call g_object_ref and g_object_unref
	instead of gdk_pixbuf_animation_ref and gdk_pixbuf_animation_unref
	resp.

	* gdk-pixbuf-csource.c, io-bmp.c, io-gif-animation.c, io-ico.c,
	io-jpeg.c, io-png.c, io-pnm.c, io-ras.c, io-tga.c, io-wbmp.c,
	io-xbm.c, io-xpm.c, test-gdk-pixbuf.c: Dito for gdk_pixbuf_ref and
	gdk_pixbuf_unref.
	
	* Makefile.am, pixops/Makefile.am: Compile everything with
	-DG_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED

	* gdk-pixdata.c: Use g_ascii_strup() instead of g_strup().

	* io-xpm.c: Use g_ascii_strcasecmp() instead of g_strcasecmp().

Matthias Clasen's avatar
Matthias Clasen committed
595
596
597
598
2001-12-12  Matthias Clasen  <matthiasc@poet.de>

	* gdk-pixbuf-io.c: Markup fixes.

Matthias Clasen's avatar
Matthias Clasen committed
599
600
2001-12-12  Matthias Clasen  <matthiasc@poet.de>

601
602
	* Makefile.am (INCLUDES): Define G_LOG_DOMAIN. (#66412)

Matthias Clasen's avatar
Matthias Clasen committed
603
604
	* gdk-pixbuf-loader.c, gdk-pixbuf-util.c: Markup fixes.

605
606
607
608
609
610
2001-12-11  Michael Natterer  <mitch@gimp.org>

	* io-png.c: gdk_pixbuf__png_image_save: removed wrong endian
	conversion stuff; don't copy RGB pixbufs' lines around before
	saving them.

Matthias Clasen's avatar
Matthias Clasen committed
611
612
613
614
615
616
2001-12-05  Matthias Clasen  <matthiasc@poet.de>

	* gdk-pixbuf.h (gdk_pixbuf_ref, gdk_pixbuf_unref,
	gdk_pixbuf_animation_ref, gdk_pixbuf_animation_unref):
	Deprecate. (#66208)

617
618
619
620
621
622
623
Tue Dec  4 11:45:45 2001  Owen Taylor  <otaylor@redhat.com>

	* io-xpm.c (pixbuf_create_from_xpm): Fill in color 
	fields to black for transparent colors since we'll
	later initialize pixels from them. (Fixes purify
	errors, #66093, HideToshi Tajima)

Tor Lillqvist's avatar
Tor Lillqvist committed
624
625
626
627
2001-11-30  Tor Lillqvist  <tml@iki.fi>

	* gdk_pixbuf.def: Add gdk_pixbuf_get_option.

628
629
630
631
632
633
Fri Nov 30 15:55:34 2001  Owen Taylor  <otaylor@redhat.com>

	* gdk-pixdata.c (gdk_pixdata_deserialize): Fix
	alignment problem in deserialization, (#65785,
	reported by Hidetoshi Tajima)

634
635
636
637
638
2001-11-28  Manish Singh  <yosh@gimp.org>

	* gdk-pixbuf/io-bmp.c (gdk_pixbuf__bmp_image_load_increment): Fill
	in missing error parameters to DecodeHeader and DecodeColormap.

639
640
641
642
643
644
645
646
647
648
649
650
651
2001-11-21  Federico Mena Quintero  <federico@ximian.com>

	Fix Ximian bug #12125; merged from gdk-pixbuf stable.

	* gdk-pixbuf/io-bmp.c (gdk_pixbuf__bmp_image_load_increment): Use
	a simple state machine instead of a scary if/else chain.
	(DecodeHeader): Set the reading state.
	(DecodeColormap): Set the reading state.
	(decode_bitmasks): New function, decodes the bitmasks for
	BI_BITFIELDS coding.
	(OneLine32): Handle BI_BITFIELDS coding.
	(OneLine16): Likewise.

652
653
654
655
656
657
658
659
2001-11-18  Hans Breuer  <hans@breuer.org>

	* io-xpm.c : use g_strcasecmp(), some poor platforms
	don't have strcasecmp()

	* makefile.msc : do INCLUDE_png etc. definition here to avoid
	my temporary 'gdk-pixbuf-io-include.h' hack

660
661
662
663
Sun Nov 18 07:54:22 2001  Owen Taylor  <otaylor@redhat.com>

	* gdk-pixbuf-loader.c: Remove include of gobject/signal.h.

664
665
666
667
2001-11-03  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gdk-pixbuf-loader.c, gdk-pixbuf-scale.c: Documentation fixes.

668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
2001-10-29  Tor Lillqvist  <tml@iki.fi>

	* Makefile.am: Use -no-undefined on Win32. Make
	libgdk_pixbuf_1_3_la_OBJECTS depend on
	gdk-pixbuf-marshal.c. Install import libraries.

	* gdk_pixbuf.def: Update.

	* gdk-pixbuf-io.c: (Win32) Use G_WIN32_DLLMAIN_FOR_DLL_NAME, saves
	the actual DLL name of libgdk_pixbuf.
	(get_libdir): Use it instead of guessing.

	* io-xbm.c (gdk_pixbuf__xbm_image_begin_load): Use
	g_file_open_tmp() insread of mkstemp().

683
684
685
686
687
2001-10-18  Matthias Clasen  <matthiasc@poet.de>

	* io-xbm.c (gdk_pixbuf__xbm_image_load_real): Don't dereference
	context when it may be NULL. (#62344)

688
689
690
691
692
693
2001-10-16  Matthias Clasen  <matthiasc@poet.de>

	* gdk-pixdata.c, gdk-pixdata.h: Documentation.

	* gdk-pixbuf-csource.1: Spelling fixes.

694
695
696
697
698
699
700
701
702
703
704
Wed Oct 10 11:52:17 2001  Owen Taylor  <otaylor@redhat.com>

	* gdk-pixdata.c gdk-pixbuf.h: Get rid of 
	GDK_PIXBUF_ERROR_HEADER/PIXEL_CORRUPT and use CORRUPT_IMAGE.
	Get rid fo GD_PIXBUF_ERROR_UNKNOWN_FORMAT and use the
	existing UKNOWN_TYPE error. (#58308)

	* gdk-pixbuf.h, gdk-pixdata.c: Rename gdk_pixbuf_new_from_stream()
	back to gdk_pixbuf_new_from_inline(). Rework docs to try
	and be helpful for the common case. (#58308)

705
706
707
708
709
710
711
712
713
714
715
716
717
2001-10-05  Sven Neumann  <sven@gimp.org>

	* gdk-pixbuf/gdk-pixbuf-io.c
	* gdk-pixbuf/gdk-pixbuf-private.h
	* gdk-pixbuf/gdk-pixbuf.c
	* gdk-pixbuf/gdk-pixbuf.h
	* gdk-pixbuf/io-jpeg.c
	* gdk-pixbuf/io-png.c: changed GDK_PIXBUF_ERROR_BAD_OPTION_VALUE to
	GDK_PIXBUF_ERROR_BAD_OPTION to we can use it for bad keys too. Added
	new public API gdk_pixbuf_get_option() to retrieve key/value pairs
	set by an image loader. Added support for saving and reading PNG tEXt 
	chunks in PNG images.

718
719
720
721
722
Tue Oct  2 11:29:50 2001  Owen Taylor  <otaylor@redhat.com>

	* gdk-pixdata.c (gdk_pixdata_to_csource): Fix indentation
	use a macro to make code a bit more readable.

723
724
725
726
2001-10-02  Sven Neumann  <sven@gimp.org>

	* gdk-pixdata.c: g_string_printfa => g_string_append_printf. 

727
728
729
730
731
Wed Sep 26 18:08:19 2001  Owen Taylor  <otaylor@redhat.com>

	* Makefile.am (s-enum-types-h): Fix a typo in the include
	guards. (#61254, Skip Montaro)

732
733
734
735
736
2001-09-21  Matthias Clasen  <matthiasc@poet.de>

	* io-xpm.c (xpm_extract_color): Rewritten to handle
	xpm colormap entries more thoroughly. (#59939)

Hans Breuer's avatar
Hans Breuer committed
737
738
739
740
741
742
2001-09-21  Hans Breuer  <hans@breuer.org>

	* gdk-pixbuf.def : updated externals

	* makefile.msc : generate gdk-pixbuf-enum-types.[hc]

743
744
745
746
747
748
749
Thu Sep 20 17:22:48 2001  Owen Taylor  <otaylor@redhat.com>

	* io-tiff.c (gdk_pixbuf__tiff_image_load): On OSF, apparently fseek()
	works in some on-demand way, so the fseek gdk_pixbuf_new_from_file() doesn't 
	work here since we are using the raw file descriptor. So, we call lseek()
	on the fileno(f) before using it. (#60840).

750
751
752
753
754
755
2001-09-20  James Henstridge  <james@daa.com.au>

	* Makefile.am (gdk-pixbuf-enum-types.c): same change as in pango,
	so that flags types are registered as flags rather than enums (not
	that there are any flags here at the moment).

756
757
758
759
760
761
762
763
764
765
766
767
768
Wed Sep 19 00:28:24 2001  Owen Taylor  <otaylor@redhat.com>

	* Makefile.am (gdk_pixbuf_headers): Don't include
	gkd-pixbuf-features.h here since is in builddir
	and confuses autogen rules.

	* Makefile.am: Don't += variables before they have values,
	automake-1.5 doesn't like it.

	* Makefile.am: Fix srcdir != builddir for gdk-pixbuf-enum-types.c.

	* Makefile.am: The whitespace strikes back.
	
Matt Wilson's avatar
Matt Wilson committed
769
770
771
772
773
774
2001-09-17  Matt Wilson  <msw@redhat.com>

	* Makefile.am (libpixbufloader_xbm_la_LDFLAGS): removed duplicate
	LDFLAGS definition, use the -avoid-version one.
	(libpixbufloader_tga_la_LDFLAGS): likewise

775
776
777
778
779
Mon Sep 17 11:49:02 2001  Owen Taylor  <otaylor@redhat.com>

	* pixops/*: Mirror GdkInterpType to PixopsInterpType
	to avoid including gdk-pixbuf headers.

780
781
782
783
784
785
786
787
2001-09-16  James Henstridge  <james@daa.com.au>

	* .cvsignore: add generated files to ignore list.

	* gdk-pixbuf.h: include gdk-pixbuf-enum-types.h

	* Makefile.am: add rules to build gdk-pixbuf-enum-types.[ch]

788
789
790
791
792
Fri Sep 14 23:22:12 2001  Matthias Clasen  <matthiasc@poet.de>

	* io-pnm.c (pnm_read_header): Use GDK_PIXBUF_ERROR_CORRUPT_IMAGE,
	not GDK_PIXBUF_ERROR_HEADER_CORRUPT. (#58308)

793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
Fri Sep 14 22:53:45 2001  Matthias Clasen  <matthiasc@poet.de>

	* io-jpeg.c (gdk_pixbuf__jpeg_image_begin_load): Handle
	out-of-memory situation better.

	* io-pnm.c: Robustness fixes for pnm loader

	* io-gif.c: Make gif loader survive TEST_RANDOMLY_MODIFY

	* io-xpm.c (parse_color): detect very long color strings

	All of the above from Matthias Clasen <matthiasc@poet.de>,
	the remaining from Soeren Sandmann <sandmann@daimi.au.dk>.

	* test-images.h: add tests:
		- four valid ppm's, eight invalid (matthiasc@poet.de)
		- one invalid xpm (matthiasc@poet.de)
		- one valid tga, one invalid (sandmann@daimi.au.dk)
		- one invalid tiff (sandmann@daimi.au.dk

	* test-loaders.c: enable tests for ppm, png, gif, tga, tiff, xpm
	
	* io-tiff.c (gdk_pixbuf__tiff_image_stop_load): TIFFClientOpen can
	fail - detect it when it happens

	* io-tga.c (gdk_pixbuf__tga_load_increment): Fail if there is too
	much data in file
	
	* gdk-pixbuf-io.c: moved wbmb check after ico check to avoid false
	positives
	
824
825
826
827
828
829
Fri Sep 14 00:30:48 2001  Tim Janik  <timj@gtk.org>

	* Makefile.am: don't used BUILT_SOURCES to build marshal
	files, as in conjunction with stamp files, this can
	lead to endless rebuilding loops.

Owen Taylor's avatar
Owen Taylor committed
830
831
832
833
Tue Sep  4 00:22:07 2001  Owen Taylor  <otaylor@redhat.com>

	* Makefile.am: Fix EXTRA_DIST for gdk-pixbuf-csource.1

Tim Janik's avatar
Tim Janik committed
834
835
836
837
838
Tue Sep  4 03:09:52 2001  Tim Janik  <timj@gtk.org>

	* gdk-pixbuf-csource.1: new file, manual page for
	the publically installed gdk-pixbuf-csource utility.

839
840
841
842
843
Thu Aug 30 08:30:03 2001  Matthias Clasen  <matthiasc@poet.de>

	* gdk-pixbuf-loader.c (gdk_pixbuf_loader_close): Propagate
	errors from gdk_pixbuf_loader_load_module.

844
845
846
847
Thu Aug 30 08:27:37 2001  Matthias Clasen  <matthiasc@poet.de>

	* io-png.c (png_row_callback): Check that row_num is valid.

848
849
850
851
852
Tue Aug 28 21:05:26 2001  Matthias Clasen  <matthiasc@poet.de>

	* io-bmp.c (OneLine): Emit area_updated signal with proper
	area information. (#52002)

853
854
855
856
857
858
Tue Aug 28 20:03:43 2001  Matthias Clasen  <matthiasc@poet.de>

	* test-loaders.c (test_loader): Catch errors at close time. 
	* test-loaders.c (main): Remove C++ comments. 

2001-08-21  Matthias Clasen  <matthiasc@poet.de>
859
860
861
862

	* Makefile.am, gdk-pixbuf-io.c, pixbufloader_tga.def, 
	io-tga.c: Add tga loader, patch by Nicola Girardi. (#56067)

863
2001-08-20  Matthias Clasen  <matthiasc@poet.de>
864
865
866
867
868
869
870

	* test-images.h, test-loaders.c: Add ico and wbmp tests.
	* io-jpeg.c (gdk_pixbuf__jpeg_image_save): Fail with a suitable
	error if buffer allocation fails.
	* io-ico.c: Make .ICO loader more robust.
	All of these are due to sandmann@daimi.au.dk (#50187)

871
872
873
874
875
2001-08-19  Sven Neumann  <sven@gimp.org>

	* pixops/pixops.c: applied some simple but effective optimizations 
	to pixops_composite_nearest() and pixops_composite_color_nearest().

876
877
878
879
880
2001-08-07  Sven Neumann  <sven@gimp.org>

	* gdk-pixbuf.c (gdk_pixbuf_fill): a comment asked to optimize this
	function, so that's what I did.

Kjartan Maraas's avatar
Kjartan Maraas committed
881
882
883
884
2001-08-06  Kjartan Maraas  <kmaraas@gnome.org>

	* gdk-pixdata.c: Fix a typo.
	
885
886
887
888
889
2001-07-30  Hans Breuer  <hans@breuer.org>

	* pixops/makefile.msc : new file
	* makefile.msc : use it to complete the build

890
891
892
893
894
895
896
897
898
899
900
2001-07-20  Hans Breuer  <hans@breuer.org>

	* gdk-pixdata.c : don't 'g_tohl (*istream++)', but move
	pointer increment out of the macro, because  at least one
	compiler (msvc 5.0) gets confused otherwise (applies the
	wrong increment).

	* gdk_pixbuf.def : updated exports

	* makefile.msc : reflect gdk-pixbuf-csource changes
 
901
902
903
904
905
906
907
908
909
910
911
912
913
2001-07-17  Darin Adler  <darin@bentspoon.com>

	* gdk-pixbuf-csource.c: Add missing <stdlib.h> include.
	* io-png.c: (setup_png_transformations): Add ifdef so we compile
	without warnings with G_DISABLE_CHECKS on.
	* io-pnm.c: (gdk_pixbuf__pnm_image_load_increment): Add a missing
	const.
	* io-wbmp.c: (getin), (get_mbi): Add a missing const.
	* io-xbm.c: (gdk_pixbuf__xbm_image_load_real): Get rid of some
	unused locals and add an initial value to quiet the compiler's
	unintialized variable warning.
	* pixops/pixops.c: Put an ifdef around some dead code.

914
915
916
917
918
919
Thu Jul  5 10:17:15 2001  Owen Taylor  <otaylor@redhat.com>

	* pixops/Makefile.am (noinst_LTLIBRARIES): Switch
	over to the new include flags AC_SUBST(). (Problem
	pointed out by Mikael Hermansson.)

920
921
922
923
924
2001-06-29  Havoc Pennington  <hp@redhat.com>

	* gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): fix for
	G_DISABLE_COMPAT

Owen Taylor's avatar
Owen Taylor committed
925
926
927
928
929
Thu Jun 28 21:54:19 2001  Owen Taylor  <otaylor@redhat.com>

	* make-inline-pixbuf.c test-gdk-pixbuf.c test-loaders.c
	gdk-pixbuf-csource.c: Fix args to g_type_init ().

930
931
932
933
934
935
936
2001-06-28  Havoc Pennington  <hp@pobox.com>

	* gdk-pixdata.c: <string.h>

	* gdk-pixbuf-io.c (get_libdir): fix typo in dll name (aren't we
	also leaking memory here from g_strdup_printf?)

937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
Tue Jun 26 09:48:02 2001  Tim Janik  <timj@gtk.org>

	* Makefile.am (noinst_PROGRAMS): get rid of make-inline-pixbuf

	* gdk-pixbuf-data.[hc]: provide gdk_pixbuf_new_from_stream()
	instead from gdk_pixbuf_new_from_inline().

	* gdk-pixdata.[hc]: auxillary GdkPixdata structure, public
	installed API for applications that need to serialize/deserialize
	on their own (gimp, BEAST).
	
	* gdk-pixbuf/gdk-pixbuf-csource.c: provide publically installed
	program that can dump images in CSource format and Pixbuf
	stream format. supports RLE encoding, MACRO formatting etc...
	invoke with --help.

953
954
955
956
957
Mon Jun 25 00:28:11 2001  Owen Taylor  <otaylor@redhat.com>

	* Makefile.am: Actually update timestamps, so rules don't
	constantly run.

Havoc Pennington's avatar
Updates    
Havoc Pennington committed
958
959
960
961
962
2001-06-11  Havoc Pennington  <hp@redhat.com>

	* Makefile.am (stamp-gdk-pixbuf-marshal.c): glib_genmarshal
	already includes top_builddir

963
964
965
966
967
968
969
970
971
972
2001-06-08  Havoc Pennington  <hp@redhat.com>

	* gdk-pixbuf-loader.c (gdk_pixbuf_loader_load_module): remove
	bogus g_return_if_fail	

	* io-gif.c (gif_get_lzw): if delay time is 0 or smaller than
	likely timeout resolution, set it to an arbitrarily-chosen short
	delay.
	Fixes bug #55953 from warmenhoven@yahoo.com

973
974
975
976
977
2001-06-07  Havoc Pennington  <hp@redhat.com>

	* Makefile.am: use Owen's new way of doing stampfiles/generated
	sources

978
979
980
981
2001-06-07  Havoc Pennington  <hp@redhat.com>

	* Makefile.am (gdk-pixbuf-marshal.c): fix up the glib-genmarshal path

982
983
984
985
986
2001-06-05  Havoc Pennington  <hp@redhat.com>

	* test-loaders.c (main): use putenv not setenv, reported by 
	 Armin Theissen

987
988
989
990
991
992
2001-05-08  Havoc Pennington  <hp@redhat.com>

	* gdk-pixbuf-util.c (gdk_pixbuf_add_alpha): docs fixup, 
	and fix behavior to still subst color if the original image 
	had alpha

993
994
995
996
997
2001-06-04  Havoc Pennington  <hp@redhat.com>

	* io-pnm.c (pnm_skip_whitespace): patch from Szekeres Istvan,
	bug #52560

998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
2001-06-01  Havoc Pennington  <hp@redhat.com>

        Apply patch from sandmann@daimi.au.dk, with some tweaks.
	Makes things a bit more robust, and adds test-loaders.c 
	which is good for finding further robustness bugs to fix.
	
	* io-tiff.c: Try to work around libtiff suckiness a bit; 
	put a giant thread lock on the whole loader, 
	paranoically check both whether error handlers were called and
	also whether functions return false. Handle case where width or
	height is 0. Various cleanups.

	* io-png.c (gdk_pixbuf__png_image_stop_load): only unref pixbuf
	if it existed
	(png_error_callback): apparently libpng expects you to longjmp out
	of this thing?

	* io-gif.c (struct _GifContext): remove unused "pixbuf" field
	(lzw_read_byte): change "Mail jrb if this fails" g_warning 
	to a g_set_error()
	(gif_get_lzw): check for out-of-memory
	(gif_prepare_lzw): catch/report an error
	(new_context): use try_malloc, since GifContext is nearly 70K
	(gdk_pixbuf__gif_image_load_increment): set context->buf to NULL
	so we don't crash later.

	* Makefile.am: Add test-loaders

	* gdk-pixbuf-loader.c (gdk_pixbuf_loader_close): handle context ==
	NULL due to errors
	
1029
1030
1031
1032
2001-05-29  Darin Adler  <darin@eazel.com>

	* gdk-pixbuf.h: Fix prototype to use "(void)" instead of "()".

1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
Mon May 28 14:21:35 2001  Jonathan Blandford  <jrb@redhat.com>

	* io-bmp.c: Patch from Helmethead <hoshem@mel.comcen.com.au> to
	fix up bmp decoder to: 
	 - adds 16 bpp bmp support (bug #53884)
	 - adds OS/2 1.x format bmp support (bug #54964)
	 - adds 4 bpp RLE compressed bmp support
	 - adds 1 bpp colormap support
	 - fixes negative height (top down) bmp support

1043
1044
1045
1046
2001-05-25  Hans Breuer  <hans@breuer.org>

	* gdk_pixbuf.def : reflect Havoc's recent api change

Owen Taylor's avatar
Owen Taylor committed
1047
1048
1049
1050
1051
Sun May 20 12:53:49 2001  Owen Taylor  <otaylor@redhat.com>

	* Makefile.am (libgdk_pixbuf_1_3_la_LDFLAGS): Remove an
	excess $(GLIB_LIBS).

1052
1053
1054
1055
Sun May 13 11:59:11 2001  Owen Taylor  <otaylor@redhat.com>

	* Makefile.am: Make modules depend on libgdk_pixbuf.la.

Havoc Pennington's avatar
Havoc Pennington committed
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
2001-05-04  Havoc Pennington  <hp@redhat.com>

	* pixops/pixops.c (pixops_process): merge fix from stable: Patch
	 from hoshem@mel.comcen.com.au to fix nonzero X offsets.  Fixes
	 bug #50371.
	
        * gdk-pixbuf/pixops/pixops.c (pixops_composite_nearest): merge
	from stable: Patch from OKADA Mitsuru <m-okada@fjb.co.jp> to fix
	confusion of using "src" instead of "p".
        (pixops_composite_color_nearest): Use a more accurate (and
	correct, to begin with) compositing method.  This cures checks
	showing through on images with no alpha.

	* gdk-pixbuf.c (gdk_pixbuf_fill): fix bug that left some trailing
	bytes unfilled.

	* gdk-pixbuf-io.h: fix UpdatedNotifyFunc to use signed ints

	* gdk-pixbuf-loader.h (struct _GdkPixbufLoaderClass): Change
	area_updated signal to use signed ints.  Removed animation-related
	signals.

	* io-gif.c, io-gif-animation.h, io-gif-animation.c: Massive
	rewrite action

	* gdk-pixbuf-animation.c: Add GdkPixbufAnimationIter to abstract
	all the pesky details. Remove old frame-based API. Make
	GdkPixbufAnimation an abstract base class, derived by the loaders.

Owen Taylor's avatar
Owen Taylor committed
1085
1086
1087
1088
Sun Apr 22 15:51:32 2001  Owen Taylor  <otaylor@redhat.com>

	* Makefile.am (LDADDS): Add $(MATH_LIB).

1089
1090
1091
1092
1093
2001-04-18  Havoc Pennington  <hp@redhat.com>

	* gdk-pixbuf.c (gdk_pixbuf_fill): Function to fill pixbuf with a
	given color.

Tim Janik's avatar
Tim Janik committed
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
Wed Apr  4 01:41:02 2001  Tim Janik  <timj@gtk.org>

	* pixops/Makefile.am (noinst_LTLIBRARIES): include $top_srcdir
	so we don't try to get <gtk/gtkobject.h> from standard search
	paths.

	* Makefile.am (gdk-pixbuf-marshal.c): use deps from srcdir.
	add gdk-pixbuf-marshal.list to EXTRA_DIST.
	take gdk-pixbuf-marshal.h out of _la sources.

1104
1105
1106
1107
1108
1109
1110
1111
2001-03-19  Tor Lillqvist  <tml@iki.fi>

	* makefile.mingw.in: Handle gdk-pixbuf-marshal.c.

	* gdk_pixbuf.def: Update.

	* pixbufloader_*.def: Just export the fill_vtable functions now.

1112
1113
1114
1115
1116
2001-03-18  Mike Kestner  <mkestner@ameritech.net>

	* make-inline-pixbuf.c (main): Added logic to remove output when
	failures occur.

Havoc Pennington's avatar
Delete.    
Havoc Pennington committed
1117
1118
1119
1120
1121
2001-03-14  Havoc Pennington  <hp@redhat.com>

	* Makefile.am (gdk-pixbuf-marshal.c): Use different temporary file
	from gdk-pixbuf-marshal.h, fixes parallel makes.

Tim Janik's avatar
Tim Janik committed
1122
1123
1124
1125
Thu Mar  1 04:01:57 2001  Tim Janik  <timj@gtk.org>

	* test-gdk-pixbuf.c: fixed includes.

1126
1127
1128
1129
1130
1131
2001-02-18  Havoc Pennington  <hp@pobox.com>

	* gdk-pixbuf-io.c (gdk_pixbuf_load_module): prepend underscore
	(gdk_pixbuf_get_named_module): prepend underscore
	(gdk_pixbuf_get_module): prepend underscore

1132
1133
1134
1135
2001-02-19  Havoc Pennington  <hp@redhat.com>

	* gdk-pixbuf-io.c (gdk_pixbuf_load_module): const fix

Havoc Pennington's avatar
docs    
Havoc Pennington committed
1136
1137
1138
1139
2001-02-17  Havoc Pennington  <hp@pobox.com>

	* gdk-pixbuf-loader.c (gdk_pixbuf_loader_new_with_type): docs

1140
1141
1142
1143
1144
2001-02-07  Alexander Larsson  <alexl@redhat.com>

	* io-xpm.c (free_buffer):
	Use g_free, since the buffer is allocated with g_try_alloc().

1145
1146
1147
1148
2001-02-06  Christophe Merlet  <redfox@eikonex.org>

	* gdk-pixbuf-data.c: Fixes a minor typo.

1149
1150
1151
1152
1153
1154
1155
1156
Sun Feb  4 07:59:57 2001  Tim Janik  <timj@gtk.org>

	* gdk-pixbuf.h: DOH! don't include glib/gobject.h but glib-object.h,
	we finally need the gobject->gruntime rename.

	* *.c: scratched calls to g_type_init(), there's simply no point in
	doing that, use gtk_init().

1157
1158
1159
1160
1161
2001-02-01  Havoc Pennington  <hp@pobox.com>

	* gdk-pixbuf-loader.c, gdk-pixbuf-loader.h: rename "private" field
	in struct to "priv" for C++

1162
1163
1164
1165
2001-01-31  Havoc Pennington  <hp@pobox.com>

	* gdk-pixbuf.c: include glib-object.h instead of gvaluetypes.h

Havoc Pennington's avatar
Havoc Pennington committed
1166
1167
1168
1169
1170
1171
1172
1173
1174
2001-01-26  Havoc Pennington  <hp@redhat.com>

	* gdk-pixbuf-io.c (mname): fix included modules case.

2001-01-22  Havoc Pennington  <hp@redhat.com>

	* gdk-pixbuf-io.c (gdk_pixbuf_new_from_xpm_data): check errors 
	from gdk_pixbuf_load_module

1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
2001-01-22  Havoc Pennington  <hp@redhat.com>

	* Makefile.am: Add built marshaller files to support
	GdkPixbufLoader signals

	* gdk-pixbuf-io.c (gdk_pixbuf_load_module): have
	GDK_PIXBUF_MODULEDIR unconditionally replace the compiled-in
	module location, rather than acting as a fallback, because we are
	using GDK_PIXBUF_MODULEDIR to use gdk-pixbuf before installing it.

	* gdk-pixbuf.h: include gdk-pixbuf-loader.h

        * gdk-pixbuf-loader.h, gdk-pixbuf-loader.c: Move back over here
	from gtk, and add error to close(), because stop_load may do
	parsing of the image.
	
	* pixops/have_mmx.S (_pixops_have_mmx): add newline at end of file

        * io-*.c: make individual operations static, and add fill_vtable
	functions which are exported. Fix the collection of type warnings
	that surfaced, including a number of functions that didn't
	properly take a GError and some that weren't
	const-correct. Involved adding error handling for a few loaders.

	* gdk-pixbuf-io.h: Add error reporting to stop_load function
	
	* gdk-pixbuf-io.c (gdk_pixbuf_load_module): change to just look up
	a function that fills in the GdkPixbufModule vtable, instead of 
	looking up all the image functions individually; this means we 
	can get type safety within modules for the loader functions.
	Also it means you don't have to keep the statically compiled and 
	GModule versions in sync. 

	* test-gdk-pixbuf.c (main): remove gdk_pixbuf_init()

	* make-inline-pixbuf.c (main): remove call to gdk_pixbuf_init()

	* gdk-pixbuf.h: nuke gdk_pixbuf_init()
	
	* gdk-pixbuf-animation.c (gdk_pixbuf_frame_get_type): g_type_init
	() here

	* gdk-pixbuf.c (gdk_pixbuf_get_type): g_type_init () here

	* gdk-pixbuf-animation.c (gdk_pixbuf_animation_get_type):
	g_type_init() here

1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
2001-01-20  John Harper  <jsh@eazel.com>

	* io-xbm.c: new pixbuf loader, for X bitmap files. Basically a
	collision between Xlib's RdBitF.c and io-tiff.c

	* gdk-pixbuf-io.c, Makefile.am, pixbufloader_xbm.def: added
	io-xbm.c support

	[ merged from stable gdk-pixbuf module. Untested, but it
	compiles, and works fine in the stable module ]

Tor Lillqvist's avatar
Tor Lillqvist committed
1233
1234
1235
2001-01-18  Tor Lillqvist  <tml@iki.fi>

	* gdk-pixbuf-io.c (get_libdir): (Win32) Use the new
Tor Lillqvist's avatar
Tor Lillqvist committed
1236
1237
	g_win32_get_package_installation_subdirectory() function.  No need
	to include windows.h.
Tor Lillqvist's avatar
Tor Lillqvist committed
1238
1239
	(gtk_win32_get_installation_directory): Remove this then.

1240
1241
1242
1243
1244
2001-01-01  Havoc Pennington  <hp@redhat.com>

	* Makefile.am (libgdk_pixbuf_1_3_la_LDFLAGS): add
	@LIBTOOL_EXPORT_OPTIONS@

1245
1246
1247
1248
2000-12-30  Tor Lillqvist  <tml@iki.fi>

	* gdk_pixbuf.def: Update.

1249
1250
1251
1252
1253
1254
1255
1256
1257
2000-12-16  Havoc Pennington  <hp@pobox.com>

	* gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file): ref
	the pixbuf in the frame, so we can use gdk_pixbuf_frame_free
	(gdk_pixbuf_frame_copy): new function
	(gdk_pixbuf_frame_free): new function
	(gdk_pixbuf_frame_get_type): new function
	(GDK_TYPE_PIXBUF_FRAME): macro to get type for GdkPixbufFrame

1258
1259
1260
1261
Tue Nov 14 11:51:26 2000  Owen Taylor  <otaylor@redhat.com>

	* Makefile.am: Add -avoid-version for all modules.

1262
1263
1264
1265
1266
2000-11-13  Havoc Pennington  <hp@redhat.com>

	* io-png.c (png_simple_error_callback): fix error message to not
	say "save" since it's used for loading

1267
1268
1269
1270
1271
1272
1273
1274
2000-11-11  Hans Breuer <Hans@Breuer.Org>

	* gdk-pixbuf-io.c : Fix all function prototype macros for self 
	contained image handlers (!USE_G_MODULE). Files to save should
	be opened in binary mode, fopen(s, "wb").

	* io-xpm.c : added HAVE_UNISTD_H condition

1275
1276
2000-11-11  Tor Lillqvist  <tml@iki.fi>

Tor Lillqvist's avatar
Tor Lillqvist committed
1277
1278
	* gdk_pixbuf.def: Add gdk_pixbuf_new_subpixbuf.

1279
1280
1281
1282
1283
1284
	* io-tiff.c (gdk_pixbuf__tiff_image_begin_load): Use
	g_file_open_tmp() (just added to GLib) instead of mkstemp() (or
	mktemp() and open()).
	
	* io-xpm.c (gdk_pixbuf__xpm_image_begin_load): Ditto.

1285
1286
1287
1288
1289
2000-11-01  Havoc Pennington  <hp@pobox.com>

	* gdk-pixbuf.c (gdk_pixbuf_new_subpixbuf): New function to create 
	a pixbuf pointing to a subregion of another pixbuf.

Tor Lillqvist's avatar
Tor Lillqvist committed
1290
1291
1292
1293
2000-10-16  Tor Lillqvist  <tml@iki.fi>

	* gdk-pixbuf-io.c: Define also m_save (for the non-gmodule case).

Havoc Pennington's avatar
Havoc Pennington committed
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
2000-10-16  Havoc Pennington  <hp@redhat.com>

	* gdk-pixbuf-io.c (gdk_pixbuf_get_module)
	(gdk_pixbuf_get_named_module) (gdk_pixbuf_load_module): 
	add error reporting here also

	* make-inline-pixbuf.c (main): use GError

	* io-xpm.c: include unistd.h

	* gdk-pixbuf-util.c: include string.h

	* io-*.c: add error reporting
	
	* gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file): add
	error reporting

	* gdk-pixbuf-io.c (gdk_pixbuf_new_from_file): Add error reporting

	* gdk-pixbuf-io.h: Add GError** to load_increment and load 
	methods

	* gdk-pixbuf-io.c (gdk_pixbuf_save) (gdk_pixbuf_savev): return 
	a G_FILE_ERROR if we fail to write or close the file.

	* gdk-pixbuf.h: remove GDK_PIXBUF_ERROR_IO, instead we'll use
	G_FILE_ERROR_*. Rename enum to GdkPixbufError, properly following
	the GError naming rules. Add GError** to load functions.

Havoc Pennington's avatar
Havoc Pennington committed
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
2000-10-06  Havoc Pennington  <hp@redhat.com>

	* gdk-pixbuf.h: add GdkPixbufAlphaMode

2000-10-06  Havoc Pennington  <hp@redhat.com>

        This entry is a summary of the merged-in changes from 1.0. 
	Relevant original ChangeLog entries are spliced in after 
	this entry; the files they refer to are from the 1.0
	gdk-pixbuf sources.
	
	* pixops/pixops.c (pixops_composite_nearest): sync a small fix
	from 1.0

	* io-xpm.c (xpm_seek_string): add fscanf error check from 1.0
	Add progressive loader from 1.0

	* io-tiff.c (gdk_pixbuf__tiff_image_begin_load): mem leak fixes
	from 1.0 tree

	* io-pnm.c: new version from 1.0 tree

	* io-jpeg.c (gdk_pixbuf__jpeg_image_load): sync from 1.0, use 
	malloc not g_malloc

	* io-gif.c (lzw_read_byte): sync from 1.0, change a g_error to
	g_warning
	(gif_get_next_step): return 0 here, sync from 1.0

	* gdk-pixbuf-util.c: sync email address change for Cody
	Russell

2000-09-11  Jeffrey Stedfast  <fejj@helixcode.com>

	* gdk-pixbuf/io-pnm.c: Pretty much totally rewrote again because
	last nights code was still "broken". Should now properly handle
	all error conditions gracefully.

2000-09-10  Jeffrey Stedfast  <fejj@helixcode.com>

	* gdk-pixbuf/io-pnm.c: Rewrote.

2000-09-09  Federico Mena Quintero  <federico@helixcode.com>

	* gdk-pixbuf/pixops/pixops.c (pixops_composite_nearest): Compute
	the correct dest offset.

2000-08-25  Federico Mena Quintero  <federico@helixcode.com>

	* gdk-pixbuf/io-xpm.c: #include <unistd.h>

2000-08-05  Larry Ewing  <lewing@helixcode.com>

	* gdk-pixbuf/io-tiff.c: stop leaking context->tempname.

	* gdk-pixbuf/io-xpm.c: same as above.

2000-07-26  Michael Meeks  <michael@helixcode.com>

	* gdk-pixbuf/io-jpeg.c (gdk_pixbuf__jpeg_image_load): make
	g_malloc a malloc.

2000-07-21  Larry Ewing  <lewing@helixcode.com>

	* gdk-pixbuf/io-xpm.c: add a fake progressive loader so that
	xpm at least supports the progressive interface like the one in
	io-tiff.c. This should be reimplemented as an actual progressive
	loader.

2000-07-19  Jonathan Blandford  <jrb@redhat.com>

	* demo/pixbuf-demo.c (update_timeout): changed scaling level to
	make it look better.
	* gdk-pixbuf/testpixbuf.c (update_timeout): Patch from michael
	meeks to handle errors better.
	
1399
1400
1401
1402
1403
1404
1405
1406
2000-10-07  Tor Lillqvist  <tml@iki.fi>

	* gdk_pixbuf.def
	* pixbufloader_jpeg.def
	* pixbufloader_png.def: Add new entry points.

	* makefile.mingw.in: Use libintl.

1407
1408
1409
1410
1411
1412
1413
1414
2000-10-06  Havoc Pennington  <hp@redhat.com>

	* gdk-pixbuf-io.c (gdk_pixbuf_save): s/format/type/g to be
	consistent with gdk_pixbuf_loader_new_with_type(). 
	Return runtime error if a module is missing.

	* gdk-pixbuf.h: add GDK_PIXBUF_ERROR_UNKNOWN_TYPE

1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
2000-10-05  Havoc Pennington  <hp@redhat.com>

        Pixbuf saving, patch from David Welton.
	
	* Makefile.am (GDK_PIXBUF_LIBS): add INTLLIBS
	(libgdk_pixbuf_1_3_la_SOURCES): add gdk-pixbuf-i18n.h

	* gdk-pixbuf-i18n.h: Add _() to gdk-pixbuf

	* io-png.c (gdk_pixbuf__png_image_save): PNG save routine.

	* io-jpeg.c (gdk_pixbuf__jpeg_image_save): JPEG save routine.

	* gdk-pixbuf-io.c (gdk_pixbuf_save): 
	(gdk_pixbuf_savev): Implement pixbuf saving routines

	* gdk-pixbuf.c (gdk_pixbuf_error_quark): pixbuf error quark
	function

	* gdk-pixbuf.h: Add public save routines; add pixbuf error 
	types

	* gdk-pixbuf-io.h: Add save function to GdkPixbufModule

1439
1440
1441
1442
1443
1444
2000-10-05  Dan Winship  <danw@helixcode.com>

	* io-png.c, io-tiff.c, io-xpm.c: Fix comments to not claim that
	all three of these files are the JPEG image loader. (From
	gdk-pixbuf module.)

1445
1446
1447
1448
1449
1450
1451
2000-10-03  Tor Lillqvist  <tml@iki.fi>

	* makefile.mingw.in: Add rule for make-inline-pixbuf. Use
	gdk-pixbuf's version number in the rule for makefile.mingw itself.

	* gdk_pixbuf.def: Add new entry points.

1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
2000-09-26  Havoc Pennington  <hp@redhat.com>

	* gdk-pixbuf-util.c (gdk_pixbuf_saturate_and_pixelate): Add this
	function here, instead of putting it in a private GTK+ file.

	* gdk-pixbuf-private.h (GdkPixbufInlineFormat): include an 
	enum here for the known formats of inlined pixbufs.
	Also, #define our file magic here.

2000-06-23  Havoc Pennington  <hp@redhat.com>

	* make-inline-pixbuf.c: Small program that creates C variable
	declarations of inline pixbuf data. This can be read 
	by gdk_pixbuf_new_from_inline.

	* gdk-pixbuf.h (gdk_pixbuf_new_from_inline): New function to read
	inline pixbuf data and create a pixbuf from it.	

	* gdk-pixbuf-data.c (gdk_pixbuf_new_from_inline): implement here

1472
1473
1474
1475
1476
2000-09-07  Tor Lillqvist  <tml@iki.fi>

	* makefile.mingw.in: Use own version number for gdk-pixbuf DLLs,
	like on Unix.

1477
1478
1479
1480
2000-08-12  Tor Lillqvist  <tml@iki.fi>

	* gdk_pixbuf.def: Add missing entry point.

1481
1482
1483
1484
1485
2000-08-10  Havoc Pennington  <hp@redhat.com>

	* Makefile.am (EXTRA_DIST): The *.def files had the wrong names
	(s/pixbuf_/pixbufloader_)
	
Tor Lillqvist's avatar
Tor Lillqvist committed
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
2000-08-02  Tor Lillqvist  <tml@iki.fi>

	* io-bmp.c
	* io-ico.c
	* io-ras.c
	* io-tiff.c
	* io-wbmp.c: Conditionalise inclusion of <unistd.h>.

	* makefile.mingw.in: List loaders alphabetically. Add the wbmp
	one. Fix names of DLLs to have '-' instead of '_'.

1497
1498
1499
2000-07-31  Elliot Lee  <sopwith@redhat.com>
	* io-wbmp.c: Some bug fixes - now tested to work.

1500
2000-07-27  Elliot Lee  <sopwith@redhat.com>
1501

1502
1503
1504
1505
	* gdk-pixbuf-io.h, gdk-pixbuf-io.c: Add
	gdk_pixbuf_get_named_module() function to facilitate above change
	* io-wbmp.c, pixbufloader_wbmp.defs, gdk-pixbuf-io.c, Makefile:
	Implement loader for WBMP format.
1506
1507
	* io-bmp.c: Don't malloc a temporary buffer - use stack instead.

Tor Lillqvist's avatar
Tor Lillqvist committed
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
2000-07-23  Tor Lillqvist  <tml@iki.fi>

	Win32 build setup:
	
	* makefile.mingw.in
	* pixops/makefile.mingw.in
	* pixbuf_*.def: New files.

	* Makefile.am
	* pixops/Makefile.am: Add them. Add rule to generate makefile.mingw.

	* gdk-pixbuf-io.c (gtk_win32_get_installation_directory):
	New function, to get the GTK+ installation directory from
	the Windows Registry, where the installation program
	for whatever software includes GTK+ has stored it.

	Used to avoid having hardcoding the directory where to look for
	loaders. This function is needed by gtk, too, so it should
	really be just in one place. Maybe a small static library
	one level up from here?

	* gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file)
	* gdk-pixbuf-io.c (gdk_pixbuf_new_from_file): 
	Open file in binary mode. This *is* standard C. (No-op on Unix,
	of course.)

	* io-jpeg.c: If we don't HAVE_SIGSETJMP, use normal setjmp().

	* io-tiff.c: Use g_get_tmp_dir(). If we don't HAVE_MKSTEMP, use
	mktemp() and open().
	(gdk_pixbuf__tiff_image_stop_load): g_free() also the tempname.

	* pixops/*.S: The Gas from mingw32 doesn't like the .type
	pseudo-op. Conditionalise on __MINGW32__, but probably
	should conditionalise on Gas version instead? Or could we
	do without .type on all systems?

	* pixops/timescale.c: Use g_get_current_time()
	instead of gettimeofday().

1548
1549
1550
1551
Sat Jul 22 10:57:22 2000  Owen Taylor  <otaylor@redhat.com>

	* Makefile.am (test_gdk_pixbuf_LDADD): Remove -lgmodule

1552
1553
1554
1555
Tue Jul 11 11:26:42 2000  Owen Taylor  <otaylor@redhat.com>

	* gdk-pixbuf.c: Add <string.h> include.

1556
1557
1558
1559
1560
1561
1562
1563
Tue Jul 11 06:20:14 2000  Tim Janik  <timj@gtk.org>

	* io-gif.c (gdk_pixbuf__gif_image_load_animation): 
	* gdk-pixbuf-data.c (gdk_pixbuf_new_from_data): 
	* gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file): 
        use g_object_new() instead of g_type_create_instance() which
        is a private function for fundamental type implementations.
        
1564
1565
1566
1567
Thu Jul  6 11:49:47 2000  Owen Taylor  <otaylor@redhat.com>

	* Makefile.am (libgdk_pixbuf_la_LDFLAGS): Use GTK+ version
	soname scheme for gdk-pixbuf.
1568
	
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
2000-06-21  Havoc Pennington  <hp@pobox.com>

	* gdk-pixbuf.c: Convert GdkPixbuf to GObject, leaving it opaque
	(i.e. derivation is not allowed, and there are no virtual methods
	anyway).
	(gdk_pixbuf_preinit): Call g_type_init() here.
	(gdk_pixbuf_init): Add a user-friendly init function, for users
	of standalone gdk-pixbuf

	* gdk-pixbuf-animation.c: Convert to GObject, in the same
	way GdkPixbufAnimation was done.
	
	* gdk-pixbuf.h: Remove gdk_pixbuf_set_unref_handler() and
	gdk_pixbuf_finalize() from API, since these are broken and don't
	make sense with new GObject stuff.

Owen Taylor's avatar
Owen Taylor committed
1585
1586
1587
1588
1589
1590
Wed Jun 21 16:02:48 2000  Owen Taylor  <otaylor@redhat.com>

	* gdk-pixbuf-io.c (gdk_pixbuf_load_module): Add feature to
	support a GDK_PIXBUF_MODULEDIR env variable as a secondary
	load location.

1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
2000-06-10  Federico Mena Quintero  <federico@helixcode.com>

	* demo/pixbuf-demo.c: It was cold and rainy this Saturday morning,
	so I needed something to warm my thighs.  Running plain infinite
	loops on your laptop to make it hot is not very much fun.  A demo
	of the gdk-pixbuf scaling functions is way better, and looks
	prettier, too.

	* configure.in (AC_OUTPUT): Added the demo Makefile.

	* Makefile.am (SUBDIRS): Added the demo directory.

1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
2000-06-09  Larry Ewing  <lewing@helixcode.com>

	* gdk-pixbuf/io-png.c (gdk_pixbuf__png_image_load_increment):
	setjmp for the png error handler.  It seems setting the error
	handling functions does not avoid the jump, and so not calling
	setjmp was causing the incremental loader to jump into lala land.
	(gdk_pixbuf__png_image_begin_load): setjmp for error handling, I'm
	not sure this one is actually required but the docs say it must be
	set for every call to a png_* function.
	Also changed the comment to reflect the fact that setting the
	error handlers does _not_ avoid the longjmp.

1615
1616
1617
1618
1619
2000-06-06  Larry Ewing  <lewing@helixcode.com>

	* gdk-pixbuf/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
	take frame offest into account when trying to calculate the
	animation bbox.  Also set the width to the width not the height.
Larry Ewing's avatar
Larry Ewing committed
1620
1621
1622
	(gdk_pixbuf_loader_animation_done): cycle over the frames to
	calculate bbox because now we finally have all the offset
	information for each frame.
1623

1624
1625
1626
2000-06-05	Mathieu Lacage  <mathieu@gnome.org>

	* configure.in: add some gtk parameters to the
1627
	GDK_PIXBUF_LIBS and GDK_PIXBUG_INCLUDEDIR vars. One more
1628
1629
	fight in my crusade for strange prefix compile...

1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
2000-05-30  Not Zed  <NotZed@HelixCode.com>

	* gdk-pixbuf/io-jpeg.c (gdk_pixbuf__jpeg_image_begin_load):
	Initialise the error handler exit routine to our own.  Note this
	means that every function that accesses the jpeg lib on this
	object MUST do a setjmp.
	(gdk_pixbuf__jpeg_image_stop_load): setjmp before accessing jpeg
	lib for handling fatal error.
	(gdk_pixbuf__jpeg_image_load_increment): And here too.  So now
	your applications dont quit if there's a jpeg error!

1641
1642
1643
1644
1645
2000-05-30  Federico Mena Quintero  <federico@helixcode.com>

	* gdk-pixbuf.spec.in: Include all the loader libraries.  Patch
	from Frank de Lange <frank@unternet.org>.

1646
1647
1648
1649
1650
2000-05-09  Darin Adler  <darin@eazel.com>

	* gdk-pixbuf/test-gdk-pixbuf.c:
	Fixed includes to get rid of accidental GNOME dependency.

1651
1652
1653
2000-05-26  Cody Russell  <car0969@gamma2.uta.edu>
	* Makefile.am: Added gdk-pixbuf.spec to EXTRA_DIST

Federico Mena Quintero's avatar
Federico Mena Quintero committed
1654
1655
1656
1657
1658
1659
1660
1661
1662
2000-05-22  Federico Mena Quintero  <federico@helixcode.com>

	* configure.in: Bumped version number to 0.8.0.

	* doc/Makefile.am (content_files): The toplevel gdk-pixbuf.sgml
	file was not being distributed.

	* gdk-pixbuf/pixops/Makefile.am (EXTRA_DIST): Added DETAILS.

1663
1664
1665
1666
1667
1668
1669
1670
2000-05-09  Darin Adler  <darin@eazel.com>

	* gdk-pixbuf/gdk-pixbuf-drawable.c: (rgb565lsb), (rgb565msb),
	(rgb565alsb), (rgb565amsb), (rgb555lsb), (rgb555msb), (rgb555alsb),
	(rgb555amsb), (convert_real_slow): Change all conversion from 16-bit
	formats to 32-bit formats to re-use the high bits of the color values
	so that white maps to full white.

1671
1672
1673
1674
1675
1676
Fri May  5 12:16:32 2000  Owen Taylor  <otaylor@redhat.com>

	* gdk-pixbuf/pixops/DETAILS: Add beginnings of file with 
	detailed information about the structure and algorithms
	of pixops so people can fix it instead of breaking it.

1677
1678
1679
1680
1681
1682
1683
1684
1685
2000-05-04  Darin Adler  <darin@eazel.com>

	* gdk-pixbuf/pixops/pixops.c: (pixops_composite_nearest),
	(composite_pixel), (composite_line):
	* gdk-pixbuf/test-gdk-pixbuf.c: (simple_composite_test_one_type):
	Now that Owen explained the algorithm, I think I implemented it
	right for the cases where the destination pixbuf is not opaque.
	The test does seem to confirm it.

1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
2000-05-04  Darin Adler  <darin@eazel.com>

	* gdk-pixbuf/.cvsignore:
	* gdk-pixbuf/Makefile.am:
	* gdk-pixbuf/test-gdk-pixbuf.c (store_pixel), (fill_with_pixel),
	(load_pixel), (simple_composite_test_one),
	(simple_composite_test_one_type), (simple_composite_test), (main):
	Added some tests of composite to highlight problems in the old
	implementation. These tests run without any user interaction.
	Just do "make check".

	* gdk-pixbuf/pixops/pixops.c (pixops_composite_nearest),
	(composite_pixel), (composite_line): Fix composite to do a textbook
	"A over B" composite. This was clearly the intent, and it was easy
	to fix the code to do it. (Note to those that read my earlier tries
	at a patch; this version fixes typos that were present in all
	my patch attempts. I checked the final version by adding more tests.)

1704
1705
1706
1707
1708
1709
1710
1711
2000-04-22 05:27:43 2000  Owen Taylor  <otaylor@redhat.com>

	* gdk-pixbuf/pixops/pixops.c (pixops_scale_nearest): Properly
	offset y coordinate accordining to render_y0.

	* gdk-pixbuf/gdk-pixbuf-scale.c: Properly handle nonzero
	dest_x, dest_y.

1712
1713
1714
1715
1716
1717
1718
2000-04-22  James Henstridge  <james@daa.com.au>

	* gdk-pixbuf.spec.in (%files): moved %{prefix}/bin/* from the main
	package to the devel package.  The only file installed in bin is
	gdk-pixbuf-config, which belongs in -devel.  This should allow having
	multiple versions of the main gdk-pixbuf package installed.

Karl Eichwalder's avatar
Add .    
Karl Eichwalder committed
1719
1720
1721
1722
1723
2000-04-17  Karl Eichwalder  <ke@suse.de>

	* gdk-pixbuf/Makefile.am (INCLUDES): Add $(GNOME_CFLAGS).
	Reported by Jens Finke.

1724
2000-04-14 Tomasz K�opczko <kloczek@pld.org.pl>
1725
1726
1727
1728

	* gdk-pixbuf/pixops/makefile.am: $(LIBART_CFLAGS) replaced by 
	$(GTK_CFLAGS) - now gdk-pixbuf compiles correctly.

1729
1730
1731
1732
1733
1734
1735
2000-04-13  James Henstridge  <james@daa.com.au>

	* configure.in: when performing the configure check to see if
	gmodule works, set CFLAGS to GLIB_CFLAGS and LIBS to GLIB_LIBS,
	rather than the other way round.  Also, call AC_MSG_RESULT in the
	even that dynamic modules were not supported.

1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
2000-04-12  Federico Mena Quintero  <federico@helixcode.com>

	This comes from an excellent idea by Tim Janik (timj@gtk.org) to
	hook to the last unref operation.

	* gdk-pixbuf/gdk-pixbuf.c (gdk_pixbuf_set_last_unref_handler): New
	function to set the last unref handler for a pixbuf.
	(gdk_pixbuf_finalize): New function to actually finalize a pixbuf.
	It calls the pixbuf's destroy notification function and frees the
	GdkPixbuf structure itself.
	(gdk_pixbuf_unref): Use the last unref function of the pixbuf if
	available.

	* gdk-pixbuf/gdk-pixbuf-private.h (struct _GdkPixbuf): New fields
	for the last unref handler and its user data.

	* gdk-pixbuf/gdk-pixbuf-data.c (gdk_pixbuf_new_from_data): Use
	g_new0() to allocate the pixbuf.

	* gdk-pixbuf/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
	Fixed the call to gtk_signal_new() for the "frame_done" signal; it
	was not specifying the `frame' argument.

	* gdk-pixbuf/gdk-pixbuf-animation.c
	(gdk_pixbuf_animation_get_width): Fixed docstring.
	(gdk_pixbuf_animation_get_height): Likewise.
	(gdk_pixbuf_animation_get_num_frames): Likewise.
	(gdk_pixbuf_animation_get_frames): Likewise.

	* doc/gdk-pixbuf-sections.txt: Updated with the new functions and
	types.

	* doc/tmpl/gdk-pixbuf.sgml: Added the description for GdkColorspace.

	* doc/tmpl/scaling.sgml: Added the description for GdkInterpType.

	* doc/tmpl/refcounting.sgml: Updated with the information about
	the last unref handler.

	* doc/tmpl/*.sgml: Markup tweaks.

	* gdk-pixbuf/Makefile.am (libgnomecanvaspixbuf_la_LDFLAGS): Sigh,
	update the libtool version number for libgnomecanvaspixbuf as
	well.
	(libpixbufloader_*_la_LDFLAGS): The loaders need to be versioned
	as well, or the old ones won't work with the new stuff.  Also,
	renamed the modules as follows.

	* gdk-pixbuf/gdk-pixbuf-io.c (gdk_pixbuf_load_module): Now the
	modules are called "libpixbufloader-<format>.so" instead of
	"libpixbuf-<format>.so".  They needed renaming so that the new
	loaders won't overwrite the old ones; even with the versioning
	stuff, the new .so symlink to the .so.1.0.0 would overwrite the
	old real .so file.

Paolo Molaro's avatar
Paolo Molaro committed
1791
1792
1793
1794
2000-04-12  Paolo Molaro <lupus@debian.org>

	* .cvsignore, src/.cvsignore: shut up cvs.

1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
2000-04-11  Federico Mena Quintero  <federico@helixcode.com>

	Most of this patch is based on a patch by Havoc Pennington
	(hp@redhat.com) to make GdkPixbuf's structures opaque and to
	remove the libart dependency.

	* gdk-pixbuf/gdk-pixbuf.h: Removed the public structures.
	(GdkColorspace): New enum that for now only contains
	GDK_COLORSPACE_RGB.
	(GdkPixbufDestroyNotify): New type for the pixbuf's pixels destroy
	notification function.
	(GdkInterpType): New num with interpolation types.

	* *.[ch]: Replace the libart stuff with our own stuff.

	* pixops/*.[ch]: Likewise.

	* gdk-pixbuf/gdk-pixbuf-private.h: New file with the private
	declarations of the GdkPixbuf structures.

	* gdk-pixbuf/gdk-pixbuf.c (gdk_pixbuf_new_from_art_pixbuf):
	Removed function.
	(gdk_pixbuf_get_format): Constify.
	(gdk_pixbuf_get_n_channels): Constify.
	(gdk_pixbuf_get_has_alpha): Constify.
	(gdk_pixbuf_get_bits_per_sample): Constify.
	(gdk_pixbuf_get_pixels): Constify.
	(gdk_pixbuf_get_width): Constify.
	(gdk_pixbuf_get_height): Constify.
	(gdk_pixbuf_get_rowstride): Constify.

	* gdk-pixbuf/gdk-pixbuf.c (gdk_pixbuf_copy): New function to copy
	a pixbuf.

	* gdk-pixbuf/gdk-pixbuf-data.c (gdk_pixbuf_new_from_data): Added a
	bits_per_sample argument; currently only 8 bits per sample are
	supported.

	* gdk-pixbuf/gdk-pixbuf-animation.c (gdk_pixbuf_frame_get_pixbuf):
	New accessor.
	(gdk_pixbuf_frame_get_x_offset): New accessor.
	(gdk_pixbuf_frame_get_y_offset): New accessor.
	(gdk_pixbuf_frame_get_delay_time): New accessor.
	(gdk_pixbuf_frame_get_action): New accessor.

	* gdk-pixbuf/gdk-pixbuf-render.c
	(gdk_pixbuf_render_pixmap_and_mask): Instead of returning a solid
	mask rectangle for pixbufs without an alpha channel, set the
	*mask_return to NULL.

	* gdk-pixbuf/gdk-pixbuf-util.c (gdk_pixbuf_add_alpha): Constify.

	* gdk-pixbuf/gdk-pixbuf-scale.c: Fix includes.

	* gdk-pixbuf/gdk-pixbuf-scale.c (gdk_pixbuf_scale): Added some
	preconditions.  Maybe we should also check for the colorspace,
	bits per pixel, and such.
	(gdk_pixbuf_composite): Likewise.
	(gdk_pixbuf_composite_color): Likewise.
	(gdk_pixbuf_scale_simple): Likewise, and fail gracefully if we
	cannot allocate the new pixbuf.
	(gdk_pixbuf_composite_color_simple): Likewise.

	* gdk-pixbuf/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_render):
	Use art_rgb_rgba_affine() or art_rgb_affine() since we no longer
	have an ArtPixBuf.

	* gdk-pixbuf/io-bmp.c: Fix includes.

	* gdk-pixbuf/pixops/pixops.c (pixops_scale_nearest): Fixed cast in
	an lvalue.

	* TODO: Populated.

	* configure.in: Removed checks for libart.

	* gdk-pixbuf/Makefile.am: Removed references to libart.
	(noinst_HEADERS): Added gdk-pixbuf-private.h.

	* gdk-pixbuf/Makefile.am (libgdk_pixbuf_la_LDFLAGS): Incremented
	the version number of the libtool library to indicate that this
	definitely is not compatible with the old usage.  I know you love
	me.  I know you do.

	* configure.in: Bumped version number to 0.7.0.

	* README: Updated.

	* gdk-pixbuf-config.in (--libs): We no longer require libart.

	* DEPENDS.libgdk_pixbuf: We no longer depend on libart.

	* gdk-pixbuf.spec.in: Updated, but I don't guarantee anything.

1889
1890
1891
1892
1893
2000-04-06  Jonathan Blandford  <jrb@redhat.com>

	* gdk-pixbuf/testanimation.c (main): add more info to the
	testanimation frames.

1894
1895
1896
1897
1898
1899
1900
1901
2000-04-04  Ettore Perazzoli  <ettore@helixcode.com>

	* gdk-pixbuf/gdk-pixbuf-animation.c
	(gdk_pixbuf_animation_get_width): New accessor function.
	(gdk_pixbuf_animation_get_height): New accessor function.
	(gdk_pixbuf_animation_get_num_frames): New accessor function.
	(gdk_pixbuf_animation_get_frames): New accessor function.

1902
1903
1904
1905
1906
2000-04-01  Federico Mena Quintero  <federico@helixcode.com>

	* gdk-pixbuf/gdk-pixbuf.c: Reverted Mark's change.  The refcount
	is private information, and the art_pixbuf will go away soon.

1907
1908
1909
1910
1911
2000-03-31  Mark Crichton  <crichton@gimp.org>

	* gdk-pixbuf/gdk-pixbuf.c: Added gdk_pixbuf_get_refcount
	and gdk_pixbuf_get_artpixbuf accessor functions.

1912
1913
1914
1915
1916
2000-03-29  Federico Mena Quintero  <federico@helixcode.com>

	* gdk-pixbuf/gdk-pixbuf.c (gdk_pixbuf_get_has_alpha): Return
	gboolean instead of int.