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