]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Fixed dialog-window event handling
authorJack Jansen <jack.jansen@cwi.nl>
Thu, 31 Aug 1995 13:38:01 +0000 (13:38 +0000)
committerJack Jansen <jack.jansen@cwi.nl>
Thu, 31 Aug 1995 13:38:01 +0000 (13:38 +0000)
Mac/Lib/FrameWork.py

index bb379cc9dc9c7ed397aa80a66edf0755b51f19f9..c32651c334837bc66374236bcd6a405b5397ef5f 100644 (file)
@@ -120,21 +120,18 @@ class Application:
        yield = -1
        
        def do1event(self, mask = everyEvent, wait = 0):
-               event = self.getevent(mask, wait)
-               if event:
+               ok, event = self.getevent(mask, wait)
+               if IsDialogEvent(event):
+                       if self.do_dialogevent(event):
+                               return
+               if ok:
                        self.dispatch(event)
        
        def getevent(self, mask = everyEvent, wait = 0):
                ok, event = WaitNextEvent(mask, wait)
-               if ok:
-                       return event
-               else:
-                       return None
-       
+               return ok, event
+                       
        def dispatch(self, event):
-               if IsDialogEvent(event):
-                       self.do_dialogevent(event)
-                       return
                (what, message, when, where, modifiers) = event
                if eventname.has_key(what):
                        name = "do_" + eventname[what]
@@ -150,9 +147,11 @@ class Application:
                gotone, window, item = DialogSelect(event)
                if gotone:
                        if self._windows.has_key(window):
-                               window.do_itemhit(item, event)
+                               self._windows[window].do_itemhit(item, event)
                        else:
                                print 'Dialog event for unknown dialog'
+                       return 1
+               return 0
        
        def do_mouseDown(self, event):
                (what, message, when, where, modifiers) = event
@@ -579,7 +578,6 @@ class DialogWindow(Window):
                self.do_postopen()
                
        def close(self):
-               self.wid.DisposeDialog()
                self.do_postclose()
                
        def do_itemhit(self, item, event):