From 297230d42fbcc597af042cff10ca65094c97e10a Mon Sep 17 00:00:00 2001 From: Anton Obzhirov Date: Thu, 11 Oct 2018 16:46:35 +0100 Subject: [PATCH] Unparented layout should disconnect all signals connected to the owner. Change-Id: Iaecc7fcdbd11e65ae6f560512a84a9e3b2912426 --- dali-toolkit/devel-api/layouting/layout-group-impl.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/dali-toolkit/devel-api/layouting/layout-group-impl.cpp b/dali-toolkit/devel-api/layouting/layout-group-impl.cpp index 856ca18..bd8c68a 100644 --- a/dali-toolkit/devel-api/layouting/layout-group-impl.cpp +++ b/dali-toolkit/devel-api/layouting/layout-group-impl.cpp @@ -561,6 +561,15 @@ void LayoutGroup::OnUnparent() { // Remove children RemoveAll(); + + auto control = Toolkit::Control::DownCast( GetOwner() ); + if( control ) + { + DevelActor::ChildAddedSignal( control ).Disconnect( mSlotDelegate, &LayoutGroup::ChildAddedToOwner ); + DevelActor::ChildRemovedSignal( control ).Disconnect( mSlotDelegate, &LayoutGroup::ChildRemovedFromOwner ); + DevelActor::ChildOrderChangedSignal( control ).Disconnect( mSlotDelegate, &LayoutGroup::ChildOrderChanged ); + DevelHandle::PropertySetSignal( control ).Disconnect( mSlotDelegate, &LayoutGroup::OnOwnerPropertySet ); + } } void LayoutGroup::RemoveChild( LayoutItem& item ) -- 2.7.4