summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--generic/tkMenu.c9
-rw-r--r--tests/menu.test4
-rw-r--r--tests/menuDraw.test2
3 files changed, 9 insertions, 6 deletions
diff --git a/generic/tkMenu.c b/generic/tkMenu.c
index d3551f9..eacdffb 100644
--- a/generic/tkMenu.c
+++ b/generic/tkMenu.c
@@ -856,12 +856,15 @@ MenuWidgetObjCmd(
if (GetMenuIndex(interp, menuPtr, objv[2], 0, &index) != TCL_OK) {
goto error;
}
-#if !defined(TK_NO_DEPRECATED) && (TCL_MAJOR_VERSION < 9)
if (index < 0) {
+#if defined(TK_NO_DEPRECATED)
Tcl_SetObjResult(interp, Tcl_NewObj());
- } else
+#else
+ Tcl_SetObjResult(interp, Tcl_NewStringObj("none", TCL_INDEX_NONE));
#endif
- Tcl_SetObjResult(interp, TkNewIndexObj(index));
+ } else {
+ Tcl_SetObjResult(interp, TkNewIndexObj(index));
+ }
break;
}
case MENU_INSERT:
diff --git a/tests/menu.test b/tests/menu.test
index 054ac68..4e98e95 100644
--- a/tests/menu.test
+++ b/tests/menu.test
@@ -1864,10 +1864,10 @@ test menu-3.71 {MenuWidgetCmd procedure, "index end" option, bug [f3cd942e9e]} -
destroy .m1
} -body {
menu .m1
- .m1 index "end"
+ expr {[.m1 index "end"] in [list {} none]}
} -cleanup {
destroy .m1
-} -result {}
+} -result 1
test menu-4.1 {TkInvokeMenu: disabled} -setup {
diff --git a/tests/menuDraw.test b/tests/menuDraw.test
index 2cafc31..02111ab 100644
--- a/tests/menuDraw.test
+++ b/tests/menuDraw.test
@@ -558,7 +558,7 @@ test menuDraw-15.2 {TkPostTearoffMenu - Deactivation} -setup {
menu .m1
.m1 add command -label "foo" -state active
set tearoff [tk::TearOffMenu .m1 40 40]
- expr {[$tearoff index active]<0}
+ expr {[$tearoff index active] in [list {} none]}
} -cleanup {
deleteWindows
} -result 1