diff --git a/src/Edit.c b/src/Edit.c index 2757bf346..3c53f963b 100644 --- a/src/Edit.c +++ b/src/Edit.c @@ -4387,11 +4387,6 @@ void EditEnsureSelectionVisible(HWND hwnd) else { iAnchorPos = SciCall_GetAnchor(); iCurrentPos = SciCall_GetCurrentPos(); - if (SciCall_IsSelectionEmpty()) { - SciCall_ScrollCaret(); - SciCall_ChooseCaretX(); - return; - } } EditSelectEx(hwnd, iAnchorPos, iCurrentPos, iAnchorPosVS, iCurPosVS); } @@ -8103,7 +8098,7 @@ void EditToggleFolds(FOLD_ACTION action, bool bForceAll) } } } - if (fToggled) { SciCall_ScrollCaret(); } + if (fToggled) { EditEnsureSelectionVisible(g_hwndEdit); } } diff --git a/src/Notepad3.c b/src/Notepad3.c index c9698a0d3..cd4d46737 100644 --- a/src/Notepad3.c +++ b/src/Notepad3.c @@ -4531,10 +4531,13 @@ LRESULT MsgCommand(HWND hwnd, WPARAM wParam, LPARAM lParam) case IDM_VIEW_WORDWRAP: g_bWordWrap = (g_bWordWrap) ? false : true; - if (!g_bWordWrap) - SendMessage(g_hwndEdit,SCI_SETWRAPMODE,SC_WRAP_NONE,0); - else - SendMessage(g_hwndEdit,SCI_SETWRAPMODE,(iWordWrapMode == 0) ? SC_WRAP_WHITESPACE : SC_WRAP_CHAR,0); + if (!g_bWordWrap) { + SciCall_SetWrapMode(SC_WRAP_NONE); + } + else { + SciCall_SetWrapMode((iWordWrapMode == 0) ? SC_WRAP_WHITESPACE : SC_WRAP_CHAR); + } + EditEnsureSelectionVisible(g_hwndEdit); bWordWrapG = g_bWordWrap; UpdateToolbar(); break; diff --git a/src/SciCall.h b/src/SciCall.h index 8e680cb66..bf8ec3433 100644 --- a/src/SciCall.h +++ b/src/SciCall.h @@ -265,6 +265,8 @@ DeclareSciCallV1(SetFirstVisibleLine, SETFIRSTVISIBLELINE, DocLn, line) DeclareSciCallR1(VisibleFromDocLine, VISIBLEFROMDOCLINE, DocLn, DocLn, line) DeclareSciCallR1(DocLineFromVisible, DOCLINEFROMVISIBLE, DocLn, DocLn, line) +DeclareSciCallV1(SetWrapMode, SETWRAPMODE, int, mode) + //============================================================================= //