Module: wine Branch: master Commit: 1ad1474be5705528a081295e461d3a39931ae96c URL: http://source.winehq.org/git/wine.git/?a=commit;h=1ad1474be5705528a081295e46...
Author: Aric Stewart aric@codeweavers.com Date: Tue Aug 23 12:55:49 2011 -0500
usp10: Always use a SCRIPT_STATE and SCRIPT_CONTROL structure in ScriptStringAnalyse.
---
dlls/usp10/usp10.c | 14 +++++++++++++- 1 files changed, 13 insertions(+), 1 deletions(-)
diff --git a/dlls/usp10/usp10.c b/dlls/usp10/usp10.c index 50de8bf..e6933bc 100644 --- a/dlls/usp10/usp10.c +++ b/dlls/usp10/usp10.c @@ -907,6 +907,8 @@ HRESULT WINAPI ScriptStringAnalyse(HDC hdc, const void *pString, int cString, { HRESULT hr = E_OUTOFMEMORY; StringAnalysis *analysis = NULL; + SCRIPT_CONTROL sControl; + SCRIPT_STATE sState; int i, num_items = 255;
TRACE("(%p,%p,%d,%d,%d,0x%x,%d,%p,%p,%p,%p,%p,%p)\n", @@ -928,7 +930,17 @@ HRESULT WINAPI ScriptStringAnalyse(HDC hdc, const void *pString, int cString, analysis->clip_len = cString; analysis->hdc = hdc;
- hr = ScriptItemize(pString, cString, num_items, psControl, psState, analysis->pItem, + if (psState) + sState = *psState; + else + memset(&sState, 0, sizeof(SCRIPT_STATE)); + + if (psControl) + sControl = *psControl; + else + memset(&sControl, 0, sizeof(SCRIPT_CONTROL)); + + hr = ScriptItemize(pString, cString, num_items, &sControl, &sState, analysis->pItem, &analysis->numItems);
while (hr == E_OUTOFMEMORY)