Lei Zhang : user32: Handle ctrl + end in edit control.
Alexandre Julliard
julliard at winehq.org
Tue Apr 15 08:47:35 CDT 2008
Module: wine
Branch: master
Commit: 483116a89e96430b9ce41b629e5c75b52d45e7cc
URL: http://source.winehq.org/git/wine.git/?a=commit;h=483116a89e96430b9ce41b629e5c75b52d45e7cc
Author: Lei Zhang <thestig at google.com>
Date: Mon Apr 14 17:18:40 2008 -0700
user32: Handle ctrl + end in edit control.
---
dlls/user32/edit.c | 10 +++++-----
1 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/dlls/user32/edit.c b/dlls/user32/edit.c
index e367e6e..a5265e9 100644
--- a/dlls/user32/edit.c
+++ b/dlls/user32/edit.c
@@ -211,7 +211,7 @@ static void EDIT_LockBuffer(EDITSTATE *es);
static BOOL EDIT_MakeFit(EDITSTATE *es, UINT size);
static BOOL EDIT_MakeUndoFit(EDITSTATE *es, UINT size);
static void EDIT_MoveBackward(EDITSTATE *es, BOOL extend);
-static void EDIT_MoveEnd(EDITSTATE *es, BOOL extend);
+static void EDIT_MoveEnd(EDITSTATE *es, BOOL extend, BOOL ctrl);
static void EDIT_MoveForward(EDITSTATE *es, BOOL extend);
static void EDIT_MoveHome(EDITSTATE *es, BOOL extend, BOOL ctrl);
static void EDIT_MoveWordBackward(EDITSTATE *es, BOOL extend);
@@ -2012,13 +2012,13 @@ static void EDIT_MoveDown_ML(EDITSTATE *es, BOOL extend)
* EDIT_MoveEnd
*
*/
-static void EDIT_MoveEnd(EDITSTATE *es, BOOL extend)
+static void EDIT_MoveEnd(EDITSTATE *es, BOOL extend, BOOL ctrl)
{
BOOL after_wrap = FALSE;
INT e;
/* Pass a high value in x to make sure of receiving the end of the line */
- if (es->style & ES_MULTILINE)
+ if (!ctrl && (es->style & ES_MULTILINE))
e = EDIT_CharFromPos(es, 0x3fffffff,
HIWORD(EDIT_EM_PosFromChar(es, es->selection_end, es->flags & EF_AFTER_WRAP)), &after_wrap);
else
@@ -4568,7 +4568,7 @@ static LRESULT EDIT_WM_KeyDown(EDITSTATE *es, INT key)
EDIT_MoveHome(es, shift, control);
break;
case VK_END:
- EDIT_MoveEnd(es, shift);
+ EDIT_MoveEnd(es, shift, control);
break;
case VK_PRIOR:
if (es->style & ES_MULTILINE)
@@ -4598,7 +4598,7 @@ static LRESULT EDIT_WM_KeyDown(EDITSTATE *es, INT key)
} else if (control) {
/* delete to end of line */
EDIT_EM_SetSel(es, (UINT)-1, 0, FALSE);
- EDIT_MoveEnd(es, TRUE);
+ EDIT_MoveEnd(es, TRUE, FALSE);
EDIT_WM_Clear(es);
} else {
/* delete character right of caret */
More information about the wine-cvs
mailing list