Tk Source Code

Check-in [a337b2c4]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:[Bug 3294593] fix menu unposting under some conditions.

Moving the pointer off a cascaded submenu over the application window and then back to the parent menu window on a non-cascade entry would leave the submenu displayed when it should be unposted. This patch solves this issue.

Suggested-by: Schelte Bron <[email protected]> Signed-off-by: Pat Thoyts <[email protected]>

Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | core-8-5-branch
Files: files | file ages | folders
SHA1: a337b2c440b7201e2864e824116366caa1f8833d
User & Date: patthoyts 2011-04-30 22:29:49
Context
2011-06-01
10:47
[Bug # 3306909]: tk_popup placement on Windows Vista can be incorrect.

When posting menus near the bottom of the screen on Windows versions newer than XP the menu may be placed incorrectly. This is due to code in PostOverPoint that corrects an error in the XP window manager. This fix is no longer required for Vista and Windows7.

Reported-by: Harald Oehlmann <[email protected]> Signed-off-by: Pat Thoyts <[email protected]> check-in: 6db4a05c user: patthoyts tags: core-8-5-branch

2011-05-26
20:47
Release candidate branch for Tk 8.5.10 check-in: 98fe7b7c user: dgp tags: core-8-5-10-rc
2011-04-30
22:29
[Bug 3294593] fix menu unposting under some conditions.

Moving the pointer off a cascaded submenu over the application window and then back to the parent menu window on a non-cascade entry would leave the submenu displayed when it should be unposted. This patch solves this issue.

Suggested-by: Schelte Bron <[email protected]> Signed-off-by: Pat Thoyts <[email protected]> check-in: a337b2c4 user: patthoyts tags: core-8-5-branch

22:28
[Bug 2949774]: cascade menus should popdown ofter loosing the pointer.

When the pointer moves to another entry from a cascade entry the sub-menu should popdown. This is how other menus on X11 work today. This effect will not be used if the user has configured ClickToFocus to maintain the previous Tk menu effects.

(backported from trunk)

Signed-off-by: Pat Thoyts <[email protected]> check-in: 27b9615d user: patthoyts tags: core-8-5-branch

Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to library/menu.tcl.

563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578



579
580
581
582
583
584
585
	    GenerateMenuSelect $menu
	}
        set index [$menu index @$x,$y]
        if {[info exists Priv(menuActivated)] \
                && $index ne "none" \
                && $index ne $activeindex} {
            set mode [option get $menu clickToFocus ClickToFocus]
            if {$mode eq "" || ([string is boolean $mode] && !$mode)} {
                set delay [expr {[$menu cget -type] eq "menubar" ? 0 : 50}]
                if {[$menu type $activeindex] eq "cascade"} {
                    set Priv(menuDeactivatedTimer) \
                        [after $delay [list $menu postcascade none]]
                }
                if {[$menu type $index] eq "cascade"} {
                    set Priv(menuActivatedTimer) \
                        [after $delay [list $menu postcascade active]]



                }
            }
        }
    }
}

# ::tk::MenuButtonDown --







|

<
<
<
<



>
>
>







563
564
565
566
567
568
569
570
571




572
573
574
575
576
577
578
579
580
581
582
583
584
	    GenerateMenuSelect $menu
	}
        set index [$menu index @$x,$y]
        if {[info exists Priv(menuActivated)] \
                && $index ne "none" \
                && $index ne $activeindex} {
            set mode [option get $menu clickToFocus ClickToFocus]
            if {[string is false $mode]} {
                set delay [expr {[$menu cget -type] eq "menubar" ? 0 : 50}]




                if {[$menu type $index] eq "cascade"} {
                    set Priv(menuActivatedTimer) \
                        [after $delay [list $menu postcascade active]]
                } else {
                    set Priv(menuDeactivatedTimer) \
                        [after $delay [list $menu postcascade none]]
                }
            }
        }
    }
}

# ::tk::MenuButtonDown --