From c669a3892e377daaf31a574618a4f8566bd9df61 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 08e413c..e51de1b 100644 --- a/src/core/window.c +++ b/src/core/window.c @@ -5080,18 +5080,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); } -- 1.7.10