# HG changeset patch # User Kim F. Storm # Date 1171882564 0 # Node ID dea718e903a06a35e8e5da0764156de5cf3321fc # Parent ab0af4540bf8868cd6ca0094d9ed39b0c075ebf1 (w32_set_scroll_bar_thumb): Don't update thumb size while dragging to avoid "random scrolling" effects. Disable unused code. diff -r ab0af4540bf8 -r dea718e903a0 src/w32term.c --- a/src/w32term.c Mon Feb 19 10:55:47 2007 +0000 +++ b/src/w32term.c Mon Feb 19 10:56:04 2007 +0000 @@ -3478,8 +3478,25 @@ BOOL draggingp = !NILP (bar->dragging) ? TRUE : FALSE; SCROLLINFO si; + /* Dragging the w32 scroll-bar handle in a file like INSTALL.CVS + gives very odd scrolling behaviour with the code below which + "only updates page size if currently dragging". The cause + seems to be that the W32 api may "silently" adjust the thumb + position when the thumb page is change. + + So simply don't make any updates to the scroll-bar geometry + while dragging. KFS 2007-02-19. */ + + if (draggingp) + return; + if (whole) { +#if 0 + /* This code is not used (the settings are overwritten + immediately by the lines below it). + Should it be used? KFS 2007-02-19. */ + /* Position scroll bar at rock bottom if the bottom of the buffer is visible. This avoids shinking the thumb away to nothing if it is held at the bottom of the buffer. */ @@ -3489,6 +3506,7 @@ + VERTICAL_SCROLL_BAR_MIN_HANDLE; sb_pos = range; } +#endif sb_page = portion * range / whole + VERTICAL_SCROLL_BAR_MIN_HANDLE; sb_pos = position * range / whole;