(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.
authorrubidium
Fri, 27 Jul 2007 19:09:31 +0000
changeset 7342 c42f92fe1a60
parent 7341 02515d0d4ced
child 7343 9bf495fb4b10
(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.
src/window.cpp
--- a/src/window.cpp	Fri Jul 27 12:49:04 2007 +0000
+++ b/src/window.cpp	Fri Jul 27 19:09:31 2007 +0000
@@ -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);