summaryrefslogtreecommitdiffstats
path: root/Lib/tkinter/__init__.py
diff options
context:
space:
mode:
authorGuilherme Polo <ggpolo@gmail.com>2008-09-04 11:21:31 (GMT)
committerGuilherme Polo <ggpolo@gmail.com>2008-09-04 11:21:31 (GMT)
commitb212b75c226482ea119140d908e808fd9e75c46c (patch)
treed61f28ef09dac30d968abbb4b6199e8aa49bda55 /Lib/tkinter/__init__.py
parentc96cba047ba8a2652b50dfb932ccda4597a68876 (diff)
downloadcpython-b212b75c226482ea119140d908e808fd9e75c46c.zip
cpython-b212b75c226482ea119140d908e808fd9e75c46c.tar.gz
cpython-b212b75c226482ea119140d908e808fd9e75c46c.tar.bz2
Issue #1658: dict size is changing during iteration in tkinter.BaseWidget and
tkinter.scrolledtext.ScrolledText. Reviewed by Amaury Forgeot d'Arc
Diffstat (limited to 'Lib/tkinter/__init__.py')
-rw-r--r--Lib/tkinter/__init__.py8
1 files changed, 3 insertions, 5 deletions
diff --git a/Lib/tkinter/__init__.py b/Lib/tkinter/__init__.py
index faca78f..bb014b3 100644
--- a/Lib/tkinter/__init__.py
+++ b/Lib/tkinter/__init__.py
@@ -1913,11 +1913,9 @@ class BaseWidget(Misc):
cnf = _cnfmerge((cnf, kw))
self.widgetName = widgetName
BaseWidget._setup(self, master, cnf)
- classes = []
- for k in cnf.keys():
- if isinstance(k, type):
- classes.append((k, cnf[k]))
- del cnf[k]
+ classes = [(k, v) for k, v in cnf.items() if isinstance(k, type)]
+ for k, v in classes:
+ del cnf[k]
self.tk.call(
(widgetName, self._w) + extra + self._options(cnf))
for k, v in classes: