diff --git a/src/stc/ScintillaWX.cpp b/src/stc/ScintillaWX.cpp index 088c57f14c..9dcd59814c 100644 --- a/src/stc/ScintillaWX.cpp +++ b/src/stc/ScintillaWX.cpp @@ -395,7 +395,7 @@ bool ScintillaWX::ModifyScrollBars(int nMax, int nPage) { int vertEnd = nMax+1; if (!verticalScrollBarVisible) - vertEnd = 0; + nPage = vertEnd + 1; // Check the vertical scrollbar if (stc->m_vScrollBar == NULL) { // Use built-in scrollbar @@ -423,15 +423,15 @@ bool ScintillaWX::ModifyScrollBars(int nMax, int nPage) { int horizEnd = scrollWidth; if (horizEnd < 0) horizEnd = 0; + int pageWidth = static_cast(rcText.Width()); if (!horizontalScrollBarVisible || Wrapping()) - horizEnd = 0; - int pageWidth = wxRound(rcText.Width()); + pageWidth = horizEnd + 1; if (stc->m_hScrollBar == NULL) { // Use built-in scrollbar int sbMax = stc->GetScrollRange(wxHORIZONTAL); int sbThumb = stc->GetScrollThumb(wxHORIZONTAL); int sbPos = stc->GetScrollPos(wxHORIZONTAL); - if ((sbMax != horizEnd) || (sbThumb != pageWidth) || (sbPos != 0)) { + if ((sbMax != horizEnd) || (sbThumb != pageWidth)) { stc->SetScrollbar(wxHORIZONTAL, sbPos, pageWidth, horizEnd); modified = true; if (scrollWidth < pageWidth) { @@ -443,7 +443,7 @@ bool ScintillaWX::ModifyScrollBars(int nMax, int nPage) { int sbMax = stc->m_hScrollBar->GetRange(); int sbThumb = stc->m_hScrollBar->GetPageSize(); int sbPos = stc->m_hScrollBar->GetThumbPosition(); - if ((sbMax != horizEnd) || (sbThumb != pageWidth) || (sbPos != 0)) { + if ((sbMax != horizEnd) || (sbThumb != pageWidth)) { stc->m_hScrollBar->SetScrollbar(sbPos, pageWidth, horizEnd, pageWidth); modified = true; if (scrollWidth < pageWidth) {