Wait for visibility before setting a grab. Fixes #946153.
diff --git a/Lib/lib-tk/SimpleDialog.py b/Lib/lib-tk/SimpleDialog.py
index bb63a8d..cb08318 100644
--- a/Lib/lib-tk/SimpleDialog.py
+++ b/Lib/lib-tk/SimpleDialog.py
@@ -64,6 +64,7 @@
         widget.deiconify() # Become visible at the desired location
 
     def go(self):
+        self.root.wait_visibility()
         self.root.grab_set()
         self.root.mainloop()
         self.root.destroy()