diff -r b49cf8395bfa -r d2e639b92d79 console/libgnt/gnttextview.c --- a/console/libgnt/gnttextview.c Fri Sep 01 02:07:23 2006 +0000 +++ b/console/libgnt/gnttextview.c Fri Sep 01 02:44:46 2006 +0000 @@ -324,8 +324,17 @@ } line = view->list->data; - end = gnt_util_onscreen_width_to_pointer(start, - widget->priv.width - line->length - 1, &len); + if ((end = strchr(start, '\n')) != NULL || + (end = strchr(start, '\r')) != NULL) { + int l = gnt_util_onscreen_width(start, end - 1); + if (l >= widget->priv.width - line->length - 1) { + end = NULL; + } + } + + if (end == NULL) + end = gnt_util_onscreen_width_to_pointer(start, + widget->priv.width - line->length - 1, &len); seg = g_new0(GntTextSegment, 1); seg->start = start - view->string->str;