+2005-01-27 Adam Jackson <ajax@freedesktop.org>
+
+ * xcompmgr.c:
+ Bug #2391: Fix a use-after-free in run_fades. (Jonathan Briggs)
+ * configure.ac:
+ Bump to 1.1.2.
+
2005-01-26 Eric Anholt <anholt@FreeBSD.org>
* Makefile.am:
# Process this file with autoconf to produce a configure script.
AC_PREREQ(2.57)
-AC_INIT([xcompmgr], [1.1.1], [xorg@freedesktop.org])
+AC_INIT([xcompmgr], [1.1.2], [xorg@freedesktop.org])
AC_CONFIG_SRCDIR([xcompmgr.c])
AM_INIT_AUTOMAKE([dist-bzip2])
AM_MAINTAINER_MODE
int now = get_time_in_milliseconds();
fade *f, *next;
int steps;
+ Bool need_dequeue;
#if 0
printf ("run fades\n");
printf ("opacity now %g\n", f->cur);
#endif
w->opacity = f->cur * OPAQUE;
+ need_dequeue = False;
if (f->step > 0)
{
if (f->cur >= f->finish)
{
w->opacity = f->finish*OPAQUE;
- dequeue_fade (dpy, f);
+ need_dequeue = True;
}
}
else
if (f->cur <= f->finish)
{
w->opacity = f->finish*OPAQUE;
- dequeue_fade (dpy, f);
+ need_dequeue = True;
}
}
determine_mode (dpy, w);
w->shadow = None;
w->extents = win_extents(dpy, w);
}
+ /* Must do this last as it might destroy f->w in callbacks */
+ if (need_dequeue)
+ dequeue_fade (dpy, f);
}
fade_time = now + fade_delta;
}
void
usage (char *program)
{
- fprintf (stderr, "%s v1.1.1\n", program);
+ fprintf (stderr, "%s v1.1.2\n", program);
fprintf (stderr, "usage: %s [options]\n", program);
fprintf (stderr, "Options\n");
fprintf (stderr, " -d display\n Specifies which display should be managed.\n");