From b51c1905465706bc68dd4f6857004cf4246f8828 Mon Sep 17 00:00:00 2001 From: Darkvater Date: Tue, 17 May 2005 23:25:18 +0000 Subject: [PATCH] (svn r2348) - Fix: Do not scroll the game with the arrow keys when the chatbox is open --- misc_gui.c | 12 ++++++------ network_gui.c | 2 ++ ttd.h | 1 + 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/misc_gui.c b/misc_gui.c index 63adec3213..da59fd96b9 100644 --- a/misc_gui.c +++ b/misc_gui.c @@ -930,7 +930,12 @@ void DrawEditBox(Window *w, int wid) static void QueryStringWndProc(Window *w, WindowEvent *e) { static bool closed = false; - switch(e->event) { + switch (e->event) { + case WE_CREATE: + SETBIT(_no_scroll, SCROLL_EDIT); + closed = false; + break; + case WE_PAINT: SetDParam(0, WP(w,querystr_d).caption); DrawWindowWidgets(w); @@ -987,10 +992,6 @@ press_ok:; } } break; - case WE_CREATE: - closed = false; - break; - case WE_DESTROY: // If the window is not closed yet, it means it still needs to send a CANCEL if (!closed) { @@ -1039,7 +1040,6 @@ void ShowQueryString(StringID str, StringID caption, uint maxlen, uint maxwidth, DeleteWindowById(WC_SAVELOAD, 0); w = AllocateWindowDesc(&_query_string_desc); - SETBIT(_no_scroll, SCROLL_EDIT); GetString(_edit_str_buf, str); _edit_str_buf[realmaxlen] = '\0'; diff --git a/network_gui.c b/network_gui.c index 833ab72d09..9f8ff15f22 100644 --- a/network_gui.c +++ b/network_gui.c @@ -1363,6 +1363,7 @@ static void ChatWindowWndProc(Window *w, WindowEvent *e) switch (e->event) { case WE_CREATE: SendWindowMessage(WC_NEWS_WINDOW, 0, WE_CREATE, w->height, 0); + SETBIT(_no_scroll, SCROLL_CHAT); // do not scroll the game with the arrow-keys closed = false; break; @@ -1421,6 +1422,7 @@ press_ok:; case WE_DESTROY: SendWindowMessage(WC_NEWS_WINDOW, 0, WE_DESTROY, 0, 0); + CLRBIT(_no_scroll, SCROLL_CHAT); // If the window is not closed yet, it means it still needs to send a CANCEL if (!closed) { Window *parent = FindWindowById(WP(w,querystr_d).wnd_class, WP(w,querystr_d).wnd_num); diff --git a/ttd.h b/ttd.h index 0181987793..96d247547e 100644 --- a/ttd.h +++ b/ttd.h @@ -536,6 +536,7 @@ enum { SCROLL_CON = 0, SCROLL_EDIT = 1, SCROLL_SAVE = 2, + SCROLL_CHAT = 4, }; VARDEF byte _no_scroll;