rpms/gnome-panel/devel gnome-panel-2.24.0-hide-shutdown-if-unavailable.patch, NONE, 1.1 gnome-panel.spec, 1.323, 1.324
Ray Strode
rstrode at fedoraproject.org
Thu Oct 9 19:40:02 UTC 2008
Author: rstrode
Update of /cvs/pkgs/rpms/gnome-panel/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv25349
Modified Files:
gnome-panel.spec
Added Files:
gnome-panel-2.24.0-hide-shutdown-if-unavailable.patch
Log Message:
- Hide shutdown item if unavailable
gnome-panel-2.24.0-hide-shutdown-if-unavailable.patch:
--- NEW FILE gnome-panel-2.24.0-hide-shutdown-if-unavailable.patch ---
diff -ru gnome-panel-2.24.0/gnome-panel/libpanel-util/panel-session-manager.c new/gnome-panel/libpanel-util/panel-session-manager.c
--- gnome-panel-2.24.0/gnome-panel/libpanel-util/panel-session-manager.c 2008-09-22 17:21:03.000000000 -0400
+++ new/gnome-panel/libpanel-util/panel-session-manager.c 2008-10-09 12:56:14.000000000 -0400
@@ -141,6 +141,39 @@
}
}
+gboolean
+panel_session_manager_is_shutdown_available (PanelSessionManager *manager)
+{
+ GError *error;
+ DBusGProxy *proxy;
+ gboolean is_shutdown_available;
+
+ g_return_if_fail (PANEL_IS_SESSION_MANAGER (manager));
+
+ error = NULL;
+
+ if (!panel_dbus_service_ensure_connection (PANEL_DBUS_SERVICE (manager),
+ &error)) {
+ g_warning ("Could not connect to session manager: %s",
+ error->message);
+ g_error_free (error);
+ return;
+ }
+
+ proxy = panel_dbus_service_get_proxy (PANEL_DBUS_SERVICE (manager));
+
+ if (!dbus_g_proxy_call (proxy, "CanShutdown", &error,
+ G_TYPE_INVALID, G_TYPE_BOOLEAN,
+ &is_shutdown_available, G_TYPE_INVALID) &&
+ error != NULL) {
+ g_warning ("Could not ask session manager if shut down is available: %s",
+ error->message);
+ g_error_free (error);
+ return FALSE;
+ }
+ return is_shutdown_available;
+}
+
PanelSessionManager *
panel_session_manager_get (void)
{
diff -ru gnome-panel-2.24.0/gnome-panel/libpanel-util/panel-session-manager.h new/gnome-panel/libpanel-util/panel-session-manager.h
--- gnome-panel-2.24.0/gnome-panel/libpanel-util/panel-session-manager.h 2008-09-22 17:21:03.000000000 -0400
+++ new/gnome-panel/libpanel-util/panel-session-manager.h 2008-10-09 12:57:27.000000000 -0400
@@ -63,6 +63,7 @@
void panel_session_manager_request_logout (PanelSessionManager *session,
PanelSessionManagerLogoutType mode);
void panel_session_manager_request_shutdown (PanelSessionManager *session);
+gboolean panel_session_manager_is_shutdown_available (PanelSessionManager *session);
G_END_DECLS
diff -ru gnome-panel-2.24.0/gnome-panel/panel-action-button.c new/gnome-panel/panel-action-button.c
--- gnome-panel-2.24.0/gnome-panel/panel-action-button.c 2008-10-09 12:59:52.000000000 -0400
+++ new/gnome-panel/panel-action-button.c 2008-10-09 13:05:28.000000000 -0400
@@ -190,15 +190,13 @@
static gboolean
panel_action_shutdown_reboot_is_disabled (void)
{
- return panel_lockdown_get_disable_log_out();
-#if 0
- /* FIXME: waiting for a gnome-session dbus api to know if
- * shutdown/reboot is possible:
- * http://bugzilla.gnome.org/show_bug.cgi?id=536915 */
- return (panel_lockdown_get_disable_log_out() ||
- (!gdm_supports_logout_action (GDM_LOGOUT_ACTION_SHUTDOWN) &&
- !gdm_supports_logout_action (GDM_LOGOUT_ACTION_REBOOT)));
-#endif
+ PanelSessionManager *manager;
+
+ if (panel_lockdown_get_disable_log_out())
+ return TRUE;
+
+ manager = panel_session_manager_get ();
+ return !panel_session_manager_is_shutdown_available (manager);
}
/* Run Application
Index: gnome-panel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/gnome-panel/devel/gnome-panel.spec,v
retrieving revision 1.323
retrieving revision 1.324
diff -u -r1.323 -r1.324
--- gnome-panel.spec 9 Oct 2008 17:56:19 -0000 1.323
+++ gnome-panel.spec 9 Oct 2008 19:39:32 -0000 1.324
@@ -23,7 +23,7 @@
Summary: GNOME panel
Name: gnome-panel
Version: 2.24.0
-Release: 5%{?dist}
+Release: 6%{?dist}
URL: http://www.gnome.org
Source0: http://download.gnome.org/sources/gnome-panel/2.24/%{name}-%{version}.tar.bz2
@@ -116,6 +116,9 @@
# http://bugzilla.gnome.org/show_bug.cgi?id=554343
Patch25: gnome-panel-2.24.0-smoother-slide-in.patch
+# TODO file patch upstream
+Patch26: gnome-panel-2.24.0-hide-shutdown-if-unavailable.patch
+
Patch35: clock-wakeups.patch
# http://bugzilla.gnome.org/show_bug.cgi?id=555710
Patch36: tryexec.patch
@@ -166,6 +169,7 @@
%patch11 -p1 -b .applet-error
%patch24 -p1 -b .allow-spurious-view-done-signals
%patch25 -p1 -b .smoother-slide-in
+%patch26 -p1 -b .hide-shutdown-item-if-unavailable
%patch35 -p1 -b .clock-wakeups
%patch36 -p1 -b .tryexec
@@ -367,6 +371,9 @@
%{_datadir}/gtk-doc/html/*
%changelog
+* Thu Oct 9 2008 Ray Strode <rstrode at redhat.com> - 2.24.0-6
+- Hide shutdown item if unavailable
+
* Thu Oct 9 2008 Matthias Clasen <mclasen at redhat.com> - 2.24.0-5
- Don't show menuitems which fail the tryexec test
More information about the scm-commits
mailing list