summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorLibravatar Alexander Gavrilov <angavrilov@gmail.com>2008-10-03 11:36:54 +0400
committerLibravatar Shawn O. Pearce <spearce@spearce.org>2008-10-10 09:33:21 -0700
commit5c91cb5d0dd06aa5574234a3d651098393adb4fa (patch)
treea3df6f7a3ce5321de4fe817ffd1d7db4f09ef014 /lib
parentgit-gui: Add a search command to the blame viewer. (diff)
downloadtgif-5c91cb5d0dd06aa5574234a3d651098393adb4fa.tar.xz
git-gui: Fix the blame viewer destroy handler.
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@gmail.com> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Diffstat (limited to 'lib')
-rw-r--r--lib/blame.tcl9
1 files changed, 8 insertions, 1 deletions
diff --git a/lib/blame.tcl b/lib/blame.tcl
index a45784c057..765d08c004 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