[PATCH] user32/edit: Don't set caret position when we don't have focus.

Alistair Leslie-Hughes leslie_alistair at hotmail.com
Thu Dec 6 15:23:47 CST 2018


Signed-off-by: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>
---
 dlls/user32/edit.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/dlls/user32/edit.c b/dlls/user32/edit.c
index 48c65ea..6f8f412 100644
--- a/dlls/user32/edit.c
+++ b/dlls/user32/edit.c
@@ -1799,9 +1799,14 @@ static LRESULT EDIT_EM_Scroll(EDITSTATE *es, INT action)
 static void EDIT_SetCaretPos(EDITSTATE *es, INT pos,
 			     BOOL after_wrap)
 {
-	LRESULT res = EDIT_EM_PosFromChar(es, pos, after_wrap);
-	TRACE("%d - %dx%d\n", pos, (short)LOWORD(res), (short)HIWORD(res));
-	SetCaretPos((short)LOWORD(res), (short)HIWORD(res));
+	LRESULT res;
+
+	if (es->flags & EF_FOCUSED)
+	{
+		res = EDIT_EM_PosFromChar(es, pos, after_wrap);
+		TRACE("%d - %dx%d\n", pos, (short)LOWORD(res), (short)HIWORD(res));
+		SetCaretPos((short)LOWORD(res), (short)HIWORD(res));
+	}
 }
 
 
@@ -1870,7 +1875,6 @@ static void EDIT_EM_ScrollCaret(EDITSTATE *es)
 		}
 	}
 
-    if(es->flags & EF_FOCUSED)
 	EDIT_SetCaretPos(es, es->selection_end, es->flags & EF_AFTER_WRAP);
 }
 
-- 
1.9.1




More information about the wine-devel mailing list