(svn r9137) -Fix: if all news-setting buttons show 'full', make the ALL-button show 'full' too
authortruelight
Tue, 13 Mar 2007 12:05:41 +0000
changeset 6628 2b97a7deed52
parent 6627 5199fedc76c6
child 6629 b35b983c6cdb
child 9358 42713dbe6ebe
(svn r9137) -Fix: if all news-setting buttons show 'full', make the ALL-button show 'full' too
src/news_gui.cpp
--- a/src/news_gui.cpp	Mon Mar 12 19:58:56 2007 +0000
+++ b/src/news_gui.cpp	Tue Mar 13 12:05:41 2007 +0000
@@ -754,11 +754,18 @@
 	switch (e->event) {
 		case WE_CREATE: {
 			uint32 val = _news_display_opt;
+			uint32 all_val;
 			int i;
-			WP(w, def_d).data_1 = 0;
 
 			/* Set up the initial disabled buttons in the case of 'off' or 'full' */
-			for (i = 0; i < NT_END; i++, val >>= 2) SetMessageButtonStates(w, val & 0x3, i);
+			all_val = val & 0x3;
+			for (i = 0; i < NT_END; i++, val >>= 2) {
+				SetMessageButtonStates(w, val & 0x3, i);
+				/* If the value doesn't match the ALL-button value, set the ALL-button value to 'off' */
+				if ((val & 0x3) != all_val) all_val = 0;
+			}
+			/* If all values are the same value, the ALL-button will take over this value */
+			WP(w, def_d).data_1 = all_val;
 		} break;
 
 		case WE_PAINT: {