summaryrefslogtreecommitdiffstats
path: root/src/Canvas.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2015-02-28 09:50:58 +0000
committerDavid Robillard <d@drobilla.net>2015-02-28 09:50:58 +0000
commitb6d023bb640ec955e89bfecd816382169746b979 (patch)
tree14e643641253fa20added629001ab20f04b72f39 /src/Canvas.cpp
parent1b169cbe8955e5df9cd1c6d27d14fc2d8fb2c113 (diff)
downloadganv-b6d023bb640ec955e89bfecd816382169746b979.tar.gz
ganv-b6d023bb640ec955e89bfecd816382169746b979.tar.bz2
ganv-b6d023bb640ec955e89bfecd816382169746b979.zip
Remove animate idle callback on destruction.
This should have already been the case, but g_idle_remove_by_data doesn't seem to be doing what it should. git-svn-id: http://svn.drobilla.net/lad/trunk/ganv@5609 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/Canvas.cpp')
-rw-r--r--src/Canvas.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/Canvas.cpp b/src/Canvas.cpp
index 1c8410b..4db5576 100644
--- a/src/Canvas.cpp
+++ b/src/Canvas.cpp
@@ -268,6 +268,7 @@ struct GanvCanvasImpl {
~GanvCanvasImpl()
{
+ g_source_remove(_animate_idle_id);
while (g_idle_remove_by_data(this)) ;
ganv_canvas_clear(_gcanvas);
gdk_cursor_unref(_move_cursor);
@@ -2877,6 +2878,7 @@ ganv_canvas_unrealize(GtkWidget* widget)
GanvCanvas* canvas = GANV_CANVAS(widget);
+ g_source_remove(canvas->impl->_animate_idle_id);
while (g_idle_remove_by_data(canvas->impl)) {}
shutdown_transients(canvas);