From 00eb28810aae93e396001907717682efb48960d4 Mon Sep 17 00:00:00 2001 From: mdejong Date: Thu, 13 Jun 2002 06:17:21 +0000 Subject: * library/choosedir.tcl (tk::dialog::file::chooseDir): * library/clrpick.tcl (tk::dialog::file::chooseDir): * library/msgbox.tcl (tk::MessageBox): * library/tkfbox.tcl (tk::dialog::file): * library/xmfbox.tcl (tk::MotifFDialog): Remove the transient property on dialogs after they have been dismissed to insulate them from further state changes in the master. This keeps a withdrawn dialog from being mapped when the master is deiconified. [Tk patch 568278] --- ChangeLog | 14 +++++++++++++- library/choosedir.tcl | 9 ++++++++- library/clrpick.tcl | 9 ++++++++- library/msgbox.tcl | 9 ++++++++- library/tkfbox.tcl | 9 ++++++++- library/xmfbox.tcl | 9 ++++++++- 6 files changed, 53 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index e08a90a..2908006 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,15 @@ +2002-06-12 Mo DeJong + + * library/choosedir.tcl (tk::dialog::file::chooseDir): + * library/clrpick.tcl (tk::dialog::file::chooseDir): + * library/msgbox.tcl (tk::MessageBox): + * library/tkfbox.tcl (tk::dialog::file): + * library/xmfbox.tcl (tk::MotifFDialog): Remove the + transient property on dialogs after they have been + dismissed to insulate them from further state changes + in the master. This keeps a withdrawn dialog from + being mapped when the master is deiconified. [Tk patch 568278] + 2002-06-12 Jeff Hobbs * win/tkWinCursor.c (TkGetCursorByName): reverted fix from @@ -46,7 +58,7 @@ deleting a master in wm transient command to avoid deleting the callback when an error is raised. Add support for MapNotify and UnmapNotify events - to the master callback. + to the master callback. [Tk patch 561708] 2002-06-11 Joe English diff --git a/library/choosedir.tcl b/library/choosedir.tcl index e224d60..3875c7b 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.13 2002/06/12 23:08:12 mdejong Exp $ +# RCS: @(#) $Id: choosedir.tcl,v 1.14 2002/06/13 06:17:21 mdejong Exp $ # Make sure the tk::dialog namespace, in which all dialogs should live, exists namespace eval ::tk::dialog {} @@ -96,6 +96,13 @@ proc ::tk::dialog::file::chooseDir:: {args} { ::tk::RestoreFocusGrab $w $data(ent) withdraw + # Remove the transient property to insulate the + # dialog from changes in the master's state. + + if {[winfo exists $w]} { + wm transient $w {} + } + # Cleanup traces on selectPath variable # diff --git a/library/clrpick.tcl b/library/clrpick.tcl index 6a39220..f80d752 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.17 2002/06/12 23:08:12 mdejong Exp $ +# RCS: @(#) $Id: clrpick.tcl,v 1.18 2002/06/13 06:17:21 mdejong Exp $ # # Copyright (c) 1996 Sun Microsystems, Inc. # @@ -109,6 +109,13 @@ proc ::tk::dialog::color:: {args} { ::tk::RestoreFocusGrab $w $data(okBtn) unset data + # Remove the transient property to insulate the + # dialog from changes in the master's state. + + if {[winfo exists $w]} { + wm transient $w {} + } + return $Priv(selectColor) } diff --git a/library/msgbox.tcl b/library/msgbox.tcl index bd62167..4208d2c 100644 --- a/library/msgbox.tcl +++ b/library/msgbox.tcl @@ -3,7 +3,7 @@ # Implements messageboxes for platforms that do not have native # messagebox support. # -# RCS: @(#) $Id: msgbox.tcl,v 1.19 2002/06/12 23:08:12 mdejong Exp $ +# RCS: @(#) $Id: msgbox.tcl,v 1.20 2002/06/13 06:17:21 mdejong Exp $ # # Copyright (c) 1994-1997 Sun Microsystems, Inc. # @@ -404,5 +404,12 @@ proc ::tk::MessageBox {args} { ::tk::RestoreFocusGrab $w $focus + # Remove the transient property to insulate the + # dialog from changes in the master's state. + + if {[winfo exists $w]} { + wm transient $w {} + } + return $Priv(button) } diff --git a/library/tkfbox.tcl b/library/tkfbox.tcl index 6d7ce2f..0255cad 100644 --- a/library/tkfbox.tcl +++ b/library/tkfbox.tcl @@ -11,7 +11,7 @@ # files by clicking on the file icons or by entering a filename # in the "Filename:" entry. # -# RCS: @(#) $Id: tkfbox.tcl,v 1.35 2002/06/12 23:08:12 mdejong Exp $ +# RCS: @(#) $Id: tkfbox.tcl,v 1.36 2002/06/13 06:17:21 mdejong Exp $ # # Copyright (c) 1994-1998 Sun Microsystems, Inc. # @@ -878,6 +878,13 @@ proc ::tk::dialog::file:: {type args} { ::tk::RestoreFocusGrab $w $data(ent) withdraw + # Remove the transient property to insulate the + # dialog from changes in the master's state. + + if {[winfo exists $w]} { + wm transient $w {} + } + # Cleanup traces on selectPath variable # diff --git a/library/xmfbox.tcl b/library/xmfbox.tcl index 53df5dc..74eff0e 100644 --- a/library/xmfbox.tcl +++ b/library/xmfbox.tcl @@ -4,7 +4,7 @@ # Unix platform. This implementation is used only if the # "::tk_strictMotif" flag is set. # -# RCS: @(#) $Id: xmfbox.tcl,v 1.21 2002/06/12 23:08:12 mdejong Exp $ +# RCS: @(#) $Id: xmfbox.tcl,v 1.22 2002/06/13 06:17:21 mdejong Exp $ # # Copyright (c) 1996 Sun Microsystems, Inc. # Copyright (c) 1998-2000 Scriptics Corporation @@ -56,6 +56,13 @@ proc ::tk::MotifFDialog {type args} { vwait ::tk::Priv(selectFilePath) ::tk::RestoreFocusGrab $w $data(sEnt) withdraw + # Remove the transient property to insulate the + # dialog from changes in the master's state. + + if {[winfo exists $w]} { + wm transient $w {} + } + return $Priv(selectFilePath) } -- cgit v0.12