]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/xpmdecod.cpp
Changes corresponding to patch #841324 from Ian Brown:
[wxWidgets.git] / src / common / xpmdecod.cpp
index f3cd26aa0be35fbbc85e4f8400a2d3da69b10a6a..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
 
@@ -551,7 +551,7 @@ static bool GetRGBFromName(const char *inname, bool *isNone,
         return TRUE;
     }
 
-    name = wxStrdup(inname);
+    name = strdup(inname);
 
     // theRGBRecords[] has no names with spaces, and no grey, but a
     // lot of gray...
@@ -638,7 +638,7 @@ static const char *ParseColor(const char *data)
         {
             if ( *r != *q )
                 continue;
-            if ( !wxIsspace((int) (*(r - 1))) )
+            if ( !isspace((int) (*(r - 1))) )
                 continue;
             p = r;
             for (;;)
@@ -758,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
             {