diff options
author | Bastien Nocera <hadess@hadess.net> | 2016-10-13 12:09:41 +0200 |
---|---|---|
committer | Bastien Nocera <hadess@hadess.net> | 2016-10-13 12:09:41 +0200 |
commit | 46efb26c1d0c59e1663c49f8fd61e2ab5d0aa7de (patch) | |
tree | c98ef2e6978e108e39bc1d1ceec7dee370e97300 /plugins/sharing | |
parent | 149e1cc6ce9ee3e9a5909a319cb967d4a3ba8939 (diff) | |
download | gnome-settings-daemon-46efb26c1d0c59e1663c49f8fd61e2ab5d0aa7de.tar.gz |
sharing: Fix warning on session exit
When exiting, the skeleton will call to stop the manager. After the
daemon is stopped, finalize() will call _stop() again, which will fail
because we've already closed the D-Bus connection.
gsd-sharing[1865]: About to stop gnome-user-share-webdav
gsd-sharing[1865]: g_dbus_connection_call_internal: assertion 'G_IS_DBUS_CONNECTION (connection)' failed
gsd-sharing[1865]: About to stop rygel
gsd-sharing[1865]: g_dbus_connection_call_internal: assertion 'G_IS_DBUS_CONNECTION (connection)' failed
gsd-sharing[1865]: About to stop vino-server
gsd-sharing[1865]: g_dbus_connection_call_internal: assertion 'G_IS_DBUS_CONNECTION (connection)' failed
Diffstat (limited to 'plugins/sharing')
-rw-r--r-- | plugins/sharing/gsd-sharing-manager.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/plugins/sharing/gsd-sharing-manager.c b/plugins/sharing/gsd-sharing-manager.c index b2b60869..a9ce7d75 100644 --- a/plugins/sharing/gsd-sharing-manager.c +++ b/plugins/sharing/gsd-sharing-manager.c @@ -720,8 +720,11 @@ gsd_sharing_manager_stop (GsdSharingManager *manager) { g_debug ("Stopping sharing manager"); - manager->priv->sharing_status = GSD_SHARING_STATUS_OFFLINE; - gsd_sharing_manager_sync_services (manager); + if (manager->priv->sharing_status == GSD_SHARING_STATUS_AVAILABLE && + manager->priv->connection != NULL) { + manager->priv->sharing_status = GSD_SHARING_STATUS_OFFLINE; + gsd_sharing_manager_sync_services (manager); + } if (manager->priv->cancellable) { g_cancellable_cancel (manager->priv->cancellable); |