File gtk2-216883-filechooser-fix-invisible-shortcuts.diff of Package gtk2

2007-01-24  Federico Mena Quintero  <federico@novell.com>

	Fix https://bugzilla.novell.com/show_bug.cgi?id=216883 - the file
	chooser in SAVE mode doesn't show the Home and Desktop items when
	uncollapsing the "browse for other folders" expander.

	* gtk/gtktreeview.c (gtk_tree_view_row_changed): Queue a resize
	for the rows even if the tree view is not realized.  Patch taken
	from http://bugzilla.gnome.org/show_bug.cgi?id=363147.

--- gtk+/gtk/gtktreeview.c	(revision 17089)
+++ gtk+/gtk/gtktreeview.c	(revision 17090)
@@ -8069,11 +8069,6 @@ gtk_tree_view_row_changed (GtkTreeModel 
 
   g_return_if_fail (path != NULL || iter != NULL);
 
-  if (!GTK_WIDGET_REALIZED (tree_view))
-    /* We can just ignore ::changed signals if we aren't realized, as we don't care about sizes
-     */
-    return;
-
   if (tree_view->priv->cursor != NULL)
     cursor_path = gtk_tree_row_reference_get_path (tree_view->priv->cursor);
   else
@@ -8110,7 +8105,8 @@ gtk_tree_view_row_changed (GtkTreeModel 
       && tree_view->priv->fixed_height >= 0)
     {
       _gtk_rbtree_node_set_height (tree, node, tree_view->priv->fixed_height);
-      gtk_tree_view_node_queue_redraw (tree_view, tree, node);
+      if (GTK_WIDGET_REALIZED (tree_view))
+	gtk_tree_view_node_queue_redraw (tree_view, tree, node);
     }
   else
     {
@@ -8131,7 +8127,7 @@ gtk_tree_view_row_changed (GtkTreeModel 
     }
 
  done:
-  if (!tree_view->priv->fixed_height_mode)
+  if (GTK_WIDGET_REALIZED (tree_view) && !tree_view->priv->fixed_height_mode)
     install_presize_handler (tree_view);
   if (free_path)
     gtk_tree_path_free (path);
openSUSE Build Service is sponsored by