(svn r2348) - Fix: Do not scroll the game with the arrow keys when the chatbox is open
authorDarkvater
Tue, 17 May 2005 23:25:18 +0000
changeset 1843 733f83b6483a
parent 1842 7efaede8ac8e
child 1844 372dae999453
(svn r2348) - Fix: Do not scroll the game with the arrow keys when the chatbox is open
misc_gui.c
network_gui.c
ttd.h
--- a/misc_gui.c	Tue May 17 23:08:21 2005 +0000
+++ b/misc_gui.c	Tue May 17 23:25:18 2005 +0000
@@ -930,7 +930,12 @@
 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 @@
 		}
 	} 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 @@
 	DeleteWindowById(WC_SAVELOAD, 0);
 
 	w = AllocateWindowDesc(&_query_string_desc);
-	SETBIT(_no_scroll, SCROLL_EDIT);
 
 	GetString(_edit_str_buf, str);
 	_edit_str_buf[realmaxlen] = '\0';
--- a/network_gui.c	Tue May 17 23:08:21 2005 +0000
+++ b/network_gui.c	Tue May 17 23:25:18 2005 +0000
@@ -1363,6 +1363,7 @@
 	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 @@
 
 	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);
--- a/ttd.h	Tue May 17 23:08:21 2005 +0000
+++ b/ttd.h	Tue May 17 23:25:18 2005 +0000
@@ -536,6 +536,7 @@
 	SCROLL_CON =  0,
 	SCROLL_EDIT = 1,
 	SCROLL_SAVE = 2,
+	SCROLL_CHAT = 4,
 };
 VARDEF byte _no_scroll;