Re-init link when removing animation.
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 @@
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 @@
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