aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGES8
-rw-r--r--server.c10
2 files changed, 16 insertions, 2 deletions
diff --git a/CHANGES b/CHANGES
index 3bcfd283..ac033861 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,9 @@
+04 November 2008
+
+* Don't try to redraw status line when showing a prompt or message; if it does,
+ the status timer is never reset so it redraws on every loop. Spotted by
+ joshe.
+
09 October 2008
* Translate 256 colours into 16 if 256 is not available, same as screen does.
@@ -681,4 +687,4 @@
(including mutt, emacs). No status bar yet and no key remapping or other
customisation.
-$Id: CHANGES,v 1.164 2008-10-09 22:00:33 nicm Exp $
+$Id: CHANGES,v 1.165 2008-11-04 20:55:58 nicm Exp $
diff --git a/server.c b/server.c
index 2b6c771e..82b1f07f 100644
--- a/server.c
+++ b/server.c
@@ -1,4 +1,4 @@
-/* $Id: server.c,v 1.83 2008-09-29 16:03:27 nicm Exp $ */
+/* $Id: server.c,v 1.84 2008-11-04 20:55:58 nicm Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@@ -393,8 +393,16 @@ server_check_timers(struct client *c)
if (c->message_string != NULL && timercmp(&tv, &c->message_timer, >))
server_clear_client_message(c);
+ if (c->message_string != NULL || c->prompt_string != NULL) {
+ /*
+ * Don't need timed redraw for messages/prompts so bail now.
+ * The status timer isn't reset when they are redrawn anyway.
+ */
+ return;
+ }
if (!options_get_number(&s->options, "status"))
return;
+
interval = options_get_number(&s->options, "status-interval");
if (interval == 0)
return;