Cleans up removal/deletion logic

This commit is contained in:
Areloch 2024-01-09 04:00:51 -06:00
parent 4f399eb87f
commit 192862ba6d
2 changed files with 12 additions and 5 deletions

View file

@ -704,11 +704,9 @@ bool GuiPopUpMenuCtrlEx::onWake()
void GuiPopUpMenuCtrlEx::onRemove() void GuiPopUpMenuCtrlEx::onRemove()
{ {
mBackground = nullptr; removeChildren();
mSearchEdit = nullptr;
mTl = nullptr; Parent::onRemove();
mSc = nullptr;
mBackground = nullptr;
} }
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
bool GuiPopUpMenuCtrlEx::onAdd() bool GuiPopUpMenuCtrlEx::onAdd()
@ -1637,6 +1635,14 @@ void GuiPopUpMenuCtrlEx::addChildren()
mBackground->addObject(mSearchEdit); mBackground->addObject(mSearchEdit);
} }
void GuiPopUpMenuCtrlEx::removeChildren()
{
mTl->deleteObject();
mSc->deleteObject();
mSearchEdit->deleteObject();
mBackground->deleteObject();
}
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
void GuiPopUpMenuCtrlEx::repositionPopup() void GuiPopUpMenuCtrlEx::repositionPopup()
{ {

View file

@ -140,6 +140,7 @@ class GuiPopUpMenuCtrlEx : public GuiTextCtrl
GuiTextEditCtrl* mSearchEdit; // Added GuiTextEditCtrl* mSearchEdit; // Added
virtual void addChildren(); virtual void addChildren();
virtual void removeChildren();
virtual void repositionPopup(); virtual void repositionPopup();
static bool _setBitmaps(void* obj, const char* index, const char* data); static bool _setBitmaps(void* obj, const char* index, const char* data);