From 5dd7362295c71427f80d0bf404bf122cdd013b3c Mon Sep 17 00:00:00 2001 From: Jack Jansen Date: Fri, 23 Feb 2001 22:18:27 +0000 Subject: Hide the ProgressBar before raising KeyboardInterrupt. Not doing so resulted in a hang on Carbon. --- Mac/Lib/EasyDialogs.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/Mac/Lib/EasyDialogs.py b/Mac/Lib/EasyDialogs.py index 3f88fb5..a486204 100644 --- a/Mac/Lib/EasyDialogs.py +++ b/Mac/Lib/EasyDialogs.py @@ -217,6 +217,8 @@ screenbounds = screenbounds[0]+4, screenbounds[1]+4, \ class ProgressBar: def __init__(self, title="Working...", maxval=100, label="", id=263): + self.w = None + self.d = None self.maxval = maxval self.curval = -1 self.d = GetNewDialog(id, -1) @@ -229,8 +231,9 @@ class ProgressBar: self.d.DrawDialog() def __del__( self ): - self.w.BringToFront() - self.w.HideWindow() + if self.w: + self.w.BringToFront() + self.w.HideWindow() del self.w del self.d @@ -268,6 +271,9 @@ class ProgressBar: if Dlg.IsDialogEvent(ev): ds = Dlg.DialogSelect(ev) if ds[0] and ds[1] == self.d and ds[-1] == 1: + self.w.HideWindow() + self.w = None + self.d = None raise KeyboardInterrupt, ev else: if part == 4: # inDrag -- cgit v0.12