diff --git a/src/kits/interface/PictureDataWriter.cpp b/src/kits/interface/PictureDataWriter.cpp index 6e42f44100..c8903d00ca 100644 --- a/src/kits/interface/PictureDataWriter.cpp +++ b/src/kits/interface/PictureDataWriter.cpp @@ -711,6 +711,7 @@ PictureDataWriter::WriteDrawBitmap(const BRect& srcRect, const BRect& dstRect, Write(bytesPerRow); Write(colorSpace); Write(flags); + Write(length); WriteData(data, length); EndOp(); } catch (status_t& status) { diff --git a/src/kits/interface/PicturePlayer.cpp b/src/kits/interface/PicturePlayer.cpp index e3dc147410..edc0599202 100644 --- a/src/kits/interface/PicturePlayer.cpp +++ b/src/kits/interface/PicturePlayer.cpp @@ -1203,19 +1203,19 @@ PicturePlayer::_Play(PicturePlayerCallbacks& callbacks, const uint32* bytesPerRow; const uint32* colorSpace; const uint32* flags; - const void* data; - size_t length; + const int32* length; + const uint8* data; if (!reader.Get(sourceRect) || !reader.Get(destinationRect) || !reader.Get(width) || !reader.Get(height) || !reader.Get(bytesPerRow) || !reader.Get(colorSpace) || !reader.Get(flags) - || !reader.GetRemaining(data, length)) { + || !reader.Get(length) || !reader.Get(data, *length)) { break; } callbacks.DrawPixels(*sourceRect, *destinationRect, *width, *height, *bytesPerRow, (color_space)*colorSpace, - *flags, data, length); + *flags, data, *length); break; }