stop leaking idobj memory (and coloredit layout mem)

This commit is contained in:
2026-09-05 18:06:12 +02:00
parent a1cb3bf290
commit fc5a357caa
3 changed files with 87 additions and 75 deletions
+3 -1
View File
@@ -47,7 +47,9 @@ class PD_API ColorEdit : public Container {
this->initial_color = *color;
this->tdim = io.Font->GetTextBounds(label.c_str(), io.FontScale);
}
~ColorEdit() = default;
~ColorEdit() {
if (layout) delete layout;
}
/**
* Override for the Input Handler
+1 -1
View File
@@ -47,7 +47,7 @@ class PD_API Layout {
Size = 0;
WorkRect = fvec4(IO.MenuPadding, Size - (fvec2(2) * IO.MenuPadding));
}
~Layout() = default;
~Layout();
/** SECTION CONTAINERS */
/**
+10
View File
@@ -26,6 +26,15 @@ SOFTWARE.
namespace PD {
namespace UI7 {
PD_API Layout::~Layout() {
// We all love managing memory i guess
for (Container* obj : IDObjects) {
delete obj;
}
IDObjects.clear();
}
PD_API void Layout::CursorInit() { Cursor = fvec2(WorkRect.x, WorkRect.y); }
PD_API void Layout::SameLine() {
@@ -136,6 +145,7 @@ PD_API void Layout::Update() {
for (auto it = IDObjects.begin(); it != IDObjects.end();) {
if ((*it)->Removable()) {
delete *it;
it = IDObjects.erase(it);
} else {
it++;