Fix issue freeing node resources
This commit is contained in:
@@ -19,6 +19,11 @@ namespace OpenVulkano::Vulkan
|
||||
Scene::Node* node = nullptr;
|
||||
UniformBuffer* buffer = nullptr;
|
||||
|
||||
~VulkanNode() override
|
||||
{
|
||||
if (node) VulkanNode::Close();
|
||||
}
|
||||
|
||||
virtual void Init(Scene::Node* node, UniformBuffer* uniformBuffer)
|
||||
{
|
||||
this->node = node;
|
||||
@@ -30,7 +35,13 @@ namespace OpenVulkano::Vulkan
|
||||
buffer->Record(context);
|
||||
}
|
||||
|
||||
void Close() override {}
|
||||
void Close() override
|
||||
{
|
||||
if (node) node->renderNode = nullptr;
|
||||
delete buffer;
|
||||
node = nullptr;
|
||||
buffer = nullptr;
|
||||
}
|
||||
};
|
||||
|
||||
struct VulkanNodeDynamic : VulkanNode
|
||||
@@ -52,7 +63,5 @@ namespace OpenVulkano::Vulkan
|
||||
}
|
||||
buffer->Record(context);
|
||||
}
|
||||
|
||||
void Close() override{}
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user