remove fd manager

Take ref in _add_object
This commit is contained in:
Wim Taymans 2016-08-29 11:44:45 +02:00
parent 4cf6860752
commit 2c0f592ff4
6 changed files with 6 additions and 455 deletions

View file

@ -34,7 +34,6 @@ struct _PinosClientPrivate
gchar *object_path;
PinosProperties *properties;
PinosFdManager *fdmanager;
GList *objects;
};
@ -208,8 +207,6 @@ pinos_client_dispose (GObject * object)
GList *copy;
g_debug ("client %p: dispose", client);
pinos_fd_manager_remove_all (priv->fdmanager, priv->object_path);
copy = g_list_copy (priv->objects);
g_list_free_full (copy, g_object_unref);
@ -231,7 +228,6 @@ pinos_client_finalize (GObject * object)
g_free (priv->object_path);
if (priv->properties)
pinos_properties_free (priv->properties);
g_clear_object (&priv->fdmanager);
G_OBJECT_CLASS (pinos_client_parent_class)->finalize (object);
}
@ -339,7 +335,6 @@ pinos_client_init (PinosClient * client)
priv->iface = pinos_client1_skeleton_new ();
g_debug ("client %p: new", client);
priv->fdmanager = pinos_fd_manager_get (PINOS_FD_MANAGER_DEFAULT);
}
/**
@ -391,7 +386,7 @@ pinos_client_add_object (PinosClient *client,
g_return_if_fail (G_IS_OBJECT (object));
priv = client->priv;
priv->objects = g_list_prepend (priv->objects, object);
priv->objects = g_list_prepend (priv->objects, g_object_ref (object));
}
void

View file

@ -169,6 +169,7 @@ handle_create_node (PinosDaemon1 *interface,
g_debug ("daemon %p: added node %p with path %s", daemon, node, object_path);
g_dbus_method_invocation_return_value (invocation,
g_variant_new ("(o)", object_path));
g_object_unref (node);
return TRUE;
@ -212,6 +213,7 @@ on_port_added (PinosNode *node, PinosPort *port, PinosClient *client)
}
link = pinos_link_new (pinos_node_get_daemon (node), port, target);
pinos_client_add_object (client, G_OBJECT (link));
g_object_unref (link);
}
}
@ -259,6 +261,7 @@ handle_create_client_node (PinosDaemon1 *interface,
object_path = pinos_node_get_object_path (PINOS_NODE (node));
g_debug ("daemon %p: add client-node %p, %s", daemon, node, object_path);
g_object_unref (node);
fdlist = g_unix_fd_list_new ();
fdidx = g_unix_fd_list_append (fdlist, g_socket_get_fd (socket), &error);
@ -271,7 +274,8 @@ handle_create_client_node (PinosDaemon1 *interface,
no_socket:
{
g_debug ("daemon %p: could not create node %s", daemon, error->message);
g_debug ("daemon %p: could not create socket %s", daemon, error->message);
g_object_unref (node);
goto exit_error;
}
exit_error: