summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOwen W. Taylor <otaylor@fishsoup.net>2012-05-01 13:40:08 -0400
committerOwen W. Taylor <otaylor@fishsoup.net>2012-05-01 14:31:10 -0400
commit5e453f41befcd86f96ab0f0493fa64ac0f45d87b (patch)
treecdbdc1f7544efea3c4bf7c41b2940f28fba37d97
parente97b38b38ec20621b6eca165556bff7044e7adb1 (diff)
downloadmutter-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.c22
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);
}