diff options
-rw-r--r-- | src/autoreplace_gui.cpp | 1 | ||||
-rw-r--r-- | src/depot_gui.cpp | 4 | ||||
-rw-r--r-- | src/window.cpp | 16 |
3 files changed, 10 insertions, 11 deletions
diff --git a/src/autoreplace_gui.cpp b/src/autoreplace_gui.cpp index 198e22f25..8531a89cf 100644 --- a/src/autoreplace_gui.cpp +++ b/src/autoreplace_gui.cpp @@ -206,7 +206,6 @@ public: this->sel_engine[0] = INVALID_ENGINE; this->sel_engine[1] = INVALID_ENGINE; - this->window_number = vehicletype; this->InitNested(desc, vehicletype); this->vscroll.SetCapacity(this->GetWidget<NWidgetBase>(RVW_WIDGET_LEFT_MATRIX)->current_y / this->resize.step_height); diff --git a/src/depot_gui.cpp b/src/depot_gui.cpp index 671a97f6f..39f91a360 100644 --- a/src/depot_gui.cpp +++ b/src/depot_gui.cpp @@ -230,11 +230,9 @@ struct DepotWindow : Window { this->type = type; this->CreateNestedTree(desc); - - this->window_number = tile; this->SetupWidgetData(type); - this->FinishInitNested(desc, tile); + this->owner = GetTileOwner(tile); this->CreateDepotListWindow(type); } 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 |