Issue #5219: Prevent event handler cascade in IDLE.

Patch by Roger Serwy.
This commit is contained in:
Martin v. Löwis 2012-03-13 14:46:22 -07:00
parent 71e51d66d6
commit f163efd736
2 changed files with 7 additions and 1 deletions

View File

@ -22,6 +22,7 @@ class CallTip:
self.parenline = self.parencol = None
self.lastline = None
self.hideid = self.checkhideid = None
self.checkhide_after_id = None
def position_window(self):
"""Check if needs to reposition the window, and if so - do it."""
@ -102,7 +103,10 @@ class CallTip:
self.hidetip()
else:
self.position_window()
self.widget.after(CHECKHIDE_TIME, self.checkhide_event)
if self.checkhide_after_id is not None:
self.widget.after_cancel(self.checkhide_after_id)
self.checkhide_after_id = \
self.widget.after(CHECKHIDE_TIME, self.checkhide_event)
def hide_event(self, event):
if not self.tipwindow:

View File

@ -20,6 +20,8 @@ Core and Builtins
Library
-------
- Issue #5219: Prevent event handler cascade in IDLE.
- Issue #14252: Fix subprocess.Popen.terminate() to not raise an error under
Windows when the child process has already exited.