rpms/gnome-session/devel gnome-session-2.15.91-desensitize-invalid-buttons.patch, NONE, 1.1 gnome-session.spec, 1.81, 1.82 gnome-session-2.13.92-desensitize-invalid-buttons.patch, 1.1, NONE

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Mon Aug 14 18:24:55 UTC 2006


Author: rstrode

Update of /cvs/dist/rpms/gnome-session/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv10330

Modified Files:
	gnome-session.spec 
Added Files:
	gnome-session-2.15.91-desensitize-invalid-buttons.patch 
Removed Files:
	gnome-session-2.13.92-desensitize-invalid-buttons.patch 
Log Message:
- Update to 2.15.91


gnome-session-2.15.91-desensitize-invalid-buttons.patch:
 session-properties-capplet.c |   71 +++++++++++++++++++++++++++++--------------
 session-properties-capplet.h |    2 +
 startup-programs.c           |   43 ++++++++++++++++++++++++++
 3 files changed, 93 insertions(+), 23 deletions(-)

--- NEW FILE gnome-session-2.15.91-desensitize-invalid-buttons.patch ---
--- gnome-session-2.15.91/gnome-session/startup-programs.c.desensitize-invalid-buttons	2006-08-14 13:59:45.000000000 -0400
+++ gnome-session-2.15.91/gnome-session/startup-programs.c	2006-08-14 14:01:23.000000000 -0400
@@ -22,6 +22,7 @@
 #include <config.h>
 #include <ctype.h>
 #include <stdlib.h>
+#include <unistd.h>
 #include <glib/gstdio.h>
 #include <gnome.h>
 #include <libgnome/gnome-desktop-item.h>
@@ -541,6 +542,48 @@ startup_list_delete (GSList **sl, GtkTre
   spc_write_state ();
 }
 
+gboolean
+startup_list_can_edit (GSList **sl, GtkTreeModel *model, GtkTreeSelection *sel)
+{
+  ManualClient *client;
+  GtkTreeIter iter;
+  char *path, *basename;
+  const char * const * system_dirs;
+  int i;
+  gboolean can_edit = TRUE;
+
+  if (!gtk_tree_selection_get_selected (sel, NULL, &iter)) return FALSE;
+
+  gtk_tree_model_get (model, &iter, 0, &client, -1);
+
+  if (g_file_test (client->desktop_file, G_FILE_TEST_EXISTS) && 
+      access (client->desktop_file, W_OK) != 0)
+    return FALSE;
+
+  basename = g_path_get_basename (client->desktop_file);
+
+  system_dirs = g_get_system_data_dirs ();
+  for (i = 0; system_dirs[i] != NULL && can_edit; i++)
+    {
+      path = g_build_filename (system_dirs[i], "gnome", "autostart", basename, NULL);
+      if (g_file_test (path, G_FILE_TEST_EXISTS) && access (path, W_OK) != 0)
+        can_edit = FALSE;
+      g_free (path);
+    }
+
+  system_dirs = g_get_system_config_dirs ();
+  for (i = 0; system_dirs[i] != NULL && can_edit; i++)
+    {
+      path = g_build_filename (system_dirs[i], "autostart", basename, NULL);
+      if (g_file_test (path, G_FILE_TEST_EXISTS) && access (path, W_OK) != 0)
+        can_edit = FALSE;
+      g_free (path);
+    }
+
+  g_free (basename);
+  return can_edit;
+}
+
 /* Check if the selected client can be enabled */
 gboolean
 startup_list_can_enable (GSList **sl, GtkTreeModel *model, GtkTreeSelection *sel)
--- gnome-session-2.15.91/gnome-session/session-properties-capplet.c.desensitize-invalid-buttons	2006-08-14 14:02:21.000000000 -0400
+++ gnome-session-2.15.91/gnome-session/session-properties-capplet.c	2006-08-14 14:15:57.000000000 -0400
@@ -91,16 +91,14 @@ static void saved_sessions (GtkWidget *w
 #define SESSION_STOCK_EDIT "session-stock-edit"
 
 static void
-selection_changed_cb (GtkTreeSelection *selection, GtkTreeView *view)
+session_selection_changed_cb (GtkTreeSelection *selection, GtkTreeView *view)
 {
   gboolean sel;
   GtkWidget *edit_button;
   GtkWidget *delete_button;
-  GtkWidget *enable_button;
 
   edit_button = g_object_get_data (G_OBJECT (view), "edit");
   delete_button = g_object_get_data (G_OBJECT (view), "delete");
-  enable_button = g_object_get_data (G_OBJECT (view), "enable");
 
   sel = gtk_tree_selection_get_selected (selection, NULL, NULL);
 
@@ -109,29 +107,56 @@ selection_changed_cb (GtkTreeSelection *
 
   if (delete_button)
     gtk_widget_set_sensitive (delete_button, sel);
+}
+
+static void
+startup_selection_changed_cb (GtkTreeSelection *selection, GtkTreeView *view)
+{
+  gboolean sel, can_edit;
+  GtkWidget *edit_button;
+  GtkWidget *delete_button;
+  GtkWidget *enable_button;
 
-  if (enable_button)
+  edit_button = g_object_get_data (G_OBJECT (view), "edit");
+  delete_button = g_object_get_data (G_OBJECT (view), "delete");
+  enable_button = g_object_get_data (G_OBJECT (view), "enable");
+
+  if (!edit_button || !delete_button || !enable_button)
+    return;
+
+  sel = gtk_tree_selection_get_selected (selection, NULL, NULL);
+  can_edit = startup_list_can_edit (&startup_list, startup_store, startup_sel);
+
+  if (sel && can_edit) 
+    {
+      gtk_widget_set_sensitive (edit_button, TRUE);
+      gtk_widget_set_sensitive (delete_button, TRUE);
+    } 
+  else 
     {
-      if (sel)
+      gtk_widget_set_sensitive (edit_button, FALSE);
+      gtk_widget_set_sensitive (delete_button, FALSE);
+    }
+
+  if (sel)
+    {
+      if (startup_list_can_enable (&startup_list, startup_store, startup_sel))
         {
-          if (startup_list_can_enable (&startup_list, startup_store, startup_sel))
-            {
-              gtk_button_set_label (GTK_BUTTON (enable_button), _("Enable"));
-              gtk_button_set_image (GTK_BUTTON (enable_button),
-                                    gtk_image_new_from_stock (GTK_STOCK_YES, GTK_ICON_SIZE_BUTTON));
-            }
-          else
-            {
-              gtk_button_set_label (GTK_BUTTON (enable_button), _("Disable"));
-              gtk_button_set_image (GTK_BUTTON (enable_button),
-                                    gtk_image_new_from_stock (GTK_STOCK_NO, GTK_ICON_SIZE_BUTTON));
-            }
-          
-          gtk_widget_set_sensitive (enable_button, TRUE);
+          gtk_button_set_label (GTK_BUTTON (enable_button), _("Enable"));
+          gtk_button_set_image (GTK_BUTTON (enable_button),
+                                gtk_image_new_from_stock (GTK_STOCK_YES, GTK_ICON_SIZE_BUTTON));
         }
       else
-        gtk_widget_set_sensitive (enable_button, FALSE);
+        {
+          gtk_button_set_label (GTK_BUTTON (enable_button), _("Disable"));
+          gtk_button_set_image (GTK_BUTTON (enable_button),
+                                gtk_image_new_from_stock (GTK_STOCK_NO, GTK_ICON_SIZE_BUTTON));
+        }
+      
+      gtk_widget_set_sensitive (enable_button, TRUE);
     }
+  else
+    gtk_widget_set_sensitive (enable_button, FALSE);
 }
 
 static void
@@ -345,7 +370,7 @@ capplet_build (void)
 		  		 GTK_WIDGET (sessions_view));
   sessions_sel = gtk_tree_view_get_selection (sessions_view);
   gtk_tree_selection_set_mode (sessions_sel, GTK_SELECTION_SINGLE);
-  g_signal_connect (G_OBJECT (sessions_sel), "changed", (GCallback) selection_changed_cb, sessions_view);
+  g_signal_connect (G_OBJECT (sessions_sel), "changed", (GCallback) session_selection_changed_cb, sessions_view);
   renderer = gtk_cell_renderer_text_new ();
   column = gtk_tree_view_column_new_with_attributes (_("Session Name"), renderer, "text", 0, NULL);
   gtk_tree_view_append_column (sessions_view, column);
@@ -433,7 +458,7 @@ capplet_build (void)
 		  		 GTK_WIDGET (startup_view));
   startup_sel = gtk_tree_view_get_selection (startup_view);
   gtk_tree_selection_set_mode (startup_sel, GTK_SELECTION_SINGLE);
-  g_signal_connect (G_OBJECT (startup_sel), "changed", (GCallback) selection_changed_cb, startup_view);
+  g_signal_connect (G_OBJECT (startup_sel), "changed", (GCallback) startup_selection_changed_cb, startup_view);
   renderer = gtk_cell_renderer_text_new ();
   column = gtk_tree_view_column_new_with_attributes (_("Command"), renderer, "text", 2, NULL);
   gtk_tree_view_append_column (startup_view, column);
@@ -604,7 +629,7 @@ enable_startup_cb (void)
   else
     startup_list_disable (&startup_list, startup_store, startup_sel);
 
-  selection_changed_cb (startup_sel, startup_view);
+  startup_selection_changed_cb (startup_sel, startup_view);
 }
 
 static void 
--- gnome-session-2.15.91/gnome-session/session-properties-capplet.h.desensitize-invalid-buttons	2006-08-14 14:01:51.000000000 -0400
+++ gnome-session-2.15.91/gnome-session/session-properties-capplet.h	2006-08-14 14:02:09.000000000 -0400
@@ -34,6 +34,8 @@ void	startup_list_edit_dialog (GSList **
 void	startup_list_delete (GSList **sl, 
 			     GtkTreeModel *model, GtkTreeSelection *sel);
 
+gboolean startup_list_can_edit (GSList **sl, GtkTreeModel *model, GtkTreeSelection *sel);
+
 gboolean startup_list_can_enable (GSList **sl, GtkTreeModel *model, GtkTreeSelection *sel);
 void     startup_list_enable (GSList **sl, GtkTreeModel *model, GtkTreeSelection *sel);
 void     startup_list_disable (GSList **sl, GtkTreeModel *model, GtkTreeSelection *sel);


Index: gnome-session.spec
===================================================================
RCS file: /cvs/dist/rpms/gnome-session/devel/gnome-session.spec,v
retrieving revision 1.81
retrieving revision 1.82
diff -u -r1.81 -r1.82
--- gnome-session.spec	13 Aug 2006 04:06:03 -0000	1.81
+++ gnome-session.spec	14 Aug 2006 18:24:52 -0000	1.82
@@ -13,8 +13,8 @@
 
 Summary: GNOME session manager
 Name: gnome-session
-Version: 2.15.90
-Release: 4%{?dist}
+Version: 2.15.91
+Release: 1%{?dist}
 URL: http://www.gnome.org
 Source0: %{name}-%{version}.tar.bz2
 Source1: redhat-default-session
@@ -40,16 +40,24 @@
 Patch1: gnome-session-2.2.2-icons.patch
 Patch2: gnome-session-2.0.5-login.patch
 Patch3: gnome-session-2.0.5-dithering.patch
+
 ## http://bugzilla.gnome.org/show_bug.cgi?id=106450
 Patch6: gnome-session-2.9.4-gnome-common.patch
+
 # Launch gnome-user-share on login if enabled
 Patch7: gnome-session-2.13.92-user-share.patch
+
 # do shaped window for splash screen
 Patch8: gnome-session-2.12.0-shaped.patch
+
 # too much crashing
 Patch9: gnome-session-2.13.4-no-crashes.patch
-Patch12: gnome-session-2.13.92-desensitize-invalid-buttons.patch
-Patch13: gnome-session-2.15.90-window-manager.patch
+
+# http://bugzilla.gnome.org/show_bug.cgi?id=333670
+Patch12: gnome-session-2.15.91-desensitize-invalid-buttons.patch
+
+# http://bugzilla.gnome.org/show_bug.cgi?id=350848
+Patch13: gnome-session-2.15.91-window-manager.patch
 
 BuildRequires: glib2-devel >= %{glib2_version}
 BuildRequires: pango-devel >= %{pango_version}
@@ -167,6 +175,9 @@
 %{_datadir}/gnome/autostart
 
 %changelog
+* Mon Aug 14 2006 Ray Strode <rstrode at redhat.com> - 2.15.91-1.fc6
+- Update to 2.15.91
+
 * Sun Aug 13 2006 Ray Strode <rstrode at redhat.com> - 2.15.90-4.fc6
 - fix window manager launching script. Patch from 
   Tim Vismor <tvismor at acm.org> (bug 202312)


--- gnome-session-2.13.92-desensitize-invalid-buttons.patch DELETED ---




More information about the fedora-cvs-commits mailing list