From 4e4aefaf7ecfbd2df7a3dd371c86422ebb3d69f2 Mon Sep 17 00:00:00 2001 From: Nicholas Marriott Date: Tue, 4 Nov 2008 20:55:58 +0000 Subject: [PATCH] Don't try to redraw status line in prompt mode. --- CHANGES | 8 +++++++- server.c | 10 +++++++++- 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 @@ -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;