]> git.saurik.com Git - wxWidgets.git/commitdiff
fix XPM SaveFile for more than 92 colors
authorPaul Cornett <paulcor@bullseye.com>
Tue, 3 Jul 2007 03:08:26 +0000 (03:08 +0000)
committerPaul Cornett <paulcor@bullseye.com>
Tue, 3 Jul 2007 03:08:26 +0000 (03:08 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47088 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

docs/changes.txt
src/common/imagxpm.cpp

index 5f4de91df523ac80f0e34f48f599582a79db6bfa..e3cbd0ff8216ceba55370145e5b31e7a5dabc961 100644 (file)
@@ -181,6 +181,7 @@ All (GUI):
 - Fixed freeing of "static" alpha data in wxImage (Axel Gembe)
 - Don't invalidate the font in SetNativeFontInfo[Desc]() if the string is
   invalid, to conform to the documented behaviour (Langhammer)
+- Fixed wxXPMHandler::SaveFile for images with more than 92 colors.
 
 wxMSW:
 
index 3db566fcb741be9ef7a95f4ace6c5269a3e3d359..5bf4ec4af3beaee56f838564fe14cdfd28e6bba8 100644 (file)
@@ -181,12 +181,10 @@ bool wxXPMHandler::SaveFile(wxImage * image,
         symbols[index] = symbols_data + index * (chars_per_pixel+1);
         char *sym = symbols[index];
 
-        k = index % MaxCixels;
-        sym[0] = Cixel[k];
-        for (j = 1; j < chars_per_pixel; j++)
+        for (j = 0; j < chars_per_pixel; j++)
         {
-            k = ((index - k) / MaxCixels) % MaxCixels;
-            sym[j] = Cixel[k];
+            sym[j] = Cixel[index % MaxCixels];
+            index /= MaxCixels;
         }
         sym[j] = '\0';