Fix some managed grabbox move bugs.

This commit is contained in:
Kris Maglione 2010-05-29 11:38:35 -04:00
parent 3abbddaebc
commit 0364acb2ab
2 changed files with 7 additions and 4 deletions

View File

@ -620,7 +620,7 @@ frame_focus(Frame *f) {
if(old_a != v->oldsel && f != old_f) if(old_a != v->oldsel && f != old_f)
v->oldsel = nil; v->oldsel = nil;
if(v != selview || a != v->sel) if(v != selview || a != v->sel || resizing)
return; return;
move_focus(old_f, f); move_focus(old_f, f);

View File

@ -377,10 +377,13 @@ column_openstack(Area *a, Frame *f, int h) {
static void static void
column_drop(Area *a, Frame *f, int y) { column_drop(Area *a, Frame *f, int y) {
Frame *ff; Frame *ff;
int dy; int dy, extra_y;
for(ff=a->frame; ff; ff=ff->anext) extra_y = Dy(a->r);
for(ff=a->frame; ff; ff=ff->anext) {
assert(ff != f); assert(ff != f);
extra_y -= Dy(ff->colr);
}
if(a->frame == nil || y <= a->frame->r.min.y) { if(a->frame == nil || y <= a->frame->r.min.y) {
f->collapsed = true; f->collapsed = true;
@ -403,7 +406,7 @@ column_drop(Area *a, Frame *f, int y) {
column_openstack(a, ff, labelh(def.font) - dy); column_openstack(a, ff, labelh(def.font) - dy);
}else { }else {
f->colr.min.y = y; f->colr.min.y = y;
f->colr.max.y = ff->colr.max.y; f->colr.max.y = ff->colr.max.y + extra_y;
ff->colr.max.y = y; ff->colr.max.y = y;
} }
column_insert(a, f, ff); column_insert(a, f, ff);