From 5e453f41befcd86f96ab0f0493fa64ac0f45d87b Mon Sep 17 00:00:00 2001 From: "Owen W. Taylor" Date: Tue, 1 May 2012 13:40:08 -0400 Subject: [PATCH] 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 --- src/core/window.c | 22 ++++++++++++---------- 1 file 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); }