summaryrefslogtreecommitdiffstats
path: root/generic/tkMenu.c
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2015-11-30 21:21:48 (GMT)
committerdgp <dgp@users.sourceforge.net>2015-11-30 21:21:48 (GMT)
commita24fdcc2b9295b493a9cd9e7632be98c5ddb3f6a (patch)
tree24ccb2318d04412685b1a4262df7c33df0864d34 /generic/tkMenu.c
parentddb9e825e0b85f216d172f8b537257c8d58b0de9 (diff)
parentb8bfd3505b511a3cc94297df7f04c55505d6df2c (diff)
downloadtk-a24fdcc2b9295b493a9cd9e7632be98c5ddb3f6a.zip
tk-a24fdcc2b9295b493a9cd9e7632be98c5ddb3f6a.tar.gz
tk-a24fdcc2b9295b493a9cd9e7632be98c5ddb3f6a.tar.bz2
merge 8.5
Diffstat (limited to 'generic/tkMenu.c')
-rw-r--r--generic/tkMenu.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/generic/tkMenu.c b/generic/tkMenu.c
index 49b5935..b35be24 100644
--- a/generic/tkMenu.c
+++ b/generic/tkMenu.c
@@ -934,9 +934,14 @@ MenuWidgetObjCmd(
* Tearoff menus are posted differently on Mac and Windows than
* non-tearoffs. TkpPostMenu does not actually map the menu's window
* on those platforms, and popup menus have to be handled specially.
+ * Also, menubar menues are not intended to be posted (bug 1567681,
+ * 2160206).
*/
- if (menuPtr->menuType != TEAROFF_MENU) {
+ if (menuPtr->menuType == MENUBAR) {
+ Tcl_AppendResult(interp, "a menubar menu cannot be posted", NULL);
+ return TCL_ERROR;
+ } else if (menuPtr->menuType != TEAROFF_MENU) {
result = TkpPostMenu(interp, menuPtr, x, y);
} else {
result = TkPostTearoffMenu(interp, menuPtr, x, y);