]> git.tdb.fi Git - libs/gl.git/blobdiff - source/buffer.cpp
Don't consider the current buffer in deciding whether to bind BufferRange
[libs/gl.git] / source / buffer.cpp
index 93ef98db60ad32654309945d505726d9255414d0..066ab96c5919b2c154879224323f704662ce2e14 100644 (file)
@@ -160,9 +160,12 @@ void BufferRange::bind_to(BufferType t, unsigned i)
 {
        if(t!=buffer.type)
                Buffer::require_buffer_type(t);
-       // Intentionally using bitwise | to avoid short-circuiting
-       if(Buffer::set_current(t, &buffer) | set_current(t, i, this))
+       if(set_current(t, i, this))
+       {
+               // The buffer gets bound as a side effect
+               Buffer::set_current(t, &buffer);
                glBindBufferRange(t, i, buffer.id, offset, size);
+       }
 }
 
 void BufferRange::unbind_from(BufferType t, unsigned i)