]> Dogcows Code - chaz/openbox/blobdiff - openbox/resist.c
Merge branch 'master' into chaz
[chaz/openbox] / openbox / resist.c
index dc4e2d7051dea248fa92d243405b2b7c3d2ddfe8..12f56329a65e2676ddb0370400ef23ba512cb3c8 100644 (file)
@@ -135,7 +135,8 @@ void resist_move_windows(ObClient *c, gint resist, gint *x, gint *y)
 
 void resist_move_monitors(ObClient *c, gint resist, gint *x, gint *y)
 {
-    Rect *area, *parea;
+    Rect *area;
+    const Rect *parea;
     guint i;
     gint l, t, r, b; /* requested edges */
     gint al, at, ar, ab; /* screen area edges */
@@ -167,10 +168,8 @@ void resist_move_monitors(ObClient *c, gint resist, gint *x, gint *y)
     for (i = 0; i < screen_num_monitors; ++i) {
         parea = screen_physical_area_monitor(i);
 
-        if (!RECT_INTERSECTS_RECT(*parea, c->frame->area)) {
-            g_free(parea);
+        if (!RECT_INTERSECTS_RECT(*parea, c->frame->area))
             continue;
-        }
 
         area = screen_area(c->desktop, SCREEN_AREA_ALL_MONITORS,
                            &desired_area);
@@ -202,8 +201,7 @@ void resist_move_monitors(ObClient *c, gint resist, gint *x, gint *y)
         else if (cb <= pb && b > pb && b < pb + resist)
             *y = pb - h + 1;
 
-        g_free(area);
-        g_free(parea);
+        g_slice_free(Rect, area);
     }
 
     frame_frame_gravity(c->frame, x, y);
@@ -326,7 +324,8 @@ void resist_size_monitors(ObClient *c, gint resist, gint *w, gint *h,
 {
     gint l, t, r, b; /* my left, top, right and bottom sides */
     gint dlt, drb; /* my destination left/top and right/bottom sides */
-    Rect *area, *parea;
+    Rect *area;
+    const Rect *parea;
     gint al, at, ar, ab; /* screen boundaries */
     gint pl, pt, pr, pb; /* physical screen boundaries */
     guint i;
@@ -344,10 +343,8 @@ void resist_size_monitors(ObClient *c, gint resist, gint *w, gint *h,
     for (i = 0; i < screen_num_monitors; ++i) {
         parea = screen_physical_area_monitor(i);
 
-        if (!RECT_INTERSECTS_RECT(*parea, c->frame->area)) {
-            g_free(parea);
+        if (!RECT_INTERSECTS_RECT(*parea, c->frame->area))
             continue;
-        }
 
         area = screen_area(c->desktop, SCREEN_AREA_ALL_MONITORS,
                            &desired_area);
@@ -414,7 +411,6 @@ void resist_size_monitors(ObClient *c, gint resist, gint *w, gint *h,
             break;
         }
 
-        g_free(area);
-        g_free(parea);
+        g_slice_free(Rect, area);
     }
 }
This page took 0.022298 seconds and 4 git commands to generate.