summaryrefslogtreecommitdiffstats
path: root/generic/tkScale.c
diff options
context:
space:
mode:
authorfvogel <fvogelnew1@free.fr>2018-01-28 19:49:55 (GMT)
committerfvogel <fvogelnew1@free.fr>2018-01-28 19:49:55 (GMT)
commit4b52abe83965203f90bb431ba8dc9039165f2646 (patch)
treece722f684017d75bc3ecd694eecfdd54d3d52dbb /generic/tkScale.c
parent45ee94dff4405aa24cdccccbe00b5bab3d549c43 (diff)
downloadtk-4b52abe83965203f90bb431ba8dc9039165f2646.zip
tk-4b52abe83965203f90bb431ba8dc9039165f2646.tar.gz
tk-4b52abe83965203f90bb431ba8dc9039165f2646.tar.bz2
Fix [5d991b822e]: segmentation violation in TclObjLookupVarEx. Patch from Christian Werner.
Diffstat (limited to 'generic/tkScale.c')
-rw-r--r--generic/tkScale.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/generic/tkScale.c b/generic/tkScale.c
index ef67630..af45afa 100644
--- a/generic/tkScale.c
+++ b/generic/tkScale.c
@@ -1193,6 +1193,19 @@ ScaleVarProc(
int result;
/*
+ * See ticket [5d991b82].
+ */
+
+ if (scalePtr->varNamePtr == NULL) {
+ if (!(flags & TCL_INTERP_DESTROYED)) {
+ Tcl_UntraceVar2(interp, name1, name2,
+ TCL_GLOBAL_ONLY|TCL_TRACE_WRITES|TCL_TRACE_UNSETS,
+ ScaleVarProc, clientData);
+ }
+ return NULL;
+ }
+
+ /*
* If the variable is unset, then immediately recreate it unless the whole
* interpreter is going away.
*/