summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2012-11-18 01:33:02 +0000
committerDavid Robillard <d@drobilla.net>2012-11-18 01:33:02 +0000
commit2c3cbd04b0d62382bad891e7933f709ef48c4be1 (patch)
tree8e6c1f836914dc23dd2213d12ed28f05f0e60b3f /src
parenta1712c2f1ea3e7bc1de99e40bc7f33ab6c92332d (diff)
downloadganv-2c3cbd04b0d62382bad891e7933f709ef48c4be1.tar.gz
ganv-2c3cbd04b0d62382bad891e7933f709ef48c4be1.tar.bz2
ganv-2c3cbd04b0d62382bad891e7933f709ef48c4be1.zip
Disconnect animation signal when canvas is destroyed (fix potential crashes on shutdown).
git-svn-id: http://svn.drobilla.net/lad/trunk/ganv@4830 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src')
-rw-r--r--src/Canvas.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/Canvas.cpp b/src/Canvas.cpp
index 057b841..7674813 100644
--- a/src/Canvas.cpp
+++ b/src/Canvas.cpp
@@ -1485,12 +1485,13 @@ Canvas::Canvas(double width, double height)
g_signal_connect(gobj(), "disconnect",
G_CALLBACK(on_disconnect), this);
- Glib::signal_timeout().connect(
+ _animate_connection = Glib::signal_timeout().connect(
sigc::mem_fun(impl(), &GanvCanvasImpl::animate_selected), 120);
}
Canvas::~Canvas()
{
+ _animate_connection.disconnect();
destroy();
delete impl();
}