From 4ff094a82632223f032d3e9f17cf4b4d82706ae8 Mon Sep 17 00:00:00 2001 From: David Ponce Date: Mon, 19 Sep 2005 09:52:32 +0000 Subject: [PATCH] (tree-widget-value-create): Save the converted tree :node widget. --- lisp/ChangeLog | 5 +++++ lisp/tree-widget.el | 18 ++++++++++-------- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index bec58f6f388..d0057f55cb4 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2005-09-19 David Ponce + + * tree-widget.el (tree-widget-value-create): Save the converted + tree :node widget. + 2005-09-19 Juanma Barranquero * progmodes/sh-script.el (sh-blink): Fix spurious reference to diff --git a/lisp/tree-widget.el b/lisp/tree-widget.el index 049999a7b88..28207436688 100644 --- a/lisp/tree-widget.el +++ b/lisp/tree-widget.el @@ -647,14 +647,15 @@ This hook should be local in the buffer setup to display widgets.") (when (and (not args) xpandr) (setq args (mapcar 'widget-convert (funcall xpandr tree))) (widget-put tree :args args)) + ;; Defer the node widget creation after icon creation. + (widget-put tree :node (widget-convert node)) ;; Create the icon widget for the expanded tree. (push (widget-create-child-and-convert - tree (widget-get tree (if args :open-icon :empty-icon)) - ;; At this point the node widget isn't yet created. - :node (setq node (widget-convert node))) + tree (widget-get tree (if args :open-icon :empty-icon))) buttons) ;; Create the tree node widget. - (push (widget-create-child tree node) children) + (push (widget-create-child tree (widget-get tree :node)) + children) ;; Update the icon :node with the created node widget. (widget-put (car buttons) :node (car children)) ;; Create the tree children. @@ -696,14 +697,15 @@ This hook should be local in the buffer setup to display widgets.") ;; Update the icon :node with the created node widget. (widget-put (car buttons) :node (car children))))) ;;;; Collapsed node. + ;; Defer the node widget creation after icon creation. + (widget-put tree :node (widget-convert node)) ;; Create the icon widget for the collapsed tree. (push (widget-create-child-and-convert - tree (widget-get tree :close-icon) - ;; At this point the node widget isn't yet created. - :node (setq node (widget-convert node))) + tree (widget-get tree :close-icon)) buttons) ;; Create the tree node widget. - (push (widget-create-child tree node) children) + (push (widget-create-child tree (widget-get tree :node)) + children) ;; Update the icon :node with the created node widget. (widget-put (car buttons) :node (car children))) ;; Save widget children and buttons. The tree-widget :node child -- 2.39.5