Alistair Leslie-Hughes : user32/edit: Don't set caret position when we don 't have focus.

Alexandre Julliard julliard at winehq.org
Wed Dec 12 15:16:19 CST 2018


Module: wine
Branch: master
Commit: 7b742485f901fd305833d37ba602b5efe4dfc44f
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=7b742485f901fd305833d37ba602b5efe4dfc44f

Author: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>
Date:   Thu Dec  6 21:23:47 2018 +0000

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

Signed-off-by: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>
Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 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);
 }
 




More information about the wine-cvs mailing list