Changeset - r16729:482bfc615285
[Not reviewed]
master
0 1 0
rubidium - 14 years ago 2010-12-11 20:38:37
rubidium@openttd.org
(svn r21472) -Fix [FS#4298] (r21459-ish): make sure the query window is only opened once per parent window / callback.
1 file changed with 13 insertions and 1 deletions:
0 comments (0 inline, 0 general)
src/misc_gui.cpp
Show inline comments
 
@@ -1483,7 +1483,6 @@ struct QueryWindow : public Window {
 

	
 
		this->InitNested(desc);
 

	
 
		if (parent == NULL) parent = FindWindowById(WC_MAIN_WINDOW, 0);
 
		this->parent = parent;
 
		this->left = parent->left + (parent->width / 2) - (this->width / 2);
 
		this->top = parent->top + (parent->height / 2) - (this->height / 2);
 
@@ -1599,5 +1598,18 @@ static const WindowDesc _query_desc(
 
 */
 
void ShowQuery(StringID caption, StringID message, Window *parent, QueryCallbackProc *callback)
 
{
 
	if (parent == NULL) parent = FindWindowById(WC_MAIN_WINDOW, 0);
 

	
 
	const Window *w;
 
	FOR_ALL_WINDOWS_FROM_BACK(w) {
 
		if (w->window_class != WC_CONFIRM_POPUP_QUERY) continue;
 

	
 
		const QueryWindow *qw = (const QueryWindow *)w;
 
		if (qw->parent != parent || qw->proc != callback) continue;
 

	
 
		delete qw;
 
		break;
 
	}
 

	
 
	new QueryWindow(&_query_desc, caption, message, parent, callback);
 
}
0 comments (0 inline, 0 general)