(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 7838 539b4d33ce87
parent 7837 65d7362153a6
child 7839 5c43edaa9de0
(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);