Module: wine Branch: master Commit: 483116a89e96430b9ce41b629e5c75b52d45e7cc URL: http://source.winehq.org/git/wine.git/?a=commit;h=483116a89e96430b9ce41b629e...
Author: Lei Zhang thestig@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 */