Accepting request 85669 from GNOME:Factory
Pushing G:F OBS-URL: https://build.opensuse.org/request/show/85669 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/gnome-session?expand=0&rev=112
This commit is contained in:
commit
6957e31053
9
gnome
9
gnome
@ -30,11 +30,11 @@ if test "$IS_LIVE_IMAGE" = "yes" ; then
|
||||
## the desktop, since the desktop is not managed by nautilus anymore (by
|
||||
## default)
|
||||
|
||||
if test -f /etc/xdg/menus/${XDG_MENU_PREFIX}applications.menu; then
|
||||
if test -f /etc/xdg/menus/${XDG_MENU_PREFIX}applications.menu -a ! -f "${XDG_CONFIG_HOME}/menus/${XDG_MENU_PREFIX}applications.menu"; then
|
||||
# Add live installer to the system tools menu (this is nice to have, and also
|
||||
# required for the favorite app change below)
|
||||
mkdir -p -m 0700 "${XDG_CONFIG_HOME}"
|
||||
mkdir "${XDG_CONFIG_HOME}/menus"
|
||||
mkdir -p "${XDG_CONFIG_HOME}/menus"
|
||||
cat > "${XDG_CONFIG_HOME}/menus/${XDG_MENU_PREFIX}applications.menu" << EOF
|
||||
<Menu>
|
||||
<Name>Applications</Name>
|
||||
@ -47,16 +47,19 @@ if test "$IS_LIVE_IMAGE" = "yes" ; then
|
||||
</Menu>
|
||||
</Menu>
|
||||
EOF
|
||||
fi
|
||||
|
||||
# Add live installer as favorite application to gnome-shell dash
|
||||
FAVORITES=`gsettings get org.gnome.shell favorite-apps`
|
||||
if test $? -eq 0; then
|
||||
echo ${FAVORITES} | grep -q YaST2-live-installer.desktop
|
||||
if test $? -ne 0; then
|
||||
FAVORITES=`echo ${FAVORITES} | sed "s:^\[:\['YaST2-live-installer.desktop', :"`
|
||||
gsettings set org.gnome.shell favorite-apps "${FAVORITES}"
|
||||
fi
|
||||
fi
|
||||
|
||||
# FIXME: we need to add a launcher for gnome-panel (fallback mode)
|
||||
fi
|
||||
|
||||
## Other tweaks
|
||||
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:14588110477eabd70496d1d97278223495311634cff712c1f228e1acf1a4d9c3
|
||||
size 815368
|
3
gnome-session-3.2.0.tar.bz2
Normal file
3
gnome-session-3.2.0.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:e42fd02cf0bc759c2dfee71cb70b0b6acefe84b8904e8e1d1fe36f475abae405
|
||||
size 822932
|
@ -1,127 +0,0 @@
|
||||
diff --git a/gnome-session/gsm-consolekit.c b/gnome-session/gsm-consolekit.c
|
||||
index f53993f..66bebd1 100644
|
||||
--- a/gnome-session/gsm-consolekit.c
|
||||
+++ b/gnome-session/gsm-consolekit.c
|
||||
@@ -152,7 +152,8 @@ gsm_consolekit_dbus_filter (DBusConnection *connection,
|
||||
DBUS_INTERFACE_LOCAL, "Disconnected") &&
|
||||
strcmp (dbus_message_get_path (message), DBUS_PATH_LOCAL) == 0) {
|
||||
gsm_consolekit_free_dbus (manager);
|
||||
- return DBUS_HANDLER_RESULT_HANDLED;
|
||||
+ /* let other filters get this disconnected signal, so that they
|
||||
+ * can handle it too */
|
||||
}
|
||||
|
||||
return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
|
||||
diff --git a/gnome-session/gsm-manager.c b/gnome-session/gsm-manager.c
|
||||
index b531197..2d74d40 100644
|
||||
--- a/gnome-session/gsm-manager.c
|
||||
+++ b/gnome-session/gsm-manager.c
|
||||
@@ -151,6 +151,7 @@ struct GsmManagerPrivate
|
||||
|
||||
DBusGProxy *bus_proxy;
|
||||
DBusGConnection *connection;
|
||||
+ gboolean dbus_disconnected : 1;
|
||||
|
||||
/* Interface with other parts of the system */
|
||||
UpClient *up_client;
|
||||
@@ -1814,6 +1815,11 @@ _disconnect_client (GsmManager *manager,
|
||||
"phase");
|
||||
}
|
||||
|
||||
+ if (manager->priv->dbus_disconnected && GSM_IS_DBUS_CLIENT (client)) {
|
||||
+ g_debug ("GsmManager: dbus disconnected, not restarting application");
|
||||
+ goto out;
|
||||
+ }
|
||||
+
|
||||
if (app == NULL) {
|
||||
g_debug ("GsmManager: unable to find application for client - not restarting");
|
||||
goto out;
|
||||
@@ -1872,6 +1878,12 @@ _disconnect_dbus_client (const char *id,
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
+ /* If no service name, then we simply disconnect all clients */
|
||||
+ if (!data->service_name) {
|
||||
+ _disconnect_client (data->manager, client);
|
||||
+ return TRUE;
|
||||
+ }
|
||||
+
|
||||
name = gsm_dbus_client_get_bus_name (GSM_DBUS_CLIENT (client));
|
||||
if (IS_STRING_EMPTY (name)) {
|
||||
return FALSE;
|
||||
@@ -1885,6 +1897,15 @@ _disconnect_dbus_client (const char *id,
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
+/**
|
||||
+ * remove_clients_for_connection:
|
||||
+ * @manager: a #GsmManager
|
||||
+ * @service_name: a service name
|
||||
+ *
|
||||
+ * Disconnects clients that own @service_name.
|
||||
+ *
|
||||
+ * If @service_name is NULL, then disconnects all clients for the connection.
|
||||
+ */
|
||||
static void
|
||||
remove_clients_for_connection (GsmManager *manager,
|
||||
const char *service_name)
|
||||
@@ -1968,10 +1989,32 @@ bus_name_owner_changed (DBusGProxy *bus_proxy,
|
||||
}
|
||||
}
|
||||
|
||||
+static DBusHandlerResult
|
||||
+gsm_manager_bus_filter (DBusConnection *connection,
|
||||
+ DBusMessage *message,
|
||||
+ void *user_data)
|
||||
+{
|
||||
+ GsmManager *manager;
|
||||
+
|
||||
+ manager = GSM_MANAGER (user_data);
|
||||
+
|
||||
+ if (dbus_message_is_signal (message,
|
||||
+ DBUS_INTERFACE_LOCAL, "Disconnected") &&
|
||||
+ strcmp (dbus_message_get_path (message), DBUS_PATH_LOCAL) == 0) {
|
||||
+ g_debug ("GsmManager: dbus disconnected; disconnecting dbus clients...");
|
||||
+ manager->priv->dbus_disconnected = TRUE;
|
||||
+ remove_clients_for_connection (manager, NULL);
|
||||
+ /* let other filters get this disconnected signal, so that they
|
||||
+ * can handle it too */
|
||||
+ }
|
||||
+
|
||||
+ return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
|
||||
+}
|
||||
static gboolean
|
||||
register_manager (GsmManager *manager)
|
||||
{
|
||||
GError *error = NULL;
|
||||
+ DBusConnection *connection;
|
||||
|
||||
error = NULL;
|
||||
manager->priv->connection = dbus_g_bus_get (DBUS_BUS_SESSION, &error);
|
||||
@@ -1983,6 +2026,12 @@ register_manager (GsmManager *manager)
|
||||
exit (1);
|
||||
}
|
||||
|
||||
+ connection = dbus_g_connection_get_connection (manager->priv->connection);
|
||||
+ dbus_connection_add_filter (connection,
|
||||
+ gsm_manager_bus_filter,
|
||||
+ manager, NULL);
|
||||
+ manager->priv->dbus_disconnected = FALSE;
|
||||
+
|
||||
manager->priv->bus_proxy = dbus_g_proxy_new_for_name (manager->priv->connection,
|
||||
DBUS_SERVICE_DBUS,
|
||||
DBUS_PATH_DBUS,
|
||||
diff --git a/gnome-session/gsm-shell.c b/gnome-session/gsm-shell.c
|
||||
index 0b26f09..9785160 100644
|
||||
--- a/gnome-session/gsm-shell.c
|
||||
+++ b/gnome-session/gsm-shell.c
|
||||
@@ -228,7 +228,8 @@ gsm_shell_bus_filter (DBusConnection *connection,
|
||||
DBUS_INTERFACE_LOCAL, "Disconnected") &&
|
||||
strcmp (dbus_message_get_path (message), DBUS_PATH_LOCAL) == 0) {
|
||||
gsm_shell_disconnect_from_bus (shell);
|
||||
- return DBUS_HANDLER_RESULT_HANDLED;
|
||||
+ /* let other filters get this disconnected signal, so that they
|
||||
+ * can handle it too */
|
||||
}
|
||||
|
||||
return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
|
@ -1,3 +1,28 @@
|
||||
-------------------------------------------------------------------
|
||||
Mon Sep 26 10:44:11 UTC 2011 - vuntz@opensuse.org
|
||||
|
||||
- Update to version 3.2.0:
|
||||
+ Updated translations.
|
||||
- Update /usr/bin/gnome script to improve logging in twice on a
|
||||
live image:
|
||||
+ Use -p with mkdir, to avoid failing when creating a directory
|
||||
that already exists.
|
||||
+ Do not overwrite pre-existing user applications.menu.
|
||||
+ Do not add a second YaST2-live-installer.desktop favorite for
|
||||
gnome-shell.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Sep 20 07:39:31 UTC 2011 - vuntz@opensuse.org
|
||||
|
||||
- Update to version 3.1.92:
|
||||
+ Session Manager:
|
||||
- Never mark as handled the Disconnected signal from dbus
|
||||
- Disconnect all dbus clients when dbus is disconnected
|
||||
- Don't offer logout in the fail whale on the login screen
|
||||
- Code improvements
|
||||
+ Updated translations.
|
||||
- Drop gnome-session-dbus-disconnected.patch: fixed upstream.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Sep 9 08:00:56 UTC 2011 - vuntz@opensuse.org
|
||||
|
||||
|
@ -18,13 +18,13 @@
|
||||
|
||||
|
||||
Name: gnome-session
|
||||
Version: 3.1.91
|
||||
Version: 3.2.0
|
||||
Release: 1
|
||||
License: GPLv2+
|
||||
Summary: Session Tools for the GNOME Desktop
|
||||
Url: http://www.gnome.org
|
||||
Group: System/GUI/GNOME
|
||||
Source: http://download.gnome.org/sources/gnome-session/3.1/%{name}-%{version}.tar.bz2
|
||||
Source: http://download.gnome.org/sources/gnome-session/3.2/%{name}-%{version}.tar.bz2
|
||||
Source1: gnome
|
||||
Source2: gnome.desktop
|
||||
# Temporarly needed until we get upstream to ship the right icon for suspend
|
||||
@ -37,8 +37,6 @@ Patch1: gnome-session-kdm-support.patch
|
||||
Patch2: gnome-session-wm-switch.patch
|
||||
# PATCH-NEEDS-REBASE gnome-session-bgo507101-tile-ui.patch bgo507101 vuntz@novell.com -- Tile UI for logout dialog. (Was: PATCH-FIX-UPSTREAM)
|
||||
Patch3: gnome-session-bgo507101-tile-ui.patch
|
||||
# PATCH-FIX-UPSTREAM gnome-session-dbus-disconnected.patch vuntz@opensuse.org -- Various fixes for the case where dbus quits early; helps with the new gdm. Taken from git.
|
||||
Patch4: gnome-session-dbus-disconnected.patch
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: gnome-common
|
||||
BuildRequires: gnome-patch-translation
|
||||
@ -130,7 +128,6 @@ translation-update-upstream
|
||||
#%patch2 -p1
|
||||
# needs-rebase
|
||||
#%patch3 -p0
|
||||
%patch4 -p1
|
||||
# gnome-patch-translation-update
|
||||
|
||||
%build
|
||||
|
Loading…
Reference in New Issue
Block a user