summaryrefslogtreecommitdiff
path: root/plugins/sharing
diff options
context:
space:
mode:
authorBastien Nocera <hadess@hadess.net>2016-10-13 12:09:41 +0200
committerBastien Nocera <hadess@hadess.net>2016-10-13 12:09:41 +0200
commit46efb26c1d0c59e1663c49f8fd61e2ab5d0aa7de (patch)
treec98ef2e6978e108e39bc1d1ceec7dee370e97300 /plugins/sharing
parent149e1cc6ce9ee3e9a5909a319cb967d4a3ba8939 (diff)
downloadgnome-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.c7
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);