GraphicsMagick: Restore non-const Image::colorMapSize() since it...

GraphicsMagick Commits <[email protected]>
Newsgroups gmane.comp.video.graphicsmagick.cvs
Message-ID <mailman.10538.1662422533.28493.graphicsmagick-commit@lists.sourceforge.net>
changeset a152f76afeab in /hg/GraphicsMagick
details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=a152f76afeab
summary: Restore non-const Image::colorMapSize() since it caused an ABI change.

diffstat:

 ChangeLog                              |   7 +++++++
 Magick++/lib/Image.cpp                 |  21 ++++++++++++++++-----
 Magick++/lib/Magick++/Image.h          |   1 +
 VisualMagick/installer/inc/version.isx |   4 ++--
 magick/version.h                       |   4 ++--
 www/Changelog.html                     |  16 ++++++++++++++++
 6 files changed, 44 insertions(+), 9 deletions(-)

diffs (137 lines):

diff -r 455279107567 -r a152f76afeab ChangeLog
--- a/ChangeLog	Sun Sep 04 15:13:48 2022 +0200
+++ b/ChangeLog	Mon Sep 05 19:01:59 2022 -0500
@@ -1,3 +1,10 @@
+2022-09-05  Bob Friesenhahn  <[email protected]>
+
+	* Magick++/lib/Image.cpp (Magick::Image::colorMapSize): Restore
+	non-const Image::colorMapSize() since it caused an ABI change.
+	Debian bug 1019158: "graphicsmagick breaks gnudatalanguage
+	autopkgtest: undefined symbol: _ZN6Magick5Image12colorMapSizeEv".
+
 2022-09-04    Fojtik Jaroslav  <[email protected]>
 
         * jpeg/* Upgraded jpeg library to Version 9e 16-Jan-2022.
diff -r 455279107567 -r a152f76afeab Magick++/lib/Image.cpp
--- a/Magick++/lib/Image.cpp	Sun Sep 04 15:13:48 2022 +0200
+++ b/Magick++/lib/Image.cpp	Mon Sep 05 19:01:59 2022 -0500
@@ -25,6 +25,7 @@
 #include "Magick++/ImageRef.h"
 
 #define AbsoluteValue(x)  ((x) < 0 ? -(x) : (x))
+#define ColorMapSizeConst() static_cast<const Magick::Image *>(this)->colorMapSize()
 
 // MagickDLLDeclExtern const std::string Magick::borderGeometryDefault = "6x6+0+0";
 // MagickDLLDeclExtern const std::string Magick::frameGeometryDefault  = "25x25+6+6";
@@ -2506,7 +2507,8 @@
   modifyImage();
 
   // Ensure that colormap size is large enough
-  if ( colorMapSize() < (index_+1) )
+  const unsigned int colormap_size = ColorMapSizeConst();
+  if ( colormap_size < (index_+1) )
     colorMapSize( index_ + 1 );
 
   // Set color at index in colormap
@@ -2578,6 +2580,13 @@
 
   return imageptr->colors;
 }
+// Implementation is based on const colorMapSize()
+// Deprecate?
+unsigned int Magick::Image::colorMapSize ( void )
+{
+  const unsigned int colormap_size = ColorMapSizeConst();
+  return colormap_size;
+}
 
 // Image colorspace
 void Magick::Image::colorSpace( const ColorspaceType colorSpace_ )
@@ -3943,9 +3952,10 @@
 
   if ( (quantum_ == IndexQuantum) || (quantum_ == IndexAlphaQuantum) )
   {
-    if (colorMapSize() <= 256)
+    const unsigned int colormap_size = ColorMapSizeConst();
+    if (colormap_size <= 256)
       quantum_size=8;
-    else if (colorMapSize() <= 65536L)
+    else if (colormap_size <= 65536L)
       quantum_size=16;
     else
       quantum_size=32;
@@ -3966,9 +3976,10 @@
 
   if ( (quantum_ == IndexQuantum) || (quantum_ == IndexAlphaQuantum) )
   {
-    if (colorMapSize() <= 256)
+    const unsigned int colormap_size = ColorMapSizeConst();
+    if (colormap_size <= 256)
       quantum_size=8;
-    else if (colorMapSize() <= 65536L)
+    else if (colormap_size <= 65536L)
       quantum_size=16;
     else
       quantum_size=32;
diff -r 455279107567 -r a152f76afeab Magick++/lib/Magick++/Image.h
--- a/Magick++/lib/Magick++/Image.h	Sun Sep 04 15:13:48 2022 +0200
+++ b/Magick++/lib/Magick++/Image.h	Mon Sep 05 19:01:59 2022 -0500
@@ -906,6 +906,7 @@
     // Colormap size (number of colormap entries)
     void            colorMapSize ( const unsigned int entries_ );
     unsigned int    colorMapSize ( void ) const;
+    unsigned int    colorMapSize ( void ); // Deprecate?
 
     // Image Color Space
     void            colorSpace( const ColorspaceType colorSpace_ );
diff -r 455279107567 -r a152f76afeab VisualMagick/installer/inc/version.isx
--- a/VisualMagick/installer/inc/version.isx	Sun Sep 04 15:13:48 2022 +0200
+++ b/VisualMagick/installer/inc/version.isx	Mon Sep 05 19:01:59 2022 -0500
@@ -10,5 +10,5 @@
 
 #define public MagickPackageName "GraphicsMagick"
 #define public MagickPackageVersion "1.4"
-#define public MagickPackageVersionAddendum ".020220828"
-#define public MagickPackageReleaseDate "snapshot-20220828"
+#define public MagickPackageVersionAddendum ".020220905"
+#define public MagickPackageReleaseDate "snapshot-20220905"
diff -r 455279107567 -r a152f76afeab magick/version.h
--- a/magick/version.h	Sun Sep 04 15:13:48 2022 +0200
+++ b/magick/version.h	Mon Sep 05 19:01:59 2022 -0500
@@ -38,8 +38,8 @@
 #define MagickLibVersion  0x272400
 #define MagickLibVersionText  "1.4"
 #define MagickLibVersionNumber 27,24,0
-#define MagickChangeDate   "20220828"
-#define MagickReleaseDate  "snapshot-20220828"
+#define MagickChangeDate   "20220905"
+#define MagickReleaseDate  "snapshot-20220905"
 
 /*
   The MagickLibInterfaceNewest and MagickLibInterfaceOldest defines
diff -r 455279107567 -r a152f76afeab www/Changelog.html
--- a/www/Changelog.html	Sun Sep 04 15:13:48 2022 +0200
+++ b/www/Changelog.html	Mon Sep 05 19:01:59 2022 -0500
@@ -35,6 +35,22 @@
 <div class="document">
 
 
+<p>2022-09-05  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
+<blockquote>
+<ul class="simple">
+<li>Magick++/lib/Image.cpp (Magick::Image::colorMapSize): Restore
+non-const Image::colorMapSize() since it caused an ABI change.
+Debian bug 1019158: &quot;graphicsmagick breaks gnudatalanguage
+autopkgtest: undefined symbol: _ZN6Magick5Image12colorMapSizeEv&quot;.</li>
+</ul>
+</blockquote>
+<p>2022-09-04    Fojtik Jaroslav  &lt;<a class="reference external" href="mailto:JaFojtik&#37;&#52;&#48;yandex&#46;com">JaFojtik<span>&#64;</span>yandex<span>&#46;</span>com</a>&gt;</p>
+<blockquote>
+* jpeg/* Upgraded jpeg library to Version 9e 16-Jan-2022.</blockquote>
+<p>2022-09-04    Fojtik Jaroslav  &lt;<a class="reference external" href="mailto:JaFojtik&#37;&#52;&#48;yandex&#46;com">JaFojtik<span>&#64;</span>yandex<span>&#46;</span>com</a>&gt;</p>
+<blockquote>
+* VisualMagick/jpeg/LIBRARY.txt Exclude files cjpegalt.c and
+djpegalt.c; cjpeg.c and djpeg.c are already excluded.</blockquote>
 <p>2022-08-28  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
 <blockquote>
 <ul class="simple">
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.