From 151ca17ed1bd9d3d979b85966c2dec8801d7d6f1 Mon Sep 17 00:00:00 2001 From: Robbert van der Helm Date: Fri, 18 Dec 2020 22:31:06 +0100 Subject: [PATCH] Don't seek to the beginning when writing stream --- src/common/serialization/vst3/base.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/common/serialization/vst3/base.cpp b/src/common/serialization/vst3/base.cpp index 8be06e16..dabaf68e 100644 --- a/src/common/serialization/vst3/base.cpp +++ b/src/common/serialization/vst3/base.cpp @@ -227,8 +227,9 @@ tresult VectorStream::write_back(Steinberg::IBStream* stream) const { return Steinberg::kInvalidArgument; } + // A `stream->seek(0, kIBSeekSet)` breaks restoring states in Bitwig. Not + // sure if Bitwig is prepending a header or if this is expected behaviour. int32 num_bytes_written = 0; - assert(stream->seek(0, kIBSeekSet) == Steinberg::kResultOk); if (stream->write(const_cast(buffer.data()), buffer.size(), &num_bytes_written) == Steinberg::kResultOk) { // Some implementations will return `kResultFalse` when writing 0 bytes