X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fcore%2Fbuffer.cpp;h=17e833d71dfee347e7f3b46c885bc674aa0de864;hb=fd9abcb1c63af181af1c8882c2b7c5438b0e376c;hp=56810b6f4ff12aa41f9c37b7812f5d4496187e7a;hpb=a061bbfa87391ddea42c6220c1e17054d5b6b0c8;p=libs%2Fgl.git diff --git a/source/core/buffer.cpp b/source/core/buffer.cpp index 56810b6f..17e833d7 100644 --- a/source/core/buffer.cpp +++ b/source/core/buffer.cpp @@ -49,7 +49,11 @@ void Buffer::require_buffer_type(BufferType type) void Buffer::storage(unsigned sz) { if(size>0) - throw invalid_operation("Buffer::storage"); + { + if(sz!=size) + throw incompatible_data("Buffer::storage"); + return; + } if(sz==0) throw invalid_argument("Buffer::storage"); @@ -142,6 +146,7 @@ BufferRange *Buffer::create_range(unsigned s, unsigned o) void *Buffer::map() { + allocate(); if(ARB_map_buffer_range) { if(ARB_direct_state_access)