Commit db399125 authored by Dylan Smith's avatar Dylan Smith Committed by Alexandre Julliard

richedit: Handle overflow of only spaces on first line of paragraph.

The uncommon case that this patch handles is enough whitespace being on the first line of a paragraph to cause it to wrap. In this case the first non-space character will be wrapped onto the next line.
parent feda29bb
......@@ -358,8 +358,19 @@ static ME_DisplayItem *ME_WrapHandleRun(ME_WrapContext *wc, ME_DisplayItem *p)
pp = ME_SplitByBacktracking(wc, p, loc);
if (pp == wc->pRowStart)
{
/* we have a row that starts with spaces, or a single large character
* which we cannot split. */
if (run->nFlags & MERF_STARTWHITE)
{
/* we had only spaces so far, so we must be on the first line of the
* paragraph, since no other lines of the paragraph start with spaces. */
assert(!wc->nRow);
/* The lines will only contain spaces, and the rest of the run will
* overflow onto the next line. */
wc->bOverflown = TRUE;
return p;
}
/* Couldn't split the first run, possible because we have a large font
* with a single character that caused an overflow.
*/
wc->pt.x += run->nWidth;
return p->next;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment