diff --git a/ChangeLog b/ChangeLog index b3707d6a3..ae86a026e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2008-05-26 Matthew Allum <mallum@openedhand.com> + + * clutter/x11/clutter-stage-x11.c: (clutter_stage_x11_request_coords): + Dont allow the window to be resize to 0 dimentions. (fixes #933) + 2008-05-23 Emmanuele Bassi <ebassi@openedhand.com> Bug #912 - Invalid use of int* as parameter for glGetIntegerv diff --git a/clutter/x11/clutter-stage-x11.c b/clutter/x11/clutter-stage-x11.c index 27aeb40b4..389ef0374 100644 --- a/clutter/x11/clutter-stage-x11.c +++ b/clutter/x11/clutter-stage-x11.c @@ -176,6 +176,19 @@ clutter_stage_x11_request_coords (ClutterActor *self, new_width = ABS (CLUTTER_UNITS_TO_INT (box->x2 - box->x1)); new_height = ABS (CLUTTER_UNITS_TO_INT (box->y2 - box->y1)); + /* X cant resize to 0 dimentions */ + if (new_height == 0) + { + box->y2 = box->y1 + 1; + new_height = 1; + } + + if (new_width == 0) + { + box->x2 = box->x1 + 1; + new_width = 1; + } + if (new_width != stage_x11->xwin_width || new_height != stage_x11->xwin_height) { @@ -197,11 +210,11 @@ clutter_stage_x11_request_coords (ClutterActor *self, if (stage_x11->xwin != None && !stage_x11->is_foreign_xwin && !stage_x11->handling_configure) - XResizeWindow (stage_x11->xdpy, - stage_x11->xwin, - stage_x11->xwin_width, - stage_x11->xwin_height); - + XResizeWindow (stage_x11->xdpy, + stage_x11->xwin, + stage_x11->xwin_width, + stage_x11->xwin_height); + clutter_stage_x11_fix_window_size (stage_x11); if (stage_x11->xpixmap != None)