X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fbufferable.cpp;h=1f6122e0914561e91338a80650351ea48ae28306;hb=f33a98b1a044c8ac7b12778cbca6c4a124875e4a;hp=60df3eec92c1bd188dbab825e998baf1dd97e7b4;hpb=900cf40469972b1f32a6dbac95c42f46c3726fa8;p=libs%2Fgl.git diff --git a/source/bufferable.cpp b/source/bufferable.cpp index 60df3eec..1f6122e0 100644 --- a/source/bufferable.cpp +++ b/source/bufferable.cpp @@ -81,6 +81,8 @@ void Bufferable::update_offset() void Bufferable::update_buffer() const { + const Buffer *old_buffer = Buffer::current(buffer->get_type()); + buffer->bind(); if(offset+get_data_size()>=buffer->get_size()) { const Bufferable *last = this; @@ -100,6 +102,10 @@ void Bufferable::update_buffer() const } upload_data(); + if(old_buffer) + old_buffer->bind_to(buffer->get_type()); + else + buffer->unbind(); dirty = false; }