GraphicsMagick 1.1.15 ChangeLog |
2009-04-01 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- version.sh: GraphicsMagick 1.1.15 released.
- magick/image.c (GetImageBoundingBox): If we fail to find a
smaller bounding box, then the returned bounding box is the entire
image.
2009-01-23 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- GraphicsMagick.spec.in: The module .la files need to be
installed as part of the base install or else the modules will
fail to load.
2009-01-22 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- coders/dib.c (ReadDIBImage): Fix assertion thrown for DIB files
with negative image height values.
2009-01-21 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- coders/bmp.c (ReadBMPImage): Fix assertion thrown for BMP files
with negative image height values. Resolves SF issue 2523536 "bug
in bmp coder".
2008-12-08 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- coders/tiff.c (ReadTIFFImage): Fix bug with 'ping' mode.
2008-11-19 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- config/delegates.mgk.in: Since we removed support for 'spawn' a
long time ago, and no longer execute using the Unix shell by
default, we need to add an ampersand to the end of the two entries
previously using 'spawn' so that the display program does not hang
when it invokes the external program.
- coders/preview.c (WritePreviewImage): Solarize requires a
threshold argument.
- coders/vid.c (WriteVIDImage): Eliminate memory leak.
- magick/montage.c (MontageImages): Fix continued use of freed
memory.
2008-11-03 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- configure.ac: With excessive maintenance releases, the library
age portion of MAGICK_LIB_VERSION was overflowing its allotted
space. This resulted in 1.1.X releases reporting the wrong
MagickLibVersion as of 1.1.10. Fix this by supporting up to 99
values for each field.
2008-11-02 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- configure.ac: Fix passing the --with-windows-font-dir option via
DISTCHECK_CONFIG_FLAGS.
- magick/command.c (ConjureImageCommand): Return status was
inverted so one was returned for command success rather than zero.
2008-09-12 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- coders/msl.c: Applied MSL patch from graphicsmagick-bugs list to
correct handling of geometry x,y values by setting gravity
attribute to ForgetGravity.
2008-09-03 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/command.c (BenchmarkImageCommand): Restore original
client name for each loop so that it is not extended further for
each iteration.
2008-07-23 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- tests/{rwblob.c, rwfile.c}: use DestroyImageList() rather than
DestroyImage().
2008-06-19 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- Magick++/lib/Image.cpp (quantize): Error measurement support was
being performed incorrectly. SyncImage() is not needed here.
2008-06-08 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/image.c (SetImageInfo): Extend the list of extensions to
exclude to include all virtual delegates and coders for
pseudo-formats. Synced up with implementation from 1.2 branch.
2008-06-05 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- version.sh: GraphicsMagick 1.1.14 released.
- coders/pdf.c (ReadPDFImage): Fix bounding-box issue with rotated
PDFs.
2008-06-03 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- coders/xcf.c (ReadXCFImage): Back-port more robust version
from GraphicsMagick 1.2.
- coders/pict.c (ReadPICTImage): Back-port more robust version
from GraphicsMagick 1.2.
- coders/cineon.c (ReadCINEONImage): Back-port more robust version
from GraphicsMagick 1.2.
- magick/gem.c (GenerateNoise): Poisson noise generation was
taking excessively long and producing wrong results.
2008-05-28 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- version.sh: GraphicsMagick 1.1.13 released.
2008-05-27 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/composite.c (CompositeImage): Don't leak displacement
image when Displacement composition is used.
- magick/{annotate.c,composite.c,paint.c,render.c}
(AlphaComposite): Fix alpha composite when both pixels contain
transparency.
2008-05-22 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/composite.c (CompositeImage): Preserve canvas image
colorspace.
2008-05-19 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/command.c (ConvertImageCommand, MogrifyImageCommand,
DisplayImageCommand): Gamma multiple channel syntax was broken.
Now it is fixed.
2008-05-18 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/command.c (CompositeImageList): Don't overwrite matte
flag for CopyOpacity composition.
- magick/composite.c (CompositeImage): CopyOpacity composition
needs the opacity channel to be enabled.
- PerlMagick/Magick.xs: Dissolve composition with Opacity was not
working right. Now it does.
2008-05-16 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/gem.c (HWBTransform): Hue value range was scaled wrong,
leading to clipping.
(TransformHWB): Hue value range was scaled wrong, leading to
clipping.
2008-05-12 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- Makefile.am: Install documentation according to the conventions
established by the configure script. This installs the
documentation under /usr/local/share/doc/GraphicsMagick by
default.
2008-05-08 Josue Andrade Gomes <josuegomes@gmail.com>
- magick/nt_base.h, libxml/include/win32config.h (vsnprintf):
Fixed compilation issue noticed with Visual C++ 2008.
2008-05-02 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- coders/svg.c (RegisterSVGImage): Fix spelling of "Graphics" in
registered description.
- magick/module.c (OpenModule): Ignore requests to open modules
which have already been opened.
2008-04-28 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- version.sh: GraphicsMagick 1.1.12 released.
- magick/image.c (SetImageInfo): Ignore file extensions which
match defined virtual delegate entries (including stealth
entries).
2008-04-27 Darko Kojic <dkc@sf.net>
- magick/effect.c (MedianFilterImage): Fixes to compile on ARM
CPU.
2008-04-26 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/image.c (SetImageInfo): Ensure that the file extension
does not trigger unwanted activity such as access to an X11
server, printer, or the launch delegate.
2008-04-19 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- coders/tiff.c (ReadTIFFImage): Some recent libtiff versions
produce wrong pointer values when private tag 36867 is requested.
Since we don't make any special use of these tags, simply don't
request them.
2008-03-24 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/image.c (CloneImage): Use CloneImageAttributes().
- magick/attribute.c (CloneImageAttributes): New function for
copying image attributes from one image to another.
- magick/utility.c (TranslateTextEx): Check if the pixel cache is
initialized before using a function which requires using it.
Thanks to Micha³ Kowalczuk for bringing this issue to my
attention.
- magick/cache.c (GetPixelCachePresent): New function to test if
the image pixel cache is present and initialized.
2008-03-11 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/nt_feature.c (CropImageToHBITMAP, ImageToHBITMAP): Use
GlobalFree() to free bitmap handle.
2008-02-23 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- version.sh: GraphicsMagick 1.1.11 released.
- NEWS: Updated for release.
2008-02-19 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- coders/xwd.c (ReadXWDImage): Eliminate integer overflow
vulnerability (IDefense 09.19.07).
- coders/xcf.c (ReadXCFImage): ditto
- coders/xbm.c (ReadXBMImage): ditto
- coders/dib.c (WriteDIBImage): ditto
- coders/dcm.c (ReadDCMImage): ditto
2008-02-09 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- coders/tiff.c (WriteTIFFImage): The RFC 2301 specification for
Internet FAX recommends LSB2MSB fill order so document that.
2008-02-08 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- coders/tiff.c (WriteTIFFImage): Use '-define
tiff:fill-order={msb2lsb|lsb2msb}' to control TIFF bit fill order.
(WriteTIFFImage): Endian option (-endian) now controls TIFF byte
endian order rather than bit fill order.
2008-01-26 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/image.c (SetImageInfo): Successfully read existing file
names in the form file[123] which were failing to read since they
appear to be a valid sub-image specification.
2008-01-24 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/utility.c (ExpandFilenames): If a filename appears to
contain a wildcard specification, first check to see if there is
file matching the unexpanded wildcard prior to engaging in the
slow task of wildcard expansion. Without this fix, expanding the
command line takes a very long time if there are a huge number of
files in the directory, and some file names appear to contain
wildcard specifications. Inspired by SourceForge bug reports [
1878992 ] "literal square brackets in file name cause large delay"
and [ 1783209 ] "converting runs slowly when subimage is
specified", but this might not be the complete fix for the
problem.
2008-01-17 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/command.c (VersionCommand): Include a "Large Memory" item
in the Feature Support list.
- coders/png.c (RegisterPNGImage): Remove reference to dead PNG
ftp site.
- VisualMagick/configure/configure.cpp (InitInstance): Remove
project dependency on dxguid.lib (Direct-X).
2008-01-05 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/command.c (DisplayImageCommand): No longer default to
reading standard input if stdin fails isatty() test. This
behavior was causing failure to launch from Gnome and it is
difficult to work around the issue from within a .desktop file.
(AnimateImageCommand): No longer default to
reading standard input if stdin fails isatty() test.
2007-12-31 Glenn Randers-Pehrson <glennrp@comcast.net>
- coders/png.c (ReadOnePNGImage): Ensure that depth is handled
correctly in Q8 build with 16-bit PNG files. Addresses
SourceForge bug 1859467 "16 bit per channel pngs broken". This
bug was already fixed in CVS head.
2007-12-16 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- configure.ac: Use some improved tests for POSIX standard types
available in Autoconf 2.61.
2007-12-09 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/memory.c (MagickAcquireMemoryArray): New function to
safely allocate the memory for an array.
2007-11-07 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- PerlMagick/t/ttf/read.t: Relax TrueType rendering tests so that
they pass with current FreeType built with default settings.
2007-11-07 Andy Armstrong <andy@hexten.net>
- PerlMagick/t/setattribute.t: Fix for typo which breaks
Test::Harness 3.00.
2007-11-06 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/command.c (IdentifyImageCommand): Add support for +ping
to force 'identify' to read the image pixels.
2007-10-01 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- coders/dib.c (ReadDIBImage): Use appropriate sized cast for DIB
width and height values. Validate width and height values.
- coders/bmp.c (ReadBMPImage): Use appropriate sized cast for BMP
width and height values.
- coders/sun.c (ReadSUNImage): Properly report SUN image depth.
- magick/image.c (RGBTransformImage): Use a better rounding
algorithm when converting to HSL/HWB colorspaces. Add missing
break HWB colorspace was used rather than HSL.
- magick/image.c (TransformRGBImage): Add missing break
statement. HWB colorspace was used rather than HSL.
- magick/gem.c (TransformHSL): Avoid GCC opimization bug on
Opteron which caused wrong results. Ensure that returned values
fall within bounds 0.0 to 1.0.
(TransformHWB): Avoid GCC opimization bug on
Opteron which caused wrong results. Ensure that returned values
fall within bounds 0.0 to 1.0.
- PerlMagick/t/ttf/read.t: Relax strictness quite a bit for TTF
read tests in order to allow somewhat different FreeType output.
2007-09-19 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- version.sh (PACKAGE_VERSION): Released version 1.1.10.
- NEWS: Updated NEWS.
2007-09-18 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/shear.c (IntegralRotateImage): Rotation by 270 degrees
was wrong. It was flipped from what it should be.
2007-09-16 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- version.sh (PACKAGE_VERSION): Released version 1.1.9.
- NEWS: Updated NEWS.
2007-09-15 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- coders/pdf.c (WritePDFImage): Fix writing PDF with CCITT
compression. Addresses SourceForge bug 1209177 "TIFF to PDF CCITT
compression fails".
2007-09-14 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- coders/preview.c (WritePreviewImage): Use ThumbnailImage() to create
thumbnail.
- coders/xpm.c (WritePICONImage): Use ThumbnailImage() to create
thumbnail.
- coders/pdf.c (WritePDFImage): Use ThumbnailImage() to create
thumbnail.
2007-09-13 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- coders/tiff.c (WriteTIFFImage): Support writing TIFF to a pipe
or other non-seekable destination.
2007-09-12 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- coders/png.c (ReadPNGImage): Make sure that PNG read errors are
reported to the user.
- magick/shear.c (IntegralRotateImage): Import implementation from
CVS HEAD in order to obtain much faster rotation by 90 and 270
degrees.
- coders/png.c (png_flush_data): Don't invoke SyncBlob()
since it does far more than force data to the output file.
- coders/jpeg.c (TerminateDestination): Don't invoke SyncBlob()
since it does far more than force data to the output file.
2007-09-11 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/command.c (MogrifyImageCommand): Don't leak memory in the
case where the image file contains multiple frames.
2007-09-05 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/utility.c (GetExecutionPath): Add support for Apple OS-X,
Linux, and FreeBSD.
2007-09-04 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- configure.ac: For Windows MinGW-based build, find Ghostscript
fonts installed under C:/Program Files/.
- magick/command.c (MogrifyImageCommand): Avoid use of
uninitialized filename. Don't remove file name based on random
junk in memory.
- magick/constitute.c (WriteImages): Avoid possible strncpy() of a
string onto itself.
- magick/nt_base.c (NTGhostscriptGetString): Support "GPL Ghostscript".
2007-08-29 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/image.c (SetImageType): Import the implementation from
HEAD.
2007-08-23 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- coders/tiff.c (ReadTIFFImage): Don't allow returned TIFF image
depth to be anything other than 8/16/32 since it seems that some
coders in this release may not deal with other values correctly.
2007-08-22 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- coders/miff.c: Eliminate crash when image->depth is not the
expected 8/16/32/.
2007-08-19 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/command.c (BenchmarkImageCommand): Handle text response
from 'identify -format'. Benchmark output is now a bit more like
Unix time.
2007-08-17 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/command.c (BenchmarkImageCommand): Added a new 'benchmark'
GraphicsMagick command which can be used to perform benchmarking
on any other GraphicsMagick command.
- coders/tiff.c (WriteTIFFImage): Output G3 TIFF FAX images as per
the TIFF Class F specification.
2007-08-16 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/cache.c (PersistCache): Fix a terrible memory leak when
reading MPC files. Added Cache reference-count logging.
2007-08-04 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/version.h.in: Improved Copyright statement formatting.
- magick/command.c (VersionCommand): Added a feature support list
to -version output.
2007-07-29 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/delegate.c (InvokePostscriptDelegate): Eliminate
doubled-output when running in verbose mode.
2007-07-28 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- version.sh (PACKAGE_VERSION): Released version 1.1.8.
- magick/delegate.c (InvokePostscriptDelegate): MagickSpawnVP
requires three arguments.
- magick/image.c (SetImage): Set is_monochrome flag if image is
bi-level.
2007-07-27 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- bzlib: Updated bzip2 to 1.0.4.
- jbig: Updated jbigkit to 1.6
- jp2: Updated JasPer to 1.900.1.
- lcms: Updated lcms to 1.16
- png: Updated libpng to 1.2.18.
2007-07-24 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/enhance.c (LevelImage): Fix -level command parsing when a
percent symbol is supplied within the argument rather than at the
end.
2007-07-23 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/delegate.c (UnixShellTextEscape): Don't escape newline
character since it performs the opposite of what is desired.
2007-07-23 Daniel Kobras <kobras@debian.org>
- magick/delegate.c (UnixShellTextEscape): Fix fencepost error
when checking whether escaping is safe.
2007-07-23 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- INSTALL-unix.txt: Updated for release.
- NEWS: Updated for pending 1.1.8 release.
- Makefile.am: Retire VMS and MacOS 9 support from package.
2007-07-22 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- tests/Makefile.am: Don't test PTIF format since it is not
possible to pass the rwblob test and it is really an output driver
rather than a format.
- coders/tiff.c (WritePTIFImage): Update from HEAD.
2007-07-21 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- coders/xwd.c (XWD_OVERFLOW): Eliminate check to see if
unsigned type is less than zero.
- coders/pnm.c (ValidateScalingIndex): Eliminate check to see if
unsigned type is less than zero.
- magick/log.c (LogMagickEvent): Even though log file name comes
from a controlled source (log.mgk), perform safe numeric
substitution on it.
- coders/xwd.c (ReadXWDImage): Eliminate conflict between locally
defined OVERFLOW macro and similarly named macro under Windows.
2007-07-18 Daniel Kobras <kobras@debian.org>
- coders/xwd.c (ReadXWDImage): Integer overflow fix
(CVE-2007-1797). From Debian patch
xwd_integer_overflow_fixes_CVE-2007-1797.
(ReadXWDImage): Fix for integer under/overflow. From Debian patch
xwd_overflow_fix.
- coders/wpg.c (ReadWPGImage): WPG segfault fix. From Debian
patch wpg_segfault_fix.
- coders/viff.c (ReadVIFFImage): Verify number of bands prior to
using image. From Debian patch viff_heap_corruption_fix.
- coders/tiff.c (TIFFErrors): TIFF error reporting security fix.
From Debian patch tiff_va_list_fix.
- coders/sun.c (ReadSUNImage): Sun segfault fix. From Debian
patch sun_segfault_fix.
- magick/blob.c (ReadBlobStream): Never try to read data beyond
EOF in blob streams. Some (but not all) ReadBlob*() methods
already implemented similiar checks. Moving it to the central
ReadBlobStream() increases robustness and prevents out-of-bounds
reads. From Debian readblob_offset_robustness patch.
- coders/pnm.c (ReadPNMImage): Validate pixel scaling. From
Debian pnm_scale_fix patch.
- coders/pict.c (ReadPixmap): PICT segfault fix. From Debian
pict_segfault_fix patch.
- coders/pcx.c (ReadPCXImage): PCX heap overflow fix. From Debian
pcx_heap_overflow_fix patch.
(ReadPCXImage): PCX segfault fix. From Debian pcx_segfault_fix.
- magick/montage.c, PerlMagick/t/montage.t: Do not pass bogus
negative values to modulate shadow in montage. Instead, drop a
constant grey shadow like current ImageMagick. From Debian
montage_shadow_fix patch.
- coders/png.c (ReadMNGImage): MNG segfault fix. From Debian
mng_segfault_fix patch.
- utilities/miff.4: MIFF man page apropos fix. From
Debian miff_apropos_fix patch.
- coders/icon.c (ReadIconImage): Icon segfault fix. From Debian
icon_segfault_fix patch.
- tests/drawtest.c: Make sure filename strings do not run out of
bounds in drawtest. From Debian drawtest_segfault_fix patch.
- config/delegates.mgk.in: Remove obsolete option -2 when calling
dcraw as a delegate. From Debian dcraw_options_fix patch.
- coders/dcm.c (ReadDCMImage): Fix integer overflow in DCM
coder. (CVE-2007-1797). From Debian dcm_overflow_fix patch.
- coders/bmp.c (ReadBMPImage): Verify file seek success. From
Debian bmp_overflow_fix patch.
2007-07-19 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/utility.h (MagickReallocMemory): It seems that realloc()
frees the provided memory pointer if the requested size is zero.
This was causing MagickReallocMemory() to perform a double-free
under error conditions. Inspired by Debian
realloc_double_free_fix patch by Daniel Kobras.
2007-07-18 Daniel Kobras <kobras@debian.org>
- magick/quantize.c (GrayscalePseudoClassImage): Fix computation
of memory required for colormap index
(colormap_heap_overflow_fix).
2007-07-18 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/cache.c (ClonePixelCache): Eliminate bug when
size_t is an unsigned type.
2007-07-15 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/image.c (SetImageInfo): Address security issue noted by
CVE-2006-0082
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2006-0082 in
which output filenames matching arbitrary printf specifications
may cause GraphicsMagick to crash.
- magick/utility.c (TranslateTextEx): New version of TranslateText
which allows copying each attribute via a user-provided callback
function.
- magick/delegate.c (InvokeDelegate): Implement secure delegate
execution in POSIX environments in order to avoid injection of
arbitrary shell commands via carefully crafted filenames. Fixes
Debian Bug 345238 "[CVE-2005-4601] Shell command injection in
delegate code (via file names)"
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=345238
2007-07-08 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- coders/pnm.c (ReadPNMImage): Fix pixel scaling problem caused by
floating point rounding error.
2007-07-07 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/studio.h: Provide pread() and pwrite() prototypes if they
are missing.
- configure.ac: Check for missing pread() and pwrite() prototypes.
- m4/ac_func_fseeko.m4: Use fixed version of AC_FUNC_FSEEKO.
- magick/utility.c (SystemCommand): Avoid use of snprintf().
2007-07-06 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/blob.c: Only replace getc_unlocked() and putc__unlocked()
for a thread-safe build.
- magick/studio.h: Always use fseeko() and ftello() if they are
available.
2007-07-05 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- coders/cineon.c: The Kodak Cineon coder was such a disaster that
this module is back-ported from the 1.2 development version. Some
features are lost in the process. Resolves SourceForge issue
1486657 "Can't extract single channel from Cineon format".
2007-07-03 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- tiff: Update to libtiff version 3.8.2.
- magick/error.h (ThrowReaderException): Don't overwrite an
exception which was already thrown.
- magick/utility.c (MagickStrlCat): Replacement function for strlcat().
(MagickStrlCpy): Replacement function for strlcpy();
2007-07-02 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- coders/psd.c (ReadPSDImage): Eliminate memory leak when reading
PSD files. Fixes Sourceforge issue 1625477 "Memory leak reading
layered PSD Image".
2007-06-29 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/command.c: Fixed -affine command argument
validation. Fixes SourceForge issue 1743141 "Affine matrix option
parsing".
2007-06-05 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- coders/miff.c (ReadMIFFImage): Handle case where compression
keyword is present but has value of 'None'.
2007-06-03 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/resource.c (AcquireMagickResource): Map resource limit
was not being properly checked due to a typo. The memory limit
was being tested instead.
2007-05-23 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/xwindow.c (XGetWindowImage): Set image->depth
appropriately.
2007-05-09 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- coders/jpeg.c (ReadJPEGImage): Fix reading 12-bit grayscale
JPEG.
2007-04-30 Fojtik Jaroslav <JaFojtik@seznam.cz>
- coders/art.c, coders.cut.c, coders/mat.c, coders/wpg.c: Add
support for PingImage() so that image identification is fast by
default. Also eliminates error message produced by mat.c due to
rotating an image which has no pixel cache.
2007-04-09 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/blob.c (SyncBlob): Probable fix for SourceForge bug id
1222780 "glibc detected double free or corruption". Avoid
unnecessary copy of blob object onto itself. Fix was already
present in 1.2.
- magick/pixel_cache.c (ModifyCache): Ensure that the cache nexus
is open. Fix for SourceForge bug id 1173713 "segfault in
ModifyCache"
- m4/acx_pthread.m4 (ACX_PTHREAD): Apply fixes necessary to
support C++ compiler properly.
2007-04-09 Fojtik Jaroslav <JaFojtik@seznam.cz>
- coders/wpg.c (ReadWPGImage): Fix for SourceForge bug id 1431805
"clip art wpg files cause access violation in graphics magick".
2007-04-08 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/GraphicsMagick.pc.in: Fix for SourceForge bug id 1576616
"Fix includedir variable in pkg-config files".
- magick/cache.c (GetOnePixel): Fix for SourceForge bug id 1572357
"GetOnePixel definition appears incorrect". It is true that this
function is intended for read-only purposes and that the
PixelPacket value is returned directly.
- coders/pdf.c (WritePDFImage): Fix for SourceForge bug id 1510075
"Failed to write PDF with JPEG compression".
- magick/command.c (MogrifyImageCommand): Properly bubble up
errors and terminate further mogrify processing immediately. This
in response to SourceForge bug id 1391421 "problem doing resize on
273x1 JPEG".
- magick/magick.c (InitializeMagickClientPathAndName): Fix for
SourceForge bug id 1315109 "segfault in InitializeMagick(NULL)".
- wand/magick_wand.c (MagickGetQuantumDepth): Fix for SourceForge
bug id 1353744 "MagickGetQuantumDepth doesn't work".
2007-04-07 Fojtik Jaroslav <JaFojtik@seznam.cz>
- coders/mat.c: Read Matlab files in both big and little endian
format.
2007-04-01 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- m4/acx_pthread.m4: Update version of ACX_PTHREAD macro used.
2007-04-01 Fojtik Jaroslav <fojtik@humusoft.cz>
- coders/wpg.c: Support CTM translation in WPG reader.
2007-02-10 Daniel Kobras <kobras@debian.org>
- coders/palm.c: (ReadPALMImage) Do not implicitly call
ReadBlobByte() twice in Min() macro. Patch thanks to
Vladimir Nadvornik. This was a regression
introduced in patch for CVE-2006-5456. (CVE-2007-0770)
2006-11-02 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- www/Magick++/Image.html: Fix documentation regarding retrieving
EXIF attribute.
- magick/command.c: Fix typo in usage messages.
2006-11-02 Daniel Kobras <kobras@debian.org>
- coders/dcm.c: (ReadDCMImage) Prevent buffer overflow of
'photometric' array in DCM coder. Original patch thanks to
M Joonas Pihlaja. (CVE-2006-5456)
- coders/palm.c: (ReadPALMImage) Fix heap overflows of 'one_row'
array in PALM coder. Original patch thanks to M Joonas Pihlaja.
(CVE-2006-5456)
2006-09-12 Daniel Kobras <kobras@debian.org>
- coders/sgi.c (ReadSGIImage): Use strncpy() instead of strlcpy() in
1.1 branch.
- coders/xcf.c (ReadBlobStringWithLongSize): Add new parameter 'max'
to prevent overflowing the 'string' array. (CVE-2006-3743)
(ReadOneLayer): Adjust callers of ReadBlobStringWithLongSize(), and
guard against infinite loops on premature end-of-file.
(ReadXCFImage): Adjust callers of ReadBlobStringWithLongSize(), and
guard against infinite loops on premature end-of-file.
2006-09-09 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- coders/sgi.c (ReadSGIImage): Mostly applied Debian patch for
CVE-2006-4144 security issue related to RLE decoding. Also added
complete verification of file header.
2006-08-17 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- coders/png.c (ReadOnePNGImage): Fix compilation problem. Patch
submitted by Aron Stansvik.
2006-07-11 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- coders/jpeg.c (WriteJPEGImage): Clear the JPEG library
structures in order to ensure a completely clean slate.
2006-06-04 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/command.c (ConvertImageCommand): Fix memory leaks which
occured when an image was not returned.
- magick/command.c (IdentifyImageCommand): Ditto.
- magick/command.c (MogrifyImageCommand): Ditto.
2006-06-01 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/command.c: Add mention of -resample to convert and
mogrify usage messages.
2006-05-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
- configure.ac: Fix arguments to AC_CHECK_HEADER.
2006-05-11 JH <jh@ops.everybox.com>
- GraphicsMagick.spec.in (files devel): Include
%{_libdir}/lib%{name}Wand.so.
2006-05-04 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/nt_base.c (NTGhostscriptEnumerateVersions): Recent GNU
Ghostscript identifies itself as "GPL Ghostscript".
2006-03-02 Fojtik Jaroslav <JaFojtik@seznam.cz>
- coders/mat.c: Fixes for observed crash. Byte and word formats
are working.
2006-03-02 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- coders/sgi.c (ReadSGIImage): Properly compute image depth for
16-bit SGI image files.
2006-02-27 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- doc/environment.imdoc: MAGICK_FONT_PATH has not been supported
since 1.1. Remove mention of it!
2006-01-04 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/log.c (SetLogEventMask): Avoid deadlock if invoked before
log.mgk has been loaded.
- magick/attribute.c (GenerateEXIFAttribute): Fix memory leak on
error which was reported by Micha³ Kowalczuk.
2006-01-03 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/constitute.c (ReadImage): Avoid crash if delegate fails
to return image.
2006-01-03 Daniel Kobras <kobras@debian.org>
- magick/attribute.c (GenerateEXIFAttribute): Fix EXIF IFD stack
overflow vulnerability.
- configure.ac: Fix typo in HTMLDecodeDelegate.
2005-10-12 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- version.sh (PACKAGE_VERSION): Released version 1.1.7.
2005-10-10 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- coders/svg.c (ReadSVGImage): Eliminate memory leak.
2005-09-18 Michal Kowalczuk <sammael@brzydal.eu.org>
- coders/gif.c: Free global_colormap before returning with error.
2005-09-11 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/constitute.h: DispatchImage and PopImagePixels were not
properly DLL imported by the headers.
2005-07-31 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- png: Updated libpng to version 1.2.8.
- coders/ept.c (WriteEPTImage): MSVC does not support a
'long long' type.
2005-07-27 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- coders/jp2.c: Change how Jasper is intialized. Hopefully
eliminate memory leak when reading ICC color profile.
- magick/utility.c (SystemCommand): Always report command error
information if a command fails.
- Fix some compilation warnings produced by a 64-bit build.
2005-07-26 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- zlib: Updated to version 1.2.3.
2005-07-15 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/image.c (DisplayImages): Don't invoke
XrmDestroyDatabase() to destroy the resource database associated
with the display since it seems that XCloseDisplay() does this for
us and the X.org server doesn't properly keep track of the
resource allocation.
- magick/command.c (DisplayImageCommand): Ditto for
XrmDestroyDatabase().
2005-05-18 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/nt_base.c (readdir): Fix write beyond buffer length
reported in SourceForge issue #1182003. Only impacts Windows.
2005-05-16 Tavis Ormandy <taviso@gentoo.org>
- coders/xwd.c (ReadXWDImage): Fix for infinite loop in the xwd
decoder when calculating the shift r/g/b values and the mask is
set to zero.
2005-05-01 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- version.sh (PACKAGE_VERSION): Release version 1.1.6.
- wand/pixel_wand.c (PixelSetYellowQuantum): Wrong PixelPacket
member was being set. Thanks to Cristy for the heads-up.
- magick/image.c (SetImageType): Revert change from 2005-03-12.
Some coders require that when the image is set to Bilevel type,
that it be PseudoClass.
2005-04-28 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/command.c (MogrifyImage): Apply the convolve fixes that
Glenn committed to CVS head.
- utilities/Makefile.am (check): Add a convolution parameter so
that the convolve demo actually does something.
2004-04-24 Glenn Randers-Pehrson <glennrp@glennrp.com>
- coders/pnm.c: Defend against malevolent pnm "P7" files that
try to set the colormap length < 256. Bugfix from Cristy.
2005-04-24 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
2005-04-15 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/xwindow.c (XDelay): Prefer use of select() over poll()
since it is more portable. MacOS-X has a poll() but it doesn't
work right.
2005-04-08 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/cache.c (OpenCache): Fix a memory resource leak noticed
by Stefan v. Wachter <svwa-dev@mnet-online.de>. This error with
keeping track of resources may eventually cause GraphicsMagick to
run slower and slower due to using disk-based images rather than
memory-based images.
2005-04-02 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/utility.c (AllocateString): Performance enhancement.
(CloneString): Performance enhancement.
(ConcatenateString): Performance enhancement.
2005-03-19 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- coders/pdf.c (WritePDFImage): Eliminate cause of annoying
warning when PDFs are read by Ghostscript 8.5.
- magick/module.c: Working DIR * should not be const.
- magick/nt_base.c (closedir): Fix function definition so it
matches POSIX standard.
(opendir): Fix function definition so it matches POSIX standard.
2005-03-12 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/image.c (SetImageType): Bilevel image is not required to
be PseudoClass type.
- coders/mpc.c (WriteMPCImage): Persist is_monochrome and
is_grayscale flags.
(ReadMPCImage): Restore is_monochrome and is_grayscale flags.
2005-03-09 Arne Rusek <zonk@matfyz.cz>
- magick/attribute.c (GenerateEXIFAttribute): Offset type
correction to fix loop termination if size_t type is not 'long'.
2005-03-09 Alexander Yaworsky <yaworsky@users.sourceforge.net>
- coders/jbig.c (WriteJBIGImage): JBIG was writing an empty output
file. Apparently libjbig parameters have changed. Setting l0
parameter of jbg_enc_options to zero instead of -1 (like in
jbigkit's pbmtools) solved the problem.
2005-02-26 Albert Chin-A-Young <china@thewrittenword.com>
- acinclude.m4 (AC_CXX_IOS_BINARY): Added macro to detect if the
C++ compiler lacks support for ios::binary.
- configure.ac: Use AC_CXX_IOS_BINARY.
2005-02-12 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- coders/jpeg.c (WriteJPEGImage): Don't use jpeglib private
BITS_IN_JSAMPLE definition to select JPEG bit depth.
2005-01-31 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/render.c (TraceBezier): Avoid probable bug under Visual
C++ 7.0 or later due to the argument to pow not being promoted to
double.
2005-01-29 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/color.c (IsPaletteImage): Fix memory leak reported by
Stefan v. Wachter <svwa-dev@mnet-online.de>.
2005-01-22 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- version.sh: Released 1.1.5.
- NEWS: Updated with latest news.
2005-01-16 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- coders/tga.c (WriteTGAImage): Incorported patch from Stefan
v. Wachter to enable writing grayscale images as well as adding
more image type option smarts.
- coders/psd.c (ReadPSDImage): Fix stack overflow vulnerability
reported by Andrei Nigmatulin. See http://lwn.net/Articles/119713/
for details.
2005-01-14 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- win2k/IMDisplay/IMDisplayDoc.cpp (DoReadImage): Ensure that
image is in RGB color space after being read since this is what
Windows expects.
2005-01-09 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- NEWS: Updated with latest news.
- lcms: Updated to LCMS 1.14.
2005-01-08 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- coders/jp2.c (ReadJP2Image): Handle images in YCBCR colorspace.
Retrieve and store an ICC ICM color profile if present.
- PerlMagick/t/tiff/read.t: Added test for reading truecolor
planar TIFF image.
- coders/tiff.c (ReadTIFFImage): Fixed stripped TIFF reader.
2005-01-04 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- coders/tiff.c (WriteTIFFImage): Only set TIFFTAG_PREDICTOR to 2
for bits-per-sample values that libtiff supports.
2004-12-28 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- coders/tiff.c (ReadTIFFImage): Fix overflow while computing
colormap size.
- magick/image.h (MaxRGBGivenBits): New macro to obtain maximum
value represented in a given number of bits.
2004-12-28 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- coders/tiff.c (WriteTIFFImage): TrueColor 16-bits/sample RGB
images were being written incorrectly on little-endian CPUs.
Added byte swapping to fix this problem.
2004-12-20 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- coders/bmp.c (WriteBMPImage): Handle the case where the image
has an over-sized colormap. Was writing on unallocated heap memory.
- coders/dib.c (WriteDIBImage): Handle the case where the image
has an over-sized colormap. Was writing on unallocated heap memory.
2004-12-19 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/gem.c (Modulate): Hue argument now represents a rotation
from -180 degrees to +180 degrees expressed as an argument of 0 to
2.0 (1.0 for no change). Note that this change also effects the
-modulate argument and the Magick++ modulate method(). This change
is made because the previous hue adjustment strategy only
succeeded in corrupting the image.
2004-12-04 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/nt_base.c (opendir): Ensure that data may not overwrite
the stack.
(readdir): Ensure that data may not overwrite the stack.
2004-11-17 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- configure.ac: Pick up font search code from CVS head so that
Ghostscript fonts are automatically discovered under Cygwin.
2004-11-15 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- coders/gif.c: Fix two error-path memory leaks which were noticed
by Glenn Randers-Pehrson.
2004-11-13 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- version.sh: Released 1.1.4.
- NEWS: Updated with improvements since 1.1.3 release.
2004-11-10 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- coders/png.c (UnregisterPNGImage): Eliminate Warning: module
registration for "JNG" from module "PNG" still present!.
2004-11-08 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/constitute.c (DispatchImage): Fix documentation error
regarding return status.
2004-11-07 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- coders/tiff.c (WriteTIFFImage): Ensure that words in the
scanline are converted to little-endian format on little-endian
CPUs.
2004-10-31 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- coders/gif.c (DecodeImage): Improve handling of corrupt GIF
files. Resolves SourceForge bug #1042904. Also, eliminate a
potential memory leak.
2004-09-19 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- coders/tiff.c (WriteTIFFImage): Implement error handling so
defective TIFF files are not written if libtiff reports an error.
2004-09-14 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- coders/mat.c,coders/topol.c (ReadBlobWordLSB,ReadBlobDoublesLSB):
Use better variable name than `I' for image.
2004-09-07 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- coders/miff.c (WriteMIFFImage): Ensure that MIFF files are never
written with bogus compression values.
2004-08-28 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- coders/tiff.c (TIFFErrors): Prevent possible stack overflow on
error.
(TIFFWarnings): Prevent possible stack overflow on error.
2004-08-24 Glenn Randers-Pehrson <glennrp@glennrp.com>
- coders/png.c: fixed call to png_set_keep_unknown_chunks()
and deleted tEXt and zTXt from list of unused chunks.
- coders/avi.c, bmp.c, and dib.c: applied security patch from Cristy.
2004-08-07 David R. Linn <drl@vuse.vanderbilt.edu>
- www/formats.html: Titles for JNG and MNG were reversed.
2004-08-07 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/widget.c (XCommandWidget): Replace ImageMagick logo in
display command menu with GraphicsMagick logo.
2004-08-07 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- version.sh: Released 1.1.3.
2004-08-06 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- NEWS: Updated with more changes since the 1.1.2 release.
- coders/tiff.c (ReadTIFFImage): Support reading RGB/CMYK scanline
oriented TIFF images with arbitrary depth.
2004-08-05 Glenn Randers-Pehrson <glennrp@glennrp.com>
- coders/png.c: Fixes for CERT security alert TA04-217A described
at "http://www.us-cert.gov/cas/techalerts/TA04-217A.html".
2004-07-28 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- Makefile.am: Update to Automake 1.9.
2004-07-25 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- NEWS: Updated with changes since the 1.1.2 release.
2004-07-25 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- tiff/libtiff/tif_lzw.c: Incorporated TIFF LZW compression
support.
- lcms: Merged in lcms 1.13 from CVS HEAD.
2004-07-17 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- version.sh (CVS_BRANCH_TAG): Record the CVS branch tag that
source package is obtained from.
- configure.ac: Pass essential flags on down to subordinate
configures when performing 'make distcheck'. Support DESTDIR
installs for PERL 5.8.1 and later, which support DESTDIR
internally.
2004-07-09 Glenn Randers-Pehrson <randeg@alum.rpi.edu>
- coders/bmp.c (ReadBMPImage): Removed if-test on reading
red_mask, green_mask, and blue_mask. These are only *valid*
under certain conditions, but they are always present in the
file.
2004-07-08 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- Enable LZW compression by default.
2004-07-05 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- wand/magick_wand.c (MagickSetPassphrase): String was being
copied to a null pointer. Now memory is allocated as required
prior to a copy.
Ensure that all unimplemented functions return a proper error
report.
2004-06-28 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/command.c (MogrifyImage): For -units, don't reset
resolution if units are undefined. Report an error if the -units
argument is not supported.
2004-06-27 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/command.c (MogrifyImage): When re-sampling an image,
report an error if the image does not contain a valid resolution.
- coders/pcx.c (WritePCXImage): Support writing large PCX files.
(WritePCXImage): Ensure that UndefinedResolution is handled
properly. Avoid round-off error for centimeter based resolution.
- magick/command.c (MogrifyImage): When setting image units, also
adjust existing image x_resolution and y_resolution so that
existing image resolution is not trashed.
- configure.ac: Look for mozilla by default rather than netscape.
2004-06-06 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
2004-06-05 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- version.sh: Bumped version identifier to 1.1.2 and updated
shared library versioning.
- NEWS: Updated NEWS file.
- magick/constitute.c (DispatchImage): Support 8-bit output to
common formats BGR, BGRO, BGRP, RGB, RGBO, and I as special cases
in order to improve performance.
(ConstituteImage): Support 8-bit input from common formats BGR,
BGRO, BGRP, RGB, RGBO, and I as special cases in order to improve
performance.
- utilities/Makefile.am (check): Add convert -list tests.
- magick/module.c: (InitializeModuleSearchPath): Evaluate and cache
module search path.
(FindMagickModule): Use cached module search path.
(OpenModules): Load all modules rather than just the modules in
the directory where the LOGO module is found. Besides allowing
user-provided modules in non-GraphicsMagick directories to be
loaded, this allows the "moby" shared build to load additional
modules via OpenModules.
- GraphicsMagick.spec.in: Install *-config scripts with mode 755
rather than default 644.
- magick/type.c (ReadTypeConfigureFile): Determine location of
Ghostscript fonts only once in order to improve performance.
- magick/nt_base.c (NTGhostscriptFonts): Properly determine
Ghostscript font location for Ghostscript 8.0 and later.
2004-05-23 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- configure.ac: Magick++ needs to be built as a static library
under Cygwin and MinGW since C++ exceptions don't work otherwise.
Be more assertive about that.
- magick/nt_base.h: Avoid conflict with ssize_t definition under
MinGW.
2004-05-20 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- ltmain.sh: Fix to allow exe wrapper to work under MinGW.
- wand/magick_compat.c (QueryMagickColor): Fixed wrong DLL export.
- wand/magick_wand.c: Fixed some wrong DLL exports.
2004-05-16 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/command.c (ConvertUsage): Usage missed -operator.
(MogrifyUsage): Usage missed -operator.
2004-05-15 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/enhance.c (NegateImage): If image has a clip mask,
then force image to DirectClass so clip mask takes effect.
2004-05-15 Vladimir Lukianov <lvm@integrum.ru>
- magick/image.c (SetImageOpacity): Ensure that image is
DirectClass. If specified opacity is TransparentOpacity, then
replace existing opacity with TransparentOpacity.
2004-05-02 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/utility.c: Released 1.1.1.
2004-04-17 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- utilities/Makefile.am (check): Change geometry arguments which
were expressed as 0.0xVAL to avoid the problematic Linux scanf
feature back to 0xVAL.
2004-04-14 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/utility.c (GetMagickDimension): New function to replace
occurances of scanf(geometry,"%lfx%lf",&w,&h) since Linux scanf()
and strtod() misbehave for strings that start with "0x". The Linux
versions always treat 0x as the start of a value expressed in hex
and can't be forced to read the leading value as a double. This
function has been applied globally to replace the problem scanf's.
2004-04-11 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/version.h.in: Make it clear in the -version output that a
mutitude of copyrights and licenses apply to this software.
- magick/utility.c (GetPathComponent): Avoid strncpy() of
overlapping regions.
- magick/command.c (DisplayImageCommand): Eliminate double-free
of resource_info->image_geometry.
(DisplayImageCommand): 'display' was improperly requiring at least
one argument (bug was added yesterday).
2004-04-10 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- utilities/gm.c (main): Default usage message wasn't right for
aliased utility.
- configure.ac: Added the --enable-magick-compat option to install
compatibility links to emulate ImageMagick commands.
- magick/command.c: Ensure that each sub-command responds to -help
and -version appropriately.
- utilities/gm.c (main): Invoke appropriate sub-command if gm is
executed under a traditional alternate name such as "convert". The
user may create hard or symbolic links from 'gm' to a traditional
ImageMagick utility name (or just copy 'gm' to the desired
sub-command name) in order to be 100% command-line compatible with
ImageMagick 5.5.2. This is necessary in order to work with
existing software designed to execute ImageMagick utilities.
2004-04-08 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/compress.c (Ascii85Tuple): Fix an encoding bug noticed on
DEC Alpha.
2004-04-07 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- coders/pdf.c (ReadPDFImage): Double-check that Ghostscript
produced an output file since sometimes it reports success after
it has spewed an error message and has produced no output.
2004-04-06 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/compress.c (HuffmanEncode2Image): Avoid out of bounds
array access.
2004-04-05 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- configure.ac: Fix minor shell syntax error (used ==).
2004-04-04 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- version.sh (PACKAGE_VERSION): Release version 1.1.
Bumped revision to 1.1.1.
- magick/studio.h: Disabled use of Windows message lookups
entirely since this doesn't seem to work for programs. It
probably only works for DLLs like ImageMagickObject.
- magick/delegate.c (ListDelegateInfo): Don't get stuck in a loop
if fprintf() returns zero.
2004-04-03 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- VisualMagick/*/*.bat: Add .exe to exe file names in order to
ensure that the executable is executed rather than something else
(such as a batch script).
- magick/locale.c: Only use Windows resource message lookup for
the DLL build since it doesn't seem to work for static
executables.
- magick/utility.c (SetClientPath): Ensure that client path is
null terminated.
(SetClientFilename): Initialize default client filename to ""
rather than "gm.exe" and ensure that filename is null terminated.
(SetClientName): Ensure that client path is null terminated.
- magick/blob.c (GetConfigureBlob): Enable logging the load of
log.mgk
- magick/log.c: Re-designed logging initialization in order to
avoid the "chicken and the egg" snafu. This allows logging the
initialization of the logging subsystem.
2004-04-01 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- VisualMagick/bin/log.mgk: Add comments to help document usage.
- config/log.mgk: Add comments to help document usage.
- magick/utility.c (IsAccessible): Use access() rather than stat().
(IsAccessibleNoLogging): Use access() rather than stat().
(IsDirectory): Implemented return status according to existing API
documentation.
(GetExecutionPathUsingName): Complete re-write in order to minimize
path computation logic and fix failure with partial paths.
2004-03-31 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- doc/options.imdoc: Add "Color" to the arguments available for -list.
2004-03-29 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- version.sh (PACKAGE_CHANGE_DATE): Updated version to 1.1Beta3
- magick/nt_base.c (NTSystemComman): Have not been successful with using
MsgWaitForMultipleObjects() reliably, so back out usage of it for
now.
- magick/fx.c (ConvolveImage): Support convolution in CMYK
colorspace.
2004-03-28 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- version.sh (PACKAGE_CHANGE_DATE): Update release to 1.1Beta2.
- magick/constitute.c (ReadImage): Ignore errors of type
ConfigureError when loading modules so that error report can still
report the familiar "No delegate for this image format" message
while still being able to report problems with loading a module if
it was found. This is a compromise which reports useless messages
when the modules are not found at all, but I can't think of a way
around it.
- magick/nt_base.c (NTSystemComman): Adjust
MsgWaitForMultipleObjects() arguments to wait for object to be
signaled only (FALSE) rather wait for object to be signaled as
well as an input event received(TRUE). It seems that process
status changes do not result in an input event, so the call was
deadlocking.
- magick/constitute.c (ReadImage): If module loading reported an
error, ReadImage immediately returned an error rather than trying
to use a delegate defined by delegates.mgk.
2004-03-25 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- version.sh: Updated version to 1.1Beta1
2004-03-24 Mike Chiarappa <mikechiarappa@libero.it>
- BCBMagick/magick/libMagick.bpr: updated to latest source modifications.
- BCBMagick/magick/GM_Magick.bpr: updated to latest source modifications.
2004-03-23 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- coders/plasma.c (ReadPlasmaImage): srand() is already invoked by
InitializeMagick() so don't call it here.
- configure.ac: Check for rand_r().
- magick/tempfile.c (ComposeTemporaryFileName): The full range of
safe characters was not being used, thereby limiting the number of
unique temporary file names available.
2004-03-22 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/image.c (GetImageStatistics): New function to obtain
image statistics (minimum, maximum, mean, variance, and standard
deviation).
(DescribeImage): Include image channel statistics in verbose
output.
2004-03-21 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/constitute.c (DispatchImage): Removed some unreachable
code that was accidentially left in the switch statement.
- magick/pixel_iterator.c (PixelIterateDualRead): Extended so that
the region in each image may use a different origin.
(PixelIterateDualModify): Extended so that
the region in each image may use a different origin.
- magick/composite.c (CompositeImage): Fix XorCompositeOp overflow
condition which occured on non-Intel architectures.
2004-03-20 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- NEWS: Updated with changes up to today's date.
- tests/constitute.c (main): Float type seems to require allowing
a bit of error for Q:32.
- magick/constitute.c (DispatchImage): Be more careful when
rounding pixel intensity.
(ConstituteImage): Be more careful when converting float and
double to Quantum.
- magick/composite.c (CompositeImage): Fix Multiply composite
operator for Q:32 build (was all black image).
(CompositeImage): Tidied up the documented composite operators so
the implementation is easier to understand.
- PerlMagick/t/ttf/read.t: Set a desired label size so output
image should be the same size as the reference image even if the
FreeType type hinter is disabled.
- magick/annotate.c (RenderFreetype): Improve outline bounding box
computation accuracy.
2004-03-18 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- PerlMagick/t/x/write.t: Don't test X11 if DISPLAY is not set.
- PerlMagick/t/x/read.t: Don't test X11 if DISPLAY is not set.
2004-03-17 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- coders/Makefile.am: Removed some apparently unnecessary library
dependencies.
- Makefile.am (windows-src): Added a way to generate a Windows
source zip file.
2004-03-16 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/command.c: The -operator command now supports
floating-point and percent of range arguments.
2004-03-15 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/command.c: Added support for -operator command with
syntax "-operator channel operator rvalue" which applies a
arithmetic or bitwise operator to a specified image channel
or all channels.
2004-03-13 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- PerlMagick/t/filter.t: Fix Solarize test case.
- PerlMagick/t/wmf/read.t: Added another WMF test case.
- coders/wmf.c: Resolve WMF rendering bug with black color.
- magick/utility.c (StringToArgv): Free argv data prior to error
return.
2004-03-10 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- coders/jpeg.c (WriteJPEGImage): If image_info->colorspace is set
to GRAYColorspace then make sure that image is in a gray
colorspace.
- magick/image.c (TransformRGBImage): If colorspace is already an
RGB type (RGBColorspace, GRAYColorspace, or TransparentColorspace),
then simply return. Do *not* set image->colorspace to RGBColorspace
since this potentially loses a valuable setting.
2004-03-10 Peter Boos <pedib@colorfullife.com>
- magick/annotate.c (RenderFreetype): If DrawAnnotation is called
with a string containing only one character and this character is
not recognized by the TrueType engine, a crash occured due to the
failure of FT_Load_Glyph. The failure caused an uninitialized
glyph.image pointer to be used by FT_Done_Glyph() later in the
code. The solution is to initialize the glyph.image pointer to
null.
2004-03-09 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/image.c (QuantumOperatorRegionImage): Properly handle
over and underflow of arithmetic operators.
- magick/draw.c (DrawGetFillOpacity): Use fill opacity, and invert
opacity range so it is 0.0 to 1.0 (was acting like transparency).
(DrawSetStrokeOpacity): Validate range of stroke_opacity.
(DrawSetFillOpacity): Save value to context->fill.opacity and
validate the range of fill_opacity.
- magick/image.c (QuantumOperatorImage): New function to apply an
arithmetic or bitwise operator to the pixel quantums in an image.
(QuantumOperatorRegionImage): New function to apply an arithmetic
or bitwise operator to the pixel quantums in an image region.
- magick/image.c (IsImagesEqual): Re-implemented using the new
pixel iteration functions as a proof of concept.
- magick/pixel_iterator.h: Added some pixel iteration functions in
order to make it easier to implement algorithms which only need to
iteratively access pixels in a region. These functions are not
part of the API yet so their interface should be considered
unstable.
- doc/GNUmakefile: Rename Makefile to GNUmakefile since it relies
on GNU make extensions.
2004-03-06 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/constitute.c (ConstituteImage): Add support for 'T'
(transparency) and 'O' (opacity) map types. Simplify
implementation.
(DispatchImage): Add support for 'T' (transparency) and 'O'
(opacity) map types. Simplify implementation.
- config/delegates.mgk.in: Quote delegate command names so
that they can contain embedded spaces.
- VisualMagick/bin/delegates.mgk: Quote delegate command names so
that they can contain embedded spaces.
- coders/tiff.c (WriteTIFFImage): Use the libtiff default endian
mode when writing TIFF rather than forcing MSB2LSB bit order.
(ReadTIFFImage): Enable reading in MSB2LSB bit order (better for
our byte-level parsing), enable memory mapping, and enable strip
chopping. Memory mapping and strip chopping are probably enabled
by default.
- magick/nt_base.c (NTSystemComman): Use
MsgWaitForMultipleObjects() rather than WaitForSingleObject() in
order to avoid possible deadlock when application code directly or
indirectly creates windows.
2004-02-28 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/animate.c (XMagickCommand): URL should point to
http://graphicsmagick.org/.
- magick/display.c (XMagickCommand): URL should point to
http://graphicsmagick.org/.
- magick/image.c (DisplayImages): Changes to fix memory leaks in
X11 commands had bugs which seriously broke DisplayImages. Now
DisplayImages works properly again.
- magick/xwindow.c (XDestroyResourceInfo): New function to destroy
XResourceInfo.
- coders/x.c (WriteXImage): Implement based on DisplayImages().
(RegisterXImage): Always register X coder, but with read/write
support disabled if X11 not available.
2004-02-26 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/command.c (ImportImageCommand): Eliminate memory leaks.
- magick/memory.c (LiberateMemory): Use MagickFreeMemory macro for
implementation.
(ReacquireMemory): Use MagickReallocMemory macro for
implementation.
(AcquireMemory): Use MagickAllocateMemory for implementation.
2004-02-26 Vladimir <lvm@integrum.ru>
- magick/memory.c (CloneMemory): Fixes to compile under Microsoft
Visual C++ 6.0.
2004-02-25 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/animate.c (XAnimateImages): Memory leak reduction and
better integration with gm command.
- magick/display.c (XDisplayImage): Display was leaking memory
like a sieve. Now it doesn't.
- magick/memory.c (CloneMemory): Computation for when it is safe
to use memcpy() was incorrect. Use memmove() rather than
backwards-copy loop.
- Makefile.am ($(DIST_ARCHIVE_SRPM)): Added rules to build a
source RPM.
- configure.ac: Search for 'buildrpm' or 'rpm' programs in order to
support creating RPM packages on a system which has RPM installed.
- version.sh (PACKAGE_VERSION): Changed snapshot release naming so
that there is only one dash in the name and the snapshot date is
prefixed with '0' to assure proper directory sorting. This allows
snapshot naming to be acceptable to RPM. The snapshot package
name is now similar to GraphicsMagick-1.1.020040218.tar.bz2
2004-02-16 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- coders/xwd.c (RegisterXWDImage): Always register XWD, but only
register read/write methods if it is supported.
- wand/magick_wand.c: Synchronized with latest ImageMagick API
changes.
2004-02-16 Lars Ruben Skyum <lars.skyum@stibo.com>
- magick/resize.c (HorizontalFilter): Fixed: do process K channel
for CMYK images.
(VerticalFilter): do process K channel for CMYK images.
2004-02-15 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- coders/tga.c (ReadTGAImage): Fix matte channel handling. For
16-bit packets, use integer rather than floating point. Return
gray images as PseudoClass and set is_grayscale flag. Add
logging.
- magick/fx.c (WaveImage): Ensure that image is
DirectClass. Ensure that matte channel is initialized if
necessary. Include background color in is_grayscale evaluation.
- magick/gem.c (GenerateNoise): Scale noise to range of quantum.
2004-02-13 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- coders/jp2.c (WriteJP2Image): Support passing all documented
Jasper options using -define.
2004-02-13 Peter Boos <pedib@colorfullife.com>
- coders/wmf.c (util_draw_arc): Fixes to improve handling for pie,
arc, and chord. These fixes produce correct output for
wmf/examples/fjftest.wmf, but it is not known if they are correct
for all cases.
2004-02-12 Tim Hunter <cyclists@nc.rr.com>
- magick/profile.c (SetImageProfile): Bug fixes.
2004-02-11 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- coders/xpm.c (UnregisterXPMImage): Unregister PICON registration.
2004-02-10 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- coders/Makefile.am (label_la_LDFLAGS): Add a dependency on the
math library since floor() is used.
- wand/magick_wand.c (MagickRemoveImageProfile): Use C comments in
C files.
- magick/constitute.c (MapQuantumType): Fix spurious comma in
enum definition.
- magick/blob.c (GetBlobStreamHandler): Apparently return type can
not be const.
2004-02-09 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- configure.ac: Check for Windows fonts under
/usr/X11R6/lib/X11/fonts/truetype (XFree86 standard location?).
- coders/jp2.c (WriteJP2Image): Support providing a compression
rate value (range 0.0 to 1.0) using command line syntax similar to
'-define jp2:rate=0.5'. In Magick++ this option may be accessed
similar to image.defineValue("jp2","rate","0.5");
- magick/command.c (DisplayImageCommand): Exit status was inverted
so 'gm display' was returning 1 for successful commands, and 0 for
failures.
(AnimateImageCommand): Exit status was inverted so 'gm animate'
was returning 1 for successful commands, and 0 for failures.
2004-02-08 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/utility.h (MagickReallocMemory): Solaris compiler
complains about cast so remove it.
- coders/xwd.c (WriteXWDImage): Right-size the pixels buffer and
tune writer loops a bit.
- magick/color.h (VerifyColormapIndex): Improve diagnostics.
- coders/pict.c (WritePICTImage): Eliminate use of uninitialized
data when writing RGB PICT. Fix OpenBlob assertion when writing
JPEG PICT.
(ReadPICTImage): Validate 'tile_image' colormap indexes rather
than 'image' colormap indexes. Preserve compression attribute from
tile image.
- magick/constitute.c (DispatchImage): Don't access image opacity
channel unless image->matte is True.
2004-02-07 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- coders/png.c (UnregisterPNGImage): Destroy PNG semaphore.
- magick/image.c (SetImageInfo): Since we don't know what the
"IMPLICIT" specifier is supposed to do, support for it is
removed. Perhaps by removing support for it, we will be reminded
why it exists.
- magick/magick.c (DestroyMagickInfo): Invoke
UnregisterStaticModules().
(GetMagickInfo): Remove registration for "IMPLICIT" format since
its purpose is presumed bogus.
- magick/static.c (UnregisterStaticModules): New function so we
can unregister static modules.
- coders/plasma.c (UnregisterPLASMAImage): Unregister FRACTAL.
- coders/icon.c (UnregisterICONImage): Unregister CUR.
- coders/bmp.c (UnregisterBMPImage): Unregister BMP2 and BMP3.
- coders/meta.c (UnregisterMETAImage): Unregister APP1JPEG, IPTC,
IPTCTEXT, IPTCWTEXT, and PICON.
- coders/miff.c: Check for run-length termination before testing
memory and only check opacity channel if matte is valid.
- magick/compress.c: Check for run-length termination before
testing memory (bad read error).
2004-02-07 Glenn Randers-Pehrson <randeg@alum.rpi.edu>
- coders/bmp.c: Fix off-by-one error while initializing padding bytes.
- coders/dib.c: Fix off-by-one error while initializing padding bytes.
- magick/enhance.c: MaxMap vs MaxRGB error fixed. Reported by Cristy.
2004-02-04 Glenn Randers-Pehrson <randeg@alum.rpi.edu>
- magick/compress.c: avoid a reference to uninitialized data.
2004-02-04 Glenn Randers-Pehrson <randeg@alum.rpi.edu>
- coders/dib.c: initialize padding bytes.
2004-02-04 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/montage.c (MontageImages): Fix leak of texture image (big
leak).
2004-02-03 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- coders/tiff.c (WriteTIFFImage): Fix detection of when to use a
temporary file when writing TIFF. Writing to TIFF BLOBs was
broken by the recent changes to make BlobInfo a private type.
- magick/render.c (DestroyEdge): Use memmove for overlapping copy.
2004-02-03 Glenn Randers-Pehrson <randeg@alum.rpi.edu>
- coders/bmp.c: initialize padding bytes.
2004-02-02 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/constitute.c (ConstituteImage): Added map support for 'P',
in order to skip over a pad quantum.
(DispatchImage): Added map support for 'P', in order to write a pad
quantum.
- magick/resize.c (HorizontalFilter): Don't process opacity
channel unless matte is enabled.
(VerticalFilter): Don't process opacity channel unless matte is
enabled.
- magick/compress.c (Ascii85Initialize): Don't overwrite an
existing ascii85 allocation.
- magick/utility.c (Strip): Use 'memmove' rather than 'memcpy' to
copy overlapping data.
- tests/rwfile.c (main): Fix memory leak in test. Only apply size
if format requires it.
- tests/rwblob.c (main): Fix memory leak in test. Only apply size
if format requires it.
- coders/mono.c (RegisterMONOImage): Mono is a raw format.
- magick/magic.c (GetMagicInfo): Ensure that magic tests are
within the range of header data which was read.
2004-02-02 Glenn Randers-Pehrson <randeg@alum.rpi.edu>
- coders/bmp.c: fix potential use of uninitialized data.
- coders/png.c: fix potential use of uninitialized data.
2004-01-31 Mike Chiarappa <mikechiarappa@libero.it>
- magick/studio.h: Fixed problem related to DLL version of BCBMagick.
Sometimes was incorrectly checked the presence of VC++ DLL. Thanks
very much to Oliver Bertini for bringing this problem to our attention.
- BCBMagick: added libpng delegate library in both static and DLL
modes.
- BCBMagick: removed all unuseful files from CVS.
2004-01-31 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/render.c (CloneDrawInfo): Fixed nasty memory leak which
becomes painfully evident when using Magick++.
- magick/type.c (ReadTypeConfigureFile): Fix problem with parsing
<include> directive.
- configure.ac: The type.mgk generated had a syntax error.
- magick/effect.c (SpreadImage): Eliminate read from uninitialized
memory.
- magick/quantize.c (NodeInfo): Store nodes in a list similar to
ImageMagick.
(DestroyCubeInfo): Eliminate a small memory leak.
2004-01-27 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/montage.c (MontageImages): Free thumbnails once they are
no longer needed (big leak).
- magick/blob.c (OpenBlob): Ensure that magick array is
fully initialized, even if the fread() is short.
- magick/list.c (ImageListToArray): Add a null pointer to the end
of the image list to serve as a handy list terminator.
- magick/tempfile.c (DestroyTemporaryFiles): Fix memory leak of
semaphore.
- magick/map.c (MagickMapDeallocateMap): Fix memory leak of
semaphore.
- coders/png.c (WriteOneJNGImage): Use DestroyBlob.
- magick/list.c (SyncNextImageInList): Use DestroyBlob.
- magick/image.c (AllocateNextImage): Use DestroyBlob.
(DestroyImage): DestroyBlob.
- coders/wpg.c (ExtractPostscript): Use DestroyBlob.
- magick/blob.c (DestroyBlob): New function. Similar to
DestroyBlobInfo except that it requires an Image * argument and
zeros the blob pointer. This one is preferred for use over
DestroyBlobInfo.
2004-01-27 Glenn Randers-Pehrson <randeg@alum.rpi.edu>
- coders/png.c: Add DestroyBlobInfo() calls to stop memory leak when
processing JNG datastreams.
2004-01-26 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/utility.h (MagickReallocMemory): Added a cast required to
make C++ Happy.
- coders/tiff.c: Adjust for bitstream API function renaming.
- magick/bit_stream.h: Rename BitStreamRead() to
BitStreamMSBRead() to indicate that it reads most significant bytes
first ("big endian" order). Rename BitStreamWrite() to
BitStreamMSBWrite() to indicate that it writes most significant
bytes first ("big endian" order).
- wand/magick_wand.c: Updated to lastest ImageMagick API.
2004-01-26 Mike Chiarappa <mikechiarappa@libero.it>
- magick/stream.c: (SetPixelStream) removed "const" from definition of
local variable [StreamHandler stream]. Borland C++Builder compiler signal
error "Cannot modify a const object".
2004-01-25 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- coders/tiff.c (TIFFMapBlob): Allow libtiff to access memory
mapped file (or BLOB in memory) directly. This provides a small
performance increase.
- magick/constitute.c (ReadImage): If a .mpc file is a temporary
file, then be sure to remove the associated .cache file when
removing the .mpc file.
- magick/log.h (LogEventType): ExceptionEventMask now maps to
WarningEventMask|ErrorEventMask|FatalErrorEventMask so that
'-debug exception' works again.
- magick/blob.c (CloseBlob): Allow CloseBlob to be invoked on a
blob which is not open (in UndefinedStream state).
(BlobInfo): The definition of BlobInfo is now private to blob.c.
(StreamType): The StreamType enumeration is now private to blob.c.
(GetBlobFileHandle): New function to access the blob file handle.
(GetBlobStreamHandler): New function to access the blob stream
handler.
(GetBlobStreamType): This function is removed entirely.
(BlobIsSeekable): New function to test if SeekBlob will work
properly for this blob type.
(GetBlobClosable): New function to test if the blob is allowed to
be closed by the library (may be an externally provided file
descriptor).
(GetBlobTemporary): New function to test if input file is a
temporary file which is to be removed.
(SetBlobClosable): New function to support setting the flag which
keeps the input file from being closed.
(SetBlobTemporary): New function to support setting the flag which
indicates that the input file is a temporary file.
- coders/jpeg.c (ReadJPEGImage): Invoke CloseBlob even if
blob is in UndefinedStream state.
- magick/error.h (ThrowReaderException): Ditto.
(ThrowWriterException): Ditto.
(ThrowWriterException2): Ditto.
(ThrowWriterException3): Ditto.
- magick/tempfile.h (ThrowReaderTemporaryFileException): Ditto.
(ThrowWriterTemporaryFileException): Ditto.
- coders/dps.c,coders/jpeg.c, coders/meta.c, coders/mvg.c,
coders/png.c, coders/tiff.c, magick/constitute.c, magick/stream.c:
Use new blob accessor functions.
- magick/cache.c (OpenCache): For Windows, set the sequential
access flag in all cases. Maybe it will make a difference.
2004-01-18 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/blob.c (GetConfigureBlob): Don't check Windows registry
if MagickLibConfigPath or MagickShareConfigPath is defined.
- magick/locale.c: Use a Unix-style message database for MinGW.
- rungm.sh.in: Translate environment paths to Windows format when
running under MinGW.
- magick/nt_base.c (mmap): Re-wrote mmap emulation to support
64-bit file offsets and to support anonymous mapping.
(msync): A crude emulation of Unix msync().
- acinclude.m4 (GM_FUNC_MMAP_FILEIO): Change result define from
HAVE_MMAP to HAVE_MMAP_FILEIO so that it doesn't conflict with
Autoconf standard definition.
2004-01-17 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/cache.c (OpenCache): While allocating the pixel cache
from the heap, reserve enough memory to contain a full PseudoClass
image in order to reduce the chance that there will be a memory
allocation failure while processing the image. This also avoids
the possibility that the image pixels will be block-copied to a
new location due to heap memory fragmentation. If there is
insufficient heap memory (malloc() fails), then a disk-based pixel
cache will be used.
- coders/wpg.c: Backed out Jaroslav Fojtik's patch from 2004-01-13
because WPG was failing PerlMagick's existing WPG read test.
2004-01-16 Mike Chiarappa <mikechiarappa@libero.it>
- BCBMagick: updated to recent Windows delegate libraries.
- BCBMagick: modified build procedure. Removed all unused directories
and include files.
- lcms/include/lcms.h: Modified to achieve BCBMagick compilation.
- tiff/libtiff/tiffio.h: Modified to achieve BCBMagick compilation
- ttf/include/freetype/config/ftoption.h: Modified to achieve
BCBMagick compilation
- Magick++/lib/Magick++/Include.h: Modified to achieve BCBMagick compilation.
2004-01-13 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- coders/wpg.c: Applied patch from Jaroslav Fojtik to support
reading the CTM (current transform matrix). The CTM is not
applied yet (expect later patch).
2004-01-12 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- coders/sfw.c (ReadSFWImage): Added size_t cast.
- coders/msl.c (MSLStartElement): Added size_t cast.
- coders/meta.c (convertHTMLcodes): Added size_t cast.
- coders/locale.c: Add size_t casts and update to use memory
allocation macros.
- coders/html.c (WriteHTMLImage): Added size_t cast.
- magick/utility.h (MagickAllocateMemory): Added size_t cast.
(MagickReallocMemory): Added size_t cast.
- coders/bmp.c (WriteBMPImage): Added size_t cast.
- coders/art.c (ReadARTImage): Use memory allocation macros.
- VisualMagick/configure/configure.cpp: Update to support library
.def exports files with Visual C++ 7.0.
- Updated Windows delegate libraries: LCMS 1.12, FreeType 2.1.5,
BIG-KIT 1.5, libpng 1.2.5, libwmf 0.2.8.2, and zlib 1.2.1.
- Verified Windows static and DLL compilation with Visual C++ 6.0.
- Makefile.am: Update to automake 1.8.2.
- coders/gif.c (WriteGIFImage): Use ColorMatch rather than
FuzzyColorMatch when comparing colormap entries.
2004-01-09 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/profile.c: Needed to include "magick/profile.h" in order
to obtain prototypes.
2004-01-07 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- wand/wandtest.c: Change MagickCloneWand to MagickGetImage since
the API name changed.
- wand/pixel_wand.c: Synchronized with
latest daily ImageMagick updates.
- wand/magick_wand.c (MagickRemoveImageProfile): Synchronized with
latest daily ImageMagick updates.
- magick/profile.c (DeleteImageProfile): New method to make
it easier to destroy an image profile.
- magick/profile.h: New source file to contain functions for
dealing with embedded image profiles.
- magick/profile.c: New source file to contain functions for
dealing with embedded image profiles.
- Makefile.am (DISTDIRS): Distribute TclMagick subdirectory.
2004-01-06 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- wand/magick_wand.c: Ported over the latest ImageMagick Wand API
updates. Note that a comment now says that the Wand API will not
be finished until around 4th quarter of 2004. This represents a
1-1/2 year slip from the original estimate!
2004-01-04 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/image.c (IsImagesEqual): Simplified implementation.
- magick/magick.c: Removed some unused code.
- contrib/win32/ATL7/ImageMagickObject/ImageMagickObject.cpp
(IDispatch): Comment out InitializeSemaphore() so code compiles.
- libtool.m4: Updated to 2004-01-03 version of CVS libtool. This
should fix configure problems under AIX and IRIX.
2004-01-03 Glenn Randers-Pehrson <randeg@alum.rpi.edu>
- coders/sgi.c: opacity channel was lost when writing grayscale
SGI images. See bug report in magick-users list.
2003-12-28 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/annotate.c (RenderFreetype): Ensure that image storage
class is set to DirectClass. Text rendering was not working
properly on top of PseudoClass images.
- magick/map.c (MagickMapRemoveEntry): Logic didn't properly
handle removing entry in list.
- configure.ac: Added --enable-efence option to enable memory
debugging using Electric Fence.
2003-12-27 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- tests/maptest.c (main): Extended test to add an entry to the
list after an entry has already been removed.
- magick/image.c (ColorspaceTypeToString): Add support for LAB
colorspace.
- magick/map.c: Added signature members to all structures and
added assertions to ensure that the signature == MagickSignature
prior to use. MagickMapAllocateObject now initializes the object
reference count to one, and MagickMapDestroyObject decrements it
in order to be more correct even though the object reference count
is not actually used yet.
(MagickMapCopyString): Preserve a null argument, and use
AcquireString since it doesn't enlarge the string storage.
(MagickMapCopyBlob): Preserve null blobs.
- configure.ac: Search for the shmctl() function. Under current
Cygwin, this is hiding in -lcygipc.
2003-12-26 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/composite.c: Fixed the composite operator list in the
CompositeImage documentation.
- www/api/types.html: Corrected list of composition
operators. Sometime prior to the creation of GraphicsMagick, the
"Replace" composite operators were renamed to be "Copy" composite
operators. Thanks to David Relson for bringing this problem to
our attention.
- PerlMagick/Magick.xs: Added "LAB" to colorspace types.
- magick/image.h (enum ColorSpace): Add LABColorspace enumeration.
- wand/magick_wand.h : Add some compatibility definitions to
translate from ImageMagick enumerations to existing GraphicsMagick
enumerations.
2003-12-25 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/annotate.c: Use header synonyms defined by FreeType's
ftheader.h (included via <ft2build.h>) to include FreeType headers.
This will presumably be more portable in the future.
- configure.ac: <ft2build.h> is an optional prerequisite for
<freetype/freetype.h> and <libwmf/ipa.h> so include it when
testing for these headers.
- magick/annotate.c: Include <ft2build.h> if it is available.
2003-12-21 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- wand/wandtest.c: Ported from latest ImageMagick version.
- wand/drawing_wand.c: Adapted to be compatible with latest
ImageMagick version.
- wand/pixel_wand.c: Adapted to be compatible with latest
ImageMagick version.
- wand/magick_wand.c: Ported from latest ImageMagick version.
- magick/image.h (Image): Members color_profile, iptc_profile,
generic_profile, and generic_profiles are now deprecated and
private although they continue to work as before. Please migrate
existing code to use the GetImageProfile and SetImageProfile
functions since these members will eventually be removed.
- magick/image.c (GetImageProfile): New function to retrieve an
image profile. Return value differs from similarly named
ImageMagick method since the ImageMagick approach assumes a
particular storage method.
(SetImageProfile): New function to add (or remove) an image
profile. Does not execute CMS color profiles.
- magick/cache.c (SetImageVirtualPixelMethod): Return unsigned int to
make the Wand implementation happy.
- magick/image.c (TransformColorspace): Return unsigned int to
make the Wand implementation happy.
(SetImageType): Return unsigned int to make the Wand
implementation happy.
- magick/draw.h, magick/draw.c: Substitute 'unsigned long' in
place of 'size_t' in interfaces so that the draw API is not
sensitive to the definition of _LP64.
- locale/C.mgk: Added new messages required by Wand library.
- magick/error.c (ExceptionSeverityToTag): Add tag translations
for the WandWarning, WandError, & WandFatalError enumerations
- magick/error.h (enum ExceptionType): Add WandWarning, WandError,
& WandFatalError enumerations to ExceptionType for ImageMagick
API compatibility.
- magick/image.h (enum ChannelType): Add an 'AllChannels'
enumeration to the ChannelType enumeration for ImageMagick
API compatibility.
2003-12-17 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- PerlMagick, tests: Adjusted allowed error values for tests based
on new error computation arithmatic. Some tests were left failing
since the operation they test provides results which are
unreasonably inaccurate, or obviously broken.
2003-12-17 Glenn Randers-Pehrson <randeg@alum.rpi.edu>
- coders/jpeg.c: Changed "JPEG:preserve-settings from a key/value
pair to a simple flag. Save and restore attributes when
"-define JPEG:preserve-settings" appears on the commandline. Use
"+define JPEG:preserve-settings" to unset the flag.
2003-12-16 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- coders/wmf.c: Include <ft2build.h> if it is available since some
libwmf installs don't work unless it is included before the libwmf
API headers.
- configure.ac: Check for <ft2build.h>.
2003-12-16 Glenn Randers-Pehrson <randeg@alum.rpi.edu>
- coders/jpeg.c: Changed stored jpeg quality attribute from
[jpeg-quality] to JPEG-Quality. Added attributes JPEG-Colorspace
and JPEG-Sampling-factors. Added code to save and restore
these attributes when "-define JPEG:preserve-settings=yes" is
present in the comandline. Quality is restored if the input
was a JPEG and the quality was preserved. Sampling factors
are restored if the input was a JPEG, sampling factors were
preserved, and the colorspace for the output file is the same
as that of the input file.
2003-12-15 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- TclMagick/source/configure.ac: Add an initial TclMagick
configure-based build environment based on a template and macros
from the Tcl project. I recall that while the extension does build,
it is possible that it is not properly registered as a module to Tcl.
2003-12-14 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/image.c (IsImagesEqual): Properly compute error distance
vectors. Math was missing the necessary sqrt call. Also,
pre-normalize the error differences to 1.0 in order to reduce the
storage size required to store the summation of error values.
- PerlMagick/t/composite.t: Update Minus and Xor reference images.
- magick/composite.c (CompositeImage): Incorporated fixes from
ImageMagick for XorCompositeOp, PlusCompositeOp, and
MinusCompositeOp. Thanks to John Cristy for bringing the need for
these fixes to our attention.
- magick/image.h (RoundToQuantum): Added missing parenthesis.
2003-12-10 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- doc/environment.imdoc: Document MAGICK_CODER_MODULE_PATH and
MAGICK_FILTER_MODULE_PATH.
- rungm.sh.in: Pass MAGICK_CODER_MODULE_PATH and
MAGICK_FILTER_MODULE_PATH in the environment so modules build may
be tested without first being installed.
- magick/module.c (FindMagickModule): Use the
MAGICK_CODER_MODULE_PATH environment variable to specify a search
path for coder modules. Use MAGICK_FILTER_MODULE_PATH to specify
a search path for filter modules.
- Makefile.am: Updated to Automake 1.8.
(install-exec-perl): Fixes which achieve a successful
'make distcheck' for the first time in *Magick history.
- configure.ac: Set scripts to executable.
2003-12-09 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- Makefile.am (uninstall-data-html): Pathnames were computed
incorrectly so documentation directories were being left behind.
- configure.ac: --without-frozenpaths is now the default. This
helps 'make distcheck' work and makes the package more portable.
Path to gm was being incorrectly frozen when --without-frozenpaths
was specified.
- magick/delegate.c (ReadConfigureFile): Validate delegate paths
prior to substitution.
- rungm.sh.in (top_builddir): Use a more reliable scheme for
computing location of source and build directories.
- magick/Makefile.am: Improve include directory computation logic.
- configure.ac: Don't override includedir. Pass user-supplied LIBS
to the linker.
2003-12-08 Glenn Randers-Pehrson <randeg@alum.rpi.edu>
- coders/jpeg.c: store JPEG quality as "[jpeg_quality]" attribute.
2003-12-07 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- rungm.sh.in: New script to support executing uninstalled
executables.
- magick/blob.c (GetConfigureBlob): New MAGICK_CONFIGURE_PATH
environment variable allows the user to specify the search path
for configuration (.mgk) files.
2003-12-06 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- index.html: Added a table showing current stable release and
development version.
2003-12-05 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- doc/options.imdoc (use): Describe the syntax of the -process
argument.
- acinclude.m4 (AC_CHECK_CC_OPT): Add quoting in AC_CHECK_CC_OPT
definition. Change suggested by Patrick Welche
2003-12-04 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/magick.c (GetMagickInfo): Fix preprocessing logic error
which caused moby shared library build to not register static
modules.
2003-12-03 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/module.c (ExecuteModuleProcess): Add some logging.
- magick/static.c (ExecuteStaticModuleProcess): Add some logging.
2003-11-30 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- VisualMagick/installer: Add optional build support for LZW.
- wand/Makefile.am: Add AUTOMAKE_OPTIONS.
- configure.ac: Update to Autoconf 2.59.
2003-11-29 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- VisualMagick/installer/inc/tasks-install-perlmagick.isx: Update
to reflect that the next release will use ActivePerl 5.8.1 Build
807.
- VisualMagick/installer/inc/files-configs.isx: Updated the source
locations for the .mgk files. Install modules.mgk into the config
directory rather than the modules directory.
- configure.ac: Fixes to work with latest CVS libtool.
- libtool.m4: Update to latest CVS libtool.
- magick/modules.c, magick/static.c (ExecuteStaticModuleProcess):
Fix conditional compilation logic so that "moby" shared library
build works again.
- magick/compress.c, magick/mac.c: Use existing SaveImageText and
LoadImageText global constants rather than separate defines.
2003-11-17 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- configure.ac: Update to Autoconf 2.58.
- Makefile.am: Update to Automake 1.7.9.
2003-11-14 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/draw.c (DrawComposite): Base64-encoded image was not
being deallocated. Bad memory leak.
2003-11-03 Mike Chiarappa <mikechiarappa@libero.it>
- BCBMagick: Updated installation procedure. Please read
BCBMagick/readme.txt for details.
2003-11-03 Mike Chiarappa <mikechiarappa@libero.it>
- BCBMagick: Released DLL Version. Please read BCBMagick/readme.txt
for details about installation and/or use.
2003-11-03 Lars Ruben Skyum <lars.skyum@stibo.com>
- magick/utility.c (GetPathComponent): Added x, X, and +
characters to list of legal characters in subimage
specifications. Required by raw RGB image reader which accepts the
syntax "image.rgb[100x100+50+50]". Thanks to John Cristy for
catching that one.
2003-11-02 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/locale.c (GetLocaleMessageFromID): Fix ID range checking
logic.
2003-10-30 Lars Ruben Skyum <lars.skyum@stibo.com>
- coders/jpeg.c: changed to not write gray CMYK images as
grayscales. That would not be a valid optimization.
- magick/color.c (IsGrayImage, IsMonochromeImage): Changed to
never return true for CMYK images. Separated images get wrong
colors when optimized to grayscales based on what these two
functions return. Gray and CMYK are two different color spaces.
- magick/nt_feature.c (NTIsMagickConflict): changed to accept
colon as part of the magick string, consistent with the way the
function is used.
- magick/utility.c, magick/utility.h (ExpandFilenames,
GetPathComponent): Fixed filename glob expansion. Added handling
of filename prefix-magick and sub-image specification to
GetPathComponent. Sub-image specification takes precedence over
any filename patterns.
2003-10-22 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/static.c (ExecuteModuleProcess): Renamed from
ExecuteStaticModuleProcess. Only compiled if SupportMagickModules
is not defined.
- magick/type.c (GetTypeBlob): Eliminated function.
(ReadTypeConfigureFile): Use GetConfigureBlob() rather than
GetTypeBlob().
- magick/module.c (GetModuleBlob): Eliminate this function since
modules.mgk is now installed under
${prefix}/share/GraphicsMagick-version/config so
GetConfigureBlob() may be used.
(lt_dlexit, etc.) Eliminate fake libltdl function wrappers used
for the static build.
(DestroyMagickModules): Added a new destroy function (simply
invokes DestroyModuleInfo()).
(GetModuleList): Learn where modules live by using
FindMagickModule() to locate the LOGO module rather than by using
the location of modules.mgk. This is necessary since now
modules.mgk may be seperate from the modules.
(GetModuleBlob): Eliminated function.
(InitializeMagickModules): New function to safely initialize the
module loader.
(OpenModule): Added logging messages.
(OpenModules): Added logging messages.
(ReadModuleConfigureFile): Use GetConfigureBlob() rather than
GetModuleBlob().
Totally eliminated the rat's-nest of conditional code dependent on
SupportMagickModules. Now all the code in module.c is dependent
on #if defined(SupportMagickModules).
- magick/magick.c (DestroyMagick): Invoke DestroyMagickModules().
(GetMagickInfo): #ifdef chunks of code which exist to support the
modules-build rather than forcing the module loader to pretend
that modules are being used when they are not. Pass module loading
exceptions back to the user rather than discarding them.
(GetMagickInfoArray): Don't inspect the exception status since may
short-circuits the operation. Use best-effort instead.
(ListMagickInfo): Don't inspect the current exception status so
that all the modules which did load successfully will be
represented.
(InitializeMagick): Invoke InitializeMagickModules().
- magick/log.c: (GetLogBlob): Eliminated function.
GetConfigureBlob() is safe to use now when configuring logging.
(LogToBlob): Simplified function. Only exists since FileToBlob()
may throw exceptions (which are logged, causing deadlock).
(ReadLogConfigureFile): Use GetConfigureBlob().
- magick/blob.c (GetConfigureBlob): Re-written to use the
MagickMap interface and to support the new 'lib' and 'share'
config directories. The directory
${prefix}/lib/GraphicsMagick-version/config is scanned before
${prefix}/share/GraphicsMagick-version/config.
(FileToBlob): Simplified implementation.
- config/Makefile.am: New makefile to install .mgk files.
- magick/magick_config.h.in: Added MagickLibConfigPath and
MagickShareConfigPath defines.
- configure.ac: Install configuration files (.mgk files) in
${prefix}/lib/GraphicsMagick-version/config and
${prefix}/share/GraphicsMagick-version/config. Architecture
independent files to under "share" while architecture dependnet
files go under "lib".
- Makefile.am: Added 'config' subdirectory to distribution. All
.mgk files are moved from 'coders' & 'magick' into this single
directory.
2003-10-21 Mike Chiarappa <mikechiarappa@libero.it>
- magick/studio.h: small modifications to achieve DLL
compilation of library with Borland C++ Builder.
- coders/ps3.c (ZLIBEncode2Image): Fixed bug. Compilation
fail when HasZLIB is undefined because parameters 5 and 6,
are undefined.
2003-10-16 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- libtool.m4: Updated libtool again to CVS latest version.
Libtool required some fixes for building DLLs under MinGW.
- magick/resource.c (InitializeMagickResources): Some code is
conditional based on HAVE_POPEN.
- magick/utility.c (SystemCommand): Improved conditional
compilation logic.
- magick/blob.c (OpenBlob): Code depending on popen() is
conditionally compiled based on HAVE_POPEN. Code depending on
pclose() is conditionally compiled based on HAVE_PCLOSE.
- configure.ac: Add test for _pclose(), pclose(), _popen(), and
popen().
- magick/locale.c (GetLocaleMessage): Add missing MagickExport.
(GetLocaleMessageFromID): Add missing MagickExport.
- VisualMagick/installer/inc/files-development.isx (Source):
Include all of the headers from the magick directory in the
development package. Including them individually is too error
prone.
2003-10-15 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- VisualMagick/magick/magick_config.h.in: Added
PREFIX_MAGICK_SYMBOLS as a configuration option.
- magick/module.c (_CoderInfo): Added register_function and
unregister_function members to record the module's register and
unregister function addresses.
(OpenModule): Locate the module's register and unregister
functions and save their address to the module's CoderInfo record.
(UnloadModule): Invoke the module unregister function using the
address recorded by OpenModule().
(TagToFunctionName): If PREFIX_MAGICK_SYMBOLS is defined, then add
a "Gm" prefix to the register and unregister function names.
- libtool: Updated libtool files to the latest CVS version.
- configure.ac: Changed define name from MAGICK_SYMBOL_PREFIX to
PREFIX_MAGICK_SYMBOLS since support is not available for
specifying an arbitrary prefix.
2003-10-14 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- configure.ac: Added --enable-symbol-prefix configure option
which prepends "Gm" to all GraphicsMagick library symbols using
the C pre-processor. In the future, this may change to support
specifying an arbitrary prefix, depending on experience.
- magick/studio.h: Include magick/symbols.h.
- magick/api.h: Include magick/symbols.h.
- magick/symbols.h: New header to support optionally remapping
library symbols. If MAGICK_SYMBOL_PREFIX is defined, then
library symbols are remapped.
2003-10-13 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/api.h: Removed inclusion of <magick/semaphore.h> since it
is an implementation header.
2003-10-13 Lars Skyum <lrs@stibo.dk>
- www/GraphicsMagick.html, www/animate.html, www/composite.html,
www/conjure.html, www/convert.html, www/display.html, www/gm.html,
www/identify.html, www/import.html, www/mogrify.html,
www/montage.html: added documentation for "-define" command line
option.
- doc/brief_options.imdoc, doc/options.imdoc: Added documentation
for "-define" command line option.
- doc/gmdocselect, doc/imdocselect: Changed "skipform" label in
sed scripts to just "skipf". Solaris sed had problems with the
long(?) "skipform" label.
2003-10-12 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- doc/composite.imdoc, doc/options.imdoc, doc/GraphicsMagick.imdoc:
Attempted to clarify the meaning of the compose arguments and how
composition works, as well as eliminating use of hard-coded values like
255.
- www/links.html: Added a link to Michael Still's article
"Graphics from the command line".
2003-10-11 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- coders/*.c: Updated module descriptions so that they accurately
describe the module rather than saying "Read/Write GraphicsMagick
Image Format".
- coders/cineon.c: Fix source module description. Contrary to
opinion, ImageMagick did not invent the Cineon X image format so
description is now "Read/Write Cineon X Image Format."
- magick/magic.mgk: Added a CINEON entry for the Cineon X image
format.
- magick/static.c (RegisterStaticModules): Invoke
RegisterCINEONImage().
- coders/modules.mgk: Map "CIN" magick to CINEON module.
2003-10-10 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- locale/C.mgk: Added message for "UnrecognizedCommand".
- magick/command.c (MagickCommand): No error was reported when a
subcommand failed to be matched so 'gm foo' would silently return.
Now an error message is properly reported.
2003-10-09 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- Makefile.am: Updated to Automake 1.7.8.
- various: Edits to eliminate minor issues detected by SGI C compiler.
- coders/ps3.c (WritePS3Image): Variable 'value was set but never
used so it is removed.
- magick/image.c (RGBTransformPacket): Removed inline request
since this function is too big to inline.
- magick/animate.c (XAnimateBackgroundImage): Fixed a GCC 3.X
"type pinning" warning.
- magick/display.c (XDisplayBackgroundImage): Fixed a GCC 3.X
"type pinning" warning.
- magick/render.c (GetPixelOpacity): Removed inline directive. No
one in their right mind could ever imagine this function inlining
successfully.
- magick/cache.c (IsNexusInCore): Adjusted so function inlines as
requested.
- coders/tiff.c (ReadTIFFImage): Improved logging information.
(WriteTIFFImage): Changed the way the bilevel/grayscale logic
works. Now bilevel images are treated similar to any other
grayscale image unless CCITT FAX3 or FAX4 compression is requested
(which selects the MINISWHITE photometric). The default is now to
write uncompressed bilevel images with MINISBLACK photometric.
- PerlMagick/t/composite.t: Use some reasonable error values.
- magick/image.c (GetImageDepth): Added special cases for
colormapped images and monochrome images in order to improve
performance.
2003-10-09 Glenn Randers-Pehrson <randeg@alum.rpi.edu>
- NEWS: added info about color scaling, sampling-factor, and
changed a reference to "-coder-options" to "-define".
2003-10-09 Lars Ruben Skyum <lars.skyum@stibo.com>
- VisualMagick/bin/modules.mgk: added EPS3 mapping to PS3 module.
- coders/ps3.c, coders/tiff.c, magick/command.c, magick/image.c,
magick/image.h, magick/utility.c: Changed -coder-options option to
-define. Also renamed functions {Add,Remove,Access}CoderOption(s)
to {Add,Remove,Access}Definition(s). Changed ps coder-specific
option ps:image=imagemask to just ps:imagemask.
2003-10-08 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- coders/cineon.c: Imported and adapted Cineon image format coder
written by Kelly Bergougnoux <three3@users.sourceforge.net> with
assistance from John Cristy.
2003-10-08 Glenn Randers-Pehrson <randeg@alum.rpi.edu>
- coders/jpeg.c: Extended -sampling-factor option to allow
user to supply full set of sampling factors. If the full
set is not supplied, omitted ones are 1x1 by default, similar
to the behavior of "cjpeg -sample".
- magick/command.c: Accept multiple pairs of sampling factors.
2003-10-07 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- coders/tiff.c (WriteTIFFImage): Re-arranged logging for improved
output. Cleaned up evaluation of SAMPLESPERPIXEL and
BITSPERSAMPLE. Provided support for the TIFF coder options
tiff:samples-per-pixel and tiff:bits-per-sample for power users.
(ReadTIFFImage): Colormap generation for PHOTOMETRIC_MINISBLACK
and PHOTOMETRIC_MINISWHITE was inaccurate. Seems to be accurate
now.
- PerlMagick/t/reference/read/input.miff: Updated due to Glenn's
change to scale macros.
- PerlMagick/t/tiff/input_gray_12bit.tiff: Replaced 12 bit image
with a different one which is written by GraphicsMagick.
- coders/ps3.c (WritePS3Image): Use AccessCoderOption().
- magick/image.c (AccessCoderOption): Added a function to use for
accessing coder-specific options.
2003-10-08 Lars Ruben Skyum <lars.skyum@stibo.com>
- magick/attribute.c (TraceSVGClippingPath): optimized for speed
and precision in clipping mask generation by using lines to
connect Bezier curve anchor points where applicable.
2003-10-07 Glenn Randers-Pehrson <randeg@alum.rpi.edu>
- Revised ScaleColor5to8 and ScaleColor6to8 macros again, to
fill the low bits correctly.
2003-10-06 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- PerlMagick/t/tiff/read.t: Added 16-color and 256 color
colormapped tests with a matte channel.
- PerlMagick/t/tiff/write.t: Added 16-color and 256 color
colormapped tests with a matte channel.
- coders/tiff.c (WriteTIFFImage): When using LZW compression,
apply the horizontal differencing predictor to RGB truecolor and
deep gray images since the TIFF spec says that LZW compression is
usually improved by using horizontal differencing with continuous
tone images.
Re-implemented grayscale and colormapped scanline preparation to
use the new bit-stream interface. This is a bit slower, but very
flexible, and the implementation is very compact. Writing of a
matte (transparency) channel is now believed to be correct for all
depths.
- magick/command.c (MogrifyImage): Only transform the colorspace
if it has been set (i.e. is not UndefinedColorspace).
2003-10-06 Glenn Randers-Pehrson <randeg@alum.rpi.edu>
- coders/png.c (ReadOnePNGImage): PNG decoder would exit too
early when reading image.png[0].
2003-10-05 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- PerlMagick/t/tiff/write.t: Added TIFF write tests for 4
bits-per-sample TIFF images, both with and without a transparency
channel.
- magick/image.c (DescribeImage): Added -verbose support for
displaying individual channel depths.
2003-10-06 Lars Ruben Skyum <lars.skyum@stibo.com>
- magick/image.c (SetImageInfo): cleaned up parsing of subimage
specification (image.psd[0]). It would fail sometimes due to
incorrect reuse of variables. It's a bit strange the code accepts
more range syntax-variations than can be stored in ImageInfo.
2003-10-05 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/image.c (ChannelImage): The OpacityChannel, MatteChannel,
and BlackChannel operations set the matte channel to opaque, so
set image->matte to False for those operations.
(RGBTransformImage): Add an assertion to prevent passing the
colorspace argument 'UndefinedColorspace'.
(TransformRGBImage): Add an assertion to prevent passing an image
with colorspace set to 'UndefinedColorspace'.
2003-10-04 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/log.c (LogToBlob): Since MagickSeek(file,0,SEEK_END) is
used to obtain the Blob size, MagickSeek(file,0,SEEK_SET) must be
used to restore the seek position. Thanks to John Cristy for
bringing this to our attention.
2003-10-03 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/bit_stream.h: Added a bit-stream writer function.
- PerlMagick/t/reference/read/input_tim.miff: Reference image
was defective.
2003-10-03 Lars Ruben Skyum <lars.skyum@stibo.com>
- magick/image.c, magick/image.h: Updated AddCoderOptions to
accept "flag" keys that have no values. They are placed in the
coder options map with an empty, zero length string value. Option
argument syntax is now: "key1[=[value1]],key2[=[value2]],..."
2003-10-03 Lars Ruben Skyum <lars.skyum@stibo.com>
- magick/command.c: Updated +coder-options option to not clear the
entire map of coder options, but accept a list of names to remove
from the map. Use option argument "*" to clear the entire map of
coder options.
- magick/image.c, magick/image.h: Added function
RemoveCoderOptions. Added cast of signed char to unsigned char and
int in calls to isspace and isprint.
- magick/utility.c: Added cast of signed char to unsigned char and
int in calls to isspace and isprint. Added special handling of
+coder-options option in ExpandFilenames function.
2003-10-01 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- PerlMagick/t/reference/read/input_tim.miff: The TIM read results
changed somewhat due to Glenn's ScaleColor5to8 fix.
2003-10-01 Glenn Randers-Pehrson <randeg@alum.rpi.edu>
- Revised ScaleColor5to8 and ScaleColor6to8 macros to fill in
the low bytes.
- coders/bmp.c (ReadBMPImage): scaling of 8-8-8-8-bit images was
also slightly incorrect.
2003-09-30 Glenn Randers-Pehrson <randeg@alum.rpi.edu>
- coders/bmp.c (ReadBMPImage): scaling of 5-5-5-bit and 5-6-5-bit
images was slightly incorrect.
2003-09-30 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- coders/tiff.c (ReadTIFFImage): When using the generic bit-stream
marshaller to read colormapped/gray images, the slight performance
improvement from creating a special case for matte images did not
justify almost doubling the amount of code. Therefore, the two
loops are combined back into one.
2003-09-29 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- coders/tiff.c (ReadTIFFImage): Fixed reading grayscale TIFFs
that have a transparency channel. Now uses a generic bit-stream
marshaller to allow reading any grayscale or colormapped TIFF with
any bits per sample in the range of 1 to 16.
- magick/bit_stream.h: Added a generic implementation for
marshalling from a bit-stream into a quantum. Still needs
re-writing for best performance.
- PerlMagick/t/tiff/read.t: Added a test case for reading 8-bit
grayscale TIFF with matte. Corrected grayscale 12-bit read
signatures. Added 16 color PseudoClass read test. Added 4-bit
grayscale read test.
2003-09-26 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- coders/tiff.c (WriteTIFFImage): Add support for writing
DirectClass grayscale images at 4 bits per sample, including those
with an opacity channel. This allows writing smaller files
(half the size) when the image has 16 (or less) levels of gray.
Use "gm convert inimage.tiff -depth 4 outimage.tiff" to quickly
create grayscale TIFF file with 16 (or less) levels of
gray.
2003-09-25 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- NEWS: Updated NEWS file with changes since last update.
- index.html: Added a link to the www/AUTHORS.html file, as well
as text stating that GraphicsMagick is originally derived from
ImageMagick 5.5.2, with a link to the ImageMagick site.
- Makefile.am: Add rules to generate www/AUTHORS.html.
- www/AUTHORS.html: New HTML file based on the AUTHORS file in the
source package. GraphicsMagick has many authors.
2003-09-25 William Radcliffe <billr@corbis.com>
- magick/image.c: Updated DescribeImage to cleanup EXIF data display
based on work by Cristy in ImageMagick.
2003-09-24 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- coders/tiff.c (WriteTIFFImage): Add support for writing
colormapped TIFF images with 1, 2, & 4 bits per colormap index.
This allows writing smaller files.
2003-09-24 Lars Ruben Skyum <lars.skyum@stibo.com>
- coders/ps3.c: Now creates a correct %%BoundingBox for images
with resolution stored as pixels per centimeter. Renamed serialize
functions. Added comment headers where they were
missing. Reformatted code to be in alignment with GraphicsMagick
standard formatting.
- magick/map.c: Fixed semaphore double locking problem in
MagickMapCloneMap.
2003-09-23 Mike Chiarappa <mikechiarappa@libero.it>
- BCBMagick/readme.txt : Updated compilation instructions.
- BCBMagick/magick/libMagick.bpr : Updated project, now include map.c.
- BCBMagick/lcms/Projects/BCB6/lcms.bpr : Updated project, now include
cmscam02.c and cmsvirt.c.
Much thanks to Alex Dvoretsky for bringing this problem to my attention.
2003-09-23 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- magick/image.h (Image): Moved private members to bottom of
structure.
(_ImageInfo): Moved private members to bottom of
structure.
- magick/Makefile.am (pkginclude_HEADERS): Don't install
semaphore.h.
(noinst_HEADERS): Distribute map.h and semaphore.h.
- magick/image.h (ImageInfo): Change coder_options member from
type 'MagickMap' to type 'void *'.
- coders/png.c: include magick/semaphore.h.
- magick/blob.c: include magick/semaphore.h.
- magick/color.c: include magick/semaphore.h.
- magick/constitute.c: include magick/semaphore.h.
- magick/delegate.c: include magick/semaphore.h.
- magick/log.c: include magick/semaphore.h.
- magick/magic.c: include magick/semaphore.h.
- magick/magick.c: include magick/semaphore.h.
- magick/module.c: include magick/semaphore.h.
- magick/semaphore.c: include magick/semaphore.h.
- magick/stream.c: include magick/semaphore.h.
- magick/tempfile.c: include magick/semaphore.h.
- magick/type.c: include magick/semaphore.h.
- magick/blob.h (_BlobInfo): Changed 'Semaphore *' to 'void *'.
- magick/cache.h (_CacheInfo): Changed 'Semaphore *' to 'void *'.
- magick/image.h (_Image): Changed 'Semaphore *' to 'void *'.
- magick/command.c: Updated each invokation of MagickMapAddEntry()
to add an exception argument.
- tests/maptest.c: Updated to pass an exception argument to
MagickMapAddEntry.
- magick/image.c (AddCoderOptions): Added exception argument
and some more error handling.
- magick/map.c: Added formal documentation for methods.
(MagickMapCloneMap): Added exception argument.
(MagickMapAddEntry): Added exception argument and status.
2003-09-22 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
- coders/emf.c: Changed NotAnEMFFile to ImproperImageHeader.
- magick/map.h: Changed all size parmeters from type 'unsigned
long' to 'size_t'.
- magick/map.c (MagickMapCopyBlob): Add new function to support
copying a Blob in a MagickMap.
(MagickMapDeallocateBlob): Add new function to support
deallocating a Blob in MagickMap.
2003-09-23 Lars Ruben Skyum <lars.skyum@stibo.com>
- coders/ps3.c: Fixed handling the case when no -coder-options are
provided to the PS3 coder.
2003-09-22 Lars Ruben Skyum <lars.skyum@stibo.com>
- coders/ps3.c: Changed %%Creator version to use
MagickLibVersionText, increased precision in HiResBoundingBox,
added a coder specific option for rendering bilevel images with
the PS imagemask operator indstead of the image operator.
- magick/command.c: Added "-coder-options" command line argument
to all relevant command line utilities. Option argument to
-coder-options is a list of comma separated key-value pairs that
are saved in a MagickMap