diff options
author | dkf <donal.k.fellows@manchester.ac.uk> | 2012-08-27 19:48:23 (GMT) |
---|---|---|
committer | dkf <donal.k.fellows@manchester.ac.uk> | 2012-08-27 19:48:23 (GMT) |
commit | 55ad282f48e04748a7cf3d375ad3fc2abb47c0a1 (patch) | |
tree | c8cd1c66faa65fac8be9a9a85c0fc3ba7b8a564f /library/menu.tcl | |
parent | bd27ced6025b5ce285080806ecd44c8b9bc1786a (diff) | |
parent | ef65c6ff80f269b8e94aa1ff98e76831b93c4550 (diff) | |
download | tk-55ad282f48e04748a7cf3d375ad3fc2abb47c0a1.zip tk-55ad282f48e04748a7cf3d375ad3fc2abb47c0a1.tar.gz tk-55ad282f48e04748a7cf3d375ad3fc2abb47c0a1.tar.bz2 |
Generate -errorcode values to go with errors. Generate messages and postscript
using Tcl_Obj API, not the string result API.
Diffstat (limited to 'library/menu.tcl')
-rw-r--r-- | library/menu.tcl | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/library/menu.tcl b/library/menu.tcl index a51c96f..cfe7536 100644 --- a/library/menu.tcl +++ b/library/menu.tcl @@ -253,7 +253,8 @@ proc ::tk::MbPost {w {x {}} {y {}}} { set tearoff [expr {[tk windowingsystem] eq "x11" \ || [$menu cget -type] eq "tearoff"}] if {[string first $w $menu] != 0} { - error "can't post $menu: it isn't a descendant of $w (this is a new requirement in Tk versions 3.0 and later)" + return -code error -errorcode {TK MENUBUTTON POST_NONCHILD} \ + "can't post $menu: it isn't a descendant of $w" } set cur $Priv(postedMb) if {$cur ne ""} { @@ -320,7 +321,7 @@ proc ::tk::MbPost {w {x {}} {y {}}} { $menu activate $entry GenerateMenuSelect $menu } - } + } right { set x [expr {[winfo rootx $w] + [winfo width $w]}] set y [expr {(2 * [winfo rooty $w] + [winfo height $w]) / 2}] @@ -353,14 +354,12 @@ proc ::tk::MbPost {w {x {}} {y {}}} { } } } - } msg]} { + } msg opt]} { # Error posting menu (e.g. bogus -postcommand). Unpost it and # reflect the error. - set savedInfo $errorInfo MenuUnpost {} - error $msg $savedInfo - + return -options $opt $msg } set Priv(tearoff) $tearoff |