diff options
author | David Robillard <d@drobilla.net> | 2012-01-11 03:49:32 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2012-01-11 03:49:32 +0000 |
commit | 5efc7ae9c304d7e01cc00291e0857ced7d3582ba (patch) | |
tree | 95952f5f1e49a3c6190291add106e96d90a11c86 /src/canvas-base.c | |
parent | b666782d06fc2cd9fe810b3fdbf13cc3949f6927 (diff) | |
download | ganv-5efc7ae9c304d7e01cc00291e0857ced7d3582ba.tar.gz ganv-5efc7ae9c304d7e01cc00291e0857ced7d3582ba.tar.bz2 ganv-5efc7ae9c304d7e01cc00291e0857ced7d3582ba.zip |
Fix crash on shutdown and item deletion.
Use Item add and remove virtual methods for adding/removing ports instead of special explicit functions.
git-svn-id: http://svn.drobilla.net/lad/trunk/ganv@3933 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/canvas-base.c')
-rw-r--r-- | src/canvas-base.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/canvas-base.c b/src/canvas-base.c index 50a1027..04dfaa3 100644 --- a/src/canvas-base.c +++ b/src/canvas-base.c @@ -269,7 +269,11 @@ ganv_item_dispose(GObject* object) } if (item->parent) { - GANV_ITEM_GET_CLASS(item->parent)->remove(item->parent, item); + if (GANV_ITEM_GET_CLASS(item->parent)->remove) { + GANV_ITEM_GET_CLASS(item->parent)->remove(item->parent, item); + } else { + fprintf(stderr, "warning: Item parent has no remove method\n"); + } } G_OBJECT_CLASS(item_parent_class)->dispose(object); |