summaryrefslogtreecommitdiff
path: root/src/window.cpp
diff options
context:
space:
mode:
authorfrosch <frosch@openttd.org>2009-10-20 21:25:25 +0000
committerfrosch <frosch@openttd.org>2009-10-20 21:25:25 +0000
commit21fdc65ce4ed3fd6edd7a066b48e7e5b5af4844c (patch)
treeeef854b25acaad11955c32190e6d1ffcd4e0748c /src/window.cpp
parentb06da82c62a61f9d1ca2c9b852acae86bc1eda7f (diff)
downloadopenttd-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.cpp16
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