diff options
author | Owen W. Taylor <otaylor@fishsoup.net> | 2012-05-01 13:40:08 -0400 |
---|---|---|
committer | Owen W. Taylor <otaylor@fishsoup.net> | 2012-05-01 14:31:10 -0400 |
commit | 5e453f41befcd86f96ab0f0493fa64ac0f45d87b (patch) | |
tree | cdbdc1f7544efea3c4bf7c41b2940f28fba37d97 | |
parent | e97b38b38ec20621b6eca165556bff7044e7adb1 (diff) | |
download | mutter-5e453f41befcd86f96ab0f0493fa64ac0f45d87b.tar.gz |
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
-rw-r--r-- | src/core/window.c | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/src/core/window.c b/src/core/window.c index 204bc0c65..9e4b93ca5 100644 --- a/src/core/window.c +++ b/src/core/window.c @@ -5108,18 +5108,20 @@ meta_window_move_frame (MetaWindow *window, { int x = root_x_nw; int y = root_y_nw; - MetaFrameBorders borders; - - meta_frame_calc_borders (window->frame, &borders); - /* 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; + if (window->frame) + { + MetaFrameBorders borders; + meta_frame_calc_borders (window->frame, &borders); + /* 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); } |