From 6fd068fcf15cd07a1dfb0c675d0a0a29aab019af Mon Sep 17 00:00:00 2001 From: Francesco Montorsi Date: Mon, 16 Feb 2009 21:14:12 +0000 Subject: [PATCH] don't consider EOF an unrecoverable error git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58954 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/gtk/animate.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/gtk/animate.cpp b/src/gtk/animate.cpp index deeb13de9d..1975fcf5d0 100644 --- a/src/gtk/animate.cpp +++ b/src/gtk/animate.cpp @@ -132,7 +132,8 @@ bool wxAnimation::Load(wxInputStream &stream, wxAnimationType type) 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); @@ -158,7 +159,9 @@ bool wxAnimation::Load(wxInputStream &stream, wxAnimationType type) 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); -- 2.45.2