diff options
Diffstat (limited to 'gdbus')
-rw-r--r-- | gdbus/object.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/gdbus/object.c b/gdbus/object.c index aa38c07c..41473613 100644 --- a/gdbus/object.c +++ b/gdbus/object.c @@ -655,12 +655,6 @@ static gboolean remove_interface(struct generic_data *data, const char *name) iface->user_data = NULL; } - if (data->parent == NULL) { - g_free(iface->name); - g_free(iface); - return TRUE; - } - /* * Interface being removed was just added, on the same mainloop * iteration? Don't send any signal @@ -672,6 +666,12 @@ static gboolean remove_interface(struct generic_data *data, const char *name) return TRUE; } + if (data->parent == NULL) { + g_free(iface->name); + g_free(iface); + return TRUE; + } + data->removed = g_slist_prepend(data->removed, iface->name); g_free(iface); |