From eb33a67f218b612f6fb1456e19b40a1f97ff02c0 Mon Sep 17 00:00:00 2001
From: Paul Mackerras <paulus@samba.org>
Date: Fri, 19 Oct 2007 19:09:43 +1000
Subject: [PATCH] gitk: Fix Tcl error: can't unset findcurline

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 | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gitk b/gitk
index 290deff7b22..3b3cc4bd93c 100755
--- 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
     }