]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk/animate.cpp
Allow user code to override key events in generic wxListCtrl.
[wxWidgets.git] / src / gtk / animate.cpp
index deeb13de9d32716836f81d607b76641aa37b222b..1975fcf5d068599957fe1541f8f2a060c3ba37c6 100644 (file)
@@ -132,7 +132,8 @@ bool wxAnimation::Load(wxInputStream &stream, wxAnimationType type)
     while (stream.IsOk())
     {
         // read a chunk of data
     while (stream.IsOk())
     {
         // read a chunk of data
-        if (!stream.Read(buf, sizeof(buf)))
+        if (!stream.Read(buf, sizeof(buf)) &&
+            stream.GetLastError() != wxSTREAM_EOF)   // EOF is OK for now
         {
             // gdk_pixbuf_loader_close wants the GError == NULL
             gdk_pixbuf_loader_close(loader, NULL);
         {
             // gdk_pixbuf_loader_close wants the GError == NULL
             gdk_pixbuf_loader_close(loader, NULL);
@@ -158,7 +159,9 @@ bool wxAnimation::Load(wxInputStream &stream, wxAnimationType type)
         return false;
     }
 
         return false;
     }
 
-    // load complete
+    // load complete: gdk_pixbuf_loader_close will now check if the data we
+    // wrote inside the pixbuf loader does make sense and will give an error
+    // if it doesn't (because of a truncated file, corrupted data or whatelse)
     if (!gdk_pixbuf_loader_close(loader, &error))
     {
         wxLogDebug(wxT("Could not close the loader: %s"), error->message);
     if (!gdk_pixbuf_loader_close(loader, &error))
     {
         wxLogDebug(wxT("Could not close the loader: %s"), error->message);