From 1c0aaf7dd27b5ed00a5319e0e0506287bd02f606 Mon Sep 17 00:00:00 2001 From: Huw Davies Date: Fri, 15 Feb 2013 16:13:41 +0000 Subject: [PATCH] riched20: Use ME_PointFromChar to calculate the caret position. --- dlls/riched20/caret.c | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/dlls/riched20/caret.c b/dlls/riched20/caret.c index 4986f6e9530..76c169b9ebe 100644 --- a/dlls/riched20/caret.c +++ b/dlls/riched20/caret.c @@ -205,7 +205,7 @@ ME_GetCursorCoordinates(ME_TextEditor *editor, ME_Cursor *pCursor, ME_DisplayItem *para = pCursor->pPara; ME_DisplayItem *pSizeRun = run; ME_Context c; - SIZE sz = {0, 0}; + int run_x; assert(height && x && y); assert(~para->member.para.nFlags & MEPF_REWRAP); @@ -235,18 +235,12 @@ ME_GetCursorCoordinates(ME_TextEditor *editor, ME_Cursor *pCursor, pSizeRun = run = tmp; assert(run); assert(run->type == diRun); - sz = ME_GetRunSize(&c, ¶->member.para, - &run->member.run, run->member.run.len, - row->member.row.nLMargin); } } - if (pCursor->nOffset) { - sz = ME_GetRunSize(&c, ¶->member.para, &run->member.run, - pCursor->nOffset, row->member.row.nLMargin); - } + run_x = ME_PointFromCharContext( &c, &run->member.run, pCursor->nOffset ); *height = pSizeRun->member.run.nAscent + pSizeRun->member.run.nDescent; - *x = c.rcView.left + run->member.run.pt.x + sz.cx - editor->horz_si.nPos; + *x = c.rcView.left + run->member.run.pt.x + run_x - editor->horz_si.nPos; *y = c.rcView.top + para->member.para.pt.y + row->member.row.nBaseline + run->member.run.pt.y - pSizeRun->member.run.nAscent - editor->vert_si.nPos;