Index: gtk/gtklabel.c
===================================================================
RCS file: /cvs/gnome/gtk+/gtk/gtklabel.c,v
retrieving revision 1.194
diff -u -p -r1.194 gtklabel.c
--- gtk/gtklabel.c	12 Jan 2006 04:33:33 -0000	1.194
+++ gtk/gtklabel.c	23 Jan 2006 19:53:52 -0000
@@ -2220,11 +2220,19 @@ get_layout_location (GtkLabel  *label,
 
   if (label->ellipsize || priv->width_chars > 0)
     {
+      int width;
       PangoRectangle ink_rect;
 
-      pango_layout_get_extents (label->layout, &ink_rect, NULL);
-
-      req_width = PANGO_PIXELS (ink_rect.width);
+      width = pango_layout_get_width (label->layout);
+      if (width == -1)
+        {
+	  pango_layout_get_extents (label->layout, &ink_rect, NULL);
+	  req_width = PANGO_PIXELS (ink_rect.width);
+	}
+      else
+       {
+	  req_width = PANGO_PIXELS (width);
+       }
     }
   else
     req_width = widget->requisition.width;
