r10990 - in /desktop/unstable/gnome-session/debian: changelog patches/01_clever_save.diff
joss at users.alioth.debian.org
joss at users.alioth.debian.org
Tue May 15 19:21:22 UTC 2007
Author: joss
Date: Tue May 15 19:21:21 2007
New Revision: 10990
URL: http://svn.debian.org/wsvn/pkg-gnome/?sc=1&rev=10990
Log:
* 01_clever_save.diff: stolen from upstream's SVN. Be more clever when
saving the session, so that e.g. multiple xterms are not forgotten.
Closes: #364463.
Added:
desktop/unstable/gnome-session/debian/patches/01_clever_save.diff
Modified:
desktop/unstable/gnome-session/debian/changelog
Modified: desktop/unstable/gnome-session/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gnome-session/debian/changelog?rev=10990&op=diff
==============================================================================
--- desktop/unstable/gnome-session/debian/changelog (original)
+++ desktop/unstable/gnome-session/debian/changelog Tue May 15 19:21:21 2007
@@ -1,8 +1,14 @@
-gnome-session (2.18.0-2) UNRELEASED; urgency=low
-
+gnome-session (2.18.0-2) unstable; urgency=low
+
+ [ Sven Arvidsson ]
* Add the only missing manpage (Closes: #252006)
- -- Sven Arvidsson <sa at whiz.se> Sat, 05 May 2007 23:42:52 +0200
+ [ Josselin Mouette ]
+ * 01_clever_save.diff: stolen from upstream's SVN. Be more clever when
+ saving the session, so that e.g. multiple xterms are not forgotten.
+ Closes: #364463.
+
+ -- Josselin Mouette <joss at debian.org> Tue, 15 May 2007 20:45:31 +0200
gnome-session (2.18.0-1) unstable; urgency=low
Added: desktop/unstable/gnome-session/debian/patches/01_clever_save.diff
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gnome-session/debian/patches/01_clever_save.diff?rev=10990&op=file
==============================================================================
--- desktop/unstable/gnome-session/debian/patches/01_clever_save.diff (added)
+++ desktop/unstable/gnome-session/debian/patches/01_clever_save.diff Tue May 15 19:21:21 2007
@@ -1,0 +1,52 @@
+--- trunk/gnome-session/save.c 2007/05/09 15:55:29 4341
++++ trunk/gnome-session/save.c 2007/05/11 17:13:40 4349
+@@ -501,24 +501,35 @@
+
+ for (node = clients; node != NULL; node = node->next)
+ {
+- GSList *sl;
+ Client *client = node->data;
+-
+- for (sl = node->next; sl != NULL; sl = sl->next)
++ GSList *props = client->properties;
++ GSList *sl;
++
++ /* Only trigger duplicate removal when the current client will
++ * be resumed through XSMP. We'll remove all autostarted clients matching
++ * the current client. See bug 341286 comment 12 for the whole rationale.
++ */
++ if (client->match_rule != MATCH_ID)
++ continue;
++
++ /* Always start from the beginning, as there may be an autostarted
++ * client in the list before us */
++ sl = clients;
++ while (sl)
+ {
+- Client *tmp_client = sl->data;
+- GSList *props, *tmp_props;
++ Client *tmp_client = sl->data;
++ GSList *tmp_props = tmp_client->properties;
+
+- props = client->properties;
+- tmp_props = tmp_client->properties;
++ sl = sl->next;
+
+- if (compare_restart_command (props, tmp_props))
+- {
+- REMOVE (clients, tmp_client);
+- free_client (tmp_client);
+- sl = node;
+- }
+- }
++ /* Remove any autostarted clients matching us */
++ if ((tmp_client->match_rule == MATCH_PROP) &&
++ compare_restart_command (props, tmp_props))
++ {
++ REMOVE (clients, tmp_client);
++ free_client (tmp_client);
++ }
++ }
+ }
+
+ return clients;
More information about the pkg-gnome-commits
mailing list