From: Kim F. Storm Date: Mon, 19 Feb 2007 10:56:04 +0000 (+0000) Subject: (w32_set_scroll_bar_thumb): Don't update thumb size X-Git-Tag: emacs-pretest-22.0.94~72 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=f65aa365b70b002762f81bc1d2267ed97dca95d2;p=emacs.git (w32_set_scroll_bar_thumb): Don't update thumb size while dragging to avoid "random scrolling" effects. Disable unused code. --- diff --git a/src/w32term.c b/src/w32term.c index 58ea99ff46c..62859040020 100644 --- a/src/w32term.c +++ b/src/w32term.c @@ -3478,8 +3478,25 @@ w32_set_scroll_bar_thumb (bar, portion, position, whole) 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 @@ w32_set_scroll_bar_thumb (bar, portion, position, whole) + VERTICAL_SCROLL_BAR_MIN_HANDLE; sb_pos = range; } +#endif sb_page = portion * range / whole + VERTICAL_SCROLL_BAR_MIN_HANDLE; sb_pos = position * range / whole;