X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Fbufferable.cpp;fp=source%2Fbufferable.cpp;h=1f6122e0914561e91338a80650351ea48ae28306;hp=60df3eec92c1bd188dbab825e998baf1dd97e7b4;hb=5c51ba1057b222ab44eca253828d58e107e80df0;hpb=7015197bb127b92519cd93a2031a5c188d3fbd76 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; }