diff options
author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2015-07-07 15:24:07 (GMT) |
---|---|---|
committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2015-07-07 15:24:07 (GMT) |
commit | b8a9fa274d90f1cd1beff06bd4c02f6e5719bfbb (patch) | |
tree | c956e3e129f10fa84af19ee55a89a86099fbb85a /generic | |
parent | ef0c732090d8b9bf1befc7852588746f6b2f33e4 (diff) | |
parent | 498f83aef90d461803b7c8bce162a1abc3b90a79 (diff) | |
download | tk-b8a9fa274d90f1cd1beff06bd4c02f6e5719bfbb.zip tk-b8a9fa274d90f1cd1beff06bd4c02f6e5719bfbb.tar.gz tk-b8a9fa274d90f1cd1beff06bd4c02f6e5719bfbb.tar.bz2 |
Fix for [805cffb017fde5ba]: segfault via Tk_ConfigureWidget
Diffstat (limited to 'generic')
-rw-r--r-- | generic/tkOldConfig.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/generic/tkOldConfig.c b/generic/tkOldConfig.c index d2d864f..87f4987 100644 --- a/generic/tkOldConfig.c +++ b/generic/tkOldConfig.c @@ -113,6 +113,10 @@ Tk_ConfigureWidget( staticSpecs = GetCachedSpecs(interp, specs); + for (specPtr = staticSpecs; 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) @@ -1126,7 +1129,6 @@ GetCachedSpecs( specPtr->defValue = Tk_GetUid(specPtr->defValue); } } - specPtr->specFlags &= ~TK_CONFIG_OPTION_SPECIFIED; } } else { cachedSpecs = Tcl_GetHashValue(entryPtr); |