Wait for visibility before setting a grab. Fixes #946153.
diff --git a/Lib/lib-tk/FileDialog.py b/Lib/lib-tk/FileDialog.py
index 5e848da..b08d3a8 100644
--- a/Lib/lib-tk/FileDialog.py
+++ b/Lib/lib-tk/FileDialog.py
@@ -119,6 +119,7 @@
         self.set_selection(default)
         self.filter_command()
         self.selection.focus_set()
+        self.top.wait_visibility() # window needs to be visible for the grab
         self.top.grab_set()
         self.how = None
         self.master.mainloop()          # Exited by self.quit(how)