TextLayout: Clarify implementation of special case

This exists to exit early for invisible lines. It attempts to use the
LineDisplay’s direction to create a corresponding PangoLayout. However,
the dir is not yet set by this point, & the display was new0()d, so its
dir is always 0 == TEXT_DIR_NONE. Thus, we always create an LTR layout.

Whatever the original intent, this outcome seems to be OK, so let’s make
the code say what it means, rather than using a misleading conditional.

https://bugzilla.gnome.org/show_bug.cgi?id=779099
This commit is contained in:
Daniel Boles 2017-03-01 20:10:55 +00:00 committed by Matthias Clasen
parent f42ebef9d1
commit db4895fbe5

View File

@ -2299,11 +2299,7 @@ gtk_text_layout_get_line_display (GtkTextLayout *layout,
*/
if (totally_invisible_line (layout, line, &iter))
{
if (display->direction == GTK_TEXT_DIR_RTL)
display->layout = pango_layout_new (layout->rtl_context);
else
display->layout = pango_layout_new (layout->ltr_context);
display->layout = pango_layout_new (layout->ltr_context);
return display;
}