diff options
author | Dan Williams <dcbw@redhat.com> | 2014-10-28 16:05:16 -0500 |
---|---|---|
committer | Dan Williams <dcbw@redhat.com> | 2014-11-04 14:36:21 -0600 |
commit | 9ee6633373d8ea750963860381ecc15c7521e933 (patch) | |
tree | 62aaa769c07a1602e195e1d9c4acee727647b259 /libnm/nm-object.c | |
parent | 353909c0ff624ed50c3c716352643d25fd052bd8 (diff) | |
download | NetworkManager-dcbw/libnm-fixes.tar.gz |
fixup! libnm: queue added/removed signals and suppress uninitialized notificationsdcbw/libnm-fixes
Diffstat (limited to 'libnm/nm-object.c')
-rw-r--r-- | libnm/nm-object.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/libnm/nm-object.c b/libnm/nm-object.c index 39975594d4..2023a74fa0 100644 --- a/libnm/nm-object.c +++ b/libnm/nm-object.c @@ -190,6 +190,7 @@ deferred_notify_cb (gpointer data) { NMObject *object = NM_OBJECT (data); NMObjectPrivate *priv = NM_OBJECT_GET_PRIVATE (object); + NMObjectClass *object_class = NM_OBJECT_GET_CLASS (object); GSList *props, *iter; priv->notify_id = 0; @@ -229,8 +230,11 @@ deferred_notify_cb (gpointer data) case NOTIFY_SIGNAL_PENDING_REMOVED: ret = g_snprintf (buf, sizeof (buf), "%s-removed", item->signal_prefix); break; - case NOTIFY_SIGNAL_PENDING_NONE: case NOTIFY_SIGNAL_PENDING_ADDED_REMOVED: + if (object_class->object_creation_failed) + object_class->object_creation_failed (object, nm_object_get_path (item->changed)); + break; + case NOTIFY_SIGNAL_PENDING_NONE: default: break; } @@ -322,9 +326,11 @@ _nm_object_queue_notify_full (NMObject *object, item = g_slice_new0 (NotifyItem); item->property = property; - item->signal_prefix = signal_prefix; - item->pending = added ? NOTIFY_SIGNAL_PENDING_ADDED : NOTIFY_SIGNAL_PENDING_REMOVED; - item->changed = changed ? g_object_ref (changed) : NULL; + if (signal_prefix) { + item->signal_prefix = signal_prefix; + item->pending = added ? NOTIFY_SIGNAL_PENDING_ADDED : NOTIFY_SIGNAL_PENDING_REMOVED; + item->changed = changed ? g_object_ref (changed) : NULL; + } priv->notify_items = g_slist_prepend (priv->notify_items, item); } |