summaryrefslogtreecommitdiffstats
path: root/library/menu.tcl
diff options
context:
space:
mode:
authorericm <ericm@noemail.net>2000-03-10 22:16:34 (GMT)
committerericm <ericm@noemail.net>2000-03-10 22:16:34 (GMT)
commitef31cd427ecb1bf13a56181350f3834a84491138 (patch)
tree5d8a87ffd7f1733a0d17827aa06c8aa65bb2a579 /library/menu.tcl
parentf2de32aa847b9659f133b9167f5816002f3cff45 (diff)
downloadtk-ef31cd427ecb1bf13a56181350f3834a84491138.zip
tk-ef31cd427ecb1bf13a56181350f3834a84491138.tar.gz
tk-ef31cd427ecb1bf13a56181350f3834a84491138.tar.bz2
* library/menu.tcl: Applied patch from [Bug: 4155]; protects
against grabs on non-viewable windows. FossilOrigin-Name: d0a2b37183e4b5827218971e2f2eef3aa9d9efee
Diffstat (limited to 'library/menu.tcl')
-rw-r--r--library/menu.tcl11
1 files changed, 7 insertions, 4 deletions
diff --git a/library/menu.tcl b/library/menu.tcl
index 409955d..00c0e4c 100644
--- a/library/menu.tcl
+++ b/library/menu.tcl
@@ -4,7 +4,7 @@
# It also implements keyboard traversal of menus and implements a few
# other utility procedures related to menus.
#
-# RCS: @(#) $Id: menu.tcl,v 1.9 2000/03/07 01:02:26 ericm Exp $
+# RCS: @(#) $Id: menu.tcl,v 1.10 2000/03/10 22:16:36 ericm Exp $
#
# Copyright (c) 1992-1994 The Regents of the University of California.
# Copyright (c) 1994-1997 Sun Microsystems, Inc.
@@ -350,8 +350,10 @@ proc tkMbPost {w {x {}} {y {}}} {
set tkPriv(tearoff) $tearoff
if {$tearoff != 0} {
focus $menu
- tkSaveGrabInfo $w
- grab -global $w
+ if {[winfo viewable $w]} {
+ tkSaveGrabInfo $w
+ grab -global $w
+ }
}
}
@@ -561,7 +563,8 @@ proc tkMenuButtonDown menu {
return
}
$menu postcascade active
- if {[string compare $tkPriv(postedMb) ""]} {
+ if {[string compare $tkPriv(postedMb) ""] && \
+ [winfo viewable $tkPriv(postedMb)]} {
grab -global $tkPriv(postedMb)
} else {
while {[string equal [$menu cget -type] "normal"] \