Commit 92aa57be authored by Evan Stade's avatar Evan Stade Committed by Alexandre Julliard

gdiplus: Fixed 2 GdipDrawString bugs.

parent a51cf1d3
......@@ -1355,8 +1355,8 @@ GpStatus WINGDIPAPI GdipDrawString(GpGraphics *graphics, GDIPCONST WCHAR *string
length = j;
while(sum < length){
GetTextExtentExPointW(graphics->hdc, stringdup, length, nwidth,
&fit, NULL, &size);
GetTextExtentExPointW(graphics->hdc, stringdup + sum, length - sum,
nwidth, &fit, NULL, &size);
fitcpy = fit;
if(fit == 0){
......@@ -1374,21 +1374,23 @@ GpStatus WINGDIPAPI GdipDrawString(GpGraphics *graphics, GDIPCONST WCHAR *string
/* Line break code (may look strange, but it imitates windows). */
if(lret < fit)
fit = lret; /* this is not an off-by-one error */
else if(*(stringdup + sum + fit) == ' ')
while(*(stringdup + sum + fit) == ' ')
fit++;
else
while(*(stringdup + sum + fit - 1) != ' '){
fit--;
if(*(stringdup + sum + fit) == '\t')
break;
if(fit == 0){
fit = fitcpy;
break;
else if(fit < (length - sum)){
if(*(stringdup + sum + fit) == ' ')
while(*(stringdup + sum + fit) == ' ')
fit++;
else
while(*(stringdup + sum + fit - 1) != ' '){
fit--;
if(*(stringdup + sum + fit) == '\t')
break;
if(fit == 0){
fit = fitcpy;
break;
}
}
}
}
TabbedTextOutW(graphics->hdc,
corners[0].x - roundr(ang_sin * (REAL) height),
......
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