|
@@ -984,7 +984,7 @@ void Window::ReInit(int rx, int ry, bool
|
|
|
this->FindWindowPlacementAndResize(this->window_desc->GetDefaultWidth(), this->window_desc->GetDefaultHeight());
|
|
|
}
|
|
|
|
|
|
ResizeWindow(this, dx, dy);
|
|
|
ResizeWindow(this, dx, dy, true, false);
|
|
|
/* ResizeWindow() does this->SetDirty() already, no need to do it again here. */
|
|
|
}
|
|
|
|
|
@@ -1447,8 +1447,8 @@ void Window::FindWindowPlacementAndResiz
|
|
|
ResizeWindow(this, enlarge_x, enlarge_y);
|
|
|
/* ResizeWindow() calls this->OnResize(). */
|
|
|
} else {
|
|
|
/* Schedule OnResize; that way the scrollbars and matrices get initialized. */
|
|
|
this->ScheduleResize();
|
|
|
/* Always call OnResize; that way the scrollbars and matrices get initialized. */
|
|
|
this->OnResize();
|
|
|
}
|
|
|
|
|
|
int nx = this->left;
|
|
@@ -2024,7 +2024,7 @@ static void EnsureVisibleCaption(Window
|
|
|
* @param delta_y Delta y-size of changed window
|
|
|
* @param clamp_to_screen Whether to make sure the whole window stays visible
|
|
|
*/
|
|
|
void ResizeWindow(Window *w, int delta_x, int delta_y, bool clamp_to_screen)
|
|
|
void ResizeWindow(Window *w, int delta_x, int delta_y, bool clamp_to_screen, bool schedule_resize)
|
|
|
{
|
|
|
if (delta_x != 0 || delta_y != 0) {
|
|
|
if (clamp_to_screen) {
|
|
@@ -2051,7 +2051,11 @@ void ResizeWindow(Window *w, int delta_x
|
|
|
EnsureVisibleCaption(w, w->left, w->top);
|
|
|
|
|
|
/* Schedule OnResize to make sure everything is initialised correctly if it needs to be. */
|
|
|
w->ScheduleResize();
|
|
|
if (schedule_resize) {
|
|
|
w->ScheduleResize();
|
|
|
} else {
|
|
|
w->OnResize();
|
|
|
}
|
|
|
w->SetDirty();
|
|
|
}
|
|
|
|