r43232 - in /desktop/unstable/gnome-panel/debian: changelog patches/end_session_async.patch patches/series
mitya57-guest at users.alioth.debian.org
mitya57-guest at users.alioth.debian.org
Fri Sep 26 09:55:50 UTC 2014
Author: mitya57-guest
Date: Fri Sep 26 09:55:50 2014
New Revision: 43232
URL: http://svn.debian.org/wsvn/pkg-gnome/?sc=1&rev=43232
Log:
Add a patch to make D-Bus calls to gnome-session asynchronous.
Added:
desktop/unstable/gnome-panel/debian/patches/end_session_async.patch
Modified:
desktop/unstable/gnome-panel/debian/changelog
desktop/unstable/gnome-panel/debian/patches/series
Modified: desktop/unstable/gnome-panel/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gnome-panel/debian/changelog?rev=43232&op=diff
==============================================================================
--- desktop/unstable/gnome-panel/debian/changelog [utf-8] (original)
+++ desktop/unstable/gnome-panel/debian/changelog [utf-8] Fri Sep 26 09:55:50 2014
@@ -7,6 +7,7 @@
(closes: #731239, #758721).
* Make gnome-session-flashback depend on gnome-flashback.
* Add a patch to fix huge icons in the menu.
+ * Add a patch to make D-Bus calls to gnome-session asynchronous.
-- Dmitry Shachnev <mitya57 at debian.org> Fri, 26 Sep 2014 13:27:20 +0400
Added: desktop/unstable/gnome-panel/debian/patches/end_session_async.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gnome-panel/debian/patches/end_session_async.patch?rev=43232&op=file
==============================================================================
--- desktop/unstable/gnome-panel/debian/patches/end_session_async.patch (added)
+++ desktop/unstable/gnome-panel/debian/patches/end_session_async.patch [utf-8] Fri Sep 26 09:55:50 2014
@@ -0,0 +1,127 @@
+Description: do not make sync calls for Logout and Shutdown
+Origin: upstream (wip/gnome-3.10+ branch),
+ https://git.gnome.org/browse/gnome-panel/commit/?id=1ecf19289f985047
+Last-Update: 2014-09-26
+
+--- a/gnome-panel/libpanel-util/panel-session-manager.c
++++ b/gnome-panel/libpanel-util/panel-session-manager.c
+@@ -189,13 +189,30 @@
+ return ret;
+ }
+
++static void
++logout_ready_callback (GObject *source_object,
++ GAsyncResult *res,
++ gpointer user_data)
++{
++ PanelSessionManager *manager = (PanelSessionManager *) user_data;
++ GError *error = NULL;
++ GVariant *ret;
++
++ ret = g_dbus_proxy_call_finish (manager->priv->session_proxy, res, &error);
++ if (ret) {
++ g_variant_unref (ret);
++ }
++
++ if (error) {
++ g_warning ("Could not ask session manager to log out: %s", error->message);
++ g_error_free (error);
++ }
++}
++
+ void
+ panel_session_manager_request_logout (PanelSessionManager *manager,
+ PanelSessionManagerLogoutType mode)
+ {
+- GVariant *ret;
+- GError *error;
+-
+ g_return_if_fail (PANEL_IS_SESSION_MANAGER (manager));
+
+ if (!manager->priv->session_proxy) {
+@@ -203,21 +220,32 @@
+ return;
+ }
+
+- error = NULL;
+- ret = g_dbus_proxy_call_sync (manager->priv->session_proxy,
+- "Logout",
+- g_variant_new ("(u)", mode),
+- G_DBUS_CALL_FLAGS_NONE,
+- -1,
+- NULL,
+- &error);
++ g_dbus_proxy_call (manager->priv->session_proxy,
++ "Logout",
++ g_variant_new ("(u)", mode),
++ G_DBUS_CALL_FLAGS_NONE,
++ -1,
++ NULL,
++ (GAsyncReadyCallback) logout_ready_callback,
++ manager);
++}
++
++static void
++shutdown_ready_callback (GObject *source_object,
++ GAsyncResult *res,
++ gpointer user_data)
++{
++ PanelSessionManager *manager = (PanelSessionManager *) user_data;
++ GError *error = NULL;
++ GVariant *ret;
+
+- if (ret)
++ ret = g_dbus_proxy_call_finish (manager->priv->session_proxy, res, &error);
++ if (ret) {
+ g_variant_unref (ret);
++ }
+
+ if (error) {
+- g_warning ("Could not ask session manager to log out: %s",
+- error->message);
++ g_warning ("Could not ask session manager to shut down: %s", error->message);
+ g_error_free (error);
+ }
+ }
+@@ -225,9 +253,6 @@
+ void
+ panel_session_manager_request_shutdown (PanelSessionManager *manager)
+ {
+- GVariant *ret;
+- GError *error;
+-
+ g_return_if_fail (PANEL_IS_SESSION_MANAGER (manager));
+
+ if (!manager->priv->session_proxy) {
+@@ -235,23 +260,14 @@
+ return;
+ }
+
+- error = NULL;
+- ret = g_dbus_proxy_call_sync (manager->priv->session_proxy,
+- "Shutdown",
+- NULL,
+- G_DBUS_CALL_FLAGS_NONE,
+- -1,
+- NULL,
+- &error);
+-
+- if (ret)
+- g_variant_unref (ret);
+-
+- if (error) {
+- g_warning ("Could not ask session manager to shut down: %s",
+- error->message);
+- g_error_free (error);
+- }
++ g_dbus_proxy_call (manager->priv->session_proxy,
++ "Shutdown",
++ NULL,
++ G_DBUS_CALL_FLAGS_NONE,
++ -1,
++ NULL,
++ (GAsyncReadyCallback) shutdown_ready_callback,
++ manager);
+ }
+
+ gboolean
Modified: desktop/unstable/gnome-panel/debian/patches/series
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gnome-panel/debian/patches/series?rev=43232&op=diff
==============================================================================
--- desktop/unstable/gnome-panel/debian/patches/series [utf-8] (original)
+++ desktop/unstable/gnome-panel/debian/patches/series [utf-8] Fri Sep 26 09:55:50 2014
@@ -2,3 +2,4 @@
03_tasklist_orientation.patch
fix_crash_on_adding.patch
fix_huge_icons.patch
+end_session_async.patch
More information about the pkg-gnome-commits
mailing list