don't consider EOF an unrecoverable error

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58954 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Francesco Montorsi
2009-02-16 21:14:12 +00:00
parent bcf79477d1
commit 6fd068fcf1

View File

@@ -132,7 +132,8 @@ bool wxAnimation::Load(wxInputStream &stream, wxAnimationType type)
while (stream.IsOk()) while (stream.IsOk())
{ {
// read a chunk of data // 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 wants the GError == NULL
gdk_pixbuf_loader_close(loader, 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)) if (!gdk_pixbuf_loader_close(loader, &error))
{ {
wxLogDebug(wxT("Could not close the loader: %s"), error->message); wxLogDebug(wxT("Could not close the loader: %s"), error->message);