commit df9d0132753496c0d14f7353694947112f59734e
parent bc30e494aa55561e2db1ad67c9193e2b606ebb50
Author: Kris Maglione <jg@suckless.org>
Date: Mon, 5 Feb 2007 01:54:39 -0500
Fix a bug (I hope) in the swapping code
Diffstat:
2 files changed, 7 insertions(+), 5 deletions(-)
diff --git a/event.c b/event.c
@@ -91,7 +91,8 @@ buttonpress(XEvent *e) {
do_mouse_resize(f->client, CENTER);
break;
case Button3:
- do_mouse_resize(f->client, quadofcoord(&f->client->rect, ev->x, ev->y));
+ do_mouse_resize(f->client,
+ quadofcoord(&f->client->rect, ev->x, ev->y));
default:
break;
}
diff --git a/frame.c b/frame.c
@@ -67,6 +67,7 @@ swap_frames(Frame *fa, Frame *fb) {
Frame **fp_a, **fp_b, *ft;
if(fa == fb) return;
+
a = fa->area;
for(fp_a = &a->frame; *fp_a; fp_a=&(*fp_a)->anext)
if(*fp_a == fa) break;
@@ -74,16 +75,16 @@ swap_frames(Frame *fa, Frame *fb) {
for(fp_b = &a->frame; *fp_b; fp_b=&(*fp_b)->anext)
if(*fp_b == fb) break;
+ ft = fa->anext;
+ fa->anext = fb->anext;
+ fb->anext = ft;
+
*fp_a = fb;
*fp_b = fa;
fb->area = fa->area;
fa->area = a;
- ft = fa->anext;
- fa->anext = fb->anext;
- fb->anext = ft;
-
trect = fa->rect;
fa->rect = fb->rect;
fb->rect = trect;