diff options
author | frosch <frosch@openttd.org> | 2009-10-20 21:25:25 +0000 |
---|---|---|
committer | frosch <frosch@openttd.org> | 2009-10-20 21:25:25 +0000 |
commit | 21fdc65ce4ed3fd6edd7a066b48e7e5b5af4844c (patch) | |
tree | eef854b25acaad11955c32190e6d1ffcd4e0748c /src/window.cpp | |
parent | b06da82c62a61f9d1ca2c9b852acae86bc1eda7f (diff) | |
download | openttd-21fdc65ce4ed3fd6edd7a066b48e7e5b5af4844c.tar.xz |
(svn r17830) -Fix [FS#3276]: Some windows already need their window_number when setting up smallest size (e.g. for DParams). So assign it earlier in Window::InitializeData instead of dealing with each window separately.
Diffstat (limited to 'src/window.cpp')
-rw-r--r-- | src/window.cpp | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/src/window.cpp b/src/window.cpp index 71a776464..957b5eba3 100644 --- a/src/window.cpp +++ b/src/window.cpp @@ -917,6 +917,14 @@ static void AssignWidgetToWindow(Window *w, const Widget *widget) */ void Window::InitializeData(WindowClass cls, const Widget *widget, int window_number) { + /* Set up window properties; some of them are needed to set up smallest size below */ + this->window_class = cls; + this->flags4 = WF_WHITE_BORDER_MASK; // just opened windows have a white border + this->owner = INVALID_OWNER; + this->focused_widget = NULL; + this->nested_focus = NULL; + this->window_number = window_number; + /* If available, initialize nested widget tree. */ if (widget == NULL) { if (this->nested_array == NULL) { @@ -930,17 +938,11 @@ void Window::InitializeData(WindowClass cls, const Widget *widget, int window_nu } /* Else, all data members of nested widgets have been set to 0 by the #ZeroedMemoryAllocator base class. */ - /* Set up window properties, + /* Further set up window properties, * this->left, this->top, this->width, this->height, this->resize.width, and this->resize.height are initialized later. */ - this->window_class = cls; - this->flags4 = WF_WHITE_BORDER_MASK; // just opened windows have a white border - this->owner = INVALID_OWNER; AssignWidgetToWindow(this, widget); - this->focused_widget = NULL; - this->nested_focus = NULL; this->resize.step_width = (this->nested_root != NULL) ? this->nested_root->resize_x : 1; this->resize.step_height = (this->nested_root != NULL) ? this->nested_root->resize_y : 1; - this->window_number = window_number; /* Give focus to the opened window unless it is the OSK window or a text box * of focused window has focus (so we don't interrupt typing). But if the new |