[gnome-settings-daemon] actually use the new patch

Matthias Clasen mclasen at fedoraproject.org
Wed Oct 3 19:52:51 UTC 2012


commit 2c35e6b1d531dc0a73aaf6f7ab42ece61467cec4
Author: Matthias Clasen <mclasen at redhat.com>
Date:   Wed Oct 3 15:52:40 2012 -0400

    actually use the new patch

 ...edia-keys-Use-logind-for-suspending-and-r.patch |   56 +++++++++++--------
 gnome-settings-daemon.spec                         |    4 +-
 2 files changed, 34 insertions(+), 26 deletions(-)
---
diff --git a/0001-power-and-media-keys-Use-logind-for-suspending-and-r.patch b/0001-power-and-media-keys-Use-logind-for-suspending-and-r.patch
index 5c321d1..d744eff 100644
--- a/0001-power-and-media-keys-Use-logind-for-suspending-and-r.patch
+++ b/0001-power-and-media-keys-Use-logind-for-suspending-and-r.patch
@@ -1,4 +1,4 @@
-From 4bf4e9c9dcc1e56b5a058822056d91be7d3a0a36 Mon Sep 17 00:00:00 2001
+From a26f7c5190ebc82f9f17e0446159311377b20d3f Mon Sep 17 00:00:00 2001
 From: Richard Hughes <richard at hughsie.com>
 Date: Fri, 21 Sep 2012 11:56:53 +0100
 Subject: [PATCH] power and media-keys: Use logind for suspending and
@@ -18,8 +18,8 @@ https://bugzilla.gnome.org/show_bug.cgi?id=680689
  plugins/common/gsd-power-helper.c           | 203 --------
  plugins/common/gsd-power-helper.h           |  35 --
  plugins/media-keys/gsd-media-keys-manager.c | 156 +++++--
- plugins/power/gsd-power-manager.c           | 691 +++++++++++++++++++---------
- 5 files changed, 587 insertions(+), 502 deletions(-)
+ plugins/power/gsd-power-manager.c           | 699 +++++++++++++++++++---------
+ 5 files changed, 595 insertions(+), 502 deletions(-)
  delete mode 100644 plugins/common/gsd-power-helper.c
  delete mode 100644 plugins/common/gsd-power-helper.h
 
@@ -545,7 +545,7 @@ index 9c84d7f..a2f277e 100644
  
  GsdMediaKeysManager *
 diff --git a/plugins/power/gsd-power-manager.c b/plugins/power/gsd-power-manager.c
-index 0e06495..a931061 100644
+index 0e06495..7c120c4 100644
 --- a/plugins/power/gsd-power-manager.c
 +++ b/plugins/power/gsd-power-manager.c
 @@ -1,7 +1,7 @@
@@ -584,7 +584,7 @@ index 0e06495..a931061 100644
  /* Keep this in sync with gnome-shell */
  #define SCREENSAVER_FADE_TIME                           10 /* seconds */
  
-@@ -190,13 +194,17 @@ struct GsdPowerManagerPrivate
+@@ -190,13 +194,19 @@ struct GsdPowerManagerPrivate
          ca_context              *canberra_context;
          ca_proplist             *critical_alert_loop_props;
          guint32                  critical_alert_timeout_id;
@@ -599,12 +599,14 @@ index 0e06495..a931061 100644
 +        /* systemd stuff */
 +        GDBusProxy              *logind_proxy;
 +        gint                     inhibit_lid_switch_fd;
++        gboolean                 inhibit_lid_switch_taken;
 +        gint                     inhibit_suspend_fd;
++        gboolean                 inhibit_suspend_taken;
 +        guint                    inhibit_lid_switch_timer_id;
  };
  
  enum {
-@@ -213,8 +221,8 @@ static GIcon    *engine_get_icon (GsdPowerManager *manager);
+@@ -213,8 +223,8 @@ static GIcon    *engine_get_icon (GsdPowerManager *manager);
  static gchar    *engine_get_summary (GsdPowerManager *manager);
  static void      do_power_action_type (GsdPowerManager *manager, GsdPowerActionType action_type);
  static void      do_lid_closed_action (GsdPowerManager *manager);
@@ -615,7 +617,7 @@ index 0e06495..a931061 100644
  
  G_DEFINE_TYPE (GsdPowerManager, gsd_power_manager, G_TYPE_OBJECT)
  
-@@ -2044,6 +2052,57 @@ gnome_session_shutdown (void)
+@@ -2044,6 +2054,57 @@ gnome_session_shutdown (void)
  }
  
  static void
@@ -673,7 +675,7 @@ index 0e06495..a931061 100644
  do_power_action_type (GsdPowerManager *manager,
                        GsdPowerActionType action_type)
  {
-@@ -2052,19 +2111,19 @@ do_power_action_type (GsdPowerManager *manager,
+@@ -2052,19 +2113,19 @@ do_power_action_type (GsdPowerManager *manager,
  
          switch (action_type) {
          case GSD_POWER_ACTION_SUSPEND:
@@ -696,7 +698,7 @@ index 0e06495..a931061 100644
                  break;
          case GSD_POWER_ACTION_BLANK:
                  ret = gnome_rr_screen_set_dpms_mode (manager->priv->x11_screen,
-@@ -2136,85 +2195,20 @@ upower_kbd_toggle (GsdPowerManager *manager,
+@@ -2136,85 +2197,20 @@ upower_kbd_toggle (GsdPowerManager *manager,
          return ret;
  }
  
@@ -792,7 +794,7 @@ index 0e06495..a931061 100644
  }
  
  /* Sets up a timer to be triggered some seconds after closing the laptop lid
-@@ -2222,82 +2216,73 @@ lid_close_safety_timer_cb (GsdPowerManager *manager)
+@@ -2222,82 +2218,73 @@ lid_close_safety_timer_cb (GsdPowerManager *manager)
   * again in the timeout handler to see if we can suspend then.
   */
  static void
@@ -908,7 +910,7 @@ index 0e06495..a931061 100644
          /* play a sound, using sounds from the naming spec */
          ca_context_play (manager->priv->canberra_context, 0,
                           CA_PROP_EVENT_ID, "lid-close",
-@@ -2305,21 +2290,22 @@ do_lid_closed_action (GsdPowerManager *manager)
+@@ -2305,21 +2292,22 @@ do_lid_closed_action (GsdPowerManager *manager)
                           CA_PROP_EVENT_DESCRIPTION, _("Lid has been closed"),
                           NULL);
  
@@ -941,7 +943,7 @@ index 0e06495..a931061 100644
  static void
  up_client_changed_cb (UpClient *client, GsdPowerManager *manager)
  {
-@@ -2339,6 +2325,7 @@ up_client_changed_cb (UpClient *client, GsdPowerManager *manager)
+@@ -2339,6 +2327,7 @@ up_client_changed_cb (UpClient *client, GsdPowerManager *manager)
          if (manager->priv->lid_is_closed == tmp)
                  return;
          manager->priv->lid_is_closed = tmp;
@@ -949,7 +951,7 @@ index 0e06495..a931061 100644
  
          /* fake a keypress */
          if (tmp)
-@@ -3290,30 +3277,6 @@ gsd_power_manager_class_init (GsdPowerManagerClass *klass)
+@@ -3290,30 +3279,6 @@ gsd_power_manager_class_init (GsdPowerManagerClass *klass)
  }
  
  static void
@@ -980,7 +982,7 @@ index 0e06495..a931061 100644
  idle_dbus_signal_cb (GDBusProxy *proxy,
                       const gchar *sender_name,
                       const gchar *signal_name,
-@@ -3465,75 +3428,38 @@ out:
+@@ -3465,75 +3430,38 @@ out:
  }
  
  static void
@@ -1080,7 +1082,7 @@ index 0e06495..a931061 100644
  }
  
  static void
-@@ -3621,6 +3547,283 @@ engine_session_active_changed_cb (GnomeSettingsSession *session,
+@@ -3621,6 +3549,287 @@ engine_session_active_changed_cb (GnomeSettingsSession *session,
          idle_set_mode (manager, GSD_POWER_IDLE_MODE_NORMAL);
  }
  
@@ -1118,11 +1120,12 @@ index 0e06495..a931061 100644
 +{
 +        GVariant *params;
 +
-+        if (manager->priv->inhibit_lid_switch_fd != -1) {
++        if (manager->priv->inhibit_lid_switch_taken) {
 +                g_debug ("already inhibited lid-switch");
 +                return;
 +        }
 +        g_debug ("Adding lid switch system inhibitor");
++        manager->priv->inhibit_lid_switch_taken = TRUE;
 +
 +        params = g_variant_new ("(ssss)",
 +                                "handle-lid-switch",
@@ -1150,6 +1153,7 @@ index 0e06495..a931061 100644
 +        g_debug ("Removing lid switch system inhibitor");
 +        close (manager->priv->inhibit_lid_switch_fd);
 +        manager->priv->inhibit_lid_switch_fd = -1;
++        manager->priv->inhibit_lid_switch_taken = FALSE;
 +}
 +
 +static void
@@ -1188,11 +1192,12 @@ index 0e06495..a931061 100644
 +static void
 +inhibit_suspend (GsdPowerManager *manager)
 +{
-+        if (manager->priv->inhibit_suspend_fd != -1) {
++        if (manager->priv->inhibit_suspend_taken) {
 +                g_debug ("already inhibited lid-switch");
 +                return;
 +        }
 +        g_debug ("Adding suspend delay inhibitor");
++        manager->priv->inhibit_suspend_taken = TRUE;
 +        g_dbus_proxy_call_with_unix_fd_list (manager->priv->logind_proxy,
 +                                             "Inhibit",
 +                                             g_variant_new ("(ssss)",
@@ -1218,6 +1223,7 @@ index 0e06495..a931061 100644
 +        g_debug ("Removing suspend delay inhibitor");
 +        close (manager->priv->inhibit_suspend_fd);
 +        manager->priv->inhibit_suspend_fd = -1;
++        manager->priv->inhibit_suspend_taken = TRUE;
 +}
 +
 +static gboolean
@@ -1364,7 +1370,7 @@ index 0e06495..a931061 100644
  gboolean
  gsd_power_manager_start (GsdPowerManager *manager,
                           GError **error)
-@@ -3630,6 +3833,25 @@ gsd_power_manager_start (GsdPowerManager *manager,
+@@ -3630,6 +3839,25 @@ gsd_power_manager_start (GsdPowerManager *manager,
          g_debug ("Starting power manager");
          gnome_settings_profile_start (NULL);
  
@@ -1390,7 +1396,7 @@ index 0e06495..a931061 100644
          /* track the active session */
          manager->priv->session = gnome_settings_session_new ();
          g_signal_connect (manager->priv->session, "notify::state",
-@@ -3644,10 +3866,6 @@ gsd_power_manager_start (GsdPowerManager *manager,
+@@ -3644,10 +3872,6 @@ gsd_power_manager_start (GsdPowerManager *manager,
                            G_CALLBACK (engine_settings_key_changed_cb), manager);
          manager->priv->settings_screensaver = g_settings_new ("org.gnome.desktop.screensaver");
          manager->priv->up_client = up_client_new ();
@@ -1401,7 +1407,7 @@ index 0e06495..a931061 100644
          manager->priv->lid_is_closed = up_client_get_lid_is_closed (manager->priv->up_client);
          g_signal_connect (manager->priv->up_client, "device-added",
                            G_CALLBACK (engine_device_added_cb), manager);
-@@ -3761,6 +3979,9 @@ gsd_power_manager_start (GsdPowerManager *manager,
+@@ -3761,6 +3985,9 @@ gsd_power_manager_start (GsdPowerManager *manager,
          manager->priv->x11_screen = gnome_rr_screen_new (gdk_screen_get_default (), error);
          if (manager->priv->x11_screen == NULL)
                  return FALSE;
@@ -1411,7 +1417,7 @@ index 0e06495..a931061 100644
  
          /* ensure the default dpms timeouts are cleared */
          ret = gnome_rr_screen_set_dpms_mode (manager->priv->x11_screen,
-@@ -3787,6 +4008,11 @@ gsd_power_manager_stop (GsdPowerManager *manager)
+@@ -3787,6 +4014,11 @@ gsd_power_manager_stop (GsdPowerManager *manager)
  {
          g_debug ("Stopping power manager");
  
@@ -1423,7 +1429,7 @@ index 0e06495..a931061 100644
          if (manager->priv->bus_cancellable != NULL) {
                  g_cancellable_cancel (manager->priv->bus_cancellable);
                  g_object_unref (manager->priv->bus_cancellable);
-@@ -3798,8 +4024,6 @@ gsd_power_manager_stop (GsdPowerManager *manager)
+@@ -3798,8 +4030,6 @@ gsd_power_manager_stop (GsdPowerManager *manager)
                  manager->priv->introspection_data = NULL;
          }
  
@@ -1432,7 +1438,7 @@ index 0e06495..a931061 100644
          g_signal_handlers_disconnect_by_data (manager->priv->up_client, manager);
  
          g_clear_object (&manager->priv->connection);
-@@ -3807,6 +4031,17 @@ gsd_power_manager_stop (GsdPowerManager *manager)
+@@ -3807,6 +4037,19 @@ gsd_power_manager_stop (GsdPowerManager *manager)
          g_clear_object (&manager->priv->settings);
          g_clear_object (&manager->priv->settings_screensaver);
          g_clear_object (&manager->priv->up_client);
@@ -1440,17 +1446,19 @@ index 0e06495..a931061 100644
 +        if (manager->priv->inhibit_lid_switch_fd != -1) {
 +                close (manager->priv->inhibit_lid_switch_fd);
 +                manager->priv->inhibit_lid_switch_fd = -1;
++                manager->priv->inhibit_lid_switch_taken = FALSE;
 +        }
 +        if (manager->priv->inhibit_suspend_fd != -1) {
 +                close (manager->priv->inhibit_suspend_fd);
 +                manager->priv->inhibit_suspend_fd = -1;
++                manager->priv->inhibit_suspend_taken = FALSE;
 +        }
 +
 +        g_clear_object (&manager->priv->logind_proxy);
          g_clear_object (&manager->priv->x11_screen);
  
          g_ptr_array_unref (manager->priv->devices_array);
-@@ -3835,6 +4070,8 @@ static void
+@@ -3835,6 +4078,8 @@ static void
  gsd_power_manager_init (GsdPowerManager *manager)
  {
          manager->priv = GSD_POWER_MANAGER_GET_PRIVATE (manager);
diff --git a/gnome-settings-daemon.spec b/gnome-settings-daemon.spec
index 036daee..b75e106 100644
--- a/gnome-settings-daemon.spec
+++ b/gnome-settings-daemon.spec
@@ -1,6 +1,6 @@
 Name:           gnome-settings-daemon
 Version:        3.6.0
-Release:        4%{?dist}
+Release:        5%{?dist}
 Summary:        The daemon sharing settings from GNOME to GTK+/KDE applications
 
 Group:          System Environment/Daemons
@@ -257,7 +257,7 @@ glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || :
 %{_datadir}/dbus-1/interfaces/org.gnome.SettingsDaemonUpdates.xml
 
 %changelog
-* Wed Oct  3 2012 Matthias Clasen <mclasen at redhat.com> - 3.6.0-4
+* Wed Oct  3 2012 Matthias Clasen <mclasen at redhat.com> - 3.6.0-5
 - Fix an inhibitor leak in the previous patch
 
 * Tue Oct  2 2012 Matthias Clasen <mclasen at redhat.com> - 3.6.0-3


More information about the scm-commits mailing list