Blame SOURCES/0002-Revert-sharing-Fix-function-arguments.patch

c8e532
From 0d732317df634f7586cf6c5e34394082ea5ea931 Mon Sep 17 00:00:00 2001
c8e532
From: Rui Matos <tiagomatos@gmail.com>
c8e532
Date: Wed, 11 Oct 2017 18:10:40 +0200
c8e532
Subject: [PATCH 2/3] Revert "sharing: Fix function arguments"
c8e532
c8e532
This reverts commit 5b6b26eba58f5c3b8b5441f07f0af7a84af5cc52.
c8e532
---
c8e532
 plugins/sharing/gsd-sharing-manager.c | 11 +++++++----
c8e532
 1 file changed, 7 insertions(+), 4 deletions(-)
c8e532
c8e532
diff --git a/plugins/sharing/gsd-sharing-manager.c b/plugins/sharing/gsd-sharing-manager.c
c8e532
index a90df9a6..26663442 100644
c8e532
--- a/plugins/sharing/gsd-sharing-manager.c
c8e532
+++ b/plugins/sharing/gsd-sharing-manager.c
c8e532
@@ -101,99 +101,102 @@ static const char * const services[] = {
c8e532
         "vino-server",
c8e532
         "gnome-remote-desktop",
c8e532
         "gnome-user-share-webdav"
c8e532
 };
c8e532
 
c8e532
 static void
c8e532
 handle_unit_cb (GObject      *source_object,
c8e532
                 GAsyncResult *res,
c8e532
                 gpointer      user_data)
c8e532
 {
c8e532
         GError *error = NULL;
c8e532
         GVariant *ret;
c8e532
         const char *operation = user_data;
c8e532
 
c8e532
         ret = g_dbus_connection_call_finish (G_DBUS_CONNECTION (source_object),
c8e532
                                              res, &error);
c8e532
         if (!ret) {
c8e532
                 if (!g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED))
c8e532
                         g_warning ("Failed to %s service: %s", operation, error->message);
c8e532
                 g_error_free (error);
c8e532
                 return;
c8e532
         }
c8e532
 
c8e532
         g_variant_unref (ret);
c8e532
 
c8e532
 }
c8e532
 
c8e532
 static void
c8e532
 gsd_sharing_manager_handle_service (GsdSharingManager   *manager,
c8e532
                                     const char          *method,
c8e532
+                                    GAsyncReadyCallback  callback,
c8e532
                                     ServiceInfo         *service)
c8e532
 {
c8e532
         char *service_file;
c8e532
 
c8e532
         service_file = g_strdup_printf ("%s.service", service->name);
c8e532
         g_dbus_connection_call (manager->priv->connection,
c8e532
                                 "org.freedesktop.systemd1",
c8e532
                                 "/org/freedesktop/systemd1",
c8e532
                                 "org.freedesktop.systemd1.Manager",
c8e532
                                 method,
c8e532
                                 g_variant_new ("(ss)", service_file, "replace"),
c8e532
                                 NULL,
c8e532
                                 G_DBUS_CALL_FLAGS_NONE,
c8e532
                                 -1,
c8e532
                                 manager->priv->cancellable,
c8e532
-                                handle_unit_cb,
c8e532
-                                (gpointer) method);
c8e532
+                                callback,
c8e532
+                                manager);
c8e532
         g_free (service_file);
c8e532
 }
c8e532
 
c8e532
 static void
c8e532
 gsd_sharing_manager_start_service (GsdSharingManager *manager,
c8e532
                                    ServiceInfo       *service)
c8e532
 {
c8e532
         g_debug ("About to start %s", service->name);
c8e532
 
c8e532
         /* We use StartUnit, not StartUnitReplace, since the latter would
c8e532
          * cancel any pending start we already have going from an
c8e532
          * earlier _start_service() call */
c8e532
-        gsd_sharing_manager_handle_service (manager, "StartUnit", service);
c8e532
+        gsd_sharing_manager_handle_service (manager, "StartUnit",
c8e532
+                                            handle_unit_cb, "start");
c8e532
 }
c8e532
 
c8e532
 static void
c8e532
 gsd_sharing_manager_stop_service (GsdSharingManager *manager,
c8e532
                                   ServiceInfo       *service)
c8e532
 {
c8e532
         g_debug ("About to stop %s", service->name);
c8e532
 
c8e532
-        gsd_sharing_manager_handle_service (manager, "StopUnit", service);
c8e532
+        gsd_sharing_manager_handle_service (manager, "StopUnit",
c8e532
+                                            handle_unit_cb, "stop");
c8e532
 }
c8e532
 
c8e532
 #ifdef HAVE_NETWORK_MANAGER
c8e532
 static gboolean
c8e532
 service_is_enabled_on_current_connection (GsdSharingManager *manager,
c8e532
                                           ServiceInfo       *service)
c8e532
 {
c8e532
         char **connections;
c8e532
         int j;
c8e532
         gboolean ret;
c8e532
         connections = g_settings_get_strv (service->settings, "enabled-connections");
c8e532
         ret = FALSE;
c8e532
         for (j = 0; connections[j] != NULL; j++) {
c8e532
                 if (g_strcmp0 (connections[j], manager->priv->current_network) == 0) {
c8e532
                         ret = TRUE;
c8e532
                         break;
c8e532
                 }
c8e532
         }
c8e532
 
c8e532
         g_strfreev (connections);
c8e532
         return ret;
c8e532
 }
c8e532
 #else
c8e532
 static gboolean
c8e532
 service_is_enabled_on_current_connection (GsdSharingManager *manager,
c8e532
                                           ServiceInfo       *service)
c8e532
 {
c8e532
         return FALSE;
c8e532
 }
c8e532
 #endif /* HAVE_NETWORK_MANAGER */
c8e532
-- 
c8e532
2.17.0
c8e532