Sophie

Sophie

distrib > Fedora > 14 > x86_64 > by-pkgid > f7c87443a0a32af080c75f3752afe98e > files > 2

joe-3.7-5.fc13.src.rpm

Index: joe-3.5/tty.c
===================================================================
--- joe-3.5.orig/tty.c
+++ joe-3.5/tty.c
@@ -242,18 +242,19 @@ void ttclose(void)
 }
 
 static int winched = 0;
+int ticked = 0;
 #ifdef SIGWINCH
 /* Window size interrupt handler */
 static RETSIGTYPE winchd(int unused)
 {
 	++winched;
+	ticked = 1;
 	REINSTALL_SIGHANDLER(SIGWINCH, winchd);
 }
 #endif
 
 /* Second ticker */
 
-int ticked = 0;
 static RETSIGTYPE dotick(int unused)
 {
 	ticked = 1;
@@ -277,6 +278,8 @@ void tickon(void)
 {
 #ifdef HAVE_SETITIMER
 	struct itimerval val;
+	struct timeval now;
+	gettimeofday(&now, NULL);
 	val.it_interval.tv_sec = 0;
 	val.it_interval.tv_usec = 0;
 	if (auto_scroll) {
@@ -287,8 +290,8 @@ void tickon(void)
 		val.it_value.tv_sec = 0;
 		val.it_value.tv_usec = tim;
 	} else {
-		val.it_value.tv_sec = 1;
-		val.it_value.tv_usec = 0;
+		val.it_value.tv_sec = 60 - (now.tv_sec % 60);
+		val.it_value.tv_usec = 1000000 - now.tv_usec;
 	}
 	ticked = 0;
 	joe_set_signal(SIGALRM, dotick);