]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/xpmdecod.cpp
use correct fallback file name in SaveFile() (patch 820884)
[wxWidgets.git] / src / common / xpmdecod.cpp
index 1dc78c95d2618d020eb10f9e580f3490cecf4994..c6e10441c9e209eff003645acd821ae35d435a4f 100644 (file)
@@ -90,7 +90,7 @@ license is as follows:
  * in this Software without prior written authorization from GROUPE BULL.
  */
 
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
 #pragma implementation "xpmdecod.h"
 #endif
 
@@ -488,6 +488,7 @@ static rgbRecord theRGBRecords[] =
     {"seagreen", myRGB(82, 149, 132)},
     {"seashell", myRGB(255, 245, 238)},
     {"sienna", myRGB(150, 82, 45)},
+    {"silver", myRGB(192, 192, 192)},
     {"skyblue", myRGB(114, 159, 255)},
     {"slateblue", myRGB(126, 136, 171)},
     {"slategray", myRGB(112, 128, 144)},
@@ -508,7 +509,7 @@ static rgbRecord theRGBRecords[] =
     {"yellowgreen", myRGB(50, 216, 56)},
     {NULL, myRGB(0, 0, 0)}
 };
-static int numTheRGBRecords = 234;
+static int numTheRGBRecords = 235;
 
 static unsigned char ParseHexadecimal(char digit1, char digit2)
 {
@@ -657,7 +658,7 @@ struct wxXPMColourMapData
 {
     unsigned char R,G,B;
 };
-WX_DECLARE_STRING_HASH_MAP(wxXPMColourMapData, wxXPMColourMap)
+WX_DECLARE_STRING_HASH_MAP(wxXPMColourMapData, wxXPMColourMap);
 
 wxImage wxXPMDecoder::ReadData(const char **xpm_data)
 {
@@ -757,6 +758,12 @@ wxImage wxXPMDecoder::ReadData(const char **xpm_data)
             if ( entry == end )
             {
                 wxLogError(_("XPM: Malformed pixel data!"));
+
+                // better return right now as otherwise we risk to flood the
+                // user with error messages as something seems to be seriously
+                // wrong with the file and so we could give this message for
+                // each remaining pixel if we don't bail out
+                return wxNullImage;
             }
             else
             {