diff options
author | Jack Jansen <jack.jansen@cwi.nl> | 2002-10-25 20:06:29 (GMT) |
---|---|---|
committer | Jack Jansen <jack.jansen@cwi.nl> | 2002-10-25 20:06:29 (GMT) |
commit | b1248ceb906594edfa94c910162e15b2efddef5d (patch) | |
tree | 1ef001fdf48ecbd77c8aa5f5bdcd386d1ebe7d23 | |
parent | 8811ce79f1900639f18dd3298d9c6f429178e0a8 (diff) | |
download | cpython-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.
-rw-r--r-- | Mac/Lib/aetools.py | 8 |
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 |