ChangeLog 108 KB
Newer Older
1
2
3
4
5
6
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
7
8
9
10
11
12
13
14
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.

15
16
17
18
19
20
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
21
22
23
24
25
26
27
28
29
30
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.

31
32
33
34
35
36
37
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.

38
39
40
41
42
43
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.

44
45
46
47
48
49
50
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). 

51
52
53
54
2002-03-15  Matthias Clasen  <maclas@gmx.de>

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

55
56
57
58
59
60
61
62
63
64
65
66
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.

67
68
69
70
71
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)

72
73
74
75
76
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
77
78
79
80
81
82
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.

83
84
85
86
87
88
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.

89
90
91
92
93
94
95
96
97
98
99
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.

100
101
102
103
104
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
105
106
107
108
109
110
111
112
113
114
115
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.

116
117
118
119
120
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)

121
122
123
124
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,
125
	Tomas gren)
126

127
128
129
130
131
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

132
2002-02-15  Matthias Clasen  <maclas@gmx.de>
133
134
135
136
137
138
139

	* 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.

140
2002-02-10  Matthias Clasen  <maclas@gmx.de>
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156

	* 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
157
158
159
160
161
Mon Feb 11 14:31:53 2002  Owen Taylor  <otaylor@redhat.com>

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

162
2002-02-10  Matthias Clasen  <maclas@gmx.de>
163
164
165
166
167
168
169
170
171
172
173
174
175

	* 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.

176
177
178
179
180
181
182
183
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.

184
185
186
187
2002-02-08  Federico Mena Quintero  <federico@ximian.com>

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

Darin Adler's avatar
Darin Adler committed
188
189
190
191
2002-02-08  Darin Adler  <darin@bentspoon.com>

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

192
193
2002-02-01  Matthias Clasen  <matthiasc@poet.de>

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

196
197
198
199
200
201
202
203
204
	* 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)

205
206
207
208
209
210
211
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.

212
213
214
Fri Jan 11 18:05:07 2002  Owen Taylor  <otaylor@redhat.com>

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

Owen Taylor's avatar
Owen Taylor committed
217
218
219
220
221
222
223
224
225
226
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
227
	dest <= dest_end properly. (#52001, fix from Michael Hore)
Owen Taylor's avatar
Owen Taylor committed
228

229
230
231
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
232
	SUBSAMPLE constant used elsewhere. (#51033)
233

234
235
236
237
238
239
240
241
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.

242
243
244
245
246
247
248
249
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.

250
251
252
253
254
255
256
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

257
258
259
260
261
262
263
264
265
266
267
268
269
270
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
271
272
273
274
2001-12-29  Tor Lillqvist  <tml@iki.fi>

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

Owen Taylor's avatar
Owen Taylor committed
275
276
277
278
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
279
280
281
282
283
284
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.

285
286
287
288
2001-12-16  Havoc Pennington  <hp@pobox.com>

	* gdk-pixbuf-scale.c: docs enhancements

289
290
291
292
2001-12-14  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

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

293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
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
315
316
317
318
2001-12-12  Matthias Clasen  <matthiasc@poet.de>

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

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

321
322
	* Makefile.am (INCLUDES): Define G_LOG_DOMAIN. (#66412)

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

325
326
327
328
329
330
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
331
332
333
334
335
336
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)

337
338
339
340
341
342
343
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
344
345
346
347
2001-11-30  Tor Lillqvist  <tml@iki.fi>

	* gdk_pixbuf.def: Add gdk_pixbuf_get_option.

348
349
350
351
352
353
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)

354
355
356
357
358
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.

359
360
361
362
363
364
365
366
367
368
369
370
371
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.

372
373
374
375
376
377
378
379
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

380
381
382
383
Sun Nov 18 07:54:22 2001  Owen Taylor  <otaylor@redhat.com>

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

384
385
386
387
2001-11-03  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

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

388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
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().

403
404
405
406
407
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)

408
409
410
411
412
413
2001-10-16  Matthias Clasen  <matthiasc@poet.de>

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

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

414
415
416
417
418
419
420
421
422
423
424
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)

425
426
427
428
429
430
431
432
433
434
435
436
437
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.

438
439
440
441
442
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.

443
444
445
446
2001-10-02  Sven Neumann  <sven@gimp.org>

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

447
448
449
450
451
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)

452
453
454
455
456
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
457
458
459
460
461
462
2001-09-21  Hans Breuer  <hans@breuer.org>

	* gdk-pixbuf.def : updated externals

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

463
464
465
466
467
468
469
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).

470
471
472
473
474
475
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).

476
477
478
479
480
481
482
483
484
485
486
487
488
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
489
490
491
492
493
494
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

495
496
497
498
499
Mon Sep 17 11:49:02 2001  Owen Taylor  <otaylor@redhat.com>

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

500
501
502
503
504
505
506
507
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]

508
509
510
511
512
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)

513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
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
	
544
545
546
547
548
549
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
550
551
552
553
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
554
555
556
557
558
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.

559
560
561
562
563
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.

564
565
566
567
Thu Aug 30 08:27:37 2001  Matthias Clasen  <matthiasc@poet.de>

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

568
569
570
571
572
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)

573
574
575
576
577
578
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>
579
580
581
582

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

583
2001-08-20  Matthias Clasen  <matthiasc@poet.de>
584
585
586
587
588
589
590

	* 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)

591
592
593
594
595
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().

596
597
598
599
600
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
601
602
603
604
2001-08-06  Kjartan Maraas  <kmaraas@gnome.org>

	* gdk-pixdata.c: Fix a typo.
	
605
606
607
608
609
2001-07-30  Hans Breuer  <hans@breuer.org>

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

610
611
612
613
614
615
616
617
618
619
620
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
 
621
622
623
624
625
626
627
628
629
630
631
632
633
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.

634
635
636
637
638
639
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.)

640
641
642
643
644
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
645
646
647
648
649
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 ().

650
651
652
653
654
655
656
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?)

657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
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.

673
674
675
676
677
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
678
679
680
681
682
2001-06-11  Havoc Pennington  <hp@redhat.com>

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

683
684
685
686
687
688
689
690
691
692
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

693
694
695
696
697
2001-06-07  Havoc Pennington  <hp@redhat.com>

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

698
699
700
701
2001-06-07  Havoc Pennington  <hp@redhat.com>

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

702
703
704
705
706
2001-06-05  Havoc Pennington  <hp@redhat.com>

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

707
708
709
710
711
712
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

713
714
715
716
717
2001-06-04  Havoc Pennington  <hp@redhat.com>

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

718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
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
	
749
750
751
752
2001-05-29  Darin Adler  <darin@eazel.com>

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

753
754
755
756
757
758
759
760
761
762
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

763
764
765
766
2001-05-25  Hans Breuer  <hans@breuer.org>

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

Owen Taylor's avatar
Owen Taylor committed
767
768
769
770
771
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).

772
773
774
775
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
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
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
805
806
807
808
Sun Apr 22 15:51:32 2001  Owen Taylor  <otaylor@redhat.com>

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

809
810
811
812
813
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
814
815
816
817
818
819
820
821
822
823
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.

824
825
826
827
828
829
830
831
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.

832
833
834
835
836
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
837
838
839
840
841
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
842
843
844
845
Thu Mar  1 04:01:57 2001  Tim Janik  <timj@gtk.org>

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

846
847
848
849
850
851
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

852
853
854
855
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
856
857
858
859
2001-02-17  Havoc Pennington  <hp@pobox.com>

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

860
861
862
863
864
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().

865
866
867
868
2001-02-06  Christophe Merlet  <redfox@eikonex.org>

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

869
870
871
872
873
874
875
876
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().

877
878
879
880
881
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++

882
883
884
885
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
886
887
888
889
890
891
892
893
894
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

895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
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

942
943
944
945
946
947
948
949
950
951
952
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
953
954
955
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
956
957
	g_win32_get_package_installation_subdirectory() function.  No need
	to include windows.h.
Tor Lillqvist's avatar
Tor Lillqvist committed
958
959
	(gtk_win32_get_installation_directory): Remove this then.

960
961
962
963
964
2001-01-01  Havoc Pennington  <hp@redhat.com>

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

965
966
967
968
2000-12-30  Tor Lillqvist  <tml@iki.fi>

	* gdk_pixbuf.def: Update.

969
970
971
972
973
974
975
976
977
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

978
979
980
981
Tue Nov 14 11:51:26 2000  Owen Taylor  <otaylor@redhat.com>

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

982
983
984
985
986
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

987
988
989
990
991
992
993
994
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

995
996
2000-11-11  Tor Lillqvist  <tml@iki.fi>

Tor Lillqvist's avatar
Tor Lillqvist committed
997
998
	* gdk_pixbuf.def: Add gdk_pixbuf_new_subpixbuf.

999
1000
1001
1002
1003
1004
	* 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.

1005
1006
1007
1008
1009
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
1010
1011
1012
1013
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
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
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
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
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
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
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.
	
1119
1120
1121
1122
1123
1124
1125
1126
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.

1127
1128
1129
1130
1131
1132
1133
1134
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

1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
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

1159
1160
1161
1162
1163
1164
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.)

1165
1166
1167
1168
1169
1170
1171
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.

1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
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

1192
1193
1194
1195
1196
2000-09-07  Tor Lillqvist  <tml@iki.fi>

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

1197
1198
1199
1200
2000-08-12  Tor Lillqvist  <tml@iki.fi>

	* gdk_pixbuf.def: Add missing entry point.

1201
1202
1203
1204
1205
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
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
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 '_'.

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

1220
2000-07-27  Elliot Lee  <sopwith@redhat.com>
1221

1222
1223
1224
1225
	* 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.
1226
1227
	* io-bmp.c: Don't malloc a temporary buffer - use stack instead.

Tor Lillqvist's avatar
Tor Lillqvist committed
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
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().

1268
1269
1270
1271
Sat Jul 22 10:57:22 2000  Owen Taylor  <otaylor@redhat.com>

	* Makefile.am (test_gdk_pixbuf_LDADD): Remove -lgmodule

1272
1273
1274
1275
Tue Jul 11 11:26:42 2000  Owen Taylor  <otaylor@redhat.com>

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

1276
1277
1278
1279
1280
1281
1282
1283
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.
        
1284
1285
1286
1287
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.
1288
	
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
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
1305
1306
1307
1308
1309
1310
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.

1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
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.

1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
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.

1335
1336
1337
1338
1339
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
1340
1341
1342
	(gdk_pixbuf_loader_animation_done): cycle over the frames to
	calculate bbox because now we finally have all the offset
	information for each frame.
1343

1344
1345
1346
2000-06-05	Mathieu Lacage  <mathieu@gnome.org>

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

1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
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!

1361
1362
1363
1364
1365
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>.

1366
1367
1368
1369
1370
2000-05-09  Darin Adler  <darin@eazel.com>

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

1371
1372
1373
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
1374
1375
1376
1377
1378
1379
1380
1381
1382
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.

1383
1384
1385
1386
1387
1388
1389
1390
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.

1391
1392
1393
1394
1395
1396
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.

1397
1398
1399
1400
1401
1402
1403
1404
1405
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.

1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
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.)

1424
1425
1426
1427
1428
1429
1430
1431
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.

1432
1433
1434
1435
1436
1437
1438
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
1439
1440
1441
1442
1443
2000-04-17  Karl Eichwalder  <ke@suse.de>

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

1444
2000-04-14 Tomasz K�opczko <kloczek@pld.org.pl>
1445
1446
1447
1448

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

1449
1450
1451
1452
1453
1454
1455
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.

1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
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
1511
1512
1513
1514
2000-04-12  Paolo Molaro <lupus@debian.org>

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

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
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
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.

1609
1610
1611
1612
1613
2000-04-06  Jonathan Blandford  <jrb@redhat.com>

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

1614
1615
1616
1617
1618
1619
1620
1621
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.

1622
1623
1624
1625
1626
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.

1627
1628
1629
1630
1631
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.

1632
1633
1634
1635
1636
2000-03-29  Federico Mena Quintero  <federico@helixcode.com>

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

Radek Doulik's avatar
Radek Doulik committed
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
2000-03-29  Radek Doulik  <rodo@helixcode.com>

	* gdk-pixbuf/gdk-pixbuf-animation.c
	(gdk_pixbuf_animation_new_from_file): same as below

	* gdk-pixbuf/io-gif.c (gif_get_lzw): added update of width and
	height in GdkPixbufAnimation

2000-03-28  Radek Doulik  <rodo@helixcode.com>

	* gdk-pixbuf/io-gif.c (gif_get_lzw): test also for
	context->frame_done_func and context->anim_done_func to make
	progressive animation loading work

	* gdk-pixbuf/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
	added priv->pixbuf = NULL as pixbuf is now in frame (and to make
	gdk_pixbuf_loader_prepare happy)
	(gdk_pixbuf_loader_frame_done): update animation bbox

	* gdk-pixbuf/gdk-pixbuf.h: added bbox size (width, height) to
	_GdkPixbufAnimation

2000-03-27  Radek Doulik  <rodo@helixcode.com>

	* gdk-pixbuf/io-gif.c (gif_get_lzw): use frame_len and frame_width
	instead of width and height

1664
1665
1666
1667
1668
1669
2000-03-27  Owen Taylor  <otaylor@redhat.com>

	* gdk-pixbuf/pixops/pixops.c: Fix problem with 
	precendence of >> and & which was keeping composite_color
	from working with non-gray images.

1670
1671
1672
1673
1674
2000-03-08  Jonathan Blandford  <jrb@redhat.com>

	* gdk-pixbuf/io-gif.c (gdk_pixbuf__gif_image_load): free the context.
	(gdk_pixbuf__gif_image_load_animation): free the context.

1675
1676
1677
1678
1679
1680
1681
2000-03-06  Arjan van de Ven <arjan@fenrus.demon.nl>

	* gdk-pixbuf/io-bmp.c: Fixed to pointer-bugs and a 
 	mis-interpretation of the Microsoft documentation. Now
  	it can load .BMP files that are not generated by The Gimp
 	as well.

Mark Crichton's avatar
Mark Crichton committed
1682
1683
1684
1685
1686
1687
1688
1689
2000-03-01  Mark Crichton  <crichton@gimp.org>

	* configure.in: Added BUILD_CANVAS_ITEM stuff to (finally)
	fix the last auto* build bug (where we have libart, but no
	gnome-libs)

	* gdk-pixbuf/Makefile.am: Same.

1690
1691
1692
1693
1694
2000-02-28  Matt Wilson  <msw@redhat.com>

	* gdk-pixbuf/gdk-pixbuf-drawable.c: s/unsigned long/guint32/g,
	s/unsigned short/guint16/g, s/unsigned char/guint8/g

1695
1696
1697
1698
1699
1700
2000-02-26  Federico Mena Quintero  <federico@helixcode.com>

	* README: We don't require libgif/ungif nor libXpm.

	* NEWS: This was outdated, so updated it.

1701
1702
1703
1704
1705
1706
2000-02-25  Federico Mena Quintero  <federico@helixcode.com>

	* gdk-pixbuf.m4: Use the correct name for
	gdk-pixbuf/gdk-pixbuf.h.  Thanks to Jacob Berkman for pointing
	this out.

Federico Mena Quintero's avatar
Federico Mena Quintero committed
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
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
1791
1792
1793
1794
1795
1796
1797
2000-02-21  Federico Mena Quintero  <federico@helixcode.com>

	* configure.in (GDK_PIXBUF_MINOR): Bumped version number to 0.6.0.

	* doc/compiling.sgml: New appendix documenting the gdk-pixbuf
	library's particular options to configure.in.

	* doc/gdk-pixbuf.sgml: Include compiling.sgml appendix via an
	entity.

	* doc/Makefile.am (gdk-pixbuf.html): Added compiling.sgml.

	* gdk-pixbuf/io-ico.c (gdk_pixbuf__ico_image_load_increment):
	Fixed typo in prototype name.

	* configure.in: Changed duplicated AC_MSG_CHECKING message to
	something more meaningful; now it is "checking whether dynamic
	modules work".

	* gdk-pixbuf/pixops/Makefile.am (noinst_PROGRAMS): Do not install
	the timescale program.

	Integrated Miguel de Icaza's <miguel@gnu.org> patch for optionally
	creating a single static library with all the image format modules
	in it.

2000-02-20  Miguel de Icaza  <miguel@gnu.org>

	* gdk-pixbuf/io-xpm.c (gdk_pixbuf__xpm_image_load): Add prefix.
	(gdk_pixbuf__xpm_image_load_xpm_data): Add prefix.

	* gdk-pixbuf/io-tiff.c (gdk_pixbuf__tiff_image_load_real): Add prefix.
	(gdk_pixbuf__tiff_image_stop_load): Add prefix.
	(gdk_pixbuf__tiff_image_load_increment): Add prefix.
	(gdk_pixbuf__tiff_image_load): Add prefix.
	(gdk_pixbuf__tiff_image_stop_load): Update invocation.
	(gdk_pixbuf__tiff_image_begin_load): Add prefix.

	* gdk-pixbuf/io-ras.c (gdk_pixbuf__ras_image_load): Add prefix.
	(gdk_pixbuf__ras_image_load): Updated invocation.
	(gdk_pixbuf__ras_image_begin_load): Add prefix.
	(gdk_pixbuf__ras_image_stop_load): Add prefix.
	(gdk_pixbuf__ras_image_load_increment): Add prefix.

	* gdk-pixbuf/io-pnm.c (gdk_pixbuf__pnm_image_begin_load): Add prefix.
	(gdk_pixbuf__pnm_image_stop_load): Add prefix.
	(gdk_pixbuf__pnm_image_load_increment): Add prefix
	(gdk_pixbuf__pnm_image_load): Add prefix.

	* gdk-pixbuf/io-jpeg.c (gdk_pixbuf__jpeg_image_load): Add prefix.
	(gdk_pixbuf__jpeg_image_load_increment): Add prefix.
	(gdk_pixbuf__jpeg_image_begin_load): Add prefix.
	(gdk_pixbuf__jpeg_image_stop_load): Add prefix.

	* gdk-pixbuf/io-ico.c (gdk_pixbuf__ico_image_load): Add prefix.
	(gdk_pixbuf__ico_image_load): update invocation.
	(gdk_pixbuf__ico_image_load_increment): Add prefix.
	(gdk_pixbuf__ico_image_load): update invocation.
	(gdk_pixbuf__ico_image_begin_load): Add prefix.
	(gdk_pixbuf__ico_image_load): update invocation.
	(gdk_pixbuf__ico_image_stop_load): Add prefix.

	* gdk-pixbuf/io-gif.c (gdk_pixbuf__gif_image_load_animation): Add prefix.
	(gdk_pixbuf__gif_image_load): Add prefix.
	(gdk_pixbuf__gif_image_begin_load): Add prefix.
	(gdk_pixbuf__gif_image_load_increment): Add prefix.
	(gdk_pixbuf__gif_image_load_animation): Add prefix.
	(gdk_pixbuf__gif_image_stop_load): Add prefix.

	* gdk-pixbuf/io-bmp.c (gdk_pixbuf__bmp_image_load): Add prefix.
	(gdk_pixbuf__bmp_image_load): Rename function called.
	(gdk_pixbuf__bmp_image_load_increment): Add prefix

	* gdk-pixbuf/io-png.c (gdk_pixbuf__png_image_load): Add prefix.
	(gdk_pixbuf__png_image_begin_load): Add prefix.
	(gdk_pixbuf__png_image_stop_load): Add prefix.
	(gdk_pixbuf__png_image_load_increment): Add prefix.

	* gdk-pixbuf/gdk-pixbuf-io.c (file_formats): Make this static.
	(gdk_pixbuf_load_module): Load the shared library entry points
	using a "gdk_pixbuf__$module_name" prefix.
	(pixbuf_module_symbol): Wrapper routine that uses the module
	prefix for the modules to load the information.

	* configure.in (GDK_PIXBUF_VERSION): New option --disable-modules
	lets the user specify that gdk-pixbuf should link all image loader
	code into the library instaed of creating shared library modules.
	
	(dynworks): Renamed the automake conditional DYNAMIC_MODULES_WORK
	to BUILD_DYNAMIC_MODULES.

1798
1799
1800
1801
1802
2000-02-19  Jonathan Blandford  <jrb@redhat.com>

	* gdk-pixbuf/io-gif.c (new_context): fix case where initial
	colormap entry is Transparent.

1803
1804
1805
1806
1807
2000-02-19  Owen Taylor  <otaylor@redhat.com>

	* gdk-pixbuf/pixops/pixops.c (scale_pixel): Fix error in
	scale factors for non-alpha case.

1808
1809
1810
1811
1812
2000-02-14  Mark Crichton  <crichton@gimp.org>

	* gdk-pixbuf/io-xpm.c (xpm_extract_color): Added check for "g" color type.
	Imlib/libXpm handle this, but we didn't.

Darin Adler's avatar
Darin Adler committed
1813
1814
1815
1816
1817
2000-02-14  Darin Adler  <darin@eazel.com>

	* gdk-pixbuf/testpixbuf.c: Remove now-unnecessary cast.
	* .cvsignore: gdk-pixbuf/.cvsignore: More to ignore.

Elliot Lee's avatar
Elliot Lee committed
1818
1819
1820
2000-02-14  Elliot Lee  <sopwith@redhat.com>
	* gdk-pixbuf/gdk-pixbuf.h, gdk-pixbuf/gdk-pixbuf-data.c: Make passed-in argument 'const'.

1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
2000-02-04  Michael Meeks  <mmeeks@gnu.org>

	* gdk-pixbuf/io-gif.c (struct _GifContext): add x,y_offset.
	(gif_get_frame_info): put the offsets on the context.
	(gif_get_lzw): copy them off into the frame.
	(new_context): no change required; will 0 offsets by default.

2000-01-28  Michael Meeks  <michael@mejm2.dow.cam.ac.uk>

	* gdk-pixbuf/pixops/pixops.c (pixops_process): const + nasty
	un-consting cast.

	* gdk-pixbuf/pixops/pixops.h: const.

	* gdk-pixbuf/gdk-pixbuf-util.c: const.
	
	* gdk-pixbuf/gdk-pixbuf-scale.c: const.

	* gdk-pixbuf/gdk-pixbuf.h: constify lots of things.

1841
1842
1843
1844
1845
1846
1847
1848
1849
2000-02-03  Federico Mena Quintero  <federico@helixcode.com>

	* gdk-pixbuf/gdk-pixbuf-render.c
	(gdk_pixbuf_render_threshold_alpha): Added sanity check for width
	and height being >= 0.  Also, do nothing if either of them is
	zero.  Thanks to Ettore for pointing this out.
	(gdk_pixbuf_render_to_drawable): Likewise.
	(gdk_pixbuf_render_to_drawable_alpha): Likewise.

1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
2000-02-02  Federico Mena Quintero  <federico@helixcode.com>

	* gdk-pixbuf/io-gif.c (gif_get_lzw): Removed debugging g_print.
	Thanks to John Sullivan <sullivan@eazel.com> for the patch.

	* gdk-pixbuf/testpixbuf-drawable.c (configure_cb): Get a new area
	of the screen when the window is resized.  Thanks to David
	N. Welton <davidw@linuxcare.com> for pointing this out.
	Misc. cleanups to the rest of the file.

1860
1861
1862
1863
1864
1865
1866
2000-02-01  Federico Mena Quintero  <federico@helixcode.com>

	* doc/tmpl/rendering.sgml: gnome_init() does not call
	gdk_rgb_init(), so don't mention that it does in the
	documentation.  Thanks to Alexander Kruuse <kruuse@home.se> for
	pointing this out.

Havoc Pennington's avatar
Havoc Pennington committed
1867
1868
1869
1870
2000-01-31  Havoc Pennington  <hp@redhat.com>

	* gdk-pixbuf/Makefile.am (noinst_PROGRAMS): no testpixbuf-foo target

1871
1872
1873
1874
1875
Mon Jan 31 12:38:50 2000  Owen Taylor  <otaylor@redhat.com>

	* gdk-pixbuf/pixops/pixops.c (scale_line): Fix from Peter
	Wainwright to fix 4a => 4a scaling.

1876
1877
1878
1879
1880
2000-01-29  Mark Crichton  <crichton@gimp.org>

	* gdk-pixbuf-config: Oh dear, we weren't Telsa/Alan proof...
	put `libart-config --libs` in instead of -lart_lgpl.

1881
1882
2000-01-22  Federico Mena Quintero  <federico@helixcode.com>

Arturo Espinosa's avatar
Arturo Espinosa committed
1883
1884
1885
1886
1887
1888
1889
	* gdk-pixbuf/io-pnm.c (pnm_read_raw_scanline): Return an error on
	invalid pnm type.
	(pnm_read_ascii_scanline): Initialize data and mask.

	* gdk-pixbuf/io-xpm.c (pixbuf_create_from_xpm): Initialize
	fallbackcolor to keep gcc happy.

1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
	* configure.in: Bumped version number to 0.5.0.

	* gdk-pixbuf/pixops/timescale.c (dump_array): Removed unused variable.
	(main): Return 0.

	* gdk-pixbuf/pixops/pixops.c (pixops_composite_color_nearest): Put
	parentheses around + in a shift to remove a compiler warning.
	(pixops_process): Likewise.

	Patch from Ross Golder <rossigee@bigfoot.com> to create an RPM
	specfile:

	* configure.in: Added gdk-pixbuf.spec to AC_OUTPUT.

	* Makefile.am (EXTRA_DIST): Added gdk-pixbuf.spec.in

1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
2000-01-22  Federico Mena Quintero  <federico@helixcode.com>

	* gdk-pixbuf/gnome-canvas-pixbuf.c (PixbufPrivate): Removed the
	x_set and y_set arguments.  Now they are always on and start with
	defaults of 0.0 in units.
	(gnome_canvas_pixbuf_class_init): Likewise.
	(gnome_canvas_pixbuf_set_arg): Likewise.
	(gnome_canvas_pixbuf_get_arg): Likewise.
	(compute_viewport_affine): Likewise; always use the priv->x and
	priv->y fields.

	* doc/tmpl/gnome-canvas-pixbuf.sgml: Modified to reflect the
	removal of the x_set/y_set arguments.

1920
1921
1922
1923
1924
1925
1926
1927
2000-01-21  Federico Mena Quintero  <federico@helixcode.com>

	* gdk-pixbuf/gdk-pixbuf.c (gdk_pixbuf_ref): Return the same pixbuf
	as the input parameter.

	* gdk-pixbuf/gdk-pixbuf-animation.c (gdk_pixbuf_animation_ref):
	Return the same animation as the input parameter.

1928
2000-01-16  Elliot Lee  <sopwith@redhat.com>
1929

Elliot Lee's avatar
Elliot Lee committed
1930
	* gdk-pixbuf/Makefile.am: Don't link against libgnomecanvaspixbuf.la
1931

1932
1933
2000-01-16  Federico Mena Quintero  <federico@helixcode.com>

1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
	* configure.in: Removed the broken --enable-canvas-pixbuf option.
	Added the stuff necessary to substitute the variables in
	gnomecanvaspixbufConf.sh.in.

	* gnomecanvaspixbufConf.sh.in: New gnome-config handler for the
	tiny gnomecanvaspixbuf library.

	* Makefile.am: Build gnomecanvaspixbufConf.sh.

	* gdk-pixbuf/Makefile.am: Create a libgnomecanvaspixbuf and only
	build it if gdk-pixbuf is being built outside of gnome-libs.

	* doc/gdk-pixbuf-sections.txt: Added gdk_pixbuf_render_pixmap_and_mask().

	* gdk-pixbuf/gdk-pixbuf-render.c
	(gdk_pixbuf_render_pixmap_and_mask): Renamed from
	gdk_pixbuf_render_pixmap().  Do not create the mask if it is not
	needed, and do not use a clipping mask when rendering the pixmap.
	Tweaked documentation a little.
1953
1954
1955
1956

	* HACKING: New file with hacking policies for the gdk-pixbuf
	module.