diff --git a/dlls/d3dx9_36/font.c b/dlls/d3dx9_36/font.c index 3645903367b..54b1574bb1f 100644 --- a/dlls/d3dx9_36/font.c +++ b/dlls/d3dx9_36/font.c @@ -629,17 +629,8 @@ static INT WINAPI ID3DXFontImpl_DrawTextW(ID3DXFont *iface, ID3DXSprite *sprite, if (format & DT_SINGLELINE) format &= ~DT_WORDBREAK; - if (!rect) - { - y = ID3DXFont_DrawTextW(iface, NULL, string, count, &textrect, format | DT_CALCRECT, 0); - - if (format & DT_CALCRECT) - return y; - } - else - { + if (rect) textrect = *rect; - } x = textrect.left; y = textrect.top; @@ -716,7 +707,7 @@ static INT WINAPI ID3DXFontImpl_DrawTextW(ID3DXFont *iface, ID3DXSprite *sprite, break; } - if (format & DT_CALCRECT) + if (format & DT_CALCRECT && rect) { *rect = textrect;