diff options
Diffstat (limited to 'tk8.6/generic/ttk/ttkTrace.c')
-rw-r--r-- | tk8.6/generic/ttk/ttkTrace.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/tk8.6/generic/ttk/ttkTrace.c b/tk8.6/generic/ttk/ttkTrace.c index ba66db4..e6eead2 100644 --- a/tk8.6/generic/ttk/ttkTrace.c +++ b/tk8.6/generic/ttk/ttkTrace.c @@ -26,8 +26,8 @@ static char * VarTraceProc( ClientData clientData, /* Widget record pointer */ Tcl_Interp *interp, /* Interpreter containing variable. */ - const char *name1, /* (unused) */ - const char *name2, /* (unused) */ + const char *name1, /* Name of variable. */ + const char *name2, /* Second part of variable name. */ int flags) /* Information about what happened. */ { Ttk_TraceHandle *tracePtr = clientData; @@ -38,6 +38,17 @@ VarTraceProc( return NULL; } + /* + * See ticket [5d991b82]. + */ + + if (tracePtr->varnameObj == NULL) { + Tcl_UntraceVar2(interp, name1, name2, + TCL_GLOBAL_ONLY|TCL_TRACE_WRITES|TCL_TRACE_UNSETS, + VarTraceProc, clientData); + return NULL; + } + name = Tcl_GetString(tracePtr->varnameObj); /* |