diff options
author | nyamatongwe <unknown> | 2008-01-08 01:08:01 +0000 |
---|---|---|
committer | nyamatongwe <unknown> | 2008-01-08 01:08:01 +0000 |
commit | a78b038300f9cdf02619bb867c56541e57a3dada (patch) | |
tree | a1568230983194fd43d6db1f71f0931a7eca770a | |
parent | bd677e9d340f49c1b99d9dd8c0dccb52e84a8ff3 (diff) | |
download | scintilla-mirror-a78b038300f9cdf02619bb867c56541e57a3dada.tar.gz |
Fixes horizontal scroll when document is wide and scroll position does
not fit into 16 bits.
-rw-r--r-- | win32/ScintillaWin.cxx | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/win32/ScintillaWin.cxx b/win32/ScintillaWin.cxx index 19c82671e..1ee30d444 100644 --- a/win32/ScintillaWin.cxx +++ b/win32/ScintillaWin.cxx @@ -1934,10 +1934,15 @@ void ScintillaWin::HorizontalScrollMessage(WPARAM wParam) { xPos = scrollWidth; break; case SB_THUMBPOSITION: - xPos = HiWord(wParam); - break; - case SB_THUMBTRACK: - xPos = HiWord(wParam); + case SB_THUMBTRACK: { + // Do NOT use wParam, its 16 bit and not enough for very long lines. Its still possible to overflow the 32 bit but you have to try harder =] + SCROLLINFO si; + si.cbSize = sizeof(si); + si.fMask = SIF_TRACKPOS; + if (GetScrollInfo(SB_HORZ, &si)) { + xPos = si.nTrackPos; + } + } break; } HorizontalScrollTo(xPos); |