From: Alexander Gavrilov Date: Fri, 03 Oct 2008 07:36:54 GMT Subject: [PATCH] git-gui: Fix the blame viewer destroy handler. Message-ID: <1223019414-24643-3-git-send-email-angavrilov@gmail.com> In-Reply-To: <1223019414-24643-1-git-send-email-angavrilov@gmail.com> 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 --- 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 [cb _kill] + bind $top [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