Index: openacs-4/packages/xotcl-core/tcl/generic-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xotcl-core/tcl/generic-procs.tcl,v diff -u -r1.40 -r1.40.2.1 --- openacs-4/packages/xotcl-core/tcl/generic-procs.tcl 30 Dec 2006 12:03:46 -0000 1.40 +++ openacs-4/packages/xotcl-core/tcl/generic-procs.tcl 15 Jan 2007 08:49:58 -0000 1.40.2.1 @@ -137,7 +137,8 @@ ) } if {[my cr_attributes] ne ""} { - set o [::xo::OrderedComposite new -volatile -contains [my cr_attributes]] + set o [::xo::OrderedComposite new -contains [my cr_attributes]] + $o destroy_on_cleanup foreach att [$o children] { $att instvar attribute_name datatype pretty_name sqltype db_1row create_att { @@ -258,7 +259,8 @@ my set superclass [[my info superclass] set object_type] } set sql_attribute_names [list] - set o [xo::OrderedComposite new -volatile -contains [my cr_attributes]] + set o [::xo::OrderedComposite new -contains [my cr_attributes]] + $o destroy_on_cleanup foreach att [$o children] { lappend sql_attribute_names [$att attribute_name] } @@ -483,10 +485,11 @@ {-sql ""} {-full_statement_name ""} } { - Return a set of instances of folder objects. If the ... + Return a set of instances of folder objects. + The container and contained objects are automatically + destroyed on cleanup of the connection thread } { - set __result [::xo::OrderedComposite new] - uplevel #1 [list $__result volatile] + set __result [::xo::OrderedComposite new -destroy_on_cleanup] #$__result proc destroy {} {my log "-- "; next} db_with_handle -dbn $dbn db {