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