blob: c4385dc1ec6d7dd5dde34c7169eb056910ecca44 [file] [log] [blame]
--- o3d/core/cross/buffer.h (revision 193397)
+++ o3d/core/cross/buffer.h (working copy)
@@ -215,6 +215,10 @@
void AdjustBufferMemoryInfo(bool add);
+ bool InternalSet(o3d::RawData *raw_data,
+ size_t offset,
+ size_t length);
+
Features* features_;
// Fields.
--- o3d/core/cross/buffer.cc (revision 193397)
+++ o3d/core/cross/buffer.cc (working copy)
@@ -389,6 +389,16 @@
bool Buffer::Set(o3d::RawData *raw_data,
size_t offset,
size_t length) {
+ bool ret = InternalSet(raw_data, offset, length);
+ if (!ret) {
+ Free();
+ }
+ return ret;
+}
+
+bool Buffer::InternalSet(o3d::RawData *raw_data,
+ size_t offset,
+ size_t length) {
DCHECK(raw_data);
if (!raw_data->IsOffsetLengthValid(offset, length)) {