diff --git a/Engine/source/gui/controls/guiPopUpCtrlEx.cpp b/Engine/source/gui/controls/guiPopUpCtrlEx.cpp index c4e048d25..ddfcb4d5b 100644 --- a/Engine/source/gui/controls/guiPopUpCtrlEx.cpp +++ b/Engine/source/gui/controls/guiPopUpCtrlEx.cpp @@ -704,11 +704,9 @@ bool GuiPopUpMenuCtrlEx::onWake() void GuiPopUpMenuCtrlEx::onRemove() { - mBackground = nullptr; - mSearchEdit = nullptr; - mTl = nullptr; - mSc = nullptr; - mBackground = nullptr; + removeChildren(); + + Parent::onRemove(); } //------------------------------------------------------------------------------ bool GuiPopUpMenuCtrlEx::onAdd() @@ -1637,6 +1635,14 @@ void GuiPopUpMenuCtrlEx::addChildren() mBackground->addObject(mSearchEdit); } +void GuiPopUpMenuCtrlEx::removeChildren() +{ + mTl->deleteObject(); + mSc->deleteObject(); + mSearchEdit->deleteObject(); + mBackground->deleteObject(); +} + //------------------------------------------------------------------------------ void GuiPopUpMenuCtrlEx::repositionPopup() { diff --git a/Engine/source/gui/controls/guiPopUpCtrlEx.h b/Engine/source/gui/controls/guiPopUpCtrlEx.h index 4733d69de..503d91690 100644 --- a/Engine/source/gui/controls/guiPopUpCtrlEx.h +++ b/Engine/source/gui/controls/guiPopUpCtrlEx.h @@ -140,6 +140,7 @@ class GuiPopUpMenuCtrlEx : public GuiTextCtrl GuiTextEditCtrl* mSearchEdit; // Added virtual void addChildren(); + virtual void removeChildren(); virtual void repositionPopup(); static bool _setBitmaps(void* obj, const char* index, const char* data);