fixes a previously created bug (active windows do not receive callbacks after fade)

svn path=/trunk/kdebase/kwin/; revision=391040
This commit is contained in:
Thomas Lübking 2005-02-19 22:18:52 +00:00
parent f9d8223e22
commit 9ddd01f11c

View file

@ -275,7 +275,9 @@ dequeue_fade (Display *dpy, fade *f)
{ {
*prev = f->next; *prev = f->next;
if (f->callback) if (f->callback)
{
(*f->callback) (dpy, f->w, f->gone); (*f->callback) (dpy, f->w, f->gone);
}
free (f); free (f);
break; break;
} }
@ -418,10 +420,10 @@ run_fades (Display *dpy)
w->shadow = None; w->shadow = None;
w->extents = win_extents(dpy, w); w->extents = win_extents(dpy, w);
} }
determine_mode (dpy, w);
/* Must do this last as it might destroy f->w in callbacks */ /* Must do this last as it might destroy f->w in callbacks */
if (need_dequeue) if (need_dequeue)
dequeue_fade (dpy, f); dequeue_fade (dpy, f);
determine_mode (dpy, w);
} }
fade_time = now + fade_delta; fade_time = now + fade_delta;
} }
@ -2751,7 +2753,7 @@ main (int argc, char **argv)
break; /*skip if opacity does not change*/ break; /*skip if opacity does not change*/
if (fadeTrans) if (fadeTrans)
{ {
set_fade (dpy, w, w->opacity*1.0/OPAQUE, (tmp*1.0)/OPAQUE, fade_out_step, 0, False, False, True, False); set_fade (dpy, w, w->opacity*1.0/OPAQUE, (tmp*1.0)/OPAQUE, fade_out_step, 0, False, True, True, False);
break; break;
} }
else else