Index: gtkcellrenderertext.c
===================================================================
RCS file: /cvs/gnome/gtk+/gtk/gtkcellrenderertext.c,v
retrieving revision 1.89
diff -u -r1.89 gtkcellrenderertext.c
--- gtkcellrenderertext.c	14 Mar 2006 19:44:58 -0000	1.89
+++ gtkcellrenderertext.c	17 Mar 2006 12:08:05 -0000
@@ -1459,12 +1459,6 @@
     {
       pango_layout_set_width (layout, priv->wrap_width * PANGO_SCALE);
       pango_layout_set_wrap (layout, priv->wrap_mode);
-
-      if (pango_layout_get_line_count (layout) == 1)
-	{
-	  pango_layout_set_width (layout, -1);
-	  pango_layout_set_wrap (layout, PANGO_WRAP_CHAR);
-	}
     }
   else
     {
Index: gtkiconview.c
===================================================================
RCS file: /cvs/gnome/gtk+/gtk/gtkiconview.c,v
retrieving revision 1.94
diff -u -r1.94 gtkiconview.c
--- gtkiconview.c	6 Mar 2006 04:55:53 -0000	1.94
+++ gtkiconview.c	17 Mar 2006 12:08:07 -0000
@@ -2614,6 +2614,7 @@
 	wrap_width = item->width - pixbuf_width - icon_view->priv->spacing;
 
       g_object_set (text_info->cell, "wrap-width", wrap_width, NULL);
+      g_object_set (text_info->cell, "width", wrap_width, NULL);
     }
 }
 
@@ -4096,7 +4097,8 @@
       GtkTreePath *path;
 
       path = gtk_tree_path_new_from_indices (item->index, -1);
-      gtk_tree_model_get_iter (icon_view->priv->model, &iter, path);
+      if (!gtk_tree_model_get_iter (icon_view->priv->model, &iter, path))
+        return;
       gtk_tree_path_free (path);
     }
   else
@@ -4772,14 +4774,16 @@
 
       if (icon_view->priv->orientation == GTK_ORIENTATION_VERTICAL)
 	g_object_set (info->cell,
-		      "wrap_mode", PANGO_WRAP_CHAR,
+		      "alignment", PANGO_ALIGN_CENTER,
+		      "wrap_mode", PANGO_WRAP_WORD,
 		      "wrap_width", icon_view->priv->item_width,
-		      "xalign", 0.5,
+		      "xalign", 0.0,
 		      "yalign", 0.0,
 		      NULL);
       else
 	g_object_set (info->cell,
-		      "wrap_mode", PANGO_WRAP_CHAR,
+		      "alignment", PANGO_ALIGN_LEFT,
+		      "wrap_mode", PANGO_WRAP_WORD,
 		      "wrap_width", icon_view->priv->item_width,
 		      "xalign", 0.0,
 		      "yalign", 0.0,
@@ -8873,7 +8877,6 @@
   GtkWidget *widget;
   GtkIconView *icon_view;
   GtkIconViewItem *item;
-  GList *l;
 
   widget = GTK_ACCESSIBLE (selection)->widget;
   if (widget == NULL)
