]> git.tdb.fi Git - libs/gl.git/blobdiff - source/bufferable.cpp
Remove the deprecated ProgramBuilder class
[libs/gl.git] / source / bufferable.cpp
index 6124f7616660bc62507928f1965c83947adb1ec6..d07f57cc4e430f5d337c67cd7ebd47917eb3a456 100644 (file)
@@ -48,15 +48,17 @@ void Bufferable::use_buffer(Buffer *buf, Bufferable *prev)
        update_offset();
 }
 
-void Bufferable::buffer_resized()
+void Bufferable::change_buffer(Buffer *buf)
 {
        for(Bufferable *b=this; b; b=b->next_in_buffer)
        {
+               b->buffer = buf;
                b->location_dirty = true;
                b->dirty = true;
        }
        for(Bufferable *b=prev_in_buffer; b; b=b->prev_in_buffer)
        {
+               b->buffer = buf;
                b->location_dirty = true;
                b->dirty = true;
        }
@@ -86,6 +88,7 @@ void Bufferable::unlink_from_buffer()
        prev_in_buffer = 0;
        next_in_buffer = 0;
        buffer = 0;
+       offset = 0;
 }
 
 void Bufferable::update_offset()
@@ -138,7 +141,7 @@ Bufferable::AsyncUpdater::AsyncUpdater(const Bufferable &b):
        bufferable(b)
 {
        bufferable.buffer->require_size(bufferable.get_required_buffer_size());
-       mapped_address = reinterpret_cast<char *>(bufferable.buffer->map(WRITE_ONLY));
+       mapped_address = reinterpret_cast<char *>(bufferable.buffer->map());
 }
 
 Bufferable::AsyncUpdater::~AsyncUpdater()