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