Ticket UUID: | 621178 | |||
Title: | BWidget error in Tree under 8.4 | |||
Type: | Bug | Version: | None | |
Submitter: | damonc | Created on: | 2002-10-10 08:00:22 | |
Subsystem: | bwidget | Assigned To: | jenglish | |
Priority: | 5 Medium | Severity: | ||
Status: | Closed | Last Modified: | 2003-01-25 05:22:58 | |
Resolution: | Fixed | Closed By: | jenglish | |
Closed on: | 2003-01-24 22:22:58 | |||
Description: |
The following code under ActiveTcl 8.4.0.1 under Windows: package require BWidget pack [Tree .t] .t insert end root foo -text Foo .t selection set foo .t delete foo Yields the result: .t selection set: Cannot select unknown node "foo". while executing "selection .t set foo" ("eval" body line 1) invoked from within "eval selection $path set $sel" (procedure "Tree::delete" line 18) invoked from within "Tree::delete .t foo" ("eval" body line 1) invoked from within "eval Tree::$cmd .t $args" (procedure ".t" line 1) invoked from within ".t delete foo " This only occurs if the deleted node is selected. If you remove the "selection set" line, everything works fine. | |||
User Comments: |
jenglish added on 2003-01-25 05:22:58:
Logged In: YES user_id=68433 Committed patch (tree.tcl r1.38) jenglish added on 2003-01-17 07:24:36: File Added - 39831: bwidget-tree-delete-selected.patch jenglish added on 2003-01-17 07:24:35: Logged In: YES user_id=68433 Attached patch should fix the problem. Fix: remove deleted nodes from the selection in Tree::_subdelete instead of Tree::delete. jenglish added on 2003-01-17 06:54:08: Logged In: YES user_id=68433 Looks like this problem was introduced in revision 1.36 (related to Bug #547245?); "selection set" and other commands that modified the selection formerly ignored nonexistent nodes, now they raise an error. But [delete] (perhaps inadvertently) relied on the old behaviour. jenglish added on 2003-01-17 06:29:04: Logged In: YES user_id=68433 Reopening; patch 621331 didn't fully fix the problem. Deleting an ancestor of a selected node still fails: package require BWidget pack [Tree .t] .t insert end root foo -text Foo .t insert end foo bar -text bar .t selection set bar .t delete foo ==> ".t selection set: Cannot select unknown node "bar"." hobbs added on 2002-10-15 03:45:26: Logged In: YES user_id=72656 fixed by patch 621331 |
Attachments:
- bwidget-tree-delete-selected.patch [download] added by jenglish on 2003-01-17 07:24:35. [details]