- Fix assertion failure in last patch
This commit is contained in:
parent
cced611965
commit
0bb290414d
@ -1,7 +1,7 @@
|
|||||||
diff -ru gnome-session-2.24.0/gnome-session/gsm-consolekit.c new/gnome-session/gsm-consolekit.c
|
diff -up gnome-session-2.24.0/gnome-session/gsm-consolekit.c.add-can-shutdown-api gnome-session-2.24.0/gnome-session/gsm-consolekit.c
|
||||||
--- gnome-session-2.24.0/gnome-session/gsm-consolekit.c 2008-09-22 17:21:08.000000000 -0400
|
--- gnome-session-2.24.0/gnome-session/gsm-consolekit.c.add-can-shutdown-api 2008-09-22 17:21:08.000000000 -0400
|
||||||
+++ new/gnome-session/gsm-consolekit.c 2008-10-09 11:32:26.000000000 -0400
|
+++ gnome-session-2.24.0/gnome-session/gsm-consolekit.c 2008-10-09 13:30:44.000000000 -0400
|
||||||
@@ -54,6 +54,7 @@
|
@@ -54,6 +54,7 @@ struct _GsmConsolekitPrivate
|
||||||
DBusGConnection *dbus_connection;
|
DBusGConnection *dbus_connection;
|
||||||
DBusGProxy *bus_proxy;
|
DBusGProxy *bus_proxy;
|
||||||
DBusGProxy *ck_proxy;
|
DBusGProxy *ck_proxy;
|
||||||
@ -9,7 +9,7 @@ diff -ru gnome-session-2.24.0/gnome-session/gsm-consolekit.c new/gnome-session/g
|
|||||||
guint32 is_connected : 1;
|
guint32 is_connected : 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -136,15 +137,29 @@
|
@@ -136,15 +137,29 @@ gsm_consolekit_class_init (GsmConsolekit
|
||||||
g_type_class_add_private (manager_class, sizeof (GsmConsolekitPrivate));
|
g_type_class_add_private (manager_class, sizeof (GsmConsolekitPrivate));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -39,7 +39,7 @@ diff -ru gnome-session-2.24.0/gnome-session/gsm-consolekit.c new/gnome-session/g
|
|||||||
if (manager->priv->dbus_connection == NULL) {
|
if (manager->priv->dbus_connection == NULL) {
|
||||||
manager->priv->dbus_connection = dbus_g_bus_get (DBUS_BUS_SYSTEM,
|
manager->priv->dbus_connection = dbus_g_bus_get (DBUS_BUS_SYSTEM,
|
||||||
&connection_error);
|
&connection_error);
|
||||||
@@ -154,6 +169,13 @@
|
@@ -154,6 +169,13 @@ gsm_consolekit_ensure_ck_connection (Gsm
|
||||||
is_connected = FALSE;
|
is_connected = FALSE;
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
@ -53,12 +53,13 @@ diff -ru gnome-session-2.24.0/gnome-session/gsm-consolekit.c new/gnome-session/g
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (manager->priv->bus_proxy == NULL) {
|
if (manager->priv->bus_proxy == NULL) {
|
||||||
@@ -198,6 +220,24 @@
|
@@ -198,6 +220,27 @@ gsm_consolekit_ensure_ck_connection (Gsm
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
+ if (manager->priv->pk_tracker == NULL && connection != NULL) {
|
+ if (manager->priv->pk_tracker == NULL && connection != NULL) {
|
||||||
+ PolKitCaller *caller;
|
+ PolKitCaller *caller;
|
||||||
|
+ DBusError error;
|
||||||
+
|
+
|
||||||
+ manager->priv->pk_tracker = polkit_tracker_new ();
|
+ manager->priv->pk_tracker = polkit_tracker_new ();
|
||||||
+ polkit_tracker_init (manager->priv->pk_tracker);
|
+ polkit_tracker_init (manager->priv->pk_tracker);
|
||||||
@ -67,8 +68,10 @@ diff -ru gnome-session-2.24.0/gnome-session/gsm-consolekit.c new/gnome-session/g
|
|||||||
+
|
+
|
||||||
+ /* Prime the tracker's cache
|
+ /* Prime the tracker's cache
|
||||||
+ */
|
+ */
|
||||||
|
+ dbus_error_init (&error);
|
||||||
+ caller = polkit_tracker_get_caller_from_dbus_name (manager->priv->pk_tracker,
|
+ caller = polkit_tracker_get_caller_from_dbus_name (manager->priv->pk_tracker,
|
||||||
+ CK_NAME, NULL);
|
+ CK_NAME, &error);
|
||||||
|
+ dbus_error_free (&error);
|
||||||
+
|
+
|
||||||
+ if (caller != NULL) {
|
+ if (caller != NULL) {
|
||||||
+ g_object_unref (caller);
|
+ g_object_unref (caller);
|
||||||
@ -78,7 +81,7 @@ diff -ru gnome-session-2.24.0/gnome-session/gsm-consolekit.c new/gnome-session/g
|
|||||||
is_connected = TRUE;
|
is_connected = TRUE;
|
||||||
|
|
||||||
out:
|
out:
|
||||||
@@ -825,20 +865,61 @@
|
@@ -825,20 +868,68 @@ gsm_consolekit_can_switch_user (GsmConso
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -93,6 +96,7 @@ diff -ru gnome-session-2.24.0/gnome-session/gsm-consolekit.c new/gnome-session/g
|
|||||||
+ PolKitAction *action;
|
+ PolKitAction *action;
|
||||||
+ PolKitCaller *caller;
|
+ PolKitCaller *caller;
|
||||||
+ PolKitResult result;
|
+ PolKitResult result;
|
||||||
|
+ DBusError error;
|
||||||
+
|
+
|
||||||
+ gnome_context = polkit_gnome_context_get (NULL);
|
+ gnome_context = polkit_gnome_context_get (NULL);
|
||||||
+
|
+
|
||||||
@ -109,12 +113,18 @@ diff -ru gnome-session-2.24.0/gnome-session/gsm-consolekit.c new/gnome-session/g
|
|||||||
+ return FALSE;
|
+ return FALSE;
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
|
+ dbus_error_init (&error);
|
||||||
+ caller =
|
+ caller =
|
||||||
+ polkit_tracker_get_caller_from_dbus_name (manager->priv->pk_tracker,
|
+ polkit_tracker_get_caller_from_dbus_name (manager->priv->pk_tracker,
|
||||||
+ CK_NAME, NULL);
|
+ CK_NAME, &error);
|
||||||
+ result = polkit_policy_default_can_caller_do_action (policy, action,
|
+ dbus_error_free (&error);
|
||||||
+ caller);
|
+
|
||||||
+ polkit_caller_unref (caller);
|
+ if (caller != NULL) {
|
||||||
|
+ result = polkit_policy_default_can_caller_do_action (policy,
|
||||||
|
+ action,
|
||||||
|
+ caller);
|
||||||
|
+ polkit_caller_unref (caller);
|
||||||
|
+ }
|
||||||
+
|
+
|
||||||
+ return result != POLKIT_RESULT_NO && result != POLKIT_RESULT_UNKNOWN;
|
+ return result != POLKIT_RESULT_NO && result != POLKIT_RESULT_UNKNOWN;
|
||||||
+}
|
+}
|
||||||
@ -141,7 +151,7 @@ diff -ru gnome-session-2.24.0/gnome-session/gsm-consolekit.c new/gnome-session/g
|
|||||||
#else
|
#else
|
||||||
g_debug ("GsmConsolekit: built without PolicyKit-gnome support - cannot restart system");
|
g_debug ("GsmConsolekit: built without PolicyKit-gnome support - cannot restart system");
|
||||||
return FALSE;
|
return FALSE;
|
||||||
@@ -857,8 +938,11 @@
|
@@ -857,8 +948,11 @@ gsm_consolekit_can_stop (GsmConsolekit *
|
||||||
g_warning ("Could not connect to ConsoleKit: %s",
|
g_warning ("Could not connect to ConsoleKit: %s",
|
||||||
error->message);
|
error->message);
|
||||||
g_error_free (error);
|
g_error_free (error);
|
||||||
@ -154,10 +164,10 @@ diff -ru gnome-session-2.24.0/gnome-session/gsm-consolekit.c new/gnome-session/g
|
|||||||
#else
|
#else
|
||||||
g_debug ("GsmConsolekit: built without PolicyKit-gnome support - cannot stop system");
|
g_debug ("GsmConsolekit: built without PolicyKit-gnome support - cannot stop system");
|
||||||
return FALSE;
|
return FALSE;
|
||||||
diff -ru gnome-session-2.24.0/gnome-session/gsm-manager.c new/gnome-session/gsm-manager.c
|
diff -up gnome-session-2.24.0/gnome-session/gsm-manager.c.add-can-shutdown-api gnome-session-2.24.0/gnome-session/gsm-manager.c
|
||||||
--- gnome-session-2.24.0/gnome-session/gsm-manager.c 2008-09-22 17:21:08.000000000 -0400
|
--- gnome-session-2.24.0/gnome-session/gsm-manager.c.add-can-shutdown-api 2008-09-22 17:21:08.000000000 -0400
|
||||||
+++ new/gnome-session/gsm-manager.c 2008-10-09 12:41:47.000000000 -0400
|
+++ gnome-session-2.24.0/gnome-session/gsm-manager.c 2008-10-09 13:10:23.000000000 -0400
|
||||||
@@ -2313,6 +2313,35 @@
|
@@ -2313,6 +2313,35 @@ gsm_manager_shutdown (GsmManager *manage
|
||||||
}
|
}
|
||||||
|
|
||||||
gboolean
|
gboolean
|
||||||
@ -193,10 +203,10 @@ diff -ru gnome-session-2.24.0/gnome-session/gsm-manager.c new/gnome-session/gsm-
|
|||||||
gsm_manager_logout (GsmManager *manager,
|
gsm_manager_logout (GsmManager *manager,
|
||||||
guint logout_mode,
|
guint logout_mode,
|
||||||
GError **error)
|
GError **error)
|
||||||
diff -ru gnome-session-2.24.0/gnome-session/gsm-manager.h new/gnome-session/gsm-manager.h
|
diff -up gnome-session-2.24.0/gnome-session/gsm-manager.h.add-can-shutdown-api gnome-session-2.24.0/gnome-session/gsm-manager.h
|
||||||
--- gnome-session-2.24.0/gnome-session/gsm-manager.h 2008-09-22 17:21:08.000000000 -0400
|
--- gnome-session-2.24.0/gnome-session/gsm-manager.h.add-can-shutdown-api 2008-09-22 17:21:08.000000000 -0400
|
||||||
+++ new/gnome-session/gsm-manager.h 2008-10-09 12:42:20.000000000 -0400
|
+++ gnome-session-2.24.0/gnome-session/gsm-manager.h 2008-10-09 13:10:23.000000000 -0400
|
||||||
@@ -151,6 +151,10 @@
|
@@ -151,6 +151,10 @@ gboolean gsm_manager_is_inhib
|
||||||
|
|
||||||
gboolean gsm_manager_shutdown (GsmManager *manager,
|
gboolean gsm_manager_shutdown (GsmManager *manager,
|
||||||
GError **error);
|
GError **error);
|
||||||
@ -207,9 +217,9 @@ diff -ru gnome-session-2.24.0/gnome-session/gsm-manager.h new/gnome-session/gsm-
|
|||||||
gboolean gsm_manager_logout (GsmManager *manager,
|
gboolean gsm_manager_logout (GsmManager *manager,
|
||||||
guint logout_mode,
|
guint logout_mode,
|
||||||
GError **error);
|
GError **error);
|
||||||
diff -ru gnome-session-2.24.0/gnome-session/org.gnome.SessionManager.xml new/gnome-session/org.gnome.SessionManager.xml
|
diff -up gnome-session-2.24.0/gnome-session/org.gnome.SessionManager.xml.add-can-shutdown-api gnome-session-2.24.0/gnome-session/org.gnome.SessionManager.xml
|
||||||
--- gnome-session-2.24.0/gnome-session/org.gnome.SessionManager.xml 2008-09-22 17:21:08.000000000 -0400
|
--- gnome-session-2.24.0/gnome-session/org.gnome.SessionManager.xml.add-can-shutdown-api 2008-09-22 17:21:08.000000000 -0400
|
||||||
+++ new/gnome-session/org.gnome.SessionManager.xml 2008-10-09 12:35:17.000000000 -0400
|
+++ gnome-session-2.24.0/gnome-session/org.gnome.SessionManager.xml 2008-10-09 14:33:59.000000000 -0400
|
||||||
@@ -252,6 +252,20 @@
|
@@ -252,6 +252,20 @@
|
||||||
</doc:doc>
|
</doc:doc>
|
||||||
</method>
|
</method>
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
Summary: GNOME session manager
|
Summary: GNOME session manager
|
||||||
Name: gnome-session
|
Name: gnome-session
|
||||||
Version: 2.24.0
|
Version: 2.24.0
|
||||||
Release: 7%{?dist}
|
Release: 8%{?dist}
|
||||||
URL: http://www.gnome.org
|
URL: http://www.gnome.org
|
||||||
Source0: http://download.gnome.org/sources/gnome-session/2.24/%{name}-%{version}.tar.bz2
|
Source0: http://download.gnome.org/sources/gnome-session/2.24/%{name}-%{version}.tar.bz2
|
||||||
Source1: redhat-default-session
|
Source1: redhat-default-session
|
||||||
@ -196,6 +196,9 @@ fi
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Oct 9 2008 Ray Strode <rstrode@redhat.com> - 2.24.0-8
|
||||||
|
- Fix assertion failure in last patch
|
||||||
|
|
||||||
* Thu Oct 9 2008 Ray Strode <rstrode@redhat.com> - 2.24.0-7
|
* Thu Oct 9 2008 Ray Strode <rstrode@redhat.com> - 2.24.0-7
|
||||||
- Add new api for panel to figure out whether or not to show
|
- Add new api for panel to figure out whether or not to show
|
||||||
Shutdown menu item.
|
Shutdown menu item.
|
||||||
|
Loading…
Reference in New Issue
Block a user