riched20: Use CharFromPos instead of FindPixelPos in LinkNotify so it accounts for scrolling.

This commit is contained in:
Matt Finnicum 2007-01-23 14:44:29 -06:00 committed by Alexandre Julliard
parent dbcf2e391c
commit f12e6232a2
1 changed files with 7 additions and 4 deletions

View File

@ -2581,15 +2581,18 @@ void ME_LinkNotify(ME_TextEditor *editor, UINT msg, WPARAM wParam, LPARAM lParam
{ {
int x,y; int x,y;
ME_Cursor tmpCursor; ME_Cursor tmpCursor;
int nCharOfs; /* The start of the clicked text. Absolute character offset */
ME_Run *tmpRun; ME_Run *tmpRun;
BOOL bNothing;
ENLINK info; ENLINK info;
x = (short)LOWORD(lParam); x = (short)LOWORD(lParam);
y = (short)HIWORD(lParam); y = (short)HIWORD(lParam);
ME_FindPixelPos(editor, x, y, &tmpCursor, &bNothing); nCharOfs = ME_CharFromPos(editor, x, y);
ME_CursorFromCharOfs(editor, nCharOfs, &tmpCursor);
tmpRun = &tmpCursor.pRun->member.run; tmpRun = &tmpCursor.pRun->member.run;
if ((tmpRun->style->fmt.dwMask & CFM_LINK) if ((tmpRun->style->fmt.dwMask & CFM_LINK)
&& (tmpRun->style->fmt.dwEffects & CFE_LINK)) && (tmpRun->style->fmt.dwEffects & CFE_LINK))
{ /* The clicked run has CFE_LINK set */ { /* The clicked run has CFE_LINK set */
info.nmhdr.hwndFrom = editor->hWnd; info.nmhdr.hwndFrom = editor->hWnd;