Call AEInteractWithUser() before bringing up any of the dialogs (with the
exception of the ProgressBar, which I think is okay to show in the background).
This is a prerequisitite for the fix of #684975.
diff --git a/Lib/plat-mac/EasyDialogs.py b/Lib/plat-mac/EasyDialogs.py
index d9ebaa9..cbbe9bc 100644
--- a/Lib/plat-mac/EasyDialogs.py
+++ b/Lib/plat-mac/EasyDialogs.py
@@ -27,6 +27,7 @@
from Carbon import Ctl
from Carbon import Controls
from Carbon import Menu
+from Carbon import AE
import Nav
import MacOS
import string
@@ -46,7 +47,10 @@
global _initialized
if _initialized: return
macresource.need("DLOG", 260, "dialogs.rsrc", __name__)
-
+
+def _interact():
+ """Make sure the application is in the foreground"""
+ AE.AEInteractWithUser(50000000)
def cr2lf(text):
if '\r' in text:
@@ -68,6 +72,7 @@
The MESSAGE string can be at most 255 characters long.
"""
_initialize()
+ _interact()
d = GetNewDialog(id, -1)
if not d:
print "EasyDialogs: Can't get DLOG resource with id =", id, " (missing resource file?)"
@@ -100,6 +105,7 @@
"""
_initialize()
+ _interact()
d = GetNewDialog(id, -1)
if not d:
print "EasyDialogs: Can't get DLOG resource with id =", id, " (missing resource file?)"
@@ -141,6 +147,7 @@
can be at most 255 characters long.
"""
_initialize()
+ _interact()
d = GetNewDialog(id, -1)
if not d:
print "EasyDialogs: Can't get DLOG resource with id =", id, " (missing resource file?)"
@@ -184,6 +191,7 @@
"""
_initialize()
+ _interact()
d = GetNewDialog(id, -1)
if not d:
print "EasyDialogs: Can't get DLOG resource with id =", id, " (missing resource file?)"
@@ -416,6 +424,7 @@
def GetArgv(optionlist=None, commandlist=None, addoldfile=1, addnewfile=1, addfolder=1, id=ARGV_ID):
_initialize()
+ _interact()
d = GetNewDialog(id, -1)
if not d:
print "EasyDialogs: Can't get DLOG resource with id =", id, " (missing resource file?)"
@@ -636,6 +645,7 @@
message=message,preferenceKey=preferenceKey,
popupExtension=popupExtension,eventProc=eventProc,previewProc=previewProc,
filterProc=filterProc,typeList=typeList,wanted=wanted,multiple=multiple)
+ _interact()
try:
rr = Nav.NavChooseFile(args)
good = 1
@@ -688,6 +698,7 @@
savedFileName=savedFileName,message=message,preferenceKey=preferenceKey,
popupExtension=popupExtension,eventProc=eventProc,fileType=fileType,
fileCreator=fileCreator,wanted=wanted,multiple=multiple)
+ _interact()
try:
rr = Nav.NavPutFile(args)
good = 1
@@ -747,6 +758,7 @@
message=message,preferenceKey=preferenceKey,
popupExtension=popupExtension,eventProc=eventProc,filterProc=filterProc,
wanted=wanted,multiple=multiple)
+ _interact()
try:
rr = Nav.NavChooseFolder(args)
good = 1