git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58005
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
g_signal_connect(loader, "area-updated", G_CALLBACK(gdk_pixbuf_area_updated), this);
guchar buf[2048];
g_signal_connect(loader, "area-updated", G_CALLBACK(gdk_pixbuf_area_updated), this);
guchar buf[2048];
+ bool data_written = false;
while (stream.IsOk())
{
// read a chunk of data
while (stream.IsOk())
{
// read a chunk of data
// fetch all data into the loader
if (!gdk_pixbuf_loader_write(loader, buf, stream.LastRead(), &error))
{
// fetch all data into the loader
if (!gdk_pixbuf_loader_write(loader, buf, stream.LastRead(), &error))
{
- gdk_pixbuf_loader_close(loader, &error);
wxLogDebug(wxT("Could not write to the loader: %s"), error->message);
wxLogDebug(wxT("Could not write to the loader: %s"), error->message);
+
+ // gdk_pixbuf_loader_close wants the GError == NULL; reset it:
+ error = NULL;
+ gdk_pixbuf_loader_close(loader, &error);
+
+ data_written = true;
+ }
+
+ if (!data_written)
+ {
+ wxLogDebug("Could not read data from the stream...");
+ return false;
}
// wait until we get the last area_updated signal
}
// wait until we get the last area_updated signal
}
wxImage wxAnimation::GetFrame(unsigned int WXUNUSED(frame)) const
}
wxImage wxAnimation::GetFrame(unsigned int WXUNUSED(frame)) const