parent
25d9fbd19e
commit
85e76e8866
222
add-back-session-name-property.patch
Normal file
222
add-back-session-name-property.patch
Normal file
@ -0,0 +1,222 @@
|
|||||||
|
From 837a0bfcc44d104ff48285077f3a3e8e01ecc29a Mon Sep 17 00:00:00 2001
|
||||||
|
From: Ray Strode <rstrode@redhat.com>
|
||||||
|
Date: Mon, 5 Jan 2015 13:41:47 -0500
|
||||||
|
Subject: [PATCH] manager: add back session-name property
|
||||||
|
|
||||||
|
It got stripped out in the gdbus port, but it's used internally.
|
||||||
|
|
||||||
|
Fixes memory corruption crasher
|
||||||
|
|
||||||
|
https://bugzilla.gnome.org/show_bug.cgi?id=622924
|
||||||
|
---
|
||||||
|
gnome-session/gsm-manager.c | 18 ++++++++++++++++++
|
||||||
|
1 file changed, 18 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/gnome-session/gsm-manager.c b/gnome-session/gsm-manager.c
|
||||||
|
index 1e6841e..0edfef0 100644
|
||||||
|
--- a/gnome-session/gsm-manager.c
|
||||||
|
+++ b/gnome-session/gsm-manager.c
|
||||||
|
@@ -144,60 +144,61 @@ struct GsmManagerPrivate
|
||||||
|
|
||||||
|
/* List of clients which were disconnected due to disabled condition
|
||||||
|
* and shouldn't be automatically restarted */
|
||||||
|
GSList *condition_clients;
|
||||||
|
|
||||||
|
GSList *pending_end_session_tasks;
|
||||||
|
GCancellable *end_session_cancellable;
|
||||||
|
|
||||||
|
GSettings *settings;
|
||||||
|
GSettings *session_settings;
|
||||||
|
GSettings *screensaver_settings;
|
||||||
|
GSettings *lockdown_settings;
|
||||||
|
|
||||||
|
GsmSystem *system;
|
||||||
|
GDBusConnection *connection;
|
||||||
|
GsmExportedManager *skeleton;
|
||||||
|
gboolean dbus_disconnected : 1;
|
||||||
|
guint name_owner_id;
|
||||||
|
|
||||||
|
GsmShell *shell;
|
||||||
|
guint shell_end_session_dialog_canceled_id;
|
||||||
|
guint shell_end_session_dialog_open_failed_id;
|
||||||
|
guint shell_end_session_dialog_confirmed_logout_id;
|
||||||
|
guint shell_end_session_dialog_confirmed_shutdown_id;
|
||||||
|
guint shell_end_session_dialog_confirmed_reboot_id;
|
||||||
|
};
|
||||||
|
|
||||||
|
enum {
|
||||||
|
PROP_0,
|
||||||
|
PROP_CLIENT_STORE,
|
||||||
|
+ PROP_SESSION_NAME,
|
||||||
|
PROP_FALLBACK,
|
||||||
|
PROP_FAILSAFE
|
||||||
|
};
|
||||||
|
|
||||||
|
enum {
|
||||||
|
PHASE_CHANGED,
|
||||||
|
LAST_SIGNAL
|
||||||
|
};
|
||||||
|
|
||||||
|
static guint signals [LAST_SIGNAL] = { 0 };
|
||||||
|
|
||||||
|
static void gsm_manager_class_init (GsmManagerClass *klass);
|
||||||
|
static void gsm_manager_init (GsmManager *manager);
|
||||||
|
|
||||||
|
static gboolean auto_save_is_enabled (GsmManager *manager);
|
||||||
|
static void maybe_save_session (GsmManager *manager);
|
||||||
|
|
||||||
|
static gboolean _log_out_is_locked_down (GsmManager *manager);
|
||||||
|
|
||||||
|
static void _handle_client_end_session_response (GsmManager *manager,
|
||||||
|
GsmClient *client,
|
||||||
|
gboolean is_ok,
|
||||||
|
gboolean do_last,
|
||||||
|
gboolean cancel,
|
||||||
|
const char *reason);
|
||||||
|
static void show_shell_end_session_dialog (GsmManager *manager,
|
||||||
|
GsmShellEndSessionDialogType type);
|
||||||
|
static gpointer manager_object = NULL;
|
||||||
|
|
||||||
|
G_DEFINE_TYPE (GsmManager, gsm_manager, G_TYPE_OBJECT)
|
||||||
|
@@ -2069,60 +2070,63 @@ gsm_manager_set_property (GObject *object,
|
||||||
|
switch (prop_id) {
|
||||||
|
case PROP_FAILSAFE:
|
||||||
|
gsm_manager_set_failsafe (self, g_value_get_boolean (value));
|
||||||
|
break;
|
||||||
|
case PROP_FALLBACK:
|
||||||
|
self->priv->is_fallback_session = g_value_get_boolean (value);
|
||||||
|
break;
|
||||||
|
case PROP_CLIENT_STORE:
|
||||||
|
gsm_manager_set_client_store (self, g_value_get_object (value));
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
gsm_manager_get_property (GObject *object,
|
||||||
|
guint prop_id,
|
||||||
|
GValue *value,
|
||||||
|
GParamSpec *pspec)
|
||||||
|
{
|
||||||
|
GsmManager *self;
|
||||||
|
|
||||||
|
self = GSM_MANAGER (object);
|
||||||
|
|
||||||
|
switch (prop_id) {
|
||||||
|
case PROP_FAILSAFE:
|
||||||
|
g_value_set_boolean (value, self->priv->failsafe);
|
||||||
|
break;
|
||||||
|
+ case PROP_SESSION_NAME:
|
||||||
|
+ g_value_set_string (value, self->priv->session_name);
|
||||||
|
+ break;
|
||||||
|
case PROP_FALLBACK:
|
||||||
|
g_value_set_boolean (value, self->priv->is_fallback_session);
|
||||||
|
break;
|
||||||
|
case PROP_CLIENT_STORE:
|
||||||
|
g_value_set_object (value, self->priv->clients);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static gboolean
|
||||||
|
_find_app_provides (const char *id,
|
||||||
|
GsmApp *app,
|
||||||
|
const char *service)
|
||||||
|
{
|
||||||
|
return gsm_app_provides (app, service);
|
||||||
|
}
|
||||||
|
|
||||||
|
static GObject *
|
||||||
|
gsm_manager_constructor (GType type,
|
||||||
|
guint n_construct_properties,
|
||||||
|
GObjectConstructParam *construct_properties)
|
||||||
|
{
|
||||||
|
GsmManager *manager;
|
||||||
|
|
||||||
|
manager = GSM_MANAGER (G_OBJECT_CLASS (gsm_manager_parent_class)->constructor (type,
|
||||||
|
n_construct_properties,
|
||||||
|
construct_properties));
|
||||||
|
@@ -2257,60 +2261,74 @@ gsm_manager_dispose (GObject *object)
|
||||||
|
|
||||||
|
G_OBJECT_CLASS (gsm_manager_parent_class)->dispose (object);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
gsm_manager_class_init (GsmManagerClass *klass)
|
||||||
|
{
|
||||||
|
GObjectClass *object_class = G_OBJECT_CLASS (klass);
|
||||||
|
|
||||||
|
object_class->get_property = gsm_manager_get_property;
|
||||||
|
object_class->set_property = gsm_manager_set_property;
|
||||||
|
object_class->constructor = gsm_manager_constructor;
|
||||||
|
object_class->dispose = gsm_manager_dispose;
|
||||||
|
|
||||||
|
signals [PHASE_CHANGED] =
|
||||||
|
g_signal_new ("phase-changed",
|
||||||
|
G_TYPE_FROM_CLASS (object_class),
|
||||||
|
G_SIGNAL_RUN_LAST,
|
||||||
|
G_STRUCT_OFFSET (GsmManagerClass, phase_changed),
|
||||||
|
NULL, NULL, NULL,
|
||||||
|
G_TYPE_NONE,
|
||||||
|
1, G_TYPE_STRING);
|
||||||
|
|
||||||
|
g_object_class_install_property (object_class,
|
||||||
|
PROP_FAILSAFE,
|
||||||
|
g_param_spec_boolean ("failsafe",
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
FALSE,
|
||||||
|
G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
|
||||||
|
+ /**
|
||||||
|
+ * GsmManager::session-name
|
||||||
|
+ *
|
||||||
|
+ * Then name of the currently active session, typically "gnome" or "gnome-fallback".
|
||||||
|
+ * This may be the name of the configured default session, or the name of a fallback
|
||||||
|
+ * session in case we fell back.
|
||||||
|
+ */
|
||||||
|
+ g_object_class_install_property (object_class,
|
||||||
|
+ PROP_SESSION_NAME,
|
||||||
|
+ g_param_spec_string ("session-name",
|
||||||
|
+ NULL,
|
||||||
|
+ NULL,
|
||||||
|
+ NULL,
|
||||||
|
+ G_PARAM_READABLE));
|
||||||
|
|
||||||
|
/**
|
||||||
|
* GsmManager::fallback
|
||||||
|
*
|
||||||
|
* If %TRUE, the current session is running in the "fallback" mode;
|
||||||
|
* this is distinct from whether or not it was configured as default.
|
||||||
|
*/
|
||||||
|
g_object_class_install_property (object_class,
|
||||||
|
PROP_FALLBACK,
|
||||||
|
g_param_spec_boolean ("fallback",
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
FALSE,
|
||||||
|
G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
|
||||||
|
|
||||||
|
g_object_class_install_property (object_class,
|
||||||
|
PROP_CLIENT_STORE,
|
||||||
|
g_param_spec_object ("client-store",
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
GSM_TYPE_STORE,
|
||||||
|
G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
|
||||||
|
|
||||||
|
g_type_class_add_private (klass, sizeof (GsmManagerPrivate));
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
on_presence_status_changed (GsmPresence *presence,
|
||||||
|
guint status,
|
||||||
|
GsmManager *manager)
|
||||||
|
--
|
||||||
|
2.1.0
|
||||||
|
|
@ -11,7 +11,7 @@
|
|||||||
Summary: GNOME session manager
|
Summary: GNOME session manager
|
||||||
Name: gnome-session
|
Name: gnome-session
|
||||||
Version: 3.15.3
|
Version: 3.15.3
|
||||||
Release: 1%{?dist}
|
Release: 2%{?dist}
|
||||||
URL: http://www.gnome.org
|
URL: http://www.gnome.org
|
||||||
#VCS: git:git://git.gnome.org/gnome-session
|
#VCS: git:git://git.gnome.org/gnome-session
|
||||||
Source0: http://download.gnome.org/sources/gnome-session/3.15/%{name}-%{version}.tar.xz
|
Source0: http://download.gnome.org/sources/gnome-session/3.15/%{name}-%{version}.tar.xz
|
||||||
@ -20,6 +20,7 @@ Source0: http://download.gnome.org/sources/gnome-session/3.15/%{name}-%{version}
|
|||||||
Patch1: gnome-session-3.3.92-nv30.patch
|
Patch1: gnome-session-3.3.92-nv30.patch
|
||||||
Patch2: 0001-main-Set-XDG_MENU_PREFIX.patch
|
Patch2: 0001-main-Set-XDG_MENU_PREFIX.patch
|
||||||
Patch3: gnome-session-3.6.2-swrast.patch
|
Patch3: gnome-session-3.6.2-swrast.patch
|
||||||
|
Patch4: add-back-session-name-property.patch
|
||||||
|
|
||||||
License: GPLv2+
|
License: GPLv2+
|
||||||
Group: User Interface/Desktops
|
Group: User Interface/Desktops
|
||||||
@ -91,6 +92,7 @@ Desktop file to add GNOME on wayland to display manager session menu.
|
|||||||
%patch1 -p1 -b .nv30
|
%patch1 -p1 -b .nv30
|
||||||
%patch2 -p1 -b .set-xdg-menu-prefix
|
%patch2 -p1 -b .set-xdg-menu-prefix
|
||||||
%patch3 -p1 -b .swrast
|
%patch3 -p1 -b .swrast
|
||||||
|
%patch4 -p1 -b .add-back-session-name-property
|
||||||
|
|
||||||
echo "ACLOCAL_AMFLAGS = -I m4" >> Makefile.am
|
echo "ACLOCAL_AMFLAGS = -I m4" >> Makefile.am
|
||||||
|
|
||||||
@ -146,6 +148,10 @@ glib-compile-schemas %{_datadir}/glib-2.0/schemas &>/dev/null || :
|
|||||||
%{_datadir}/glib-2.0/schemas/org.gnome.SessionManager.gschema.xml
|
%{_datadir}/glib-2.0/schemas/org.gnome.SessionManager.gschema.xml
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Jan 05 2015 Ray Strode <rstrode@redhat.com> 3.15.3-2
|
||||||
|
- Fix crasher
|
||||||
|
Resolves: #1176413
|
||||||
|
|
||||||
* Fri Dec 19 2014 Richard Hughes <rhughes@redhat.com> - 3.15.3-1
|
* Fri Dec 19 2014 Richard Hughes <rhughes@redhat.com> - 3.15.3-1
|
||||||
- Update to 3.15.3
|
- Update to 3.15.3
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user