Hello community,

here is the log from the commit of package xfce4-session for openSUSE:Factory
checked in at Fri Oct 14 09:49:32 CEST 2011.



--------
--- openSUSE:Factory/xfce4-session/xfce4-session.changes        2011-09-23 
12:51:29.000000000 +0200
+++ /mounts/work_src_done/STABLE/xfce4-session/xfce4-session.changes    
2011-10-13 21:50:33.000000000 +0200
@@ -1,0 +2,8 @@
+Sat Oct  8 16:22:18 UTC 2011 - [email protected]
+
+- added xfce4-session-fix-gnome-mode.patch which removes obsolete
+  GNOME compatibility code, treats GNOME-/KDE-only autostart files
+  as inactive, and allows to enable them through
+  xfce4-session-settings (bnc#710038, bxo#8014)
+
+-------------------------------------------------------------------

calling whatdependson for head-i586


New:
----
  xfce4-session-fix-gnome-mode.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ xfce4-session.spec ++++++
--- /var/tmp/diff_new_pack.05Tgs2/_old  2011-10-14 09:49:28.000000000 +0200
+++ /var/tmp/diff_new_pack.05Tgs2/_new  2011-10-14 09:49:28.000000000 +0200
@@ -27,6 +27,8 @@
 Source:         %{name}-%{version}.tar.bz2
 # PATCH-FEATURE-OPENSUSE xfce4-session-simple-splash-remove-shadows.patch 
[email protected] -- Improves readability of the simple splash engine text by 
removing the text shadows
 Patch0:         xfce4-session-simple-splash-remove-shadows.patch
+# PATCH-FIX-UPSTREAM xfce4-session-fix-gnome-mode.patch bnc#710038 bxo#8014 
[email protected] -- Removes obsolete GNOME compatibility code, treats 
GNOME-/KDE-only autostart files as inactive, and allows to enable them through 
xfce4-session-settings
+Patch1:         xfce4-session-fix-gnome-mode.patch
 BuildRequires:  intltool
 BuildRequires:  perl-XML-Parser
 BuildRequires:  pkgconfig(dbus-glib-1)
@@ -87,6 +89,7 @@
 %prep
 %setup -q
 %patch0 -p1
+%patch1 -p1
 
 %build
 %configure \

++++++ xfce4-session-fix-gnome-mode.patch ++++++
diff -urNp xfce4-session-4.8.2.orig/settings/xfae-model.c 
xfce4-session-4.8.2/settings/xfae-model.c
--- xfce4-session-4.8.2.orig/settings/xfae-model.c      2011-09-13 
18:17:10.000000000 +0200
+++ xfce4-session-4.8.2/settings/xfae-model.c   2011-10-08 17:37:29.000000000 
+0200
@@ -73,6 +73,7 @@ static gboolean           xfae_model_ite
 static XfaeItem          *xfae_item_new               (const gchar        
*relpath);
 static void               xfae_item_free              (XfaeItem           
*item);
 static gboolean           xfae_item_is_removable      (XfaeItem           
*item);
+static gboolean           xfae_item_is_compat         (XfaeItem           
*item);
 
 
 
@@ -95,6 +96,7 @@ struct _XfaeItem
   GdkPixbuf *icon;
   gchar     *comment;
   gchar     *relpath;
+  gchar     **only_show_in;
   gboolean   hidden;
 };
 
@@ -287,7 +289,7 @@ xfae_model_get_value (GtkTreeModel *tree
 
     case XFAE_MODEL_COLUMN_ENABLED:
       g_value_init (value, G_TYPE_BOOLEAN);
-      g_value_set_boolean (value, !item->hidden);
+      g_value_set_boolean (value, !(item->hidden || xfae_item_is_compat 
(item)));
       break;
 
     case XFAE_MODEL_COLUMN_REMOVABLE:
@@ -401,7 +403,6 @@ xfae_item_new (const gchar *relpath)
   XfaeItem    *item = NULL;
   gboolean     skip = FALSE;
   XfceRc      *rc;
-  gchar      **only_show_in;
   gchar      **not_show_in;
   gchar      **args;
   gchar       *icon_name;
@@ -457,18 +458,18 @@ xfae_item_new (const gchar *relpath)
         }
 
       /* check the OnlyShowIn setting */
-      only_show_in = xfce_rc_read_list_entry (rc, "OnlyShowIn", ";");
-      if (G_UNLIKELY (only_show_in != NULL))
+      item->only_show_in = xfce_rc_read_list_entry (rc, "OnlyShowIn", ";");
+      if (G_UNLIKELY (item->only_show_in != NULL))
         {
-          /* check if "Xfce" is specified */
-          for (m = 0, skip = TRUE; only_show_in[m] != NULL; ++m)
-            if (g_ascii_strcasecmp (only_show_in[m], "Xfce") == 0)
+          /* check if "Xfce", "GNOME", or "KDE" are specified */
+          for (m = 0, skip = TRUE; item->only_show_in[m] != NULL; ++m)
+            if ((g_ascii_strcasecmp (item->only_show_in[m], "Xfce") == 0) ||
+                (g_ascii_strcasecmp (item->only_show_in[m], "GNOME") == 0) ||
+                (g_ascii_strcasecmp (item->only_show_in[m], "KDE") == 0))
               {
                 skip = FALSE;
                 break;
               }
-
-          g_strfreev (only_show_in);
         }
       else
         {
@@ -515,6 +516,7 @@ xfae_item_free (XfaeItem *item)
   g_free (item->relpath);
   g_free (item->comment);
   g_free (item->name);
+  g_strfreev (item->only_show_in);
   g_free (item);
 }
 
@@ -545,6 +547,32 @@ xfae_item_is_removable (XfaeItem *item)
 
 
 static gboolean
+xfae_item_is_compat (XfaeItem *item)
+{
+  gint m;
+  gboolean is_compat = FALSE;
+
+  if (item->only_show_in != NULL)
+    {
+      for (m = 0; item->only_show_in[m] != NULL; ++m)
+        {
+          if (g_ascii_strcasecmp (item->only_show_in[m], "Xfce") == 0)
+            {
+              is_compat = FALSE;
+              break;
+            }
+          else if ((g_ascii_strcasecmp (item->only_show_in[m], "GNOME") == 0) 
||
+                   (g_ascii_strcasecmp (item->only_show_in[m], "KDE") == 0))
+            is_compat = TRUE;
+        }
+    }
+
+  return is_compat;
+}
+
+
+
+static gboolean
 xfae_item_remove (XfaeItem *item,
                   GError  **error)
 {
@@ -899,12 +927,26 @@ xfae_model_toggle (XfaeModel   *model,
       return FALSE;
     }
 
-  /* perform the toggle operation :-) */
-  item->hidden = !item->hidden;
+  if (xfae_item_is_compat (item))
+    {
+      guint len;
+
+      /* append "XFCE;" to "OnlyShowIn" */
+      len = g_strv_length (item->only_show_in) + 2;
+      item->only_show_in = g_realloc_n (item->only_show_in, (gsize) len, 
sizeof (gchar *));
+      item->only_show_in[len - 3] = g_strdup ("XFCE");
+      item->only_show_in[len - 2] = g_strdup (""); /* force trailing semicolon 
*/
+      item->only_show_in[len - 1] = NULL;
+
+      item->hidden = FALSE;
+    }
+  else
+    item->hidden = !item->hidden;
 
   /* write the result */
   xfce_rc_set_group (rc, "Desktop Entry");
   xfce_rc_write_bool_entry (rc, "Hidden", item->hidden);
+  xfce_rc_write_list_entry (rc, "OnlyShowIn", item->only_show_in, ";");
   xfce_rc_close (rc);
 
   /* tell the view that we have most probably a new state */
diff -urNp xfce4-session-4.8.2.orig/xfce4-session/xfsm-compat-gnome.c 
xfce4-session-4.8.2/xfce4-session/xfsm-compat-gnome.c
--- xfce4-session-4.8.2.orig/xfce4-session/xfsm-compat-gnome.c  2011-09-13 
18:17:17.000000000 +0200
+++ xfce4-session-4.8.2/xfce4-session/xfsm-compat-gnome.c       2011-10-07 
17:14:02.000000000 +0200
@@ -294,7 +294,9 @@ xfsm_compat_gnome_startup (XfsmSplashScr
   if (G_UNLIKELY (gnome_compat_started))
     return;
 
+#if 0
   xfsm_compat_gnome_smproxy_startup ();
+#endif
 
   /* fire up the keyring daemon */
   if (G_LIKELY (splash != NULL))
@@ -342,6 +344,7 @@ xfsm_compat_gnome_shutdown (void)
     }
 #endif
 
+#if 0
   /* shutdown the GConf daemon */
   if (!g_spawn_command_line_sync ("gconftool-2 --shutdown", NULL,
                                   NULL, &status, &error))
@@ -357,6 +360,7 @@ xfsm_compat_gnome_shutdown (void)
     }
 
   xfsm_compat_gnome_smproxy_shutdown ();
+#endif
 
   gnome_compat_started = FALSE;
 }
diff -urNp xfce4-session-4.8.2.orig/xfce4-session/xfsm-startup.c 
xfce4-session-4.8.2/xfce4-session/xfsm-startup.c
--- xfce4-session-4.8.2.orig/xfce4-session/xfsm-startup.c       2011-09-13 
18:17:17.000000000 +0200
+++ xfce4-session-4.8.2/xfce4-session/xfsm-startup.c    2011-10-07 
17:14:02.000000000 +0200
@@ -352,9 +352,7 @@ xfsm_startup_autostart_xdg (XfsmManager
                * then "KDE" is specified. */
               for (m = 0, skip = TRUE; only_show_in[m] != NULL; ++m)
                 {
-                  if ((g_ascii_strcasecmp (only_show_in[m], "XFCE") == 0) ||
-                      (gnome && g_ascii_strcasecmp (only_show_in[m], "GNOME") 
== 0) ||
-                      (kde && g_ascii_strcasecmp (only_show_in[m], "KDE") == 
0))
+                  if (g_ascii_strcasecmp (only_show_in[m], "XFCE") == 0)
                     {
                       skip = FALSE;
                       break;
continue with "q"...



Remember to have fun...

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to