X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=ioncore%2Fioncore_menudb.lua;h=fdb0e422bf8bfddc90e7b381461a3fe51385a250;hb=562cb4d37ba7667ac846fc3d426b152d21ef2c22;hp=42860548298e9712d6f302b8560e3d6bab1c7052;hpb=768d45580fc176cedd04db0b05621cdf596751d5;p=ion3.git diff --git a/ioncore/ioncore_menudb.lua b/ioncore/ioncore_menudb.lua index 4286054..fdb0e42 100644 --- a/ioncore/ioncore_menudb.lua +++ b/ioncore/ioncore_menudb.lua @@ -1,12 +1,9 @@ -- -- ion/ioncore/ioncore_menudb.lua -- Routines for defining menus. -- --- Copyright (c) Tuomo Valkonen 2004-2007. +-- Copyright (c) Tuomo Valkonen 2004-2008. -- --- Ion is free software; you can redistribute it and/or modify it under --- the terms of the GNU Lesser General Public License as published by --- the Free Software Foundation; either version 2.1 of the License, or --- (at your option) any later version. +-- See the included file LICENSE for details. -- local ioncore=_G.ioncore @@ -405,12 +402,16 @@ local function sortmenu(m) end -function menus.ctxmenu(reg, sub_or_chld) +function menus.ctxmenu(reg, sub) local m, r, s + if obj_is(sub, "WGroup") then + sub=(sub:bottom() or sub) + end + -- First, stuff between reg (inclusive) and sub_or_chld (inclusive) -- at the top level in the menu. - r=(sub_or_chld or reg) + r=(sub or reg) while r and s~=reg do local mm=get_ctxmenu(r, s) m=((m and table.icat(mm, m)) or mm)