]> granicus.if.org Git - python/commitdiff
Issue 15348: Stop debugger engine (normally in user process)
authorTerry Jan Reedy <tjreedy@udel.edu>
Sat, 21 Nov 2015 05:05:03 +0000 (00:05 -0500)
committerTerry Jan Reedy <tjreedy@udel.edu>
Sat, 21 Nov 2015 05:05:03 +0000 (00:05 -0500)
before closing debugger window in IDLE process.

Lib/idlelib/Debugger.py

index d86c79c690bfd73056150c6af84fbf523f5f4db7..250422edbb1517427918847e0ae1e8f8f0880ebf 100644 (file)
@@ -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.