diff --git a/frameworks/components/ui_list.cpp b/frameworks/components/ui_list.cpp index 2d99bbbd24f571f5eb0fb13a591761dd6def1b9c..9f7886f1d7636db992ee224b0715856518218e1d 100755 --- a/frameworks/components/ui_list.cpp +++ b/frameworks/components/ui_list.cpp @@ -137,6 +137,7 @@ UIList::~UIList() UIView* view = GetChildrenHead(); while (view != nullptr) { UIView* tmp = view->GetNextSibling(); + UIViewGroup::Remove(view); delete view; view = tmp; } diff --git a/frameworks/components/ui_video.cpp b/frameworks/components/ui_video.cpp index 063bb73b9f35b5b8531b31f16232e96d11193b40..b52b0366d7c4cb8f9c7a6c3ebfde2b6998bc20fe 100755 --- a/frameworks/components/ui_video.cpp +++ b/frameworks/components/ui_video.cpp @@ -36,6 +36,7 @@ UIVideo::~UIVideo() sliderAnimator_ = nullptr; } if (surfaceView_ != nullptr) { + Remove(surfaceView_); delete surfaceView_; surfaceView_ = nullptr; } @@ -517,6 +518,7 @@ void UIVideo::DeleteController() { if (controllerGroup_ != nullptr) { controllerGroup_->RemoveAll(); + Remove(controllerGroup_); delete controllerGroup_; controllerGroup_ = nullptr; } diff --git a/frameworks/components/ui_view.cpp b/frameworks/components/ui_view.cpp index a1a5a23b96154c5c10951fc78aa499be825ec01c..b0d3e19ac43f5fe2f3780849b45fcde001056ae2 100755 --- a/frameworks/components/ui_view.cpp +++ b/frameworks/components/ui_view.cpp @@ -65,6 +65,9 @@ UIView::UIView() UIView::~UIView() { + if (parent_ != nullptr) { + GRAPHIC_LOGE("UIView::~UIView failed, parent is not nullptr! Need to remove from parent component first"); + } if (transMap_ != nullptr) { delete transMap_; transMap_ = nullptr;