core/MenuStyle_Base.cpp
changeset 997 2fc3152c3118
parent 970 b47becc0083d
child 1005 b15b5682d181
     1.1 --- a/core/MenuStyle_Base.cpp	Thu Jun 21 19:51:34 2007 +0000
     1.2 +++ b/core/MenuStyle_Base.cpp	Thu Jun 21 23:06:37 2007 +0000
     1.3 @@ -84,7 +84,7 @@
     1.4  	/* Only fire end if there's a valid menu */
     1.5  	if (menu)
     1.6  	{
     1.7 -		mh->OnMenuEnd(menu);
     1.8 +		mh->OnMenuEnd(menu, MenuEnd_Cancelled);
     1.9  	}
    1.10  
    1.11  	if (bAutoIgnore)
    1.12 @@ -311,7 +311,15 @@
    1.13  	/* Only fire end for valid menus */
    1.14  	if (menu)
    1.15  	{
    1.16 -		mh->OnMenuEnd(menu);
    1.17 +		MenuEndReason end_reason = 
    1.18 +			(cancel ? 
    1.19 +				MenuEnd_Selected
    1.20 +				: 
    1.21 +				(reason == MenuCancel_Exit ? 
    1.22 +					MenuEnd_Exit
    1.23 +					: 
    1.24 +					MenuEnd_Cancelled));
    1.25 +		mh->OnMenuEnd(menu, end_reason);
    1.26  	}
    1.27  }
    1.28  
    1.29 @@ -392,7 +400,7 @@
    1.30  		g_Logger.LogMessage("[SM_MENU] DoClientMenu(): Failed to display to client %d", client);
    1.31  #endif
    1.32  		mh->OnMenuCancel(menu, client, MenuCancel_NoDisplay);
    1.33 -		mh->OnMenuEnd(menu);
    1.34 +		mh->OnMenuEnd(menu, MenuEnd_Cancelled);
    1.35  		return false;
    1.36  	}
    1.37  
    1.38 @@ -403,7 +411,7 @@
    1.39  		g_Logger.LogMessage("[SM_MENU] DoClientMenu(): Client %d is autoIgnoring", client);
    1.40  #endif
    1.41  		mh->OnMenuCancel(menu, client, MenuCancel_NoDisplay);
    1.42 -		mh->OnMenuEnd(menu);
    1.43 +		mh->OnMenuEnd(menu, MenuEnd_Cancelled);
    1.44  		return false;
    1.45  	}
    1.46  
    1.47 @@ -439,7 +447,7 @@
    1.48  		player->bAutoIgnore = false;
    1.49  		player->bInMenu = false;
    1.50  		mh->OnMenuCancel(menu, client, MenuCancel_NoDisplay);
    1.51 -		mh->OnMenuEnd(menu);
    1.52 +		mh->OnMenuEnd(menu, MenuEnd_Cancelled);
    1.53  		return false;
    1.54  	}
    1.55