summaryrefslogtreecommitdiffstats
path: root/Mac
diff options
context:
space:
mode:
authorJack Jansen <jack.jansen@cwi.nl>2002-10-25 20:06:29 (GMT)
committerJack Jansen <jack.jansen@cwi.nl>2002-10-25 20:06:29 (GMT)
commitb1248ceb906594edfa94c910162e15b2efddef5d (patch)
tree1ef001fdf48ecbd77c8aa5f5bdcd386d1ebe7d23 /Mac
parent8811ce79f1900639f18dd3298d9c6f429178e0a8 (diff)
downloadcpython-b1248ceb906594edfa94c910162e15b2efddef5d.zip
cpython-b1248ceb906594edfa94c910162e15b2efddef5d.tar.gz
cpython-b1248ceb906594edfa94c910162e15b2efddef5d.tar.bz2
Under Jaguar it seems that 'errn' return value keyword parameters don't
(or don't always?) show up with missed(). I think this is a bug in Jaguar, but as it is a potential dangerous problem (the OSA event has failed, but the Python code isn't told about this and happily continues) this is a quick workaround. Bugfix candidate, I'll add it to 2.2.2 as a last second fix.
Diffstat (limited to 'Mac')
-rw-r--r--Mac/Lib/aetools.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/Mac/Lib/aetools.py b/Mac/Lib/aetools.py
index 5495dfa..8d9657e 100644
--- a/Mac/Lib/aetools.py
+++ b/Mac/Lib/aetools.py
@@ -65,6 +65,14 @@ def unpackevent(ae, formodulename=""):
else:
parameters['----'] = unpack(dirobj, formodulename)
del dirobj
+ # Workaround for what I feel is a bug in OSX 10.2: 'errn' won't show up in missed...
+ try:
+ dirobj = ae.AEGetParamDesc('errn', '****')
+ except AE.Error:
+ pass
+ else:
+ parameters['errn'] = unpack(dirobj, formodulename)
+ del dirobj
while 1:
key = missed(ae)
if not key: break