core/MenuManager.cpp
changeset 1163 0bb03cb6277b
parent 1006 d8100bb2b07f
child 1220 4f111b467bfa
     1.1 --- a/core/MenuManager.cpp	Tue Jul 24 22:20:58 2007 +0000
     1.2 +++ b/core/MenuManager.cpp	Wed Jul 25 01:18:11 2007 +0000
     1.3 @@ -187,9 +187,9 @@
     1.4  	m_pHandler->OnMenuDisplay(menu, client, display);
     1.5  }
     1.6  
     1.7 -void VoteMenuHandler::OnMenuDisplayItem(IBaseMenu *menu, int client, unsigned int item, const char **display)
     1.8 +unsigned int VoteMenuHandler::OnMenuDisplayItem(IBaseMenu *menu, int client, IMenuPanel *panel, unsigned int item, const ItemDrawInfo &dr)
     1.9  {
    1.10 -	m_pHandler->OnMenuDisplayItem(menu, client, item, display);
    1.11 +	return m_pHandler->OnMenuDisplayItem(menu, client, panel, item, dr);
    1.12  }
    1.13  
    1.14  void VoteMenuHandler::OnMenuDrawItem(IBaseMenu *menu, int client, unsigned int item, unsigned int &style)
    1.15 @@ -594,8 +594,11 @@
    1.16  		for (unsigned int i=0; i<foundItems; i++)
    1.17  		{
    1.18  			ItemDrawInfo &dr = drawItems[i].draw;
    1.19 -			mh->OnMenuDisplayItem(menu, client, drawItems[i].position, &(dr.display));
    1.20 -			if ((position = display->DrawItem(dr)) != 0)
    1.21 +			if ((position = mh->OnMenuDisplayItem(menu, client, display, drawItems[i].position, dr)) == 0)
    1.22 +			{
    1.23 +				position = display->DrawItem(dr);
    1.24 +			}
    1.25 +			if (position != 0)
    1.26  			{
    1.27  				slots[position].item = drawItems[i].position;
    1.28  				slots[position].type = ItemSel_Item;
    1.29 @@ -609,7 +612,10 @@
    1.30  		while (i--)
    1.31  		{
    1.32  			ItemDrawInfo &dr = drawItems[i].draw;
    1.33 -			mh->OnMenuDisplayItem(menu, client, drawItems[i].position, &(dr.display));
    1.34 +			if ((position = mh->OnMenuDisplayItem(menu, client, display, drawItems[i].position, dr)) == 0)
    1.35 +			{
    1.36 +				position = display->DrawItem(dr);
    1.37 +			}
    1.38  			if ((position = display->DrawItem(dr)) != 0)
    1.39  			{
    1.40  				slots[position].item = drawItems[i].position;