diff options
author | ericm <ericm@noemail.net> | 2000-04-11 18:19:05 (GMT) |
---|---|---|
committer | ericm <ericm@noemail.net> | 2000-04-11 18:19:05 (GMT) |
commit | 8e86359adcf669e33f772be047aac5fd311a3a78 (patch) | |
tree | 93b76a26d364a66061b16bef11eafc1d4cebe992 | |
parent | 7e7db8d6d4ed6987a4f813d93644de5bdc386ef2 (diff) | |
download | tk-8e86359adcf669e33f772be047aac5fd311a3a78.zip tk-8e86359adcf669e33f772be047aac5fd311a3a78.tar.gz tk-8e86359adcf669e33f772be047aac5fd311a3a78.tar.bz2 |
* library/bgerror.tcl: Moved check for withdrawn state after check
for tkerror; this was causing problems when tkerror was used.
FossilOrigin-Name: 9d9aad24fbf5107be1dc5c9e114d84a96caa46ed
-rw-r--r-- | library/bgerror.tcl | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/library/bgerror.tcl b/library/bgerror.tcl index 15f9448..f9dc8d8 100644 --- a/library/bgerror.tcl +++ b/library/bgerror.tcl @@ -4,7 +4,7 @@ # posts a dialog box with the error message and gives the user a chance # to see a more detailed stack trace. # -# RCS: @(#) $Id: bgerror.tcl,v 1.6 2000/04/10 23:19:58 ericm Exp $ +# RCS: @(#) $Id: bgerror.tcl,v 1.7 2000/04/11 18:19:06 ericm Exp $ # # Copyright (c) 1992-1994 The Regents of the University of California. # Copyright (c) 1994-1996 Sun Microsystems, Inc. @@ -24,21 +24,6 @@ proc bgerror err { global errorInfo tcl_platform - # Normally, the bgerror dialog is made transient with respect to "." (due - # to the implementation of tk_dialog). On some systems (like Windows), - # when a window is withdraw or iconified, it's transient windows go with - # it. Unfortunately, there is also a grab on the dialog (again because of - # the implementation of tk_dialog). So if "." is withdrawn or iconified - # and the user gets a bgerror, the app will hang, for no apparent reason. - # - # One (somewhat hacky) way to address this is to un-transient the dialog - # if "." is withdrawn or iconified. - after idle { - if { ![winfo viewable .bgerrorDialog] } { - wm transient .bgerrorDialog {} - } - } - # save errorInfo which would be erased in the catch below otherwise. set info $errorInfo ; @@ -55,6 +40,21 @@ proc bgerror err { set ret [catch {tkerror $err} msg]; if {$ret != 1} {return -code $ret $msg} + # Normally, the bgerror dialog is made transient with respect to "." (due + # to the implementation of tk_dialog). On some systems (like Windows), + # when a window is withdraw or iconified, it's transient windows go with + # it. Unfortunately, there is also a grab on the dialog (again because of + # the implementation of tk_dialog). So if "." is withdrawn or iconified + # and the user gets a bgerror, the app will hang, for no apparent reason. + # + # One (somewhat hacky) way to address this is to un-transient the dialog + # if "." is withdrawn or iconified. + after idle { + if { ![winfo viewable .bgerrorDialog] } { + wm transient .bgerrorDialog {} + } + } + # Ok the application's tkerror either failed or was not found # we use the default dialog then : if {$tcl_platform(platform) == "macintosh"} { |