#include "wx/stream.h"
#endif
+#include "wx/wfstream.h"
+
#include <gtk/gtk.h>
if (!loader)
{
- wxLogDebug(wxT("Could not create the loader for '%s' animation type"), anim_type);
+ wxLogDebug(wxT("Could not create the loader for '%s' animation type: %s"),
+ anim_type, error->message);
return false;
}
if (!gdk_pixbuf_loader_write(loader, buf, stream.LastRead(), &error))
{
gdk_pixbuf_loader_close(loader, &error);
- wxLogDebug(wxT("Could not write to the loader"));
+ wxLogDebug(wxT("Could not write to the loader: %s"), error->message);
return false;
}
}
// load complete
if (!gdk_pixbuf_loader_close(loader, &error))
{
- wxLogDebug(wxT("Could not close the loader"));
+ wxLogDebug(wxT("Could not close the loader: %s"), error->message);
return false;
}
SetWindowStyle(style);
m_widget = gtk_image_new();
+ g_object_ref(m_widget);
gtk_widget_show(m_widget);
m_parent->DoAddChild( this );
}
bool wxAnimationCtrl::LoadFile(const wxString &filename, wxAnimationType type)
+{
+ wxFileInputStream fis(filename);
+ return Load(fis, type);
+}
+
+bool wxAnimationCtrl::Load(wxInputStream& stream, wxAnimationType type)
{
wxAnimation anim;
- if (!anim.LoadFile(filename, type))
+ if ( !anim.Load(stream, type) || !anim.IsOk() )
return false;
SetAnimation(anim);