From 253dd7f8bf575cf34521d18f43cc9841c06a747e Mon Sep 17 00:00:00 2001 From: ericm Date: Tue, 7 Mar 2000 00:09:07 +0000 Subject: * generic/tkOldConfig.c: Added check for NULL tkwin value in Tk_ConfigureWidget [Bug: 4079] * generic/tkWindow.c: Added check for NULL tkwin value in Tk_NameToWindow [Bug: 4079] --- ChangeLog | 14 ++++++++++++++ generic/tkOldConfig.c | 11 ++++++++++- generic/tkWindow.c | 11 ++++++++++- 3 files changed, 34 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index cc7845e..7262783 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2000-03-06 Eric Melski + + * generic/tkOldConfig.c: Added check for NULL tkwin value in + Tk_ConfigureWidget [Bug: 4079] + + * generic/tkWindow.c: Added check for NULL tkwin value in + Tk_NameToWindow [Bug: 4079] + 2000-03-02 Jeff Hobbs * tests/color.test: @@ -33,6 +41,12 @@ %V (type of validation occuring) to %-subs to help work with trickier validation. +2000-03-01 Eric Melski + + * tests/clrpick.test: + * library/clrpick.tcl: Added code to make color chooser dialog + inherit screen setting from parent (bug #2334) + 2000-02-25 Jeff Hobbs * win/tkWinWm.c (RaiseWinWhenIdle): Checked for the possibility diff --git a/generic/tkOldConfig.c b/generic/tkOldConfig.c index 70e0152..9ee2a14 100644 --- a/generic/tkOldConfig.c +++ b/generic/tkOldConfig.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: tkOldConfig.c,v 1.5 1999/12/14 06:52:30 hobbs Exp $ + * RCS: @(#) $Id: tkOldConfig.c,v 1.6 2000/03/07 00:09:08 ericm Exp $ */ #include "tkPort.h" @@ -90,6 +90,15 @@ Tk_ConfigureWidget(interp, tkwin, specs, argc, argv, widgRec, flags) int hateFlags; /* If a spec contains any bits here, it's * not considered. */ + if (tkwin == NULL) { + /* + * Either we're not really in Tk, or the main window was destroyed and + * we're on our way out of the application + */ + Tcl_AppendResult(interp, "NULL main window", (char *)NULL); + return TCL_ERROR; + } + needFlags = flags & ~(TK_CONFIG_USER_BIT - 1); if (Tk_Depth(tkwin) <= 1) { hateFlags = TK_CONFIG_COLOR_ONLY; diff --git a/generic/tkWindow.c b/generic/tkWindow.c index bc088f9..04dc7ee 100644 --- a/generic/tkWindow.c +++ b/generic/tkWindow.c @@ -12,7 +12,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tkWindow.c,v 1.14 1999/12/16 21:57:36 hobbs Exp $ + * RCS: @(#) $Id: tkWindow.c,v 1.15 2000/03/07 00:09:09 ericm Exp $ */ #include "tkPort.h" @@ -2109,6 +2109,15 @@ Tk_NameToWindow(interp, pathName, tkwin) { Tcl_HashEntry *hPtr; + if (tkwin == NULL) { + /* + * Either we're not really in Tk, or the main window was destroyed and + * we're on our way out of the application + */ + Tcl_AppendResult(interp, "NULL main window", (char *)NULL); + return NULL; + } + hPtr = Tcl_FindHashEntry(&((TkWindow *) tkwin)->mainPtr->nameTable, pathName); if (hPtr == NULL) { -- cgit v0.12