summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKristian Høgsberg <krh@redhat.com>2009-02-10 19:48:47 -0500
committerKristian Høgsberg <krh@redhat.com>2009-02-10 19:48:47 -0500
commitbb8cd938b51a60e3ff1eb1f85b5dc7401a0286de (patch)
tree6a544a49e951f8b4bf2605a4002adc66fa3cfb28
parent1febe0108461a067bc4839ad74c8415644e785b6 (diff)
downloadwayland-bb8cd938b51a60e3ff1eb1f85b5dc7401a0286de.tar.gz
wayland-bb8cd938b51a60e3ff1eb1f85b5dc7401a0286de.tar.xz
wayland-bb8cd938b51a60e3ff1eb1f85b5dc7401a0286de.zip
Re-init link when removing animation.
-rw-r--r--wayland-system-compositor.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/wayland-system-compositor.c b/wayland-system-compositor.c
index 384b86d..9ba4ea3 100644
--- a/wayland-system-compositor.c
+++ b/wayland-system-compositor.c
@@ -673,6 +673,7 @@ surface_destroy(struct wl_client *client,
struct wlsc_compositor *ec = es->compositor;
wl_list_remove(&es->link);
+ wl_list_remove(&es->animate.link);
wlsc_surface_destroy(es, ec);
schedule_repaint(ec);
@@ -804,10 +805,12 @@ animate_surface(struct wlsc_animate *animate,
tmp = s->current;
wlsc_vector_subtract(&tmp, &s->target);
- if (tmp.x * tmp.x + tmp.y * tmp.y + tmp.z * tmp.z > 0.001)
+ if (tmp.x * tmp.x + tmp.y * tmp.y + tmp.z * tmp.z > 0.001) {
schedule_repaint(compositor);
- else
+ } else {
wl_list_remove(&s->animate.link);
+ wl_list_init(&s->animate.link);
+ }
}
static void