changeset 7342:b545d4edbd53 draft

(svn r10705) -Fix (r10704): some windows were not correctly initialized as they resized the window themselves and that should be interfered by making sure the window is resized in the right "step" size. -Fix (r10704): call the WE_RESIZE when resizing during initialization of the windows.
author rubidium <rubidium@openttd.org>
date Fri, 27 Jul 2007 19:09:31 +0000
parents 549c757023fc
children 76fcc58cd6c7
files src/window.cpp
diffstat 1 files changed, 9 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/src/window.cpp
+++ b/src/window.cpp
@@ -668,6 +668,15 @@
 		if (w->resize.step_height > 1) enlarge_y -= enlarge_y % (int)w->resize.step_height;
 
 		ResizeWindow(w, enlarge_x, enlarge_y);
+
+		WindowEvent e;
+		e.event = WE_RESIZE;
+		e.we.sizing.size.x = w->width;
+		e.we.sizing.size.y = w->height;
+		e.we.sizing.diff.x = enlarge_x;
+		e.we.sizing.diff.y = enlarge_y;
+		w->wndproc(w, &e);
+
 		if (w->left < 0) w->left = 0;
 		if (w->top  < 0) w->top  = 0;
 	}
@@ -1093,12 +1102,6 @@
 	bool resize_height = false;
 	bool resize_width = false;
 
-	/* X and Y has to go by step.. calculate it.
-	 * The cast to int is necessary else x/y are implicitly casted to
-	 * unsigned int, which won't work. */
-	if (w->resize.step_width  > 1) x -= x % (int)w->resize.step_width;
-	if (w->resize.step_height > 1) y -= y % (int)w->resize.step_height;
-
 	if (x == 0 && y == 0) return;
 
 	SetWindowDirty(w);