]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/image.cpp
fixed handling of dst offset in wxAlphaBlend()
[wxWidgets.git] / src / common / image.cpp
index de70ee86db99df9361e4d92d4fb4b076557f6ebf..e967b8ece9fd4c49ca690ad391b59302102056c5 100644 (file)
@@ -1,5 +1,5 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        image.cpp
+// Name:        src/common/image.cpp
 // Purpose:     wxImage
 // Author:      Robert Roebling
 // RCS-ID:      $Id$
@@ -1554,7 +1554,13 @@ bool wxImage::LoadFile( wxInputStream& stream, long type, int index )
         return false;
     }
 
-    return handler->LoadFile(this, stream, true/*verbose*/, index);
+    if (!handler->CanRead(stream))
+    {
+        wxLogError(_("Image file is not of type %d."), type);
+        return false;
+    }
+    else
+        return handler->LoadFile(this, stream, true/*verbose*/, index);
 }
 
 bool wxImage::LoadFile( wxInputStream& stream, const wxString& mimetype, int index )
@@ -1572,7 +1578,13 @@ bool wxImage::LoadFile( wxInputStream& stream, const wxString& mimetype, int ind
         return false;
     }
 
-    return handler->LoadFile( this, stream, true/*verbose*/, index );
+    if (!handler->CanRead(stream))
+    {
+        wxLogError(_("Image file is not of type %s."), (const wxChar*) mimetype);
+        return false;
+    }
+    else
+        return handler->LoadFile( this, stream, true/*verbose*/, index );
 }
 
 bool wxImage::SaveFile( wxOutputStream& stream, int type ) const
@@ -1778,7 +1790,7 @@ wxImage::HSVValue wxImage::RGBtoHSV(const RGBValue& rgb)
 
     const double value = maximumRGB;
 
-    double hue, saturation;
+    double hue = 0.0, saturation;
     const double deltaRGB = maximumRGB - minimumRGB;
     if ( wxIsNullDouble(deltaRGB) )
     {
@@ -1801,6 +1813,10 @@ wxImage::HSVValue wxImage::RGBtoHSV(const RGBValue& rgb)
             case BLUE:
                 hue = 4.0 + (red - green) / deltaRGB;
                 break;
+
+            default:
+                wxFAIL_MSG(wxT("hue not specified"));
+                break;
         }
 
         hue /= 6.0;