summaryrefslogtreecommitdiffstats
path: root/library/tearoff.tcl
diff options
context:
space:
mode:
Diffstat (limited to 'library/tearoff.tcl')
-rw-r--r--library/tearoff.tcl12
1 files changed, 6 insertions, 6 deletions
diff --git a/library/tearoff.tcl b/library/tearoff.tcl
index dece4df..96e275f 100644
--- a/library/tearoff.tcl
+++ b/library/tearoff.tcl
@@ -79,11 +79,11 @@ proc ::tk::TearOffMenu {w {x 0} {y 0}} {
}
if {[tk windowingsystem] eq "win32"} {
- # [Bug 3181181]: Find the toplevel window for the menu
- set parent [winfo toplevel $parent]
- while {[winfo class $parent] eq "Menu"} {
- set parent [winfo toplevel [winfo parent $parent]]
- }
+ # [Bug 3181181]: Find the toplevel window for the menu
+ set parent [winfo toplevel $parent]
+ while {[winfo class $parent] eq "Menu"} {
+ set parent [winfo toplevel [winfo parent $parent]]
+ }
wm transient $menu [winfo toplevel $parent]
wm attributes $menu -toolwindow 1
}
@@ -135,7 +135,7 @@ proc ::tk::MenuDup {src dst type} {
}
eval $cmd
set last [$src index last]
- if {$last eq "none"} {
+ if {$last eq "none" || $last < 0} {
return
}
for {set i [$src cget -tearoff]} {$i <= $last} {incr i} {