]> Dogcows Code - chaz/openbox/blobdiff - openbox/resist.c
Merge branch 'master' into chaz
[chaz/openbox] / openbox / resist.c
index 3bcb95ffc4db5779f870d29b47f7fdb6fbd9f129..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 */
@@ -161,15 +162,14 @@ void resist_move_monitors(ObClient *c, gint resist, gint *x, gint *y)
     cr = RECT_RIGHT(c->frame->area);
     cb = RECT_BOTTOM(c->frame->area);
 
-    RECT_SET(desired_area, *x, *y, c->area.width, c->area.height);
+    RECT_SET(desired_area, c->frame->area.x, c->frame->area.y,
+             c->frame->area.width, c->frame->area.height);
 
     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);
@@ -201,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);
@@ -325,10 +324,10 @@ 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 */
-    gint incw, inch;
     guint i;
     Rect desired_area;
 
@@ -339,18 +338,13 @@ void resist_size_monitors(ObClient *c, gint resist, gint *w, gint *h,
     t = RECT_TOP(c->frame->area);
     b = RECT_BOTTOM(c->frame->area);
 
-    incw = c->size_inc.width;
-    inch = c->size_inc.height;
-
     RECT_SET(desired_area, c->area.x, c->area.y, *w, *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);
@@ -417,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.023825 seconds and 4 git commands to generate.