From 9bfff117af205f7600da2c27660086789243fa14 Mon Sep 17 00:00:00 2001 From: hobbs Date: Fri, 28 Dec 2001 01:23:47 +0000 Subject: * generic/tkButton.c (ButtonTextVarProc): guard against being called while the *button/label is being deleted. [Bug #490051] --- ChangeLog | 27 ++++++++++++++++++++++++--- generic/tkButton.c | 8 ++++++-- 2 files changed, 30 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index f331522..904e4b6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,12 +1,22 @@ -2001-12-28 Daniel Steffen +2001-12-27 Daniel Steffen - * mac/mac/tkMacInit.c: - * mac/mac/tkMacResource.r: synced up tkInit features to unix/win: + * mac/tkMacInit.c: + * mac/tkMacResource.r: synced up tkInit features to unix/win: use existing tkInit proc if defined. Added spinbox.tcl resource. Used TclGetEnv() instead of Tcl_GetVar2(interp, env) * mac/tkMacApplication.r: * mac/tkMacLibrary.r: minor version resources cleanup +2001-12-27 Jeff Hobbs + + * generic/tkButton.c (ButtonTextVarProc): guard against being + called while the *button/label is being deleted. [Bug #490051] + + * library/entry.tcl: + * library/spinbox.tcl: + * library/text.tcl: added extra checks against bug #220269 and + made spinbox reuse more of the entry procedure code. + 2001-12-20 Mo DeJong * unix/configure: Regen. @@ -34,6 +44,13 @@ * tests/event.test (event-click-drag-1.2): Corrected test that failed on Solaris/CDE due to text scrolling. [Bug 413735] +2001-12-18 Jeff Hobbs + + * library/spinbox.tcl (ButtonDown): added catch to ignore + possible error in after cancel when Priv(afterId) isn't defined. + + * doc/spinbox.n: corrected spin(up|down) -> button(up|down) + 2001-12-14 Donal K. Fellows * doc/getOpenFile.n: Documented change. @@ -42,6 +59,10 @@ filetypes option menu. Adapted from code by Chris Nelson submitted in Patch #492220. +2001-12-12 Jeff Hobbs + + * unix/tkUnixWm.c (TkWmStackorderToplevelWrapperMap): added static + 2001-12-05 Jeff Hobbs * generic/tkText.c: diff --git a/generic/tkButton.c b/generic/tkButton.c index 3e835fb..dca60a4 100644 --- a/generic/tkButton.c +++ b/generic/tkButton.c @@ -11,7 +11,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tkButton.c,v 1.13 2001/08/29 23:22:24 hobbs Exp $ + * RCS: @(#) $Id: tkButton.c,v 1.14 2001/12/28 01:23:47 hobbs Exp $ */ #include "tkButton.h" @@ -942,9 +942,9 @@ static void DestroyButton(butPtr) TkButton *butPtr; /* Info about button widget. */ { + butPtr->flags |= BUTTON_DELETED; TkpDestroyButton(butPtr); - butPtr->flags |= BUTTON_DELETED; if (butPtr->flags & REDRAW_PENDING) { Tcl_CancelIdleCall(TkpDisplayButton, (ClientData) butPtr); } @@ -1625,6 +1625,10 @@ ButtonTextVarProc(clientData, interp, name1, name2, flags) char *name; Tcl_Obj *valuePtr; + if (butPtr->flags & BUTTON_DELETED) { + return (char *) NULL; + } + name = Tcl_GetString(butPtr->textVarNamePtr); /* -- cgit v0.12