diff --git a/clutter/clutter-text.c b/clutter/clutter-text.c index 9ece4b8d7..c57559560 100644 --- a/clutter/clutter-text.c +++ b/clutter/clutter-text.c @@ -284,6 +284,7 @@ clutter_text_create_layout_no_cache (ClutterText *text, pango_layout_set_alignment (layout, priv->alignment); pango_layout_set_single_paragraph_mode (layout, priv->single_line_mode); pango_layout_set_justify (layout, priv->justify); + pango_layout_set_wrap (layout, priv->wrap_mode); /* Cases, assuming ellipsize != NONE on actor: * @@ -309,11 +310,14 @@ clutter_text_create_layout_no_cache (ClutterText *text, } } - /* we do not limit the layout width on editable, single-line - * text actors, since those can scroll the layout + /* We do not limit the layout width on editable, single-line text + * actors, since those can scroll the layout. For non-editable + * actors we only want to set the width if wrapping or ellipsizing + * is enabled. */ if (allocation_width > 0 && - !(priv->editable && priv->single_line_mode)) + (priv->editable ? !priv->single_line_mode + : (priv->ellipsize != PANGO_ELLIPSIZE_NONE || priv->wrap))) { gint width; diff --git a/tests/conform/test-text-cache.c b/tests/conform/test-text-cache.c index f7237b1d6..ac650528d 100644 --- a/tests/conform/test-text-cache.c +++ b/tests/conform/test-text-cache.c @@ -202,7 +202,6 @@ do_tests (CallbackData *data) pango_layout_set_wrap (data->test_layout, PANGO_WRAP_WORD); g_assert (check_result (data, "Enable line wrap", TRUE) == FALSE); -#if 0 /* TEST 11: change wrap mode * FIXME - broken */ @@ -210,7 +209,6 @@ do_tests (CallbackData *data) PANGO_WRAP_CHAR); pango_layout_set_wrap (data->test_layout, PANGO_WRAP_CHAR); g_assert (check_result (data, "Change wrap mode", TRUE) == FALSE); -#endif /* TEST 12: enable justify */ clutter_text_set_justify (CLUTTER_TEXT (data->label), TRUE);