mirror of
https://github.com/ocornut/imgui.git
synced 2024-11-23 23:31:08 +01:00
Demo: example tree used by Property Editor & Selection demos properly freed on app closure. (#8158)
This commit is contained in:
parent
142827f7d8
commit
eb0ad66d88
@ -53,6 +53,8 @@ Other changes:
|
||||
|
||||
- Error Handling: fixed cases where recoverable error handling would crash when
|
||||
processing errors outside of the NewFrame()..EndFrame() scope. (#1651)
|
||||
- Demo: example tree used by Property Editor & Selection demos properly freed
|
||||
on application closure. (#8158) [@Legulysse]
|
||||
- Examples: Win32+DX12: Using a basic free-list allocator to manage multiple
|
||||
SRV descriptors.
|
||||
|
||||
|
@ -308,6 +308,13 @@ static ExampleTreeNode* ExampleTree_CreateNode(const char* name, int uid, Exampl
|
||||
return node;
|
||||
}
|
||||
|
||||
static void ExampleTree_DestroyNode(ExampleTreeNode* node)
|
||||
{
|
||||
for (ExampleTreeNode* child_node : node->Childs)
|
||||
ExampleTree_DestroyNode(child_node);
|
||||
IM_DELETE(node);
|
||||
}
|
||||
|
||||
// Create example tree data
|
||||
// (this allocates _many_ more times than most other code in either Dear ImGui or others demo)
|
||||
static ExampleTreeNode* ExampleTree_CreateDemoTree()
|
||||
@ -343,7 +350,7 @@ static ExampleTreeNode* ExampleTree_CreateDemoTree()
|
||||
// [SECTION] Demo Window / ShowDemoWindow()
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
// Data to be shared accross different functions of the demo.
|
||||
// Data to be shared across different functions of the demo.
|
||||
struct ImGuiDemoWindowData
|
||||
{
|
||||
// Examples Apps (accessible from the "Examples" menu)
|
||||
@ -371,6 +378,8 @@ struct ImGuiDemoWindowData
|
||||
|
||||
// Other data
|
||||
ExampleTreeNode* DemoTree = NULL;
|
||||
|
||||
~ImGuiDemoWindowData() { if (DemoTree) ExampleTree_DestroyNode(DemoTree); }
|
||||
};
|
||||
|
||||
// Demonstrate most Dear ImGui features (this is big function!)
|
||||
|
Loading…
Reference in New Issue
Block a user