@@ -4352,21 +4352,19 @@ void Menu_HandleKey(menuDef_t *menu, int key, qboolean down) {
4352
4352
case A_CURSOR_UP :
4353
4353
Menu_SetPrevCursorItem (menu );
4354
4354
break ;
4355
-
4356
4355
case A_ESCAPE :
4357
4356
if (!g_waitingForKey && menu -> onESC ) {
4358
4357
itemDef_t it ;
4359
- it .parent = menu ;
4360
- Item_RunScript (& it , menu -> onESC );
4358
+ it .parent = menu ;
4359
+ Item_RunScript (& it , menu -> onESC );
4361
4360
}
4362
- g_waitingForKey = qfalse ;
4361
+ g_waitingForKey = qfalse ;
4363
4362
break ;
4364
4363
case A_TAB :
4365
4364
case A_KP_2 :
4366
4365
case A_CURSOR_DOWN :
4367
4366
Menu_SetNextCursorItem (menu );
4368
4367
break ;
4369
-
4370
4368
case A_MOUSE1 :
4371
4369
case A_MOUSE2 :
4372
4370
if (item ) {
@@ -4375,7 +4373,9 @@ void Menu_HandleKey(menuDef_t *menu, int key, qboolean down) {
4375
4373
{
4376
4374
Item_Action (item );
4377
4375
}
4378
- } else if (item -> type == ITEM_TYPE_EDITFIELD || item -> type == ITEM_TYPE_NUMERICFIELD ) {
4376
+ break ;
4377
+ }
4378
+ if (item -> type == ITEM_TYPE_EDITFIELD || item -> type == ITEM_TYPE_NUMERICFIELD ) {
4379
4379
if (Rect_ContainsPoint (& item -> window .rect , DC -> cursorx , DC -> cursory ))
4380
4380
{
4381
4381
Item_Action (item );
@@ -4384,6 +4384,7 @@ void Menu_HandleKey(menuDef_t *menu, int key, qboolean down) {
4384
4384
g_editItem = item ;
4385
4385
//DC->setOverstrikeMode(qtrue);
4386
4386
}
4387
+ break ;
4387
4388
}
4388
4389
4389
4390
//JLFACCEPT
@@ -4396,7 +4397,7 @@ void Menu_HandleKey(menuDef_t *menu, int key, qboolean down) {
4396
4397
*/
4397
4398
4398
4399
//JLFACCEPT MPMOVED
4399
- else if ( item -> type == ITEM_TYPE_MULTI || item -> type == ITEM_TYPE_YESNO || item -> type == ITEM_TYPE_SLIDER || item -> type == ITEM_TYPE_INTSLIDER )
4400
+ if ( item -> type == ITEM_TYPE_MULTI || item -> type == ITEM_TYPE_YESNO || item -> type == ITEM_TYPE_SLIDER || item -> type == ITEM_TYPE_INTSLIDER )
4400
4401
{
4401
4402
if (Item_HandleAccept (item ))
4402
4403
{
@@ -4409,14 +4410,22 @@ void Menu_HandleKey(menuDef_t *menu, int key, qboolean down) {
4409
4410
it .parent = menu ;
4410
4411
Item_RunScript (& it , menu -> onAccept );
4411
4412
}
4413
+ break ;
4412
4414
}
4413
4415
//END JLFACCEPT
4416
+ if (key == A_MOUSE2 && !g_waitingForKey && !item -> action && menu -> onESC ) {
4417
+ itemDef_t it ;
4418
+ it .parent = menu ;
4419
+ Item_RunScript (& it , menu -> onESC );
4420
+ g_waitingForKey = qfalse ;
4421
+ break ;
4422
+ }
4414
4423
else {
4415
4424
if (Rect_ContainsPoint (& item -> window .rect , DC -> cursorx , DC -> cursory ))
4416
4425
{
4417
-
4418
4426
Item_Action (item );
4419
4427
}
4428
+ break ;
4420
4429
}
4421
4430
}
4422
4431
break ;
0 commit comments