Respect requested position on _NET_MOVERESIZE_WINDOW. Closes #448183

svn path=/trunk/; revision=3585
This commit is contained in:
Mikkel Kamstrup Erlandsen 2008-02-21 10:00:10 +00:00
parent 8802ac2fe9
commit 3ca31c7b04
2 changed files with 36 additions and 3 deletions

View File

@ -1,3 +1,8 @@
2008-02-21 Mikkel Kamstrup Erlandsen <mikkel.kamstrup@gmail.com>
* src/core/constraints.c: Respect requested position on
_NET_MOVERESIZE_WINDOW. Closes #448183.
2008-02-18 Matthias Clasen <mclasen@redhat.com> 2008-02-18 Matthias Clasen <mclasen@redhat.com>
* src/core/window.h: Make skip-taskbar windows appear in the * src/core/window.h: Make skip-taskbar windows appear in the

View File

@ -852,8 +852,17 @@ constrain_size_increments (MetaWindow *window,
if (new_height < window->size_hints.min_height) if (new_height < window->size_hints.min_height)
new_height += ((window->size_hints.min_height - new_height)/hi + 1)*hi; new_height += ((window->size_hints.min_height - new_height)/hi + 1)*hi;
/* Figure out what original rect to pass to meta_rectangle_resize_with_gravity
* See bug 448183
*/
MetaRectangle *start_rect;
if (info->action_type == ACTION_MOVE_AND_RESIZE)
start_rect = &info->current;
else
start_rect = &info->orig;
/* Resize to the new size */ /* Resize to the new size */
meta_rectangle_resize_with_gravity (&info->orig, meta_rectangle_resize_with_gravity (start_rect,
&info->current, &info->current,
info->resize_gravity, info->resize_gravity,
new_width, new_width,
@ -898,7 +907,17 @@ constrain_size_limits (MetaWindow *window,
/*** Enforce constraint ***/ /*** Enforce constraint ***/
new_width = CLAMP (info->current.width, min_size.width, max_size.width); new_width = CLAMP (info->current.width, min_size.width, max_size.width);
new_height = CLAMP (info->current.height, min_size.height, max_size.height); new_height = CLAMP (info->current.height, min_size.height, max_size.height);
meta_rectangle_resize_with_gravity (&info->orig,
/* Figure out what original rect to pass to meta_rectangle_resize_with_gravity
* See bug 448183
*/
MetaRectangle *start_rect;
if (info->action_type == ACTION_MOVE_AND_RESIZE)
start_rect = &info->current;
else
start_rect = &info->orig;
meta_rectangle_resize_with_gravity (start_rect,
&info->current, &info->current,
info->resize_gravity, info->resize_gravity,
new_width, new_width,
@ -1022,7 +1041,16 @@ constrain_aspect_ratio (MetaWindow *window,
break; break;
} }
meta_rectangle_resize_with_gravity (&info->orig, /* Figure out what original rect to pass to meta_rectangle_resize_with_gravity
* See bug 448183
*/
MetaRectangle *start_rect;
if (info->action_type == ACTION_MOVE_AND_RESIZE)
start_rect = &info->current;
else
start_rect = &info->orig;
meta_rectangle_resize_with_gravity (start_rect,
&info->current, &info->current,
info->resize_gravity, info->resize_gravity,
new_width, new_width,