diff options
Diffstat (limited to 'engines/groovie/roq.cpp')
-rw-r--r-- | engines/groovie/roq.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/engines/groovie/roq.cpp b/engines/groovie/roq.cpp index c1b6c44c4d..2e9a394c53 100644 --- a/engines/groovie/roq.cpp +++ b/engines/groovie/roq.cpp @@ -470,6 +470,7 @@ bool ROQPlayer::processBlockStill(ROQBlockHeader &blockHeader) { debugC(5, kDebugVideo, "Groovie::ROQ: Processing still (JPEG) block"); Image::JPEGDecoder jpg; + jpg.setOutputPixelFormat(_vm->_pixelFormat); uint32 startPos = _file->pos(); Common::SeekableSubReadStream subStream(_file, startPos, startPos + blockHeader.size, DisposeAfterUse::NO); @@ -478,7 +479,9 @@ bool ROQPlayer::processBlockStill(ROQBlockHeader &blockHeader) { const Graphics::Surface *srcSurf = jpg.getSurface(); _currBuf->free(); delete _currBuf; - _currBuf = srcSurf->convertTo(_vm->_pixelFormat); + + _currBuf = new Graphics::Surface(); + _currBuf->copyFrom(*srcSurf); _file->seek(startPos + blockHeader.size); return true; |