From 5e11655156cb11cf56dcb18d873518ee23aef867 Mon Sep 17 00:00:00 2001 From: Serhiy Storchaka Date: Thu, 26 Dec 2013 20:05:53 +0200 Subject: [PATCH] Issue #20067: Tkinter variables now work when wantobjects is false. --- Lib/lib-tk/Tkinter.py | 6 ++++-- Misc/NEWS | 2 ++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/Lib/lib-tk/Tkinter.py b/Lib/lib-tk/Tkinter.py index 6a91ba9be9..700f6bb0b1 100644 --- a/Lib/lib-tk/Tkinter.py +++ b/Lib/lib-tk/Tkinter.py @@ -223,11 +223,13 @@ class Variable: _varnum += 1 if value is not None: self.set(value) - elif not self._tk.call("info", "exists", self._name): + elif not self._tk.getboolean(self._tk.call("info", "exists", self._name)): self.set(self._default) def __del__(self): """Unset the variable in Tcl.""" - self._tk.globalunsetvar(self._name) + if (self._tk is not None and + self._tk.getboolean(self._tk.call("info", "exists", self._name))): + self._tk.globalunsetvar(self._name) def __str__(self): """Return the name of the variable in Tcl.""" return self._name diff --git a/Misc/NEWS b/Misc/NEWS index 12106579e0..914f6f66f2 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -27,6 +27,8 @@ Core and Builtins Library ------- +- Issue #20067: Tkinter variables now work when wantobjects is false. + - Issue #19020: Tkinter now uses splitlist() instead of split() in configure methods. -- 2.50.1