fixed stupid bug which raised ixp corruption in layout_column.c:focus_col

This commit is contained in:
Anselm R. Garbe 2006-01-17 17:27:57 +02:00
parent 231c4c44b7
commit 9dd3945664
3 changed files with 7 additions and 8 deletions

View File

@ -30,10 +30,6 @@ alloc_frame(XRectangle * r)
snprintf(buf, MAX_BUF, "/detached/%d/name", id); snprintf(buf, MAX_BUF, "/detached/%d/name", id);
f->file[F_NAME] = ixp_create(ixps, buf); f->file[F_NAME] = ixp_create(ixps, buf);
f->file[F_NAME]->before_read = handle_before_read_frame; f->file[F_NAME]->before_read = handle_before_read_frame;
snprintf(buf, MAX_BUF, "/detached/%d/geometry", id);
f->file[F_GEOMETRY] = ixp_create(ixps, buf);
f->file[F_GEOMETRY]->before_read = handle_before_read_frame;
f->file[F_GEOMETRY]->after_write = handle_after_write_frame;
snprintf(buf, MAX_BUF, "/detached/%d/border", id); snprintf(buf, MAX_BUF, "/detached/%d/border", id);
f->file[F_BORDER] = f->file[F_BORDER] =
wmii_create_ixpfile(ixps, buf, def[WM_BORDER]->content); wmii_create_ixpfile(ixps, buf, def[WM_BORDER]->content);
@ -45,6 +41,10 @@ alloc_frame(XRectangle * r)
f->file[F_HANDLE_INC] = f->file[F_HANDLE_INC] =
wmii_create_ixpfile(ixps, buf, def[WM_HANDLE_INC]->content); wmii_create_ixpfile(ixps, buf, def[WM_HANDLE_INC]->content);
f->file[F_HANDLE_INC]->after_write = handle_after_write_frame; f->file[F_HANDLE_INC]->after_write = handle_after_write_frame;
snprintf(buf, MAX_BUF, "/detached/%d/geometry", id);
f->file[F_GEOMETRY] = ixp_create(ixps, buf);
f->file[F_GEOMETRY]->before_read = handle_before_read_frame;
f->file[F_GEOMETRY]->after_write = handle_after_write_frame;
id++; id++;
wa.override_redirect = 1; wa.override_redirect = 1;
@ -58,8 +58,7 @@ alloc_frame(XRectangle * r)
f->rect.width += 2 * bw; f->rect.width += 2 * bw;
f->rect.height += bw + (th ? th : bw); f->rect.height += bw + (th ? th : bw);
f->win = XCreateWindow(dpy, root, f->rect.x, f->rect.y, f->rect.width, f->win = XCreateWindow(dpy, root, f->rect.x, f->rect.y, f->rect.width,
f->rect.height, 0, DefaultDepth(dpy, f->rect.height, 0, DefaultDepth(dpy, screen_num),
screen_num),
CopyFromParent, DefaultVisual(dpy, screen_num), CopyFromParent, DefaultVisual(dpy, screen_num),
CWOverrideRedirect | CWBackPixmap | CWEventMask, CWOverrideRedirect | CWBackPixmap | CWEventMask,
&wa); &wa);

View File

@ -424,7 +424,7 @@ focus_col(Layout *l, Client *c, Bool raise)
unfocus_client(old); unfocus_client(old);
acme->sel = cell->col; acme->sel = cell->col;
cell->col->sel = cell; cell->col->sel = cell;
c->frame->file[L_SEL_FRAME]->content = c->frame->file[F_PREFIX]->content; l->file[L_SEL_FRAME]->content = c->frame->file[F_PREFIX]->content;
if(raise) if(raise)
XWarpPointer(dpy, None, c->win, 0, 0, 0, 0, XWarpPointer(dpy, None, c->win, 0, 0, 0, 0,
c->rect.width / 2, c->rect.height / 2); c->rect.width / 2, c->rect.height / 2);

View File

@ -56,7 +56,7 @@ fn framesconf {
for(frame in `{wmiir read $1 | grep '^[0-9]'}) { for(frame in `{wmiir read $1 | grep '^[0-9]'}) {
wmiir write $1/$frame/tab $TAB wmiir write $1/$frame/tab $TAB
wmiir write $1/$frame/handleinc $HANDLEINC wmiir write $1/$frame/handleinc $HANDLEINC
wmiir write $1/$frame/geometry '+0 +0 +0 +0' # causes refresh wmiir write $1/$frame/geometry '+0 +0 +0 +0' # causes refresh
} }
} }