summaryrefslogtreecommitdiffstats
path: root/src/node.c
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2013-02-02 18:06:06 +0000
committerDavid Robillard <d@drobilla.net>2013-02-02 18:06:06 +0000
commit2fe13ccca8802113bbd3baf2b208d911db0dbcbc (patch)
tree5376be8dd18a0ee81f1606e0ddf17ca22de16fd9 /src/node.c
parent3e1ff3179ae986986d30e5e105279227d7b580c3 (diff)
downloadganv-2fe13ccca8802113bbd3baf2b208d911db0dbcbc.tar.gz
ganv-2fe13ccca8802113bbd3baf2b208d911db0dbcbc.tar.bz2
ganv-2fe13ccca8802113bbd3baf2b208d911db0dbcbc.zip
Fix strange bug where canvas stops updating entirely on node removal.
git-svn-id: http://svn.drobilla.net/lad/trunk/ganv@5025 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/node.c')
-rw-r--r--src/node.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/src/node.c b/src/node.c
index ff214ba..062e54f 100644
--- a/src/node.c
+++ b/src/node.c
@@ -95,14 +95,14 @@ ganv_node_destroy(GtkObject* object)
ganv_node_disconnect(node);
if (item->canvas) {
ganv_canvas_remove_node(GANV_CANVAS(item->canvas), node);
- item->canvas = NULL;
}
- impl->partner = NULL;
-
if (GTK_OBJECT_CLASS(parent_class)->destroy) {
(*GTK_OBJECT_CLASS(parent_class)->destroy)(object);
}
+
+ impl->partner = NULL;
+ item->canvas = NULL;
}
static void
@@ -425,14 +425,12 @@ ganv_node_default_event(GanvItem* item,
switch (event->type) {
case GDK_ENTER_NOTIFY:
ganv_item_raise(GANV_ITEM(node));
- ganv_item_set(GANV_ITEM(node),
- "highlighted", TRUE, NULL);
+ ganv_item_set(GANV_ITEM(node), "highlighted", TRUE, NULL);
return TRUE;
case GDK_LEAVE_NOTIFY:
ganv_item_lower(GANV_ITEM(node));
- ganv_item_set(GANV_ITEM(node),
- "highlighted", FALSE, NULL);
+ ganv_item_set(GANV_ITEM(node), "highlighted", FALSE, NULL);
return TRUE;
case GDK_BUTTON_PRESS: