Update of /project/mcclim/cvsroot/mcclim In directory clnet:/tmp/cvs-serv24588
Modified Files: incremental-redisplay.lisp Log Message: Fix incremental-redisplay memory leak by removing the children-updating-output slot and related bookkeeping code.
--- /project/mcclim/cvsroot/mcclim/incremental-redisplay.lisp 2006/04/22 15:31:27 1.60 +++ /project/mcclim/cvsroot/mcclim/incremental-redisplay.lisp 2006/05/03 09:33:08 1.61 @@ -387,9 +387,6 @@ (stream :accessor updating-output-stream :initarg :stream :initform nil :documentation "Capture the screen in order to restrict update to visible records") - (children-updating-output :accessor children-updating-output :initform nil - :documentation "A list of updating-output records -that are children (but not necessarily direct) of this record.") (parent-updating-output :accessor parent-updating-output :initarg :parent-updating-output :initform nil :documentation "A backlink to the @@ -440,10 +437,7 @@ ;;; XXX still needed? (defmethod add-output-record :after ((child updating-output-record-mixin) record) - (declare (ignore record)) - (if (parent-updating-output child) - (push child (children-updating-output (parent-updating-output child))) - nil)) + (declare (ignore record child)))
;;; Prevent deleted output records from coming back from the dead. @@ -451,15 +445,10 @@ record &optional errorp) (declare (ignore record errorp)) - (let ((pcache (parent-cache child)) - (parent-updating (parent-updating-output child))) + (let ((pcache (parent-cache child))) (delete-from-map pcache (output-record-unique-id child) - (output-record-id-test child)) - (when parent-updating - (setf (children-updating-output parent-updating) - (delete child (children-updating-output parent-updating) - :test #'eq))))) + (output-record-id-test child))))
(defclass standard-updating-output-record (updating-output-record-mixin