diff options
author | Darkvater <Darkvater@openttd.org> | 2005-04-03 13:35:43 +0000 |
---|---|---|
committer | Darkvater <Darkvater@openttd.org> | 2005-04-03 13:35:43 +0000 |
commit | 9aacf737201b9b34efa6f9693a4b6d8ea825e260 (patch) | |
tree | 43d0c30344fa5ad98c004c575d478e6a31e1338b /window.c | |
parent | f203150f7d3e770e7f78d14e95c9aff37f89cdc9 (diff) | |
download | openttd-9aacf737201b9b34efa6f9693a4b6d8ea825e260.tar.xz |
(svn r2141) - Fix: Keys now hopefully only activate the right windows. If console/querybox/chatbox is open, all input goes there, if closed to game itself.
Diffstat (limited to 'window.c')
-rw-r--r-- | window.c | 7 |
1 files changed, 5 insertions, 2 deletions
@@ -1266,19 +1266,22 @@ static void HandleKeypress(uint32 key) we.keypress.cont = true; // check if we have a query string window open before allowing hotkeys - if(FindWindowById(WC_QUERY_STRING, 0)!=NULL || FindWindowById(WC_SEND_NETWORK_MSG, 0)!=NULL) + if(FindWindowById(WC_QUERY_STRING, 0)!=NULL || FindWindowById(WC_SEND_NETWORK_MSG, 0)!=NULL || FindWindowById(WC_CONSOLE, 0)!=NULL) query_open = true; // Call the event, start with the uppermost window. for(w=_last_window; w != _windows;) { --w; // if a query window is open, only call the event for certain window types - if(query_open && w->window_class!=WC_QUERY_STRING && w->window_class!=WC_SEND_NETWORK_MSG && w->window_class!=WC_MAIN_TOOLBAR) + if(query_open && w->window_class!=WC_QUERY_STRING && w->window_class!=WC_SEND_NETWORK_MSG && w->window_class!=WC_CONSOLE) continue; w->wndproc(w, &we); if (!we.keypress.cont) break; } + + if (we.keypress.cont) + FindWindowById(WC_MAIN_TOOLBAR, 0)->wndproc(w, &we); } extern void UpdateTileSelection(void); |