diff --git a/docs/changes.txt b/docs/changes.txt index 2573fd90b9..d9af046d56 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -129,6 +129,7 @@ All (GUI): - Fixed generic art provider to scale bitmaps down to client-specific best size if needed. - Made wxSpinCtrl::Reparent() in MSW and generic versions (Angelo Mottola) +- Fixed timing of malformed animated GIFs in wxHTML (Gennady Feller) All (Unix): diff --git a/src/html/m_image.cpp b/src/html/m_image.cpp index 80d6dba87b..71533c91e3 100644 --- a/src/html/m_image.cpp +++ b/src/html/m_image.cpp @@ -388,7 +388,10 @@ wxHtmlImageCell::wxHtmlImageCell(wxHtmlWindowInterface *windowIface, if ( m_gifDecoder->IsAnimation() ) { m_gifTimer = new wxGIFTimer(this); - m_gifTimer->Start(m_gifDecoder->GetDelay(0), true); + long delay = m_gifDecoder->GetDelay(0); + if ( delay == 0 ) + delay = 1; + m_gifTimer->Start(delay, true); } else { @@ -522,7 +525,10 @@ void wxHtmlImageCell::AdvanceAnimation(wxTimer *timer) win->Refresh(img.HasMask(), &rect); } - timer->Start(m_gifDecoder->GetDelay(m_nCurrFrame), true); + long delay = m_gifDecoder->GetDelay(m_nCurrFrame); + if ( delay == 0 ) + delay = 1; + timer->Start(delay, true); } void wxHtmlImageCell::Layout(int w)