12004-12-29  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
2
3	* magick/image.c (DescribeImage): Add normalized channel
4	statistics to output.
5
6	* NEWS: Updated with changes since July.
7
8	* magick/constitute.c (ImportImagePixelArea): For GrayQuantum,
9	GrayInvertedQuantum, GrayAlphaQuantum, and
10	GrayInvertedAlphaQuantum, observe image storage_class so that a
11	gray DirectClass image may be created.
12
13	* coders/tiff.c (ReadTIFFImage): Fix overflow when computing
14	colormap size for bits-per-sample of 32.
15	(WriteTIFFImage): Support writing 32-bit RGB(A) for
16	QuantumDepth=32 build.
17	(ReadTIFFImage): Support reading 32-bit RGB(A) for QuantumDepth=32
18	build.  Support reading 32-bit grayscale without any quality loss
19	for QuantumDepth=32 build.
20
212004-12-28  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
22
23	* coders/tiff.c (WriteTIFFImage): TrueColor 16-bits/sample RGB
24	images were being written incorrectly on little-endian CPUs.
25	Added byte swapping to fix this problem.
26
272004-12-26  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
28
29	* magick/operator.c: New file for quantum operator implementation.
30	(QuantumOperatorImage): Moved from image.c.
31	(QuantumOperatorRegionImage): Moved from from image.c.
32
332004-12-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34
35	* magick/Makefile.am (MAGICK_BASE_SRCS): Remove mention of
36	non-existent mmath.h.
37
38	* configure.ac: AC_LIBTOOL_SETUP is an internal macro and must not
39	be used externally (will be pulled in automatically).
40
41	* PerlMagick/Makefile.am: Missing file needed to be committed to CVS.
42
43	* tests/Makefile.am (TESTS_TIFF_XFAIL_TESTS): EPT and PTIF tests
44	are expected to fail if libtiff is missing.
45
462004-12-21  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
47
48	* TODO.txt: Organized todo list for 1.2 release.
49
502004-12-20  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
51
52	* coders/bmp.c (WriteBMPImage): Handle the case where the image
53	has an over-sized colormap.  Was writing on unallocated heap memory.
54
55	* coders/dib.c (WriteDIBImage): Handle the case where the image
56	has an over-sized colormap.  Was writing on unallocated heap memory.
57
582004-12-19  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
59
60	* magick/gem.c (Modulate): Hue argument now represents a rotation
61	from -180 degrees to +180 degrees expressed as an argument of 0 to
62	2.0 (1.0 for no change). Note that this change also effects the
63	-modulate argument and the Magick++ modulate method(). This change
64	is made because the previous hue adjustment strategy only
65	succeeded in corrupting the image.
66
672004-12-04  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
68
69	* magick/nt_base.c (opendir): Ensure that data may not overwrite
70	the stack.
71	(readdir): Ensure that data may not overwrite the stack.
72
73	* magick/blob.c (ImageToBlob): Ensure that image->logging is
74	set prior to encoding image.
75
76	* magick/constitute.c (WriteImage): Ensure that image->logging is
77	set prior to encoding image.
78
792004-11-30  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
80
81	* rungm.sh.in: Compute final variable definitions from within
82	configure in order to improve MinGW test execution times.
83
842004-11-15  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
85
86	* coders/gif.c: Fix two error-path memory leaks which were noticed
87	by Glenn Randers-Pehrson.
88
892004-11-10  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
90
91	* coders/png.c (UnregisterPNGImage): Eliminate Warning: module
92	registration for "JNG" from module "PNG" still present!
93
942004-11-08  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
95
96	* magick/constitute.c (DispatchImage): Fix documentation error
97	regarding return status.
98
992004-11-07  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
100
101	* magick/nt_base.h: Only define HAVE_GLOBALMEMORYSTATUSEX for MSVC
102	7.0 and later.
103
1042004-11-07  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
105
106	* coders/tiff.c (WriteTIFFImage): Ensure that words in the
107	scanline are converted to little-endian format on little-endian
108	CPUs.
109
1102004-11-06  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
111
112	* magick/utility.c (MagickStrlCat): New function which is
113	equivalent to to OpenBSD's strlcat() function.  Concatenates one
114	string onto another within a fixed size buffer while ensuring null
115	termination.
116	(MagickStrlCpy): New function which is equivalent to OpenBSD's
117	strlcpy() function.  Copies a string into a fixed size buffer
118	while ensuring null termination.
119
120	* coders/gif.c (DecodeImage): Improve handling of corrupt GIF
121	files.  Resolves SourceForge bug #1042904.  Also, eliminate a
122	potential memory leak.
123
124	* magick/constitute.c (WriteImages): ImageInfo argument is now a
125	const pointer.
126
1272004-10-26 Glenn Randers-Pehrson <glennrp@glennrp.com>
128
129	* magick/render.c (TracePath): Applied bugfix from Cristy.
130
1312004-10-09  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
132
133	* magick/resource.c (InitializeMagickResources): Use
134	GlobalMemoryStatusEx if it is available.
135
136	* magick/nt_base.c (lt_dlopen): Handle errors while loading
137	modules rather than allow Windows to display a GUI dialog box.
138	(NTKernelAPISupported): New function to support testing to see if
139	a Windows kernel API is supported.
140
141	* magick/constitute.c (ExportImagePixelArea): Add special-case for
142	bilevel gray image in order to restore performance.
143	(ImportImagePixelArea): Add special-case for bilevel gray image in
144	order to restore performance.
145
146	* coders/jpeg.c (ReadJPEGImage): Fix GCC warning about variable
147	being clobbered by longjmp.
148
149	* Re-port build to MinGW. Modules build passes all tests.
150
151	* Skip build and install of modules if a key library is not available.
152
153	* Partial recode of metadata handling to use Get/Set profile
154	functions.  Big job!
155
156	* GCC warnings reduction.
157
158	* Remove MVG detection from magic.mgk due to security risk.
159
1602004-09-19  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
161
162	* coders/tiff.c (WriteTIFFImage): Properly detect and handle
163	errors reported by libtiff so that failure is reported rather than
164	writing a corrupted output file.
165	(WriteNewsProfile): Re-write so implementation is easier to
166	understand.
167
1682004-09-14  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
169
170	* coders/tiff.c: Don't use deprecated tiff.h _SUPPORT defines.
171	Support retrieving and saving XMP profile.  Use profile set/get
172	methods in implementation.
173
174	* coders/mat.c,coders/topol.c (ReadBlobWordLSB,ReadBlobDoublesLSB):
175	Use better variable name than `I` for image.
176
1772004-09-07  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
178
179	* coders/miff.c (WriteMIFFImage): Ensure that MIFF files are never
180	written with bogus compression values.
181
182	* magick/image.h: Protected/hid constants which only exist to
183	support the library implementation.
184
185	* tests/Makefile.am (TESTS_X11_XFAIL_TESTS): Fixed syntax error.
186
187	* Makefile.am: Use one Makefile to rule them all as described in
188	Peter Miller's excellent paper, Recursive Make Considered Harmful,
189	"http://www.pcug.org.au/~millerp/rmch/recu-make-cons-harm.html".
190	Some glitches may remain.
191
192	* coders/tiff.c (TIFFErrors): Prevent possible stack overflow on
193	error.
194	(TIFFWarnings): Prevent possible stack overflow on error.
195
196	* magick/constitute.c (ImportImagePixelArea): For RGBQuantum
197	initialize the opacity channel since it is easier than altering
198	all code to properly access it.
199
2002004-09-02  Glenn Randers-Pehrson <glennrp@glennrp.com>
201
202	* magick/transform.c: Bugfix from Cristy in CoalesceImages().
203
2042004-08-26  Glenn Randers-Pehrson <glennrp@glennrp.com>
205
206	* Avoid error introduced in libpng-1.2.6 that causes the encoder
207	to write out-of-spec zlib header bytes.
208
2092004-08-24  Glenn Randers-Pehrson <glennrp@glennrp.com>
210
211	* coders/bmp.c is said to have a potential buffer overrun.
212	Patch from Cristy applied (also to avi.c and dib.c).
213
2142004-08-23  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
215
216	* coders/tiff.c (WriteTIFFImage): Use ExportImagePixelArea to
217	write grayscale and colormapped output.
218
219	* magick/constitute.c (ImportImagePixelArea): Implemented support
220	for GrayInvertedQuantum & GrayInvertedAlphaQuantum.
221	(ExportImagePixelArea): Implemented support for
222	GrayInvertedQuantum & GrayInvertedAlphaQuantum.
223
224	* magick/constitute.h (enum QuantumType): Added
225	GrayInvertedQuantum & GrayInvertedAlphaQuantum to support
226	min-is-white gray images.
227
2282004-08-22  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
229
230	* PerlMagick/t/tiff/write.t: Adjusted file naming.
231
232	* PerlMagick/t/tiff/read.t: Added more tests.
233
234	* coders/tiff.c (ReadTIFFImage): Use ImportImagePixelArea to read
235	PseudoClass tiff.
236	(WriteTIFFImage): Allow user to set the bits-per-sample define to
237	any value in the range of 1 to 32.
238	(ReadTIFFImage): Fix endian-reordering for DirectClass read and
239	bits-per-sample values ranging 9-15.
240
241	* coders/rgb.c: Support reading & writing 32-bit depths for raw
242	RGB images.
243
244	* coders/cmyk.c: Support reading & writing 32-bit depths for raw CMYK
245	images.
246
247	* coders/gray.c: Support reading & writing 32-bit depths for raw gray
248	images.
249
250	* magick/deprecate.c (PopImagePixels): Deprecated function.
251	(PushImagePixels): Deprecated function.
252
253	* magick/constitute.c (ExportImagePixelArea): New function to
254	export pixel region using specified QuantumType and
255	bits-per-sample.
256	(ImportImagePixelArea): New function to import pixel region using
257	specified QuantumType and bits-per-sample.
258
2592004-08-14  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
260
261	* magick/cache.c (ClonePixelCache): It appeared that cloning a
262	disk-based pixel cache was limited to the maximum value of
263	size_t. This would result in a truncated cache.  The offset type
264	is changed from size_t to magick_off_t in order to avoid this.
265
266	* configure.ac: Check to see if the `char` type is unsigned,
267	mostly out of curiosity since the code does not currently make use
268	of the result.
269
270	* Fixed many compilation warnings when the compiler warning level
271	is set as high as possible.
272
273	* configure.ac: Check /usr/share/ghostscript/fonts for Ghostscript Type1
274	fonts.
275
2762004-08-13  Glenn Randers-Pehrson <glennrp@glennrp.com>
277
278	* tEXt and zTXt were inadvertently included in list of unused chunks.
279
2802004-08-09  Glenn Randers-Pehrson <glennrp@glennrp.com>
281
282	* fix incorrect argument to png_set_keep_unknown_chunks().
283
2842004-08-07  David R. Linn  <drl@vuse.vanderbilt.edu>
285
286	* www/formats.html: Titles for JNG and MNG were reversed.
287
2882004-08-07  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
289
290	* magick/widget.c (XCommandWidget): Replace ImageMagick logo in
291	display command menu with GraphicsMagick logo.
292
2932004-08-05  Glenn Randers-Pehrson <glennrp@glennrp.com>
294
295	* coders/png.c: Fixes for CERT security alert TA04-217A described
296	at "http://www.us-cert.gov/cas/techalerts/TA04-217A.html".
297
2982004-08-02  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
299
300	* magick/image.h (Image): Changed type of `colors` and `depth`
301	members from type `unsigned long` to `unsigned int`. This change
302	is made because on 64-bit CPUs, `unsigned long` is a 64-bit
303	type. The depth member is often used in switch statements.  It is
304	not recommended to use 64-bit types in switch statements.  The
305	maximum number of colors in the colormap is limited to 64K so a
306	64-bit type is not required.
307
3082004-08-01  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
309
310	* coders/tiff.c (ReadTIFFImage): Restore previous 8/16
311	bits-per-sample support code in order to regain lost performance.
312
3132004-07-31  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
314
315	* coders/tiff.c (ReadTIFFImage): Support reading RGB/CMYK scanline
316	oriented TIFF images with arbitrary depth.
317
3182004-07-28  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
319
320	* Makefile.am:  Update to Automake 1.9.
321
3222004-07-20  Mike Chiarappa  <mikechiarappa@libero.it>
323
324	* BCBMagick\magick\GM_magick.bpr: Updated to reflect changes since last update.
325
326	* BCBMagick\magick\libMagick.bpr: Updated to reflect changes since last update.
327
328	* BCBMagick\bzlib\GM_bzlib.bpr: Updated version number.
329
330	* BCBMagick\lcms\BCB6\GM_lcms.bpr: Updated version number.
331
332	* BCBMagick\Magickpp\lib\GM_magickpp.bpr: Updated version number.
333
334	* BCBMagick\ttf\GM_ttf.bpr: Updated version number.
335
336	* BCBMagick\zlib\GM_zlib.bpr: Updated version number.
337
338	* BCBMagick now support full LZW encoding (read/write).
339
3402004-07-24  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
341
342	* tiff/libtiff/tif_lzw.c: Replace with version which supports LZW encoding.
343
344	* magick/channel.c: New source file.
345	(ExportImageChannel): New function to export an image channel.
346	(ImportImageChannel): New function to import an image channel.
347
3482004-07-20  Mike Chiarappa  <mikechiarappa@libero.it>
349
350	* lcms/src/cmsio1.c: Test [testcms.c] related to lcms 1.13 fail
351	with error #12288 when perform "Checking saved linearization
352	devicelink".  Fixed function __cmsSaveProfile().  "...malloc(0) is
353	implementation dependent and may return non NULL pointer on some
354	compilers, like VC++ and gcc. This is not the case of Borland C++
355	Builder" - Thanks to Marti Maria that have supplied me this
356	patched file: this will be part of the next lcms 1.14 which
357	probabily will be released on summer's end.
358
3592004-07-20  Mike Chiarappa  <mikechiarappa@libero.it>
360
361	* lcms/include/lcms.h: Modified to achieve BCBMagick DLL compilation.
362	Included modifications was introduced in GM in 2004-01-16 and
363	probabily lost with latest update of library.
364
3652004-07-20  Mike Chiarappa  <mikechiarappa@libero.it>
366
367	* BCBMagick: Updated lcms to version 1.13.
368	  + Modified files: BCBMagick\All\bcbMagick.mak; BCBMagick\lcms\BCB6\GM_lcms.bpr;
369	    BCBMagick\lcms\BCB6\lcms.bpg; BCBMagick\lcms\BCB6\lcms.bpr;
370	    BCBMagick\lcms\BCB6\testcms.bpr
371	  + Deleted files: BCBMagick\lcms\BCB6\lcms.cpp; BCBMagick\lcms\BCB6\testcms.cpp
372	  + Added file: BCBMagick\lcms\BCB6\lcms.bpf
373
3742004-07-19  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
375
376	* doc/options.imdoc: Fix typo regarding -define tiff:samples-per-pixel.
377
378	* doc/GNUmakefile (utility-install): Utility HTML targets were not being installed.
379
3802004-07-17  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
381
382	* lcms: Updated to version 1.13.
383
3842004-07-17  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
385
386	* version.sh (CVS_BRANCH_TAG): Record the CVS branch tag that
387	source package is obtained from.
388
3892004-07-17  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
390
391	* configure.ac: Pass essential flags on down to subordinate
392	configures when performing `make distcheck`.  Support DESTDIR
393	installs for PERL 5.8.1 and later, which support DESTDIR
394	internally.
395
3962004-07-16  Mike Chiarappa  <mikechiarappa@libero.it>
397
398	* BCBMagick\coders\libCoders.bpr; BCBMagick\magick\GM_magick.bpr: include
399	  file jbig.h could not be found during compilation. Solved.
400
4012004-07-15  Mike Chiarappa  <mikechiarappa@libero.it>
402
403	* BCBMagick\magick\magick_config.h.: enabled LZW compression by default.
404
405	* BCBMagick: included jbig delegate library.
406	  + Modified these files into directory BCBMagick: All\bcbMagick.mak;
407	    All\GMlib.bpg; All\GMdll.bpg; coders\libCoders.bpr; magick\GM_magick.bpr;
408	    utilities\gm_lib.bpr; utilities\gm_dll.bpr
409	  + Added these files into new directory BCBMagick\jbig: jbig.bpr;
410	    jbig.bpf; GM_jbig.bpr; GM_jbig.c; tstcodec.bpr
411	  + Modified file jbig\jbiglib\jbig.h;
412
413	* BCBMagick\readme.txt: updated documentation.
414
4152004-07-10  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
416
417	* magick/command.c (MogrifyUsage): -ordered-dither help was
418	formatted incorrectly.
419
420	* doc/options.imdoc: Improve formatting a bit for manual pages and
421	fix some syntax errors.
422
4232004-07-09  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
424
425	* NEWS: Updated to reflect changes since last update.
426
4272004-07-09  Glenn Randers-Pehrson <randeg@alum.rpi.edu>
428
429	* coders/bmp.c (ReadBMPImage): Removed if-test on reading
430	red_mask, green_mask, and blue_mask.  These are only *valid*
431	under certain conditions, but they are always present in the
432	file.
433
4342004-07-08  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
435
436	* Enable LZW compression by default.
437
4382004-07-05  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
439
440	* coders/jpeg.c (WriteJPEGImage): Don't enable Huffman compression
441	for large images (> 16 Mpixels for the moment) in order to
442	conserve memory.  When Huffman compression is enabled the entire
443	image is buffered in memory prior to encoding and writing
444	anything.  Huffman compression is a method of eliminating
445	redundant data so when the Huffman compression is disabled, files
446	sizes will be larger, but otherwise the image is the same.
447
448	* wand/magick_wand.c (MagickSetPassphrase): String was being
449	copied to a null pointer.  Now memory is allocated as required
450	prior to a copy.
451	Ensure that all unimplemented functions return a proper error
452	report.
453
4542004-07-01  Mike Chiarappa  <mikechiarappa@libero.it>
455
456	* BCBMagick: updated to GraphicsMagick v.1.2
457
458	* BCBMagick\All: project GMlib-1.1.bpr has been replaced with
459	GMlib.bpr
460
461	* BCBMagick\All: project GMdll-1.1.bpr has been replaced with
462	GMdll.bpr
463
464	* BCBMagick\readme.txt: updated documentation.
465
4662004-06-28  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
467
468	* magick/command.c (MogrifyImage): For -units, don't reset
469	resolution if units are undefined. Report an error if the -units
470	argument is not supported.
471
4722004-06-27  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
473
474	* magick/command.c (MogrifyImage): When setting image units, also
475	adjust existing image x_resolution and y_resolution so that
476	existing image resolution is not trashed.
477	(MogrifyImage): When re-sampling an image, report an error if the
478	image does not contain a valid resolution.
479
4802004-06-21  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
481
482	* coders/pcx.c (WritePCXImage): Support writing large PCX files.
483	(WritePCXImage): Ensure that UndefinedResolution is handled
484	properly. Avoid round-off error for centimeter based resolution.
485
4862004-06-10  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
487
488	* configure.ac: Look for mozilla by default rather than netscape.
489
4902004-06-02  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
491
492	* magick/type.c (ReadTypeConfigureFile): Determine location of
493	Ghostscript fonts only once in order to improve performance.
494
495	* magick/nt_base.c (NTGhostscriptFonts): Properly determine
496	Ghostscript font location for Ghostscript 8.0 and later.
497
498	* GraphicsMagick.spec.in: Install *-config scripts with mode 755
499	rather than default 644.
500
5012004-05-30  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
502
503	* magick/module.c (InitializeModuleSearchPath): Evaluate and cache
504	module search path.
505	(FindMagickModule): Use cached module search path.
506	(OpenModules): Load all modules rather than just the modules in
507	the directory where the LOGO module is found.  Besides allowing
508	user-provided modules in non-GraphicsMagick directories to be
509	loaded, this allows the "moby" shared build to load additional
510	modules via OpenModules.
511
5122004-05-28  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
513
514	* utilities/Makefile.am (check): Add convert -list tests.
515
5162004-05-23  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
517
518	* configure.ac: Magick++ needs to be built as a static library
519	under Cygwin and MinGW since C++ exceptions don't work otherwise.
520	Be more assertive about that.
521
522	* magick/nt_base.h: Avoid conflict with ssize_t definition under
523	MinGW.
524
5252004-05-22  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
526
527	* magick/constitute.c (DispatchImage): Support 8-bit output to
528	common formats BGR, BGRO, BGRP, RGB, RGBO, and I as special cases
529	in order to improve performance.
530	(ConstituteImage): Support 8-bit input from common formats BGR,
531	BGRO, BGRP, RGB, RGBO, and I as special cases in order to improve
532	performance.
533
5342004-05-20  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
535
536	* ltmain.sh: Fix to allow exe wrapper to work under MinGW.
537
538	* wand/magick_compat.c (QueryMagickColor): Fixed DLL export.
539
540	* wand/magick_wand.c: Fixed some DLL exports (MagickExport->WandExport).
541
5422004-05-17  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
543
544	* magick/image.c (SetImageClipMask): Consistently report any
545	exceptions to image->exception.
546
5472004-05-16  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
548
549	* Makefile.am: Update to Automake 1.8.5.
550
551	* magick/image.h (ImageInfo): New `progress` monitor to indicate
552	if progress monitor and busy cursor are enabled while displaying
553	an image.  Defaults to True.
554
555	* magick/display.c, magick/xwindow.c: Use +progress to disable
556	progress monitor and busy cursor.
557
558	* magick/command.c (MogrifyUsage): Usage didn't list -operator.
559	(ConvertUsage): Usage didn't list -operator.
560
5612004-05-15  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
562
563	* magick/compress.c (HuffmanDecodeImage): Properly return error status.
564	(HuffmanEncode2Image): Properly return error status.
565
566	* magick/composite.c (CompositeImage): Properly return error status.
567
568	* magick/quantize.c (ClassifyImageColors): Properly return error status.
569	(GetImageQuantizeError): Properly return error status.
570	(OrderedDitherImage): Properly return error status.
571
572	* magick/profile.c (ProfileImage): Properly return error status.
573
574	* magick/paint.c (ColorFloodfillImage): Properly return error status.
575	(MatteFloodfillImage): Properly return error status.
576	(OpaqueImage): Properly return error status.
577	(TransparentImage): Properly return error status.
578
579	* magick/enhance.c (ContrastImage): Properly return error status.
580	(EqualizeImage): Properly return error status.
581	(GammaImage): Properly return error status.
582	(LevelImage): Properly return error status.
583	(LevelImageChannel): Properly return error status.
584	(ModulateImage): Properly return error status.
585	(NegateImage): Properly return error status.
586	(NormalizeImage): Properly return error status.
587
588	* magick/image.c (GetImageClipMask): New function to retrieve an
589	associated clip-mask image.
590	(SetImageClipMask): Clip-mask image parameter may be const since
591	it is cloned prior to storage.
592	(ChannelImage): Properly return error status.
593	(GradientImage): Properly return error status.
594	(RGBTransformImage): Properly return error status.
595	(TransformRGBImage): Properly return error status.
596	(SyncImage): Return an error status.
597
598	* magick/enhance.c (NegateImage): If image has a clip mask,
599	then force image to DirectClass so clip mask takes effect.
600
6012004-05-15  Vladimir Lukianov  <lvm@integrum.ru>
602
603	* magick/image.c (SetImageOpacity): Ensure that image is
604	DirectClass. If specified opacity is TransparentOpacity, then
605	replace existing opacity with TransparentOpacity.
606
6072004-04-20  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
608
609	* configure.ac: Avoid duplicated test status messages for __func__
610	tests.  Avoid duplicated test status message for jpeg 6b test.
611
6122004-04-19  Patrick Welche  <prlw1@newn.cam.ac.uk>
613
614	* www/header.html: HTML syntax fixes.
615
6162004-04-18  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
617
618	* : Change web pages to a frames-based design.
619
6202004-04-17  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
621
622	* utilities/Makefile.am (check): Change geometry arguments which
623	were expressed as 0.0xVAL to avoid the problematic Linux scanf
624	feature back to 0xVAL.
625
6262004-04-14  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
627
628	* magick/symbols.h (GetMagickDimension): Added GetMagickDimension.
629
6302004-04-11  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
631
632	* magick/utility.c (GetMagickDimension): New function to replace
633	occurances of scanf(geometry,"%lfx%lf",&w,&h) since Linux scanf()
634	and strtod() misbehave for strings that start with "0x". The Linux
635	versions always treat 0x as the start of a value expressed in hex
636	and can't be forced to read the leading value as a double.  This
637	function has been applied globally to replace the problem scanf's.
638
639	* magick/version.h.in: Make it clear in the -version output that a
640	mutitude of copyrights and licenses apply to this software.
641
642	* magick/utility.c (GetPathComponent): Avoid strncpy() of
643	overlapping regions.
644
645	* magick/command.c (DisplayImageCommand): Eliminate double-free
646	of resource_info->image_geometry.
647	(DisplayImageCommand): `display` was improperly requiring at least
648	one argument (bug was added yesterday).
649
6502004-04-10  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
651
652	* utilities/gm.c (main): Default usage message wasn't right for
653	aliased utility.
654
655	* configure.ac: Added the --enable-magick-compat option to install
656	compatibility links to emulate ImageMagick commands.
657
658	* magick/command.c: Ensure that each sub-command responds to -help
659	and -version appropriately.
660
661	* utilities/gm.c (main): Invoke appropriate sub-command if gm is
662	executed under a traditional alternate name such as "convert". The
663	user may create hard or symbolic links from `gm` to a traditional
664	ImageMagick utility name (or just copy `gm` to the desired
665	sub-command name) in order to be 100% command-line compatible with
666	ImageMagick 5.5.2. This is necessary in order to work with
667	existing software designed to execute ImageMagick utilities.
668
6692004-04-08  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
670
671	* magick/compress.c (Ascii85Tuple): Encoding bug is indeed fixed
672	on DEC Alpha. Also warnings reduction with Digital Unix compiler.
673
6742004-04-07  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
675
676	* magick/compress.c (Ascii85Tuple): Add casts to reduce compiler
677	warnings, and maybe even fix a bug.
678
679	* coders/pdf.c (ReadPDFImage): Double-check that Ghostscript
680	produced an output file since sometimes it reports success after
681	it has spewed an error message and has produced no output.
682
6832004-04-06  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
684
685	* magick/compress.c (HuffmanEncode2Image): Avoid out of bounds
686	array access.
687
688	* magick/studio.h (_FILE_OFFSET_BITS): Fix _FILE_OFFSET_BITS
689	#ifdef to avoid warnings when it is not defined.
690
6912004-04-05  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
692
693	* configure.ac: Fix minor shell syntax error (used ==).
694
6952004-04-04  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
696
697	* Merged in updates from 1.1 release branch.
698
699	* version.sh (PACKAGE_VERSION): Release version 1.1.
700	(PACKAGE_VERSION): Next major release will be 1.1.  Bump library
701	versions since we anticipate adding interfaces.
702
703	* magick/studio.h: Disabled use of Windows message lookups
704	entirely since this doesn't seem to work for programs.  It
705	probably only works for DLLs like ImageMagickObject.
706
707	* magick/delegate.c (ListDelegateInfo): Don't get stuck in a loop
708	if fprintf() returns zero.
709
7102004-04-03  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
711
712	* VisualMagick/*/*.bat: Add .exe to exe file names in order to
713	ensure that the executable is executed rather than something else
714	(such as a batch script).
715
716	* magick/locale.c: Only use Windows resource message lookup for
717	the DLL build since it doesn't seem to work for static
718	executables.
719
720	* magick/utility.c (SetClientPath): Ensure that client path is
721	null terminated.
722	(SetClientFilename): Initialize default client filename to ""
723	rather than "gm.exe" and ensure that filename is null terminated.
724	(SetClientName): Ensure that client path is null terminated.
725
726	* magick/blob.c (GetConfigureBlob): Enable logging the load of
727	log.mgk
728
729	* magick/log.c: Re-designed logging initialization in order to
730	avoid the "chicken and the egg" snafu.  This allows logging the
731	initialization of the logging subsystem.
732
7332004-04-01  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
734
735	* VisualMagick/bin/log.mgk: Add comments to help document usage.
736
737	* config/log.mgk: Add comments to help document usage.
738
739	* magick/utility.c (IsAccessible): Use access() rather than stat().
740	(IsAccessibleNoLogging): Use access() rather than stat().
741	(IsDirectory): Implemented return status according to existing API
742	documentation.
743	(GetExecutionPathUsingName): Complete re-write in order to minimize
744	path computation logic and fix failure with partial paths.
745
7462004-03-31  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
747
748	* doc/options.imdoc: Add "Color" to the arguments available for -list.
749
7502004-03-29  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
751
752	* version.sh (PACKAGE_CHANGE_DATE): Updated version to 1.1Beta3
753
754	* magick/nt_base.c (NTSystemComman): Have not been successful with using
755	MsgWaitForMultipleObjects() reliably, so back out usage of it for
756	now.
757
758	* magick/fx.c (ConvolveImage): Support convolution in CMYK
759	colorspace.
760
7612004-03-28  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
762
763	* version.sh (PACKAGE_CHANGE_DATE): Update release to 1.1Beta2.
764
765	* magick/constitute.c (ReadImage): Ignore errors of type
766	ConfigureError when loading modules so that error report can still
767	report the familiar "No delegate for this image format" message
768	while still being able to report problems with loading a module if
769	it was found.  This is a compromise which reports useless messages
770	when the modules are not found at all, but I can't think of a way
771	around it.
772
773	* magick/nt_base.c (NTSystemComman): Adjust
774	MsgWaitForMultipleObjects() arguments to wait for object to be
775	signaled only (FALSE) rather wait for object to be signaled as
776	well as an input event received(TRUE).  It seems that process
777	status changes do not result in an input event, so the call was
778	deadlocking.
779
780	* magick/constitute.c (ReadImage): If module loading reported an
781	error, ReadImage immediately returned an error rather than trying
782	to use a delegate defined by delegates.mgk.
783
7842004-03-25  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
785
786	* version.sh: Updated version to 1.1Beta1
787
7882004-03-24  Mike Chiarappa  <mikechiarappa@libero.it>
789
790	* BCBMagick/magick/libMagick.bpr: updated to latest source modifications.
791
792	* BCBMagick/magick/GM_Magick.bpr: updated to latest source modifications.
793
7942004-03-23  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
795
796	* coders/plasma.c (ReadPlasmaImage): srand() is already invoked by
797	InitializeMagick() so don't call it here.
798
799	* configure.ac: Check for rand_r().
800
801	* magick/tempfile.c (ComposeTemporaryFileName): The full range of
802	safe characters was not being used, thereby limiting the number of
803	unique temporary file names available.
804
8052004-03-22  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
806
807	* magick/image.c (GetImageStatistics): New function to obtain
808	image statistics (minimum, maximum, mean, variance, and standard
809	deviation).
810	(DescribeImage): Include image channel statistics in verbose
811	output.
812
8132004-03-21  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
814
815	* magick/constitute.c (DispatchImage): Removed some unreachable
816	code that was accidentially left in the switch statement.
817
818	* magick/pixel_iterator.c (PixelIterateDualRead): Extended so that
819	the region in each image may use a different origin.
820	(PixelIterateDualModify): Extended so that
821	the region in each image may use a different origin.
822
823	* magick/composite.c (CompositeImage): Fix XorCompositeOp overflow
824	condition which occured on non-Intel architectures.
825
8262004-03-20  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
827
828	* NEWS: Updated with changes up to today's date.
829
830	* tests/constitute.c (main): Float type seems to require allowing
831	a bit of error for Q:32.
832
833	* magick/constitute.c (DispatchImage): Be more careful when
834	rounding pixel intensity.
835	(ConstituteImage): Be more careful when converting float and
836	double to Quantum.
837
838	* magick/composite.c (CompositeImage): Fix Multiply composite
839	operator for Q:32 build (was all black image).
840	(CompositeImage): Tidied up the documented composite operators so
841	the implementation is easier to understand.
842
843	* PerlMagick/t/ttf/read.t: Set a desired label size so output
844	image should be the same size as the reference image even if the
845	FreeType type hinter is disabled.
846
847	* magick/annotate.c (RenderFreetype): Improve outline bounding box
848	computation accuracy.
849
8502004-03-18  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
851
852	* PerlMagick/t/x/write.t: Don't test X11 if DISPLAY is not set.
853
854	* PerlMagick/t/x/read.t: Don't test X11 if DISPLAY is not set.
855
8562004-03-17  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
857
858	* coders/Makefile.am: Removed some apparently unnecessary library
859	dependencies.
860
861	* Makefile.am (windows-src): Added a way to generate a Windows
862	source zip file.
863
8642004-03-16  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
865
866	* magick/command.c: The -operator command now supports
867	floating-point and percent of range arguments.
868
8692004-03-15  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
870
871	* magick/command.c: Added support for -operator command with
872	syntax "-operator channel operator rvalue" which applies a
873	arithmetic or bitwise operator to a specified image channel
874	or all channels.
875
8762004-03-13  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
877
878	* PerlMagick/t/filter.t: Fix Solarize test case.
879
880	* PerlMagick/t/wmf/read.t: Added another WMF test case.
881
882	* coders/wmf.c: Resolve WMF rendering bug with black color.
883
884	* magick/utility.c (StringToArgv): Free argv data prior to error
885	return.
886
8872004-03-10  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
888
889	* coders/jpeg.c (WriteJPEGImage): If image_info->colorspace is set
890	to GRAYColorspace then make sure that image is in a gray
891	colorspace.
892
893	* magick/image.c (TransformRGBImage): If colorspace is already an
894	RGB type (RGBColorspace, GRAYColorspace, or TransparentColorspace),
895	then simply return.  Do *not* set image->colorspace to RGBColorspace
896	since this potentially loses a valuable setting.
897
8982004-03-10  Peter Boos  <pedib@colorfullife.com>
899
900	* magick/annotate.c (RenderFreetype): If DrawAnnotation is called
901	with a string containing only one character and this character is
902	not recognized by the TrueType engine, a crash occured due to the
903	failure of FT_Load_Glyph. The failure caused an uninitialized
904	glyph.image pointer to be used by FT_Done_Glyph() later in the
905	code. The solution is to initialize the glyph.image pointer to
906	null.
907
9082004-03-09  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
909
910	* magick/image.c (QuantumOperatorRegionImage): Properly handle
911	over and underflow of arithmetic operators.
912
913	* magick/draw.c (DrawGetFillOpacity): Use fill opacity, and invert
914	opacity range so it is 0.0 to 1.0 (was acting like transparency).
915	(DrawSetStrokeOpacity): Validate range of stroke_opacity.
916	(DrawSetFillOpacity): Save value to context->fill.opacity and
917	validate the range of fill_opacity.
918
919	* magick/image.c (QuantumOperatorImage): New function to apply an
920	arithmetic or bitwise operator to the pixel quantums in an image.
921	(QuantumOperatorRegionImage): New function to apply an arithmetic
922	or bitwise operator to the pixel quantums in an image region.
923
924	* magick/image.c (IsImagesEqual): Re-implemented using the new
925	pixel iteration functions as a proof of concept.
926
927	* magick/pixel_iterator.h: Added some pixel iteration functions in
928	order to make it easier to implement algorithms which only need to
929	iteratively access pixels in a region. These functions are not
930	part of the API yet so their interface should be considered
931	unstable.
932
933	* doc/GNUmakefile: Rename Makefile to GNUmakefile since it relies
934	on GNU make extensions.
935
9362004-03-06  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
937
938	* magick/constitute.c (ConstituteImage): Add support for `T`
939	(transparency) and `O` (opacity) map types.  Simplify
940	implementation.
941	(DispatchImage): Add support for `T` (transparency) and `O`
942	(opacity) map types.  Simplify implementation.
943
944	* config/delegates.mgk.in: Quote delegate command names so
945	that they can contain embedded spaces.
946
947	* VisualMagick/bin/delegates.mgk: Quote delegate command names so
948	that they can contain embedded spaces.
949
950	* coders/tiff.c (WriteTIFFImage): Use the libtiff default endian
951	mode when writing TIFF rather than forcing MSB2LSB bit order.
952	(ReadTIFFImage): Enable reading in MSB2LSB bit order (better for
953	our byte-level parsing), enable memory mapping, and enable strip
954	chopping.  Memory mapping and strip chopping are probably enabled
955	by default.
956
957	* magick/nt_base.c (NTSystemComman): Use
958	MsgWaitForMultipleObjects() rather than WaitForSingleObject() in
959	order to avoid possible deadlock when application code directly or
960	indirectly creates windows.
961
9622004-02-28  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
963
964	* magick/animate.c (XMagickCommand): URL should point to
965	http://graphicsmagick.org/.
966
967	* magick/display.c (XMagickCommand): URL should point to
968	http://graphicsmagick.org/.
969
970	* magick/image.c (DisplayImages): Changes to fix memory leaks in
971	X11 commands had bugs which seriously broke DisplayImages.  Now
972	DisplayImages works properly again.
973
974	* magick/xwindow.c (XDestroyResourceInfo): New function to destroy
975	XResourceInfo.
976
977	* coders/x.c (WriteXImage): Implement based on DisplayImages().
978	(RegisterXImage): Always register X coder, but with read/write
979	support disabled if X11 not available.
980
9812004-02-26  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
982
983	* magick/command.c (ImportImageCommand): Eliminate memory leaks.
984
985	* magick/memory.c (LiberateMemory): Use MagickFreeMemory macro for
986	implementation.
987	(ReacquireMemory): Use MagickReallocMemory macro for
988	implementation.
989	(AcquireMemory): Use MagickAllocateMemory for implementation.
990
9912004-02-26  Vladimir  <lvm@integrum.ru>
992
993	* magick/memory.c (CloneMemory): Fixes to compile under Microsoft
994	Visual C++ 6.0.
995
9962004-02-25  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
997
998	* magick/animate.c (XAnimateImages): Memory leak reduction and
999	better integration with gm command.
1000
1001	* magick/display.c (XDisplayImage): Display was leaking memory
1002	like a sieve.  Now it doesn't.
1003
1004	* magick/memory.c (CloneMemory): Computation for when it is safe
1005	to use memcpy() was incorrect.  Use memmove() rather than
1006	backwards-copy loop.
1007
1008	* Makefile.am ($(DIST_ARCHIVE_SRPM)): Added rules to build a
1009	source RPM.
1010
1011	* configure.ac: Search for `buildrpm` or `rpm` programs in order to
1012	support creating RPM packages on a system which has RPM installed.
1013
1014	* version.sh (PACKAGE_VERSION): Changed snapshot release naming so
1015	that there is only one dash in the name and the snapshot date is
1016	prefixed with `0` to assure proper directory sorting.  This allows
1017	snapshot naming to be acceptable to RPM.  The snapshot package
1018	name is now similar to GraphicsMagick-1.1.020040218.tar.bz2
1019
10202004-02-16  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
1021
1022	* coders/xwd.c (RegisterXWDImage): Always register XWD, but only
1023	register read/write methods if it is supported.
1024
1025	* wand/magick_wand.c: Synchronized with latest ImageMagick API
1026	changes.
1027
10282004-02-16  Lars Ruben Skyum  <lars.skyum@stibo.com>
1029
1030	* magick/resize.c (HorizontalFilter): Fixed: do process K channel
1031	for CMYK images.
1032	(VerticalFilter): do process K channel for CMYK images.
1033
10342004-02-15  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
1035
1036	* coders/tga.c (ReadTGAImage): Fix matte channel handling. For
1037	16-bit packets, use integer rather than floating point. Return
1038	gray images as PseudoClass and set is_grayscale flag.  Add
1039	logging.
1040
1041	* magick/fx.c (WaveImage): Ensure that image is
1042	DirectClass. Ensure that matte channel is initialized if
1043	necessary. Include background color in is_grayscale evaluation.
1044
1045	* magick/gem.c (GenerateNoise): Scale noise to range of quantum.
1046
10472004-02-13  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
1048
1049	* coders/jp2.c (WriteJP2Image): Support passing all documented
1050	Jasper options using -define.
1051
10522004-02-13  Peter Boos  <pedib@colorfullife.com>
1053
1054	* coders/wmf.c (util_draw_arc): Fixes to improve handling for pie,
1055	arc, and chord.  These fixes produce correct output for
1056	wmf/examples/fjftest.wmf, but it is not known if they are correct
1057	for all cases.
1058
10592004-02-12  Tim Hunter  <cyclists@nc.rr.com>
1060
1061	* magick/profile.c (SetImageProfile): Bug fixes.
1062
10632004-02-11  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
1064
1065	* coders/xpm.c (UnregisterXPMImage): Unregister PICON registration.
1066
10672004-02-10  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
1068
1069	* coders/Makefile.am (label_la_LDFLAGS): Add a dependency on the
1070	math library since floor() is used.
1071
1072	* wand/magick_wand.c (MagickRemoveImageProfile): Use C comments in
1073	C files.
1074
1075	* magick/constitute.c (MapQuantumType): Fix spurious comma in
1076	enum definition.
1077
1078	* magick/blob.c (GetBlobStreamHandler): Apparently return type can
1079	not be const.
1080
10812004-02-09  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
1082
1083	* configure.ac: Check for Windows fonts under
1084	/usr/X11R6/lib/X11/fonts/truetype (XFree86 standard location?).
1085
1086	* coders/jp2.c (WriteJP2Image): Support providing a compression
1087	rate value (range 0.0 to 1.0) using command line syntax similar to
1088	`-define jp2:rate=0.5`.  In Magick++ this option may be accessed
1089	similar to image.defineValue("jp2","rate","0.5");
1090
1091	* magick/command.c (DisplayImageCommand): Exit status was inverted
1092	so `gm display` was returning 1 for successful commands, and 0 for
1093	failures.
1094	(AnimateImageCommand): Exit status was inverted so `gm animate`
1095	was returning 1 for successful commands, and 0 for failures.
1096
10972004-02-08  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
1098
1099	* magick/utility.h (MagickReallocMemory): Solaris compiler
1100	complains about cast so remove it.
1101
1102	* coders/xwd.c (WriteXWDImage): Right-size the pixels buffer and
1103	tune writer loops a bit.
1104
1105	* magick/color.h (VerifyColormapIndex): Improve diagnostics.
1106
1107	* coders/pict.c (WritePICTImage): Eliminate use of uninitialized
1108	data when writing RGB PICT. Fix OpenBlob assertion when writing
1109	JPEG PICT.
1110	(ReadPICTImage): Validate `tile_image` colormap indexes rather
1111	than `image` colormap indexes. Preserve compression attribute from
1112	tile image.
1113
1114	* magick/constitute.c (DispatchImage): Don't access image opacity
1115	channel unless image->matte is True.
1116
11172004-02-07  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
1118
1119	* coders/png.c (UnregisterPNGImage): Destroy PNG semaphore.
1120
1121	* magick/image.c (SetImageInfo): Since we don't know what the
1122	"IMPLICIT" specifier is supposed to do, support for it is
1123	removed. Perhaps by removing support for it, we will be reminded
1124	why it exists.
1125
1126	* magick/magick.c (DestroyMagickInfo): Invoke
1127	UnregisterStaticModules().
1128	(GetMagickInfo): Remove registration for "IMPLICIT" format since
1129	its purpose is presumed bogus.
1130
1131	* magick/static.c (UnregisterStaticModules): New function so we
1132	can unregister static modules.
1133
1134	* coders/plasma.c (UnregisterPLASMAImage): Unregister FRACTAL.
1135
1136	* coders/icon.c (UnregisterICONImage): Unregister CUR.
1137
1138	* coders/bmp.c (UnregisterBMPImage): Unregister BMP2 and BMP3.
1139
1140	* coders/meta.c (UnregisterMETAImage): Unregister APP1JPEG, IPTC,
1141	IPTCTEXT, IPTCWTEXT, and PICON.
1142
1143	* coders/miff.c: Check for run-length termination before testing
1144	memory and only check opacity channel if matte is valid.
1145
1146	* magick/compress.c: Check for run-length termination before
1147	testing memory (bad read error).
1148
11492004-02-07  Glenn Randers-Pehrson <randeg@alum.rpi.edu>
1150
1151	* coders/bmp.c: Fix off-by-one error while initializing padding bytes.
1152
1153	* coders/dib.c: Fix off-by-one error while initializing padding bytes.
1154
1155	* magick/enhance.c: MaxMap vs MaxRGB error fixed.  Reported by Cristy.
1156
11572004-02-04  Glenn Randers-Pehrson <randeg@alum.rpi.edu>
1158
1159	* magick/compress.c:  avoid a reference to uninitialized data.
1160
11612004-02-04  Glenn Randers-Pehrson <randeg@alum.rpi.edu>
1162
1163	* coders/dib.c: initialize padding bytes.
1164
11652004-02-04  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
1166
1167	* magick/montage.c (MontageImages): Fix leak of texture image (big
1168	leak).
1169
11702004-02-03  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
1171
1172	* coders/tiff.c (WriteTIFFImage): Fix detection of when to use a
1173	temporary file when writing TIFF.  Writing to TIFF BLOBs was
1174	broken by the recent changes to make BlobInfo a private type.
1175
1176	* magick/render.c (DestroyEdge): Use memmove for overlapping copy.
1177
11782004-02-03  Glenn Randers-Pehrson <randeg@alum.rpi.edu>
1179
1180	* coders/bmp.c: initialize padding bytes.
1181
11822004-02-02  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
1183
1184	* magick/constitute.c (ConstituteImage): Added map support for `P`,
1185	in order to skip over a pad quantum.
1186	(DispatchImage): Added map support for `P`, in order to write a pad
1187	quantum.
1188
1189	* magick/resize.c (HorizontalFilter): Don't process opacity
1190	channel unless matte is enabled.
1191	(VerticalFilter): Don't process opacity channel unless matte is
1192	enabled.
1193
1194	* magick/compress.c (Ascii85Initialize): Don't overwrite an
1195	existing ascii85 allocation.
1196
1197	* magick/utility.c (Strip): Use `memmove` rather than `memcpy` to
1198	copy overlapping data.
1199
1200	* tests/rwfile.c (main): Fix memory leak in test. Only apply size
1201	if format requires it.
1202
1203	* tests/rwblob.c (main): Fix memory leak in test. Only apply size
1204	if format requires it.
1205
1206	* coders/mono.c (RegisterMONOImage): Mono is a raw format.
1207
1208	* magick/magic.c (GetMagicInfo): Ensure that magic tests are
1209	within the range of header data which was read.
1210
12112004-02-02  Glenn Randers-Pehrson <randeg@alum.rpi.edu>
1212
1213	* coders/bmp.c: fix potential use of uninitialized data.
1214
1215	* coders/png.c: fix potential use of uninitialized data.
1216
12172004-01-31  Mike Chiarappa  <mikechiarappa@libero.it>
1218
1219	* magick/studio.h: Fixed problem related to DLL version of BCBMagick.
1220	Sometimes was incorrectly checked the presence of VC++ DLL. Thanks
1221	very much to Oliver Bertini for bringing this problem to our attention.
1222
1223	* BCBMagick: added libpng delegate library in both static and DLL
1224	modes.
1225
1226	* BCBMagick: removed all unuseful files from CVS.
1227
12282004-01-31  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
1229
1230	* magick/render.c (CloneDrawInfo): Fixed nasty memory leak which
1231	becomes painfully evident when using Magick++.
1232
1233	* magick/type.c (ReadTypeConfigureFile): Fix problem with parsing
1234	<include> directive.
1235
1236	* configure.ac: The type.mgk generated had a syntax error.
1237
1238	* magick/effect.c (SpreadImage): Eliminate read from uninitialized
1239	memory.
1240
1241	* magick/quantize.c (NodeInfo): Store nodes in a list similar to
1242	ImageMagick.
1243	(DestroyCubeInfo): Eliminate a small memory leak.
1244
12452004-01-27  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
1246
1247	* magick/montage.c (MontageImages): Free thumbnails once they are
1248	no longer needed (big leak).
1249
1250	* magick/blob.c (OpenBlob): Ensure that magick array is
1251	fully initialized, even if the fread() is short.
1252
1253	* magick/list.c (ImageListToArray): Add a null pointer to the end
1254	of the image list to serve as a handy list terminator.
1255
1256	* magick/tempfile.c (DestroyTemporaryFiles): Fix memory leak of
1257	semaphore.
1258
1259	* magick/map.c (MagickMapDeallocateMap): Fix memory leak of
1260	semaphore.
1261
1262	* coders/png.c (WriteOneJNGImage): Use DestroyBlob.
1263
1264	* magick/list.c (SyncNextImageInList): Use DestroyBlob.
1265
1266	* magick/image.c (AllocateNextImage): Use DestroyBlob.
1267	(DestroyImage): DestroyBlob.
1268
1269	* coders/wpg.c (ExtractPostscript): Use DestroyBlob.
1270
1271	* magick/blob.c (DestroyBlob): New function. Similar to
1272	DestroyBlobInfo except that it requires an Image * argument and
1273	zeros the blob pointer. This one is preferred for use over
1274	DestroyBlobInfo.
1275
12762004-01-27  Glenn Randers-Pehrson <randeg@alum.rpi.edu>
1277
1278	* coders/png.c: Add DestroyBlobInfo() calls to stop memory leak when
1279	processing JNG datastreams.
1280
12812004-01-26  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
1282
1283	* magick/utility.h (MagickReallocMemory): Added a cast required to
1284	make C++ Happy.
1285
1286	* coders/tiff.c: Adjust for bitstream API function renaming.
1287
1288	* magick/bit_stream.h: Rename BitStreamRead() to
1289	BitStreamMSBRead() to indicate that it reads most significant bytes
1290	first ("big endian" order).  Rename BitStreamWrite() to
1291	BitStreamMSBWrite() to indicate that it writes most significant
1292	bytes first ("big endian" order).
1293
1294	* wand/magick_wand.c: Updated to lastest ImageMagick API.
1295
12962004-01-26  Mike Chiarappa  <mikechiarappa@libero.it>
1297
1298	* magick/stream.c: (SetPixelStream) removed "const" from definition of
1299	local variable [StreamHandler stream]. Borland C++Builder compiler signal
1300	error "Cannot modify a const object".
1301
13022004-01-25  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
1303
1304	* coders/tiff.c (TIFFMapBlob): Allow libtiff to access memory
1305	mapped file (or BLOB in memory) directly.  This provides a small
1306	performance increase.
1307
1308	* magick/constitute.c (ReadImage): If a .mpc file is a temporary
1309	file, then be sure to remove the associated .cache file when
1310	removing the .mpc file.
1311
1312	* magick/log.h (LogEventType): ExceptionEventMask now maps to
1313	WarningEventMask|ErrorEventMask|FatalErrorEventMask so that
1314	`-debug exception` works again.
1315
1316	* magick/blob.c (CloseBlob): Allow CloseBlob to be invoked on a
1317	blob which is not open (in UndefinedStream state).
1318	(BlobInfo): The definition of BlobInfo is now private to blob.c.
1319	(StreamType): The StreamType enumeration is now private to blob.c.
1320	(GetBlobFileHandle): New function to access the blob file handle.
1321	(GetBlobStreamHandler): New function to access the blob stream
1322	handler.
1323	(GetBlobStreamType): This function is removed entirely.
1324	(BlobIsSeekable): New function to test if SeekBlob will work
1325	properly for this blob type.
1326	(GetBlobClosable): New function to test if the blob is allowed to
1327	be closed by the library (may be an externally provided file
1328	descriptor).
1329	(GetBlobTemporary): New function to test if input file is a
1330	temporary file which is to be removed.
1331	(SetBlobClosable): New function to support setting the flag which
1332	keeps the input file from being closed.
1333	(SetBlobTemporary): New function to support setting the flag which
1334	indicates that the input file is a temporary file.
1335
1336	* coders/jpeg.c (ReadJPEGImage): Invoke CloseBlob even if
1337	blob is in UndefinedStream state.
1338
1339	* magick/error.h (ThrowReaderException): Ditto.
1340	(ThrowWriterException): Ditto.
1341	(ThrowWriterException2): Ditto.
1342	(ThrowWriterException3): Ditto.
1343
1344	* magick/tempfile.h (ThrowReaderTemporaryFileException): Ditto.
1345	(ThrowWriterTemporaryFileException): Ditto.
1346
1347	* coders/dps.c,coders/jpeg.c, coders/meta.c, coders/mvg.c,
1348	coders/png.c, coders/tiff.c, magick/constitute.c, magick/stream.c:
1349	Use new blob accessor functions.
1350
1351	* magick/cache.c (OpenCache): For Windows, set the sequential
1352	access flag in all cases.  Maybe it will make a difference.
1353
13542004-01-18  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
1355
1356	* magick/blob.c (GetConfigureBlob): Don't check Windows registry
1357	if MagickLibConfigPath or MagickShareConfigPath is defined.
1358
1359	* magick/locale.c: Use a Unix-style message database for MinGW.
1360
1361	* rungm.sh.in: Translate environment paths to Windows format when
1362	running under MinGW.
1363
1364	* magick/nt_base.c (mmap): Re-wrote mmap emulation to support
1365	64-bit file offsets and to support anonymous mapping.
1366	(msync): A crude emulation of Unix msync().
1367
1368	* acinclude.m4 (GM_FUNC_MMAP_FILEIO): Change result define from
1369	HAVE_MMAP to HAVE_MMAP_FILEIO so that it doesn't conflict with
1370	Autoconf standard definition.
1371
13722004-01-17  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
1373
1374	* magick/cache.c (OpenCache): While allocating the pixel cache
1375	from the heap, reserve enough memory to contain a full PseudoClass
1376	image in order to reduce the chance that there will be a memory
1377	allocation failure while processing the image. This also avoids
1378	the possibility that the image pixels will be block-copied to a
1379	new location due to heap memory fragmentation. If there is
1380	insufficient heap memory (malloc() fails), then a disk-based pixel
1381	cache will be used.
1382
1383	* coders/wpg.c: Backed out Jaroslav Fojtik's patch from 2004-01-13
1384	because WPG was failing PerlMagick's existing WPG read test.
1385
13862004-01-16  Mike Chiarappa  <mikechiarappa@libero.it>
1387
1388	* BCBMagick: updated to recent Windows delegate libraries.
1389
1390	* BCBMagick: modified build procedure. Removed all unused directories
1391	and include files.
1392
1393	* lcms/include/lcms.h: Modified to achieve BCBMagick compilation.
1394
1395	* tiff/libtiff/tiffio.h: Modified to achieve BCBMagick compilation
1396
1397	* ttf/include/freetype/config/ftoption.h: Modified to achieve
1398	BCBMagick compilation
1399
1400	* Magick++/lib/Magick++/Include.h: Modified to achieve BCBMagick compilation.
1401
14022004-01-13  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
1403
1404	* coders/wpg.c: Applied patch from Jaroslav Fojtik to support
1405	reading the CTM (current transform matrix).  The CTM is not
1406	applied yet (expect later patch).
1407
14082004-01-12  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
1409
1410	* coders/sfw.c (ReadSFWImage): Added size_t cast.
1411
1412	* coders/msl.c (MSLStartElement): Added size_t cast.
1413
1414	* coders/meta.c (convertHTMLcodes): Added size_t cast.
1415
1416	* coders/locale.c: Add size_t casts and update to use memory
1417	allocation macros.
1418
1419	* coders/html.c (WriteHTMLImage): Added size_t cast.
1420
1421	* magick/utility.h (MagickAllocateMemory): Added size_t cast.
1422	(MagickReallocMemory): Added size_t cast.
1423
1424	* coders/bmp.c (WriteBMPImage): Added size_t cast.
1425
1426	* coders/art.c (ReadARTImage): Use memory allocation macros.
1427
1428	* VisualMagick/configure/configure.cpp: Update to support library
1429	.def exports files with Visual C++ 7.0.
1430
1431	* Updated Windows delegate libraries: LCMS 1.12, FreeType 2.1.5,
1432	BIG-KIT 1.5, libpng 1.2.5, libwmf 0.2.8.2, and zlib 1.2.1.
1433
1434	* Verified Windows static and DLL compilation with Visual C++ 6.0.
1435
1436	* Makefile.am: Update to automake 1.8.2.
1437
1438	* coders/gif.c (WriteGIFImage): Use ColorMatch rather than
1439	FuzzyColorMatch when comparing colormap entries.
1440
14412004-01-09  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
1442
1443	* magick/profile.c: Needed to include "magick/profile.h" in order
1444	to obtain prototypes.
1445
14462004-01-07  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
1447
1448	* wand/wandtest.c: Change MagickCloneWand to MagickGetImage since
1449	the API name changed.
1450
1451	* wand/pixel_wand.c: Synchronized with
1452	latest daily ImageMagick updates.
1453
1454	* wand/magick_wand.c (MagickRemoveImageProfile): Synchronized with
1455	latest daily ImageMagick updates.
1456
1457	* magick/profile.c (DeleteImageProfile): New method to make
1458	it easier to destroy an image profile.
1459
1460	* magick/profile.h: New source file to contain functions for
1461	dealing with embedded image profiles.
1462
1463	* magick/profile.c: New source file to contain functions for
1464	dealing with embedded image profiles.
1465
1466	* Makefile.am (DISTDIRS): Distribute TclMagick subdirectory.
1467
14682004-01-06  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
1469
1470	* wand/magick_wand.c: Ported over the latest ImageMagick Wand API
1471	updates.  Note that a comment now says that the Wand API will not
1472	be finished until around 4th quarter of 2004.  This represents a
1473	1-1/2 year slip from the original estimate!
1474
14752004-01-04  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
1476
1477	* magick/image.c (IsImagesEqual): Simplified implementation.
1478
1479	* magick/magick.c: Removed some unused code.
1480
1481	* contrib/win32/ATL7/ImageMagickObject/ImageMagickObject.cpp
1482	(IDispatch): Comment out InitializeSemaphore() so code compiles.
1483
1484	* libtool.m4: Updated to 2004-01-03 version of CVS libtool. This
1485	should fix configure problems under AIX and IRIX.
1486
14872004-01-03  Glenn Randers-Pehrson <randeg@alum.rpi.edu>
1488
1489	* coders/sgi.c: opacity channel was lost when writing grayscale
1490	SGI images.  See bug report in magick-users list.
1491
1492