From 92a30e08849f45fa6f5efb1dd8897a4a69c063a6 Mon Sep 17 00:00:00 2001 From: dec05eba Date: Sat, 15 Feb 2020 02:03:07 +0100 Subject: Fix double free --- include/RenderBackend/OpenGL/DeviceFrame.hpp | 1 + include/RenderBackend/OpenGL/DeviceMemory.hpp | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/RenderBackend/OpenGL/DeviceFrame.hpp b/include/RenderBackend/OpenGL/DeviceFrame.hpp index f10af4c..3fa7fe7 100644 --- a/include/RenderBackend/OpenGL/DeviceFrame.hpp +++ b/include/RenderBackend/OpenGL/DeviceFrame.hpp @@ -16,6 +16,7 @@ namespace amalgine DeviceFrame(); ~DeviceFrame(); + // The returned pointers cleaned when the frame is cleaned. Do not deallocate the returned pointer! DeviceMemory* alloc(); void draw(ShaderProgram *shader); private: diff --git a/include/RenderBackend/OpenGL/DeviceMemory.hpp b/include/RenderBackend/OpenGL/DeviceMemory.hpp index 3e0fede..5f593fc 100644 --- a/include/RenderBackend/OpenGL/DeviceMemory.hpp +++ b/include/RenderBackend/OpenGL/DeviceMemory.hpp @@ -35,7 +35,6 @@ namespace amalgine { TRIANGLE }; - ~DeviceMemory(); //void copy(const DataView &data, StorageType storageType, PrimitiveType primitiveType = PrimitiveType::TRIANGLE); void copy(const DataView &texture_coords, StorageType storageType); void copy(const DataView &triangles, StorageType storageType); @@ -45,6 +44,7 @@ namespace amalgine { DeviceMemoryType get_type() const { return type; } private: DeviceMemory(); + ~DeviceMemory(); void use() const; private: u32 vertexBufferObjectId; -- cgit v1.2.3