1.1 --- a/core/MenuStyle_Base.cpp Wed Sep 26 01:03:20 2007 +0000
1.2 +++ b/core/MenuStyle_Base.cpp Wed Sep 26 01:04:22 2007 +0000
1.3 @@ -288,6 +288,8 @@
1.4 IMenuHandler *mh = states.mh;
1.5 IBaseMenu *menu = states.menu;
1.6
1.7 + unsigned int item_on_page = states.firstItem;
1.8 +
1.9 assert(mh != NULL);
1.10
1.11 if (menu == NULL)
1.12 @@ -380,6 +382,10 @@
1.13 mh->OnMenuCancel(menu, client, reason);
1.14 } else {
1.15 mh->OnMenuSelect(menu, client, item);
1.16 + if (mh->GetMenuAPIVersion2() >= 13)
1.17 + {
1.18 + mh->OnMenuSelect2(menu, client, item, item_on_page);
1.19 + }
1.20 }
1.21
1.22 /* Only fire end for valid menus */
1.23 @@ -448,7 +454,11 @@
1.24 return true;
1.25 }
1.26
1.27 -bool BaseMenuStyle::DoClientMenu(int client, CBaseMenu *menu, IMenuHandler *mh, unsigned int time)
1.28 +bool BaseMenuStyle::DoClientMenu(int client,
1.29 + CBaseMenu *menu,
1.30 + unsigned int first_item,
1.31 + IMenuHandler *mh,
1.32 + unsigned int time)
1.33 {
1.34 #if defined MENU_DEBUG
1.35 g_Logger.LogMessage("[SM_MENU] DoClientMenu() (client %d) (menu %p) (mh %p) (time %d)",
1.36 @@ -498,7 +508,7 @@
1.37 _CancelClientMenu(client, MenuCancel_Interrupted, true);
1.38 }
1.39
1.40 - states.firstItem = 0;
1.41 + states.firstItem = first_item;
1.42 states.lastItem = 0;
1.43 states.menu = menu;
1.44 states.mh = mh;