From 16cc07ce3c37ca663ec40c2dcea3302de69966b1 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sun, 14 Feb 2010 01:09:00 +0000 Subject: Correctly initialise object buffers. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2444 a436a847-0d15-0410-975c-d299462d15a1 --- src/engine/ObjectBuffer.cpp | 10 ++++++++-- src/engine/ObjectBuffer.hpp | 2 ++ 2 files changed, 10 insertions(+), 2 deletions(-) (limited to 'src/engine') diff --git a/src/engine/ObjectBuffer.cpp b/src/engine/ObjectBuffer.cpp index a4108ba1..2c319b34 100644 --- a/src/engine/ObjectBuffer.cpp +++ b/src/engine/ObjectBuffer.cpp @@ -55,8 +55,7 @@ ObjectBuffer::ObjectBuffer(BufferFactory& factory, size_t capacity) exit(EXIT_FAILURE); } - object()->type = 0; - object()->size = capacity; + clear(); } @@ -124,5 +123,12 @@ ObjectBuffer::port_data(PortType port_type) const } +void +ObjectBuffer::prepare_write(Context& context) +{ + _buf->size = _size - sizeof(LV2_Object); +} + + } // namespace Ingen diff --git a/src/engine/ObjectBuffer.hpp b/src/engine/ObjectBuffer.hpp index 354c6f46..85afa1cb 100644 --- a/src/engine/ObjectBuffer.hpp +++ b/src/engine/ObjectBuffer.hpp @@ -36,6 +36,8 @@ public: void* port_data(Shared::PortType port_type); const void* port_data(Shared::PortType port_type) const; + void prepare_write(Context& context); + void copy(Context& context, const Buffer* src); void resize(size_t size); -- cgit v1.2.1