From 540122e7031452bc8b8e38791f86e2b94122d050 Mon Sep 17 00:00:00 2001 From: rdb Date: Sun, 24 Dec 2017 12:41:52 +0100 Subject: [PATCH] gobj: fix crash with ShaderBuffer --- panda/src/gobj/shaderBuffer.I | 6 ++++-- panda/src/gobj/shaderBuffer.cxx | 8 ++++++++ panda/src/gobj/shaderBuffer.h | 2 ++ 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/panda/src/gobj/shaderBuffer.I b/panda/src/gobj/shaderBuffer.I index eb51f42f4e..fbd0b42e46 100644 --- a/panda/src/gobj/shaderBuffer.I +++ b/panda/src/gobj/shaderBuffer.I @@ -19,7 +19,8 @@ INLINE ShaderBuffer:: ShaderBuffer(const string &name, uint64_t size, UsageHint usage_hint) : Namable(name), _data_size_bytes(size), - _usage_hint(usage_hint) { + _usage_hint(usage_hint), + _contexts(nullptr) { } /** @@ -31,7 +32,8 @@ ShaderBuffer(const string &name, pvector initial_data, UsageHint Namable(name), _data_size_bytes(initial_data.size()), _usage_hint(usage_hint), - _initial_data(initial_data) { + _initial_data(initial_data), + _contexts(nullptr) { } /** diff --git a/panda/src/gobj/shaderBuffer.cxx b/panda/src/gobj/shaderBuffer.cxx index a7cd5f8150..f0b45df540 100644 --- a/panda/src/gobj/shaderBuffer.cxx +++ b/panda/src/gobj/shaderBuffer.cxx @@ -16,6 +16,14 @@ TypeHandle ShaderBuffer::_type_handle; +/** + * Destructor. + */ +ShaderBuffer:: +~ShaderBuffer() { + release_all(); +} + /** * */ diff --git a/panda/src/gobj/shaderBuffer.h b/panda/src/gobj/shaderBuffer.h index f5fe50dbc1..8d48fed425 100644 --- a/panda/src/gobj/shaderBuffer.h +++ b/panda/src/gobj/shaderBuffer.h @@ -32,6 +32,8 @@ private: INLINE ShaderBuffer() DEFAULT_CTOR; PUBLISHED: + ~ShaderBuffer(); + INLINE explicit ShaderBuffer(const string &name, uint64_t size, UsageHint usage_hint); INLINE explicit ShaderBuffer(const string &name, pvector initial_data, UsageHint usage_hint);