From 5d4beadc4b76f826f006fa951af4b24add12d4f6 Mon Sep 17 00:00:00 2001 From: Kalle Olavi Niemitalo Date: Sat, 25 Jul 2009 15:56:47 +0300 Subject: [PATCH] Don't retry get_window_title Call get_window_title() at most once per terminal, even if it fails. If ELinks is configured with X11 support, get_window_title() calls XOpenDisplay(), which can sleep if $DISPLAY does not respond. This delay was previously incurred every time ELinks changed the title. Besides, if ELinks had already changed the title, setting ditrm->orig_title = get_window_title(); did not make sense anyway. --- src/terminal/kbd.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/terminal/kbd.c b/src/terminal/kbd.c index af37ebd1b..32a4ec8ec 100644 --- a/src/terminal/kbd.c +++ b/src/terminal/kbd.c @@ -500,7 +500,10 @@ dispatch_special(unsigned char *text) if (ditrm->remote) break; - if (!ditrm->orig_title) + /* If ditrm->touched_title is 0, then + * ditrm->orig_title should be NULL, + * but check it to prevent any leak. */ + if (!ditrm->orig_title && !ditrm->touched_title) ditrm->orig_title = get_window_title(); ditrm->touched_title = 1; }