OSDN Git Service

gitk: Fix Tcl error: can't unset findcurline
authorPaul Mackerras <paulus@samba.org>
Fri, 19 Oct 2007 09:09:43 +0000 (19:09 +1000)
committerPaul Mackerras <paulus@samba.org>
Fri, 19 Oct 2007 09:09:43 +0000 (19:09 +1000)
The logic in stopfinding assumes that findcurline will be set if
find_dirn is, but findnext and findprev can set find_dirn without
setting findcurline.  This makes sure we only set find_dirn in those
places if findcurline is already set.

Signed-off-by: Paul Mackerras <paulus@samba.org>
gitk

diff --git a/gitk b/gitk
index 290deff..3b3cc4b 100755 (executable)
--- a/gitk
+++ b/gitk
@@ -4279,7 +4279,6 @@ proc findnext {restart} {
     global findcurline find_dirn
 
     if {[info exists find_dirn]} return
-    set find_dirn 1
     if {![info exists findcurline]} {
        if {$restart} {
            dofind
@@ -4287,6 +4286,7 @@ proc findnext {restart} {
            bell
        }
     } else {
+       set find_dirn 1
        run findmore
        nowbusy finding
     }
@@ -4296,10 +4296,10 @@ proc findprev {} {
     global findcurline find_dirn
 
     if {[info exists find_dirn]} return
-    set find_dirn -1
     if {![info exists findcurline]} {
        dofind 1
     } else {
+       set find_dirn -1
        run findmorerev
        nowbusy finding
     }