From 7d9b01a703f0399154c77bc601a9fca02e442a7e Mon Sep 17 00:00:00 2001 From: dkf Date: Mon, 3 May 2010 11:58:19 +0000 Subject: * library/button.tcl (CheckInvoke, CheckEnter): [Patch 1530276 redux]: Apply a bit more care to ensure that things continue to work correctly even when there is no -selectcolor defined. --- ChangeLog | 110 ++++++++++++++++++++++++++++------------------------- library/button.tcl | 6 +-- 2 files changed, 61 insertions(+), 55 deletions(-) diff --git a/ChangeLog b/ChangeLog index f720ed1..ea4b3d6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,15 +1,21 @@ +2010-05-03 Donal K. Fellows + + * library/button.tcl (CheckInvoke, CheckEnter): [Patch 1530276 redux]: + Apply a bit more care to ensure that things continue to work correctly + even when there is no -selectcolor defined. + 2010-04-29 Jan Nijtmans - * win/tkWin.h Unnecessary TCL_STORAGE_CLASS re-definition - * win/tkWinInt.h Make various functions MODULE_SCOPE - * win/tkWinButton.c TCHAR-related fixes, making al those - * win/tkWinFont.c files compile fine when TCHAR != char. - * win/tkWinScrlbr.c - * win/tkWinWindow.c - * win/tkWinWm.c - * win/tkWinX.c - * win/ttkWinMonitor.c - * win/ttkWinXPTheme.c + * win/tkWin.h: Unnecessary TCL_STORAGE_CLASS re-definition + * win/tkWinInt.h: Make various functions MODULE_SCOPE + * win/tkWinButton.c: TCHAR-related fixes, making al those + * win/tkWinFont.c: files compile fine when TCHAR != char. + * win/tkWinScrlbr.c: + * win/tkWinWindow.c: + * win/tkWinWm.c: + * win/tkWinX.c: + * win/ttkWinMonitor.c: + * win/ttkWinXPTheme.c: 2010-04-25 Donal K. Fellows @@ -346,14 +352,14 @@ and immediately after a function name, so the format of function definitions in *Decls.h match all other *.h header files. - * generic/ttk/ttkDecls.h (re-generated) - * generic/tk.decls Formatting - * generic/tkDecls.h (re-generated) - * generic/tkIntDecls.h - * generic/tkIntPlatDecls.h - * generic/tkIntXlibDecls.h - * generic/tkPlatDecls.h - * generic/tkBind.c Little simplification + * generic/ttk/ttkDecls.h: (re-generated) + * generic/tk.decls: Formatting + * generic/tkDecls.h: (re-generated) + * generic/tkIntDecls.h: + * generic/tkIntPlatDecls.h: + * generic/tkIntXlibDecls.h: + * generic/tkPlatDecls.h: + * generic/tkBind.c: Little simplification 2010-01-19 Jan Nijtmans @@ -401,34 +407,34 @@ 2010-01-18 Jan Nijtmans - * generic/tkCanvArc.c Fix more gcc warnings: missing initializer - * generic/tkCanvBmap.c - * generic/tkCanvImg.c - * generic/tkCanvLine.c - * generic/tkCanvPoly.c - * generic/tkCanvPs.c - * generic/tkCanvText.c - * generic/tkCanvWind.c - * generic/tkCmds.c - * generic/tkImgBmap.c - * generic/tkImgGIF.c - * generic/tkImgPhoto.c - * generic/tkImgPNG.c - * generic/tkImgPPM.c - * generic/tkMenu.c - * generic/tkMenubutton.c - * generic/tkMessage.c - * generic/tkOldTest.c - * generic/tkPanedWindow.c - * generic/tkRectOval.c - * generic/tkScrollbar.c - * generic/tkSquare.c - * generic/tkTest.c - * generic/tkText.c - * generic/tkTextImage.c - * generic/tkTextTag.c - * generic/tkTextWind.c - * generic/tkTrig.c + * generic/tkCanvArc.c: Fix more gcc warnings: missing initializer + * generic/tkCanvBmap.c: + * generic/tkCanvImg.c: + * generic/tkCanvLine.c: + * generic/tkCanvPoly.c: + * generic/tkCanvPs.c: + * generic/tkCanvText.c: + * generic/tkCanvWind.c: + * generic/tkCmds.c: + * generic/tkImgBmap.c: + * generic/tkImgGIF.c: + * generic/tkImgPhoto.c: + * generic/tkImgPNG.c: + * generic/tkImgPPM.c: + * generic/tkMenu.c: + * generic/tkMenubutton.c: + * generic/tkMessage.c: + * generic/tkOldTest.c: + * generic/tkPanedWindow.c: + * generic/tkRectOval.c: + * generic/tkScrollbar.c: + * generic/tkSquare.c: + * generic/tkTest.c: + * generic/tkText.c: + * generic/tkTextImage.c: + * generic/tkTextTag.c: + * generic/tkTextWind.c: + * generic/tkTrig.c: * generic/tkCanvas.c: [Patch 2932808]: Canvas items not updating on widget state change. @@ -466,8 +472,8 @@ * win/tkWinInit.c * win/tkWinKey.c * win/tkWinScrlbr.c - * win/tkWinInt.h Add SPI_SETKEYBOARDCUES definition, - needed for original VC++ 6.0 + * win/tkWinInt.h Add SPI_SETKEYBOARDCUES definition, needed for + original VC++ 6.0. 2010-01-10 Jan Nijtmans @@ -485,8 +491,8 @@ * library/obsolete.tcl: the .help menu on X11. * unix/tkUnixMenu.c: - * library/menu.tcl: [TIP 360] Make Tk menu activation - * library/obsolete.tcl: follow mouse movements. + * library/menu.tcl: [TIP 360]: Make Tk menu activation + * library/obsolete.tcl: follow mouse movements. 2010-01-08 Pat Thoyts @@ -577,9 +583,9 @@ 2010-01-03 Pat Thoyts - * library/tearoff.tcl: tearoff menus should be transient and use the + * library/tearoff.tcl: Tearoff menus should be transient and use the toolwindow style on Windows. - * tests/menu.test: menu tests using 'tkwait visibility' are unix only. + * tests/menu.test: Menu tests using 'tkwait visibility' are unix only. 2010-01-02 Donal K. Fellows diff --git a/library/button.tcl b/library/button.tcl index a977c49..4b35281 100644 --- a/library/button.tcl +++ b/library/button.tcl @@ -4,7 +4,7 @@ # checkbutton, and radiobutton widgets and provides procedures # that help in implementing those bindings. # -# RCS: @(#) $Id: button.tcl,v 1.20 2009/10/24 00:01:48 dkf Exp $ +# RCS: @(#) $Id: button.tcl,v 1.21 2010/05/03 11:59:11 dkf Exp $ # # Copyright (c) 1992-1994 The Regents of the University of California. # Copyright (c) 1994-1996 Sun Microsystems, Inc. @@ -659,7 +659,7 @@ proc ::tk::CheckInvoke {w} { # Additional logic to switch the "selected" colors around if necessary # (when we're indicator-less). - if {![$w cget -indicatoron]} { + if {![$w cget -indicatoron] && [info exist Priv($w,selectcolor)]} { if {[$w cget -selectcolor] eq $Priv($w,aselectcolor)} { $w configure -selectcolor $Priv($w,selectcolor) } else { @@ -697,7 +697,7 @@ proc ::tk::CheckEnter {w} { # Compute what the "selected and active" color should be. - if {![$w cget -indicatoron]} { + if {![$w cget -indicatoron] && [$w cget -selectcolor] ne ""} { set Priv($w,selectcolor) [$w cget -selectcolor] lassign [winfo rgb $w [$w cget -selectcolor]] r1 g1 b1 lassign [winfo rgb $w [$w cget -activebackground]] r2 g2 b2 -- cgit v0.12