From 3c0f2c91adf086f809169f94ca9a2a75df3dc996 Mon Sep 17 00:00:00 2001 From: Neal Norwitz Date: Tue, 1 Jul 2003 21:12:47 +0000 Subject: [PATCH] Fix SF bug #763637, 2.3b2 unpack tuple of wrong size in after_cancel Tk 8.4 may return different values than 8.3. This fix should handle either version. --- Lib/lib-tk/Tkinter.py | 6 ++++-- Misc/NEWS | 3 +++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/Lib/lib-tk/Tkinter.py b/Lib/lib-tk/Tkinter.py index 11dae120d4d..b5b0af3a9fb 100644 --- a/Lib/lib-tk/Tkinter.py +++ b/Lib/lib-tk/Tkinter.py @@ -475,8 +475,10 @@ def after_cancel(self, id): Identifier returned by after or after_idle must be given as first parameter.""" try: - (script, type) = self.tk.splitlist( - self.tk.call('after', 'info', id)) + data = self.tk.call('after', 'info', id) + # In Tk 8.3, splitlist returns: (script, type) + # In Tk 8.4, splitlist may return (script, type) or (script,) + script = self.tk.splitlist(data)[0] self.deletecommand(script) except TclError: pass diff --git a/Misc/NEWS b/Misc/NEWS index 84da7572df3..479f2e2f7ed 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -30,6 +30,9 @@ Library - SF bug 763023: fix uncaught ZeroDivisionError in difflib ratio methods when there are no lines. +- SF bug 763637: fix exception in Tkinter with after_cancel + which could occur with Tk 8.4 + Tools/Demos -----------