gtk+ r22390 - in trunk: . gtk



Author: hasselmm
Date: Sun Feb 22 17:21:37 2009
New Revision: 22390
URL: http://svn.gnome.org/viewvc/gtk+?rev=22390&view=rev

Log:
2009-02-19  Michael Hasselmann <michaelh openismus com>

	* gtk/gtkcombobox.c (gtk_combo_box_set_active_internal):
	Added a check to not emit a "changed" signal when an already
	invalid selection was set to invalid.

Modified:
   trunk/ChangeLog
   trunk/gtk/gtkcombobox.c

Modified: trunk/gtk/gtkcombobox.c
==============================================================================
--- trunk/gtk/gtkcombobox.c	(original)
+++ trunk/gtk/gtkcombobox.c	Sun Feb 22 17:21:37 2009
@@ -4866,7 +4866,10 @@
   GtkTreePath *active_path;
   gint path_cmp;
 
-  if (path && gtk_tree_row_reference_valid (priv->active_row))
+  /* Remember whether the initially active row is valid. */
+  gboolean is_valid_row_reference = gtk_tree_row_reference_valid (priv->active_row);
+
+  if (path && is_valid_row_reference)
     {
       active_path = gtk_tree_row_reference_get_path (priv->active_row);
       path_cmp = gtk_tree_path_compare (path, active_path);
@@ -4895,6 +4898,13 @@
 
       if (priv->cell_view)
         gtk_cell_view_set_displayed_row (GTK_CELL_VIEW (priv->cell_view), NULL);
+
+      /*
+       *  Do not emit a "changed" signal when an already invalid selection was
+       *  now set to invalid.
+       */
+      if (!is_valid_row_reference)
+        return;
     }
   else
     {



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]