[mutter/gnome-3-4] meta_window_move_frame(): fix crash when frame is NULL



commit 5e453f41befcd86f96ab0f0493fa64ac0f45d87b
Author: Owen W. Taylor <otaylor fishsoup net>
Date:   Tue May 1 13:40:08 2012 -0400

    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 files changed, 12 insertions(+), 10 deletions(-)
---
diff --git a/src/core/window.c b/src/core/window.c
index 204bc0c..9e4b93c 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);
 }
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]