It did not delete the object, which is not very good. Also, destroy may be fired up for subwindows, so we should check %W. Signed-off-by: Alexander Gavrilov <angavrilov@xxxxxxxxx> --- My own bug. I hope that now I understand Tcl better than 2 months ago. -- Alexander lib/blame.tcl | 9 ++++++++- 1 files changed, 8 insertions(+), 1 deletions(-) diff --git a/lib/blame.tcl b/lib/blame.tcl index a45784c..765d08c 100644 --- a/lib/blame.tcl +++ b/lib/blame.tcl @@ -377,11 +377,18 @@ constructor new {i_commit i_path i_jump} { "if {{$w.file_pane} eq {%W}} {[cb _resize %h]}" wm protocol $top WM_DELETE_WINDOW "destroy $top" - bind $top <Destroy> [cb _kill] + bind $top <Destroy> [cb _handle_destroy %W] _load $this $i_jump } +method _handle_destroy {win} { + if {$win eq $w} { + _kill $this + delete_this + } +} + method _kill {} { if {$current_fd ne {}} { kill_file_process $current_fd -- 1.6.0.20.g6148bc -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html