From e1b02e045921b60be0997c133033ecd21d642e89 Mon Sep 17 00:00:00 2001 From: Terry Jan Reedy Date: Sat, 21 Nov 2015 00:05:03 -0500 Subject: Issue 15348: Stop debugger engine (normally in user process) before closing debugger window in IDLE process. --- Lib/idlelib/Debugger.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Lib/idlelib/Debugger.py b/Lib/idlelib/Debugger.py index d86c79c..250422e 100644 --- a/Lib/idlelib/Debugger.py +++ b/Lib/idlelib/Debugger.py @@ -19,7 +19,7 @@ class Idb(bdb.Bdb): message = self.__frame2message(frame) try: self.gui.interaction(message, frame) - except (TclError, RuntimeError): + except TclError: # When closing debugger window with [x] in 3.x pass def user_exception(self, frame, info): @@ -105,10 +105,13 @@ class Debugger: self.interacting = 0 def close(self, event=None): + try: + self.quit() + except Exception: + pass if self.interacting: self.top.bell() return - self.abort_loop() if self.stackviewer: self.stackviewer.close(); self.stackviewer = None # Clean up pyshell if user clicked debugger control close widget. -- cgit v0.12