diff --git a/lcl/include/docktree.inc b/lcl/include/docktree.inc index d3ae35230f..4e63aa419a 100644 --- a/lcl/include/docktree.inc +++ b/lcl/include/docktree.inc @@ -22,9 +22,20 @@ const DefaultDockGrabberSize = 12; procedure TDockTree.DeleteZone(Zone: TDockZone); + + procedure Traverse(Zone: TDockZone); + begin + if Zone <> nil then + begin + Traverse(Zone.FirstChild); + Traverse(Zone.NextSibling); + Zone.Free; + end; + end; + begin - // ToDo - Zone.Free; + Traverse(Zone.FirstChild); // destroy all childs + Zone.Free; // destroy zone itself end; procedure TDockTree.SetDockZoneClass(const AValue: TDockZoneClass);