Changeset - r14941:87403c2ad59d
[Not reviewed]
master
0 1 0
alberth - 14 years ago 2010-04-04 11:21:56
alberth@openttd.org
(svn r19558) -Fix [FS#3730]: Window::OnResize() was not always called while resizing a window.
1 file changed with 7 insertions and 10 deletions:
0 comments (0 inline, 0 general)
src/window.cpp
Show inline comments
 
@@ -548,8 +548,7 @@ void Window::ReInit(int rx, int ry)
 
	if (this->resize.step_height > 1) dy -= dy % (int)this->resize.step_height;
 

	
 
	ResizeWindow(this, dx, dy);
 
	this->OnResize();
 
	this->SetDirty();
 
	/* ResizeWindow() does this->SetDirty() already, no need to do it again here. */
 
}
 

	
 
/** Set the shaded state of the window to \a make_shaded.
 
@@ -962,11 +961,12 @@ void Window::FindWindowPlacementAndResiz
 
		if (this->resize.step_height > 1) enlarge_y -= enlarge_y % (int)this->resize.step_height;
 

	
 
		ResizeWindow(this, enlarge_x, enlarge_y);
 
		/* ResizeWindow() calls this->OnResize(). */
 
	} else {
 
		/* Always call OnResize; that way the scrollbars and matrices get initialized. */
 
		this->OnResize();
 
	}
 

	
 
	/* Always call OnResize; that way the scrollbars and matrices get initialized */
 
	this->OnResize();
 

	
 
	int nx = this->left;
 
	int ny = this->top;
 

	
 
@@ -1425,6 +1425,7 @@ void ResizeWindow(Window *w, int delta_x
 
	w->nested_root->AssignSizePosition(ST_RESIZE, 0, 0, w->nested_root->smallest_x + new_xinc, w->nested_root->smallest_y + new_yinc, _dynlang.text_dir == TD_RTL);
 
	w->width  = w->nested_root->current_x;
 
	w->height = w->nested_root->current_y;
 
	w->OnResize();
 
	w->SetDirty();
 
}
 

	
 
@@ -1679,7 +1680,6 @@ static bool HandleWindowDragging()
 

	
 
			/* ResizeWindow sets both pre- and after-size to dirty for redrawal */
 
			ResizeWindow(w, x, y);
 
			w->OnResize();
 
			return false;
 
		}
 
	}
 
@@ -2548,10 +2548,7 @@ void RelocateAllWindows(int neww, int ne
 
		 * in a 'backup'-desc that the window should always be centred. */
 
		switch (w->window_class) {
 
			case WC_MAIN_TOOLBAR:
 
				if (neww - w->width != 0) {
 
					ResizeWindow(w, min(neww, 640) - w->width, 0);
 
					w->OnResize();
 
				}
 
				if (neww - w->width != 0) ResizeWindow(w, min(neww, 640) - w->width, 0);
 

	
 
				top = w->top;
 
				left = PositionMainToolbar(w); // changes toolbar orientation
0 comments (0 inline, 0 general)