Dylan Smith : richedit: Use 32-bit rather than 16-bit trackbar value for scrolling.

Alexandre Julliard julliard at winehq.org
Tue Jan 6 08:23:01 CST 2009


Module: wine
Branch: master
Commit: f36191051416977796e4ec2a7990e36d9a73df23
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=f36191051416977796e4ec2a7990e36d9a73df23

Author: Dylan Smith <dylan.ah.smith at gmail.com>
Date:   Tue Jan  6 00:34:28 2009 -0500

richedit: Use 32-bit rather than 16-bit trackbar value for scrolling.

---

 dlls/riched20/editor.c |   12 +++++++++++-
 1 files changed, 11 insertions(+), 1 deletions(-)

diff --git a/dlls/riched20/editor.c b/dlls/riched20/editor.c
index abb9078..c7b8f40 100644
--- a/dlls/riched20/editor.c
+++ b/dlls/riched20/editor.c
@@ -4004,8 +4004,18 @@ LRESULT ME_HandleMessage(ME_TextEditor *editor, UINT msg, WPARAM wParam,
         break;
       case SB_THUMBTRACK:
       case SB_THUMBPOSITION:
-        ME_ScrollAbs(editor,HIWORD(wParam));
+      {
+        SCROLLINFO sbi;
+        sbi.cbSize = sizeof(sbi);
+        sbi.fMask = SIF_TRACKPOS;
+        /* Try to get 32-bit track position value. */
+        if (!GetScrollInfo(editor->hWnd, SB_VERT, &sbi))
+          /* GetScrollInfo failed, settle for 16-bit value in wParam. */
+          sbi.nTrackPos = HIWORD(wParam);
+
+        ME_ScrollAbs(editor, sbi.nTrackPos);
         break;
+      }
     }
     if (msg == EM_SCROLL)
       return 0x00010000 | (((ME_GetYScrollPos(editor) - origNPos)/lineHeight) & 0xffff);




More information about the wine-cvs mailing list