]> git.tdb.fi Git - libs/gui.git/blobdiff - source/graphics/jpeg/jpegloader.cpp
Use libjpeg's boolean type for better compatibility
[libs/gui.git] / source / graphics / jpeg / jpegloader.cpp
index 415e79f95927959c6d667233e7734e5ed657d226..38df34848f5b7ad0e04c1574d43a94aee90d4f6c 100644 (file)
@@ -40,12 +40,12 @@ void init_source(j_decompress_ptr jpeg)
        src->bytes_in_buffer = 0;
 }
 
-int fill_input_buffer(j_decompress_ptr jpeg)
+boolean fill_input_buffer(j_decompress_ptr jpeg)
 {
        SourceManager *src = reinterpret_cast<SourceManager *>(jpeg->src);
        src->next_input_byte = src->buffer;
        src->bytes_in_buffer = src->io->read(reinterpret_cast<char *>(src->buffer), sizeof(src->buffer));
-       return true;
+       return TRUE;
 }
 
 void skip_input_data(j_decompress_ptr jpeg, long count)
@@ -61,7 +61,7 @@ void skip_input_data(j_decompress_ptr jpeg, long count)
        }
        else
        {
-               src->io->seek(count, Msp::IO::S_CUR);
+               src->io->seek(count-src->bytes_in_buffer, Msp::IO::S_CUR);
                src->bytes_in_buffer = 0;
        }
 }
@@ -84,8 +84,6 @@ struct JpegLoader::Private
 };
 
 
-ImageLoader::Register<JpegLoader> JpegLoader::reg;
-
 JpegLoader::JpegLoader(IO::Seekable &io):
        priv(new Private)
 {
@@ -123,7 +121,7 @@ void JpegLoader::load(Image::Data &data)
        if(setjmp(priv->err_mgr.jmp))
                throw bad_image_data(priv->err_mgr.message);
 
-       jpeg_read_header(&priv->jpeg, true);
+       jpeg_read_header(&priv->jpeg, TRUE);
        priv->jpeg.out_color_space = JCS_RGB;
        jpeg_start_decompress(&priv->jpeg);