| Ticket UUID: | 1046955 | |||
| Title: | BWidget 1.7.0: Tree::insert does not find parent node | |||
| Type: | Patch | Version: | None | |
| Submitter: | rogerjmeier | Created on: | 2004-10-14 10:59:18 | |
| Subsystem: | bwidget | Assigned To: | hobbs | |
| Priority: | 5 Medium | Severity: | ||
| Status: | Closed | Last Modified: | 2007-11-01 01:54:41 | |
| Resolution: | Fixed | Closed By: | hobbs | |
| Closed on: | 2007-10-31 18:54:41 | |||
| Description: |
To the maintainer of BWidget's Tree widget:
When inserting an element into a parent tree node which
contained an ampersand (&) in the node name, this
parent node is not found and an error is issued by
Tree::insert.
The following code shows the behaviour:
package require BWidget 1.7
frame .ftop
pack .ftop
set sampleTree .ftop.tsample
Tree $sampleTree
pack $sampleTree
$sampleTree insert end root "/First&IT" -text "First&IT"
$sampleTree insert end "/First&IT" "Abc" -text "Abc"
The error is:
node "/First&IT" does not exist
while executing
"Tree::insert .ftop.tsample end /First&IT Abc -text Abc"
("eval" body line 1)
invoked from within
"eval [linsert $args 0 Tree::$cmd .ftop.tsample]"
(procedure ".ftop.tsample" line 1)
invoked from within
"$sampleTree insert end "/First&IT" "Abc" -text "Abc""
(file
"/home/users/roger/Dev/TclTk/Singles/treetest.tcl" line 17)
When removing the "&" character from the insert
commands it works.
The attached one-line patch solves the problem: The
parent node name is not converted to canonical form
with _node_name before checking if the array entry exists.
The patch does the following:
set parent [_node_name $path $parent]
This call overwrites parent with the canonical (mapped
special characters) node name, add this line just
before the [info exists data($parent)] line.
The patch worked fine for me. I did not check the rest
of the tree.tcl for other missing _node_name calls --
maybe there are more...
-- Roger
PS: Thanks for the cool Tree widget!
| |||
| User Comments: |
hobbs added on 2007-11-01 01:54:41:
Logged In: YES user_id=72656 Originator: NO applied. rogerjmeier added on 2004-10-14 17:59:19: File Added - 105065: bwidget-1.7.0-tree.diff | |||
Attachments:
- bwidget-1.7.0-tree.diff [download] added by rogerjmeier on 2004-10-14 17:59:19. [details]
