summaryrefslogtreecommitdiffstats
path: root/src/edge.c
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2016-07-31 18:02:55 -0400
committerDavid Robillard <d@drobilla.net>2016-07-31 18:02:55 -0400
commit43f43d5e73ba1c36199998bd90ea511efe0eac62 (patch)
tree5499adcfc2690f4c49d63738e23af9fecc79fa6b /src/edge.c
parentf0ce0f3142eef6442e2be8c8c0f202ccb713cf92 (diff)
downloadganv-43f43d5e73ba1c36199998bd90ea511efe0eac62.tar.gz
ganv-43f43d5e73ba1c36199998bd90ea511efe0eac62.tar.bz2
ganv-43f43d5e73ba1c36199998bd90ea511efe0eac62.zip
Fix compilation with C++
Diffstat (limited to 'src/edge.c')
-rw-r--r--src/edge.c19
1 files changed, 17 insertions, 2 deletions
diff --git a/src/edge.c b/src/edge.c
index eab950c..c3584e1 100644
--- a/src/edge.c
+++ b/src/edge.c
@@ -110,13 +110,12 @@ ganv_edge_set_property(GObject* object,
g_return_if_fail(object != NULL);
g_return_if_fail(GANV_IS_EDGE(object));
+ GanvItem* item = GANV_ITEM(object);
GanvEdge* edge = GANV_EDGE(object);
GanvEdgeImpl* impl = edge->impl;
GanvEdgeCoords* coords = &impl->coords;
switch (prop_id) {
- SET_CASE(TAIL, object, impl->tail);
- SET_CASE(HEAD, object, impl->head);
SET_CASE(WIDTH, double, coords->width);
SET_CASE(HANDLE_RADIUS, double, coords->handle_radius);
SET_CASE(DASH_LENGTH, double, impl->dash_length);
@@ -128,6 +127,22 @@ ganv_edge_set_property(GObject* object,
SET_CASE(SELECTED, boolean, impl->selected);
SET_CASE(HIGHLIGHTED, boolean, impl->highlighted);
SET_CASE(GHOST, boolean, impl->ghost);
+ case PROP_TAIL: {
+ const gobject tmp = g_value_get_object(value);
+ if (impl->tail != tmp) {
+ impl->tail = GANV_NODE(tmp);
+ ganv_item_request_update(item);
+ }
+ break;
+ }
+ case PROP_HEAD: {
+ const gobject tmp = g_value_get_object(value);
+ if (impl->head != tmp) {
+ impl->head = GANV_NODE(tmp);
+ ganv_item_request_update(item);
+ }
+ break;
+ }
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
break;