Matteo Bruni : d3dx9: Check for successful sprite draw in DrawTextW().
Module: wine Branch: master Commit: bc1ba439424877a37504162b15a25344d5ab8505 URL: https://gitlab.winehq.org/wine/wine/-/commit/bc1ba439424877a37504162b15a2534... Author: Matteo Bruni <mbruni(a)codeweavers.com> Date: Fri Dec 1 23:29:53 2023 +0100 d3dx9: Check for successful sprite draw in DrawTextW(). --- dlls/d3dx9_36/font.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/dlls/d3dx9_36/font.c b/dlls/d3dx9_36/font.c index cc447e68f22..67058d91ecb 100644 --- a/dlls/d3dx9_36/font.c +++ b/dlls/d3dx9_36/font.c @@ -656,6 +656,7 @@ static INT WINAPI ID3DXFontImpl_DrawTextW(ID3DXFont *iface, ID3DXSprite *sprite, unsigned int count; RECT r = {0}; WCHAR *line; + HRESULT hr; SIZE size; TRACE("iface %p, sprite %p, string %s, in_count %d, rect %s, format %#lx, color 0x%08lx.\n", @@ -775,8 +776,14 @@ static INT WINAPI ID3DXFontImpl_DrawTextW(ID3DXFont *iface, ID3DXSprite *sprite, black_box.bottom = black_box.top + rect->bottom - pos.y; } - ID3DXSprite_Draw(target, texture, &black_box, NULL, &pos, color); + hr = ID3DXSprite_Draw(target, texture, &black_box, NULL, &pos, color); IDirect3DTexture9_Release(texture); + if (FAILED(hr)) + { + free(results.lpCaretPos); + free(results.lpGlyphs); + goto cleanup; + } } free(results.lpCaretPos);
participants (1)
-
Alexandre Julliard