diff options
author | mdejong <mdejong> | 2002-06-12 23:08:11 (GMT) |
---|---|---|
committer | mdejong <mdejong> | 2002-06-12 23:08:11 (GMT) |
commit | e06013dff27b79e915a083567f787260b69d5f16 (patch) | |
tree | 63c9432dfc34ae837dc633748cf0a09e8dcef2ea /library/choosedir.tcl | |
parent | d0a1bb90be7ff13f1f6e4726a619d023aed98e71 (diff) | |
download | tk-e06013dff27b79e915a083567f787260b69d5f16.zip tk-e06013dff27b79e915a083567f787260b69d5f16.tar.gz tk-e06013dff27b79e915a083567f787260b69d5f16.tar.bz2 |
* library/choosedir.tcl (tk::dialog::file::chooseDir):
* library/clrpick.tcl (tk::dialog::color):
* library/dialog.tcl (tk_dialog):
* library/msgbox.tcl (tk::MessageBox):
* library/tkfbox.tcl (tk::dialog::file):
* library/xmfbox.tcl (tk::MotifFDialog_Create):
Only make the dialog window a transient if
the master is visible. This check already
appeared in some of the dialogs. This patch
just copies the check into those that were
lacking.
Diffstat (limited to 'library/choosedir.tcl')
-rw-r--r-- | library/choosedir.tcl | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/library/choosedir.tcl b/library/choosedir.tcl index f17dc7b..e224d60 100644 --- a/library/choosedir.tcl +++ b/library/choosedir.tcl @@ -5,7 +5,7 @@ # Copyright (c) 1998-2000 by Scriptics Corporation. # All rights reserved. # -# RCS: @(#) $Id: choosedir.tcl,v 1.12 2002/04/29 13:17:44 bagnonm Exp $ +# RCS: @(#) $Id: choosedir.tcl,v 1.13 2002/06/12 23:08:12 mdejong Exp $ # Make sure the tk::dialog namespace, in which all dialogs should live, exists namespace eval ::tk::dialog {} @@ -51,7 +51,17 @@ proc ::tk::dialog::file::chooseDir:: {args} { set data(okBtn) $w.f2.ok set data(cancelBtn) $w.f3.cancel } - wm transient $w $data(-parent) + + # Dialog boxes should be transient with respect to their parent, + # so that they will always stay on top of their parent window. However, + # some window managers will create the window as withdrawn if the parent + # window is withdrawn or iconified. Combined with the grab we put on the + # window, this can hang the entire application. Therefore we only make + # the dialog transient if the parent is viewable. + + if {[winfo viewable [winfo toplevel $data(-parent)]] } { + wm transient $w $data(-parent) + } trace variable data(selectPath) w [list ::tk::dialog::file::SetPath $w] $data(dirMenuBtn) configure \ |