On Thu, Feb 06, 2014 at 01:55:53PM +0100, Marc-André Lureau wrote: > From: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx> > > It's only needed once, and it is better to group with rest of dbus-glib > code. Patch looks good, any idea if conn should be dbus_g_connection_unref() after use? ACK. Christophe > --- > gtk/desktop-integration.c | 18 ++++++------------ > 1 file changed, 6 insertions(+), 12 deletions(-) > > diff --git a/gtk/desktop-integration.c b/gtk/desktop-integration.c > index dd63b17..06712d9 100644 > --- a/gtk/desktop-integration.c > +++ b/gtk/desktop-integration.c > @@ -42,7 +42,6 @@ > > struct _SpiceDesktopIntegrationPrivate { > #ifdef USE_DBUS_GLIB > - DBusGConnection *dbus_conn; > DBusGProxy *gnome_session_proxy; > guint gnome_automount_inhibit_cookie; > #else > @@ -73,18 +72,21 @@ static gboolean gnome_integration_init(SpiceDesktopIntegration *self) > { > SpiceDesktopIntegrationPrivate *priv = self->priv; > GError *error = NULL; > + DBusGConnection *conn; > > - if (!priv->dbus_conn) > - return FALSE; > + conn = dbus_g_bus_get(DBUS_BUS_SESSION, &error); > + if (!conn) > + goto end; > > /* We use for_name_owner, to resolve the name now, as we may not be > running under gnome-session manager at all! */ > priv->gnome_session_proxy = dbus_g_proxy_new_for_name_owner( > - priv->dbus_conn, > + conn, > "org.gnome.SessionManager", > "/org/gnome/SessionManager", > "org.gnome.SessionManager", > &error); > +end: > if (error) { > g_debug("Could not create org.gnome.SessionManager dbus proxy: %s", > error->message); > @@ -155,19 +157,11 @@ static void gnome_integration_dispose(SpiceDesktopIntegration *self) > static void spice_desktop_integration_init(SpiceDesktopIntegration *self) > { > SpiceDesktopIntegrationPrivate *priv; > -#ifdef USE_DBUS_GLIB > - GError *error = NULL; > -#endif > > priv = SPICE_DESKTOP_INTEGRATION_GET_PRIVATE(self); > self->priv = priv; > > #ifdef USE_DBUS_GLIB > - priv->dbus_conn = dbus_g_bus_get (DBUS_BUS_SESSION, &error); > - if (!priv->dbus_conn) { > - g_warning("Error connecting to session dbus: %s", error->message); > - g_clear_error(&error); > - } > if (!gnome_integration_init(self)) > #endif > g_warning("Warning no automount-inhibiting implementation available"); > -- > 1.8.4.2 > > _______________________________________________ > Spice-devel mailing list > Spice-devel@xxxxxxxxxxxxxxxxxxxxx > http://lists.freedesktop.org/mailman/listinfo/spice-devel
Attachment:
pgpypHYICmEXv.pgp
Description: PGP signature
_______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/spice-devel