Remove st_container_remove_all & rewrite st_container_destroy_children

1. Both functions leaked the nodes in priv->children
2. st_container_remove_all wasn't properly updating first_child and last_child
3. remove_all() is almost never right since it won't cause signal handlers
   on the children to be removed. In the rare cases where it might be needed
   the caller can simply use clutter_container_remove().
https://bugzilla.gnome.org/show_bug.cgi?id=640781
This commit is contained in:
Maxim Ermilov
2011-02-01 02:25:35 +03:00
parent 91d8a32f25
commit e3acaa05be
6 changed files with 15 additions and 33 deletions

View File

@ -470,7 +470,7 @@ EndSessionDialog.prototype = {
OpenAsync: function(type, timestamp, totalSecondsToStayOpen, inhibitorObjectPaths, callback) {
this._totalSecondsToStayOpen = totalSecondsToStayOpen;
this._inhibitors = [];
this._applicationList.remove_all();
this._applicationList.destroy_children();
this._type = type;
if (!(this._type in DialogContent))