summaryrefslogtreecommitdiffstats
path: root/library/clrpick.tcl
diff options
context:
space:
mode:
authormdejong <mdejong>2002-06-12 23:08:11 (GMT)
committermdejong <mdejong>2002-06-12 23:08:11 (GMT)
commit0c2e3f9b9ed9298e21b92b1e894c07ffbc4f2a70 (patch)
tree63c9432dfc34ae837dc633748cf0a09e8dcef2ea /library/clrpick.tcl
parent0e5c86e6a829f79ba53442480b957b435c798238 (diff)
downloadtk-0c2e3f9b9ed9298e21b92b1e894c07ffbc4f2a70.zip
tk-0c2e3f9b9ed9298e21b92b1e894c07ffbc4f2a70.tar.gz
tk-0c2e3f9b9ed9298e21b92b1e894c07ffbc4f2a70.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/clrpick.tcl')
-rw-r--r--library/clrpick.tcl13
1 files changed, 11 insertions, 2 deletions
diff --git a/library/clrpick.tcl b/library/clrpick.tcl
index bf2bca3..6a39220 100644
--- a/library/clrpick.tcl
+++ b/library/clrpick.tcl
@@ -3,7 +3,7 @@
# Color selection dialog for platforms that do not support a
# standard color selection dialog.
#
-# RCS: @(#) $Id: clrpick.tcl,v 1.16 2002/06/10 00:15:42 a_kovalenko Exp $
+# RCS: @(#) $Id: clrpick.tcl,v 1.17 2002/06/12 23:08:12 mdejong Exp $
#
# Copyright (c) 1996 Sun Microsystems, Inc.
#
@@ -77,7 +77,16 @@ proc ::tk::dialog::color:: {args} {
BuildDialog $w
}
- 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)
+ }
# 5. Withdraw the window, then update all the geometry information
# so we know how big it wants to be, then center the window in the