mutter/mutter-fix-crash-when-frame-is-NULL.patch
2012-05-06 10:56:36 +00:00

53 lines
1.7 KiB
Diff

From c669a3892e377daaf31a574618a4f8566bd9df61 Mon Sep 17 00:00:00 2001
From: "Owen W. Taylor" <otaylor@fishsoup.net>
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