mirror of
https://github.com/robbert-vdh/yabridge.git
synced 2026-05-07 03:50:11 +02:00
Fix assertion failure when reading end of stream
Getting the address of the end of a vector apparently raises an assertion failure now, even if we didn't do anything with it.
This commit is contained in:
@@ -73,6 +73,8 @@ Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
open.
|
||||
- Fixed a regression from yabridge 3.1.0 where REAPER would freeze when opening
|
||||
a VST3 plugin context menu.
|
||||
- Fixed a potential assertion failure when setting VST3 preset data. This would
|
||||
depend on the `libstdc++` version used to built yabridge with.
|
||||
- _PSPaudioware InifniStrip_ would fail to initialize because the plugin expects
|
||||
the host to always be using Microsoft COM and it won't initialize it by
|
||||
itself. InfiniStrip loads as expected now.
|
||||
|
||||
@@ -143,15 +143,17 @@ tresult PLUGIN_API YaBStream::read(void* buffer,
|
||||
std::min(static_cast<int64_t>(numBytes),
|
||||
static_cast<int64_t>(this->buffer.size()) - seek_position);
|
||||
|
||||
std::copy_n(&this->buffer[seek_position], bytes_to_read,
|
||||
reinterpret_cast<uint8_t*>(buffer));
|
||||
if (bytes_to_read > 0) {
|
||||
std::copy_n(&this->buffer[seek_position], bytes_to_read,
|
||||
reinterpret_cast<uint8_t*>(buffer));
|
||||
seek_position += bytes_to_read;
|
||||
}
|
||||
|
||||
seek_position += bytes_to_read;
|
||||
if (numBytesRead) {
|
||||
*numBytesRead = static_cast<int32>(bytes_to_read);
|
||||
}
|
||||
|
||||
return Steinberg::kResultOk;
|
||||
return bytes_to_read > 0 ? Steinberg::kResultOk : Steinberg::kResultFalse;
|
||||
}
|
||||
|
||||
tresult PLUGIN_API YaBStream::write(void* buffer,
|
||||
|
||||
Reference in New Issue
Block a user