diff --git a/PowerEditor/src/Notepad_plus.cpp b/PowerEditor/src/Notepad_plus.cpp index 8a8064911..5eba86294 100644 --- a/PowerEditor/src/Notepad_plus.cpp +++ b/PowerEditor/src/Notepad_plus.cpp @@ -273,9 +273,6 @@ LRESULT Notepad_plus::init(HWND hwnd) _mainEditView.setWrapMode(svp._lineWrapMethod); _subEditView.setWrapMode(svp._lineWrapMethod); - _mainEditView.execute(SCI_SETCARETLINEVISIBLE, svp._currentLineHilitingShow); - _subEditView.execute(SCI_SETCARETLINEVISIBLE, svp._currentLineHilitingShow); - _mainEditView.execute(SCI_SETENDATLASTLINE, !svp._scrollBeyondLastLine); _subEditView.execute(SCI_SETENDATLASTLINE, !svp._scrollBeyondLastLine); diff --git a/PowerEditor/src/NppCommands.cpp b/PowerEditor/src/NppCommands.cpp index 809dbd152..ba1017eb4 100644 --- a/PowerEditor/src/NppCommands.cpp +++ b/PowerEditor/src/NppCommands.cpp @@ -3744,9 +3744,13 @@ void Notepad_plus::command(int id) case IDM_VIEW_CURLINE_HILITING: { - COLORREF colour = (NppParameters::getInstance()).getCurLineHilitingColour(); - _mainEditView.setCurrentLineHiLiting(!_pEditView->isCurrentLineHiLiting(), colour); - _subEditView.setCurrentLineHiLiting(!_pEditView->isCurrentLineHiLiting(), colour); + NppParameters& nppParams = NppParameters::getInstance(); + + COLORREF colour{ nppParams.getCurLineHilitingColour() }; + bool hilite{ nppParams.getSVP()._currentLineHilitingShow }; + + _mainEditView.setCurrentLineHiLiting(hilite, colour); + _subEditView.setCurrentLineHiLiting(hilite, colour); } break; diff --git a/PowerEditor/src/ScintillaComponent/ScintillaEditView.cpp b/PowerEditor/src/ScintillaComponent/ScintillaEditView.cpp index b53efa440..72771ea45 100644 --- a/PowerEditor/src/ScintillaComponent/ScintillaEditView.cpp +++ b/PowerEditor/src/ScintillaComponent/ScintillaEditView.cpp @@ -2567,12 +2567,16 @@ void ScintillaEditView::expand(size_t& line, bool doExpand, bool force, intptr_t void ScintillaEditView::performGlobalStyles() { NppParameters& nppParams = NppParameters::getInstance(); - StyleArray & stylers = nppParams.getMiscStylerArray(); + StyleArray& stylers = nppParams.getMiscStylerArray(); + const Style* pStyle{}; - const Style * pStyle = stylers.findByName(TEXT("Current line background colour")); - if (pStyle) + if (nppParams.getSVP()._currentLineHilitingShow) { - execute(SCI_SETCARETLINEBACK, pStyle->_bgColor); + pStyle = stylers.findByName(TEXT("Current line background colour")); + if (pStyle) + { + execute(SCI_SETELEMENTCOLOUR, SC_ELEMENT_CARET_LINE_BACK, pStyle->_bgColor); + } } COLORREF selectColorBack = grey; diff --git a/PowerEditor/src/ScintillaComponent/ScintillaEditView.h b/PowerEditor/src/ScintillaComponent/ScintillaEditView.h index 72e1574a7..8d6843fb0 100644 --- a/PowerEditor/src/ScintillaComponent/ScintillaEditView.h +++ b/PowerEditor/src/ScintillaComponent/ScintillaEditView.h @@ -469,14 +469,10 @@ public: void setCurrentLineHiLiting(bool isHiliting, COLORREF bgColor) const { - execute(SCI_SETCARETLINEVISIBLE, isHiliting); - if (!isHiliting) - return; - execute(SCI_SETCARETLINEBACK, bgColor); - }; - - bool isCurrentLineHiLiting() const { - return (execute(SCI_GETCARETLINEVISIBLE) != 0); + if (isHiliting) + execute(SCI_SETELEMENTCOLOUR, SC_ELEMENT_CARET_LINE_BACK, bgColor); + else + execute(SCI_RESETELEMENTCOLOUR, SC_ELEMENT_CARET_LINE_BACK, NULL); }; void performGlobalStyles();