From be541dbd983a3d33cc41473c8ea42d515369410f Mon Sep 17 00:00:00 2001 From: hobbs Date: Fri, 21 Feb 2003 02:07:50 +0000 Subject: * win/tkWinScrlbr.c (UpdateScrollbar): use SIF_DISABLENOSCROLL to "disable" scrollbar when on Windows when there is nothing to scroll. This is Windows style, and fixes [Bug #624116]. --- ChangeLog | 10 ++++++++++ win/tkWinScrlbr.c | 8 +++++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 60e9b48..7dde307 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2003-02-20 Jeff Hobbs + + * win/tkWinScrlbr.c (UpdateScrollbar): use SIF_DISABLENOSCROLL to + "disable" scrollbar when on Windows when there is nothing to + scroll. This is Windows style, and fixes [Bug #624116]. + + * tests/panedwindow.test: + * generic/tkPanedWindow.c (ValidSashIndex): corrected to note that + 2 panes must exist before any one sash does. [tcllib Bug #689258] + 2003-02-20 Peter Spjuth * tests/panedwindow.test: diff --git a/win/tkWinScrlbr.c b/win/tkWinScrlbr.c index 1eb3b47..359fc46 100644 --- a/win/tkWinScrlbr.c +++ b/win/tkWinScrlbr.c @@ -9,7 +9,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tkWinScrlbr.c,v 1.8 2002/06/14 22:25:12 jenglish Exp $ + * RCS: @(#) $Id: tkWinScrlbr.c,v 1.9 2003/02/21 02:07:50 hobbs Exp $ */ #include "tkWinInt.h" @@ -185,6 +185,12 @@ UpdateScrollbar(scrollPtr) * (MAX_SCROLL - (scrollInfo.nPage - 1))); } else { scrollInfo.nPos = 0; + /* + * Disable the scrollbar when there is nothing to scroll. + * This is standard Windows style (see eg Notepad). + * Also prevents possible crash on XP+ systems [Bug #624116]. + */ + scrollInfo.fMask |= SIF_DISABLENOSCROLL; } SetScrollInfo(scrollPtr->hwnd, SB_CTL, &scrollInfo, TRUE); } -- cgit v0.12