diff options
Diffstat (limited to 'cut-n-paste/totem-screensaver')
-rw-r--r-- | cut-n-paste/totem-screensaver/totem-scrsaver.c | 42 |
1 files changed, 8 insertions, 34 deletions
diff --git a/cut-n-paste/totem-screensaver/totem-scrsaver.c b/cut-n-paste/totem-screensaver/totem-scrsaver.c index 25cdece0..d31fe52e 100644 --- a/cut-n-paste/totem-screensaver/totem-scrsaver.c +++ b/cut-n-paste/totem-screensaver/totem-scrsaver.c @@ -63,7 +63,6 @@ struct TotemScrsaverPrivate { GDBusProxy *gs_proxy; gboolean have_screensaver_dbus; guint32 cookie; - gboolean old_dbus_api; /* To save the screensaver info */ int timeout; @@ -97,23 +96,8 @@ on_inhibit_cb (GObject *source_object, value = g_dbus_proxy_call_finish (proxy, res, &error); if (!value) { - if (!scr->priv->old_dbus_api && - g_error_matches (error, G_DBUS_ERROR, G_DBUS_ERROR_UNKNOWN_METHOD)) { - g_return_if_fail (scr->priv->reason != NULL); - /* try the old API */ - scr->priv->old_dbus_api = TRUE; - g_dbus_proxy_call (proxy, - "InhibitActivation", - g_variant_new ("(s)", - scr->priv->reason), - G_DBUS_CALL_FLAGS_NO_AUTO_START, - -1, - NULL, - on_inhibit_cb, - scr); - } else { - g_warning ("Problem inhibiting the screensaver: %s", error->message); - } + g_warning ("Problem inhibiting the screensaver: %s", error->message); + g_object_unref (scr); g_error_free (error); return; @@ -125,6 +109,7 @@ on_inhibit_cb (GObject *source_object, else scr->priv->cookie = 0; g_variant_unref (value); + g_object_unref (scr); } static void @@ -139,21 +124,8 @@ on_uninhibit_cb (GObject *source_object, value = g_dbus_proxy_call_finish (proxy, res, &error); if (!value) { - if (!scr->priv->old_dbus_api && - g_error_matches (error, G_DBUS_ERROR, G_DBUS_ERROR_UNKNOWN_METHOD)) { - /* try the old API */ - scr->priv->old_dbus_api = TRUE; - g_dbus_proxy_call (proxy, - "AllowActivation", - g_variant_new ("()"), - G_DBUS_CALL_FLAGS_NO_AUTO_START, - -1, - NULL, - on_uninhibit_cb, - scr); - } else { - g_warning ("Problem uninhibiting the screensaver: %s", error->message); - } + g_warning ("Problem uninhibiting the screensaver: %s", error->message); + g_object_unref (scr); g_error_free (error); return; @@ -162,6 +134,8 @@ on_uninhibit_cb (GObject *source_object, /* clear the cookie */ scr->priv->cookie = 0; g_variant_unref (value); + + g_object_unref (scr); } static void @@ -173,7 +147,7 @@ screensaver_inhibit_dbus (TotemScrsaver *scr, if (!priv->have_screensaver_dbus) return; - scr->priv->old_dbus_api = FALSE; + g_object_ref (scr); if (inhibit) { g_return_if_fail (scr->priv->reason != NULL); |