X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fbackends%2Fopengl%2Fbuffer_backend.cpp;h=e0f5525a9a2b211f8b2f5367ee78379aa8415146;hb=8a8cce8ef4ee28b3572a72958b8b407759f9f826;hp=a0404e7b143066a479efe1c67f33adb117aa0676;hpb=be6ffe96ecb4707599fe1a6f620c348760213d46;p=libs%2Fgl.git diff --git a/source/backends/opengl/buffer_backend.cpp b/source/backends/opengl/buffer_backend.cpp index a0404e7b..e0f5525a 100644 --- a/source/backends/opengl/buffer_backend.cpp +++ b/source/backends/opengl/buffer_backend.cpp @@ -24,11 +24,18 @@ OpenGLBuffer::OpenGLBuffer() glGenBuffers(1, &id); } +OpenGLBuffer::OpenGLBuffer(OpenGLBuffer &&other): + id(other.id) +{ + other.id = 0; +} + OpenGLBuffer::~OpenGLBuffer() { if(this==scratch_binding) unbind_scratch(); - glDeleteBuffers(1, &id); + if(id) + glDeleteBuffers(1, &id); } void OpenGLBuffer::allocate() @@ -84,7 +91,6 @@ void *OpenGLBuffer::map() bool OpenGLBuffer::unmap() { - // TODO check if it's mapped if(ARB_direct_state_access) return glUnmapNamedBuffer(id); else if(OES_mapbuffer)