Merged revisions 70223 via svnmerge from

svn+ssh://pythondev/python/trunk

........
  r70223 | guilherme.polo | 2009-03-06 23:14:38 -0300 (Fri, 06 Mar 2009) | 4 lines

  Fixed issue #2638: Show a window constructed with tkSimpleDialog.Dialog only
  after it is has been populated and properly configured in order to prevent
  window flashing.
........
This commit is contained in:
Guilherme Polo 2009-03-07 02:19:14 +00:00
parent 56f5be5317
commit f45b4cce7f
2 changed files with 10 additions and 3 deletions

View File

@ -130,6 +130,7 @@ class Dialog(Toplevel):
''' '''
Toplevel.__init__(self, parent) Toplevel.__init__(self, parent)
self.withdraw() # remain invisible for now
# If the master is not viewable, don't # If the master is not viewable, don't
# make the child transient, or else it # make the child transient, or else it
# would be opened withdrawn # would be opened withdrawn
@ -149,9 +150,6 @@ class Dialog(Toplevel):
self.buttonbox() self.buttonbox()
self.wait_visibility() # window needs to be visible for the grab
self.grab_set()
if not self.initial_focus: if not self.initial_focus:
self.initial_focus = self self.initial_focus = self
@ -161,8 +159,13 @@ class Dialog(Toplevel):
self.geometry("+%d+%d" % (parent.winfo_rootx()+50, self.geometry("+%d+%d" % (parent.winfo_rootx()+50,
parent.winfo_rooty()+50)) parent.winfo_rooty()+50))
self.deiconify() # become visible now
self.initial_focus.focus_set() self.initial_focus.focus_set()
# wait for window to appear on screen before calling grab_set
self.wait_visibility()
self.grab_set()
self.wait_window(self) self.wait_window(self)
def destroy(self): def destroy(self):

View File

@ -183,6 +183,10 @@ Core and Builtins
Library Library
------- -------
- Issue #2638: Show a window constructed with tkSimpleDialog.Dialog only after
it is has been populated and properly configured in order to prevent
window flashing.
- Issue #4792: Prevent a segfault in _tkinter by using the - Issue #4792: Prevent a segfault in _tkinter by using the
guaranteed to be safe interp argument given to the PythonCmd in place of guaranteed to be safe interp argument given to the PythonCmd in place of
the Tcl interpreter taken from a PythonCmd_ClientData. the Tcl interpreter taken from a PythonCmd_ClientData.