On OSX the finder will return from an open() event before the application
has actually entered its event loop. As a stopgap, allow for a 10 second grace period.
This commit is contained in:
parent
d4885f87fa
commit
d6ab153e5a
|
@ -26,12 +26,16 @@ from Carbon import AE
|
|||
from Carbon import AppleEvents
|
||||
import MacOS
|
||||
import sys
|
||||
import time
|
||||
|
||||
from aetypes import *
|
||||
from aepack import packkey, pack, unpack, coerce, AEDescType
|
||||
|
||||
Error = 'aetools.Error'
|
||||
|
||||
# Amount of time to wait for program to be launched
|
||||
LAUNCH_MAX_WAIT_TIME=10
|
||||
|
||||
# Special code to unpack an AppleEvent (which is *not* a disguised record!)
|
||||
# Note by Jack: No??!? If I read the docs correctly it *is*....
|
||||
|
||||
|
@ -174,6 +178,14 @@ class TalkTo:
|
|||
self.send('ascr', 'noop')
|
||||
except AE.Error:
|
||||
_launch(self.target_signature)
|
||||
for i in range(LAUNCH_MAX_WAIT_TIME):
|
||||
try:
|
||||
self.send('ascr', 'noop')
|
||||
except AE.Error:
|
||||
pass
|
||||
else:
|
||||
break
|
||||
time.sleep(1)
|
||||
|
||||
def start(self):
|
||||
"""Deprecated, used _start()"""
|
||||
|
|
Loading…
Reference in New Issue