(svn r13105) -Fix [FS#2015]: the title of a query window would (sometimes) change when the on screen keyboard was opened.
authorrubidium
Thu, 15 May 2008 18:26:45 +0000
changeset 10561 5a205a6804d6
parent 10560 0cf0a95ebaf9
child 10562 a9ba187756d8
(svn r13105) -Fix [FS#2015]: the title of a query window would (sometimes) change when the on screen keyboard was opened.
src/osk_gui.cpp
--- a/src/osk_gui.cpp	Thu May 15 14:41:56 2008 +0000
+++ b/src/osk_gui.cpp	Thu May 15 18:26:45 2008 +0000
@@ -42,6 +42,7 @@
 static byte _keystate = KEYS_NONE;
 
 struct OskWindow : public Window {
+	StringID caption;      ///< the caption for this window.
 	QueryString *qs;       ///< text-input
 	int text_btn;          ///< widget number of parent's text field
 	int ok_btn;            ///< widget number of parent's ok button (=0 when ok shouldn't be passed on)
@@ -54,7 +55,7 @@
 		this->parent = parent;
 		assert(parent != NULL);
 
-		if (parent->widget[button].data != 0) parent->caption = parent->widget[button].data;
+		this->caption = (parent->widget[button].data != STR_NULL) ? parent->widget[button].data : parent->caption;
 
 		this->qs         = parent;
 		this->text_btn   = button;
@@ -96,7 +97,7 @@
 
 		this->ChangeOskDiabledState(shift);
 
-		SetDParam(0, this->qs->caption);
+		SetDParam(0, this->caption);
 		DrawWindowWidgets(this);
 
 		for (uint i = 0; i < OSK_KEYBOARD_ENTRIES; i++) {