From 3cbff9f968ec8d9d215341a263bd40903b8a782e Mon Sep 17 00:00:00 2001 From: "jan.nijtmans" Date: Tue, 7 Jul 2015 15:20:34 +0000 Subject: Fix for [805cffb017fde5ba]: segfault via Tk_ConfigureWidget --- generic/tkOldConfig.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/generic/tkOldConfig.c b/generic/tkOldConfig.c index 97ad5cb..d7a33f7 100644 --- a/generic/tkOldConfig.c +++ b/generic/tkOldConfig.c @@ -112,6 +112,10 @@ Tk_ConfigureWidget( specs = GetCachedSpecs(interp, specs); + for (specPtr = specs; specPtr->type != TK_CONFIG_END; specPtr++) { + specPtr->specFlags &= ~TK_CONFIG_OPTION_SPECIFIED; + } + /* * Pass one: scan through all of the arguments, processing those that * match entries in the specs. @@ -167,7 +171,6 @@ Tk_ConfigureWidget( if ((specPtr->specFlags & TK_CONFIG_OPTION_SPECIFIED) || (specPtr->argvName == NULL) || (specPtr->type == TK_CONFIG_SYNONYM)) { - specPtr->specFlags &= ~TK_CONFIG_OPTION_SPECIFIED; continue; } if (((specPtr->specFlags & needFlags) != needFlags) @@ -1128,7 +1131,6 @@ GetCachedSpecs( specPtr->defValue = Tk_GetUid(specPtr->defValue); } } - specPtr->specFlags &= ~TK_CONFIG_OPTION_SPECIFIED; } } else { cachedSpecs = (Tk_ConfigSpec *) Tcl_GetHashValue(entryPtr); -- cgit v0.12