]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/gifdecod.cpp
Fixed small bug related to m_lastcount in wxInputStream::Read
[wxWidgets.git] / src / common / gifdecod.cpp
index 0a8a6f525bf6e64d64bb279da17cdb7a8568c076..04f214a7f519afa91afdeba5bdd48771edc40eb7 100644 (file)
@@ -282,10 +282,14 @@ int wxGIFDecoder::getcode(int bits, int ab_fin)
                 code = ab_fin;
                 break;
             }
+
+            /* prefetch data */
+            m_f->Read((void *) m_buffer, m_restbyte);
+            m_bufp = m_buffer;
         }
 
         /* read next byte and isolate the bits we need */
-        m_lastbyte = (unsigned char)m_f->GetC();
+        m_lastbyte = (unsigned char) (*m_bufp++);
         mask       = (1 << (bits - m_restbits)) - 1;
         code       = code + ((m_lastbyte & mask) << m_restbits);
         m_restbyte--;
@@ -335,7 +339,7 @@ int wxGIFDecoder::dgif(IMAGEN *img, int interl, int bits)
     pass     = 1;
     pos = x = y = 0;
 
-    /* reset static globals */
+    /* reset decoder vars */
     m_restbits = 0;
     m_restbyte = 0;
     m_lastbyte = 0;