meta_window_move_frame(): fix crash when frame is NULL

When meta_frame_calc_borders() was made to take a NULL frame argument,
a crash was accidentally introduced into meta_window_move_frame().

This partially reverts 8c1b2d5.

https://bugzilla.gnome.org/show_bug.cgi?id=675254
This commit is contained in:
Owen W. Taylor 2012-05-01 13:40:08 -04:00
parent e97b38b38e
commit 5e453f41be

View File

@ -5108,18 +5108,20 @@ meta_window_move_frame (MetaWindow *window,
{ {
int x = root_x_nw; int x = root_x_nw;
int y = root_y_nw; int y = root_y_nw;
MetaFrameBorders borders;
meta_frame_calc_borders (window->frame, &borders); if (window->frame)
{
/* root_x_nw and root_y_nw correspond to where the top of MetaFrameBorders borders;
* the visible frame should be. Offset by the distance between meta_frame_calc_borders (window->frame, &borders);
* the origin of the window and the origin of the enclosing
* window decorations.
*/
x += window->frame->child_x - borders.invisible.left;
y += window->frame->child_y - borders.invisible.top;
/* root_x_nw and root_y_nw correspond to where the top of
* the visible frame should be. Offset by the distance between
* the origin of the window and the origin of the enclosing
* window decorations.
*/
x += window->frame->child_x - borders.invisible.left;
y += window->frame->child_y - borders.invisible.top;
}
meta_window_move (window, user_op, x, y); meta_window_move (window, user_op, x, y);
} }