From 64adeb0285805304f36c4a81eb908acb4fc88932 Mon Sep 17 00:00:00 2001 From: Aric Stewart Date: Tue, 1 Nov 2011 10:09:37 -0500 Subject: [PATCH] user32: Early versions of usp10 are not well behaved with ScriptString_pSize when SCRIPT_STRING_ANALYSIS is NULL. --- dlls/user32/edit.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/dlls/user32/edit.c b/dlls/user32/edit.c index 23033b8bd1c..a0bc962d08f 100644 --- a/dlls/user32/edit.c +++ b/dlls/user32/edit.c @@ -783,12 +783,13 @@ static void EDIT_BuildLineDefs_ML(EDITSTATE *es, INT istart, INT iend, INT delta */ static void EDIT_CalcLineWidth_SL(EDITSTATE *es) { - const SIZE *size; - EDIT_UpdateUniscribeData(es, NULL, 0); - size = ScriptString_pSize(es->ssa); - if (size) + if (es->ssa) + { + const SIZE *size; + size = ScriptString_pSize(es->ssa); es->text_width = size->cx; + } else es->text_width = 0; } @@ -884,8 +885,9 @@ static INT EDIT_CharFromPos(EDITSTATE *es, INT x, INT y, LPBOOL after_wrap) { if (x) { - const SIZE *size; - size = ScriptString_pSize(es->ssa); + const SIZE *size = NULL; + if (es->ssa) + size = ScriptString_pSize(es->ssa); if (!size) index = 0; else if (x > size->cx)