From 5efc7ae9c304d7e01cc00291e0857ced7d3582ba Mon Sep 17 00:00:00 2001 From: David Robillard Date: Wed, 11 Jan 2012 03:49:32 +0000 Subject: 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 --- src/canvas-base.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/canvas-base.c') 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); -- cgit v1.2.1