All pastes #1227108 Raw Edit

geever

public diff v1 · immutable
#1227108 ·published 2008-10-14 19:05 UTC
rendered paste body
Index: menu/m_input.c===================================================================--- menu/m_input.c	(revision 19638)+++ menu/m_input.c	(working copy)@@ -352,7 +352,7 @@  	sp = mn.menuStackPos; -	while (sp > 0) {+	while (sp > 0 && !clickedInside) { 		menu_t *menu = mn.menuStack[--sp]; 		menuNode_t *execute_node = NULL; 		for (node = menu->firstNode; node; node = node->next) {@@ -478,8 +478,9 @@ { 	int mouseOver; 	int sp = mn.menuStackPos;+	qboolean clickedInside = qfalse; -	while (sp > 0) {+	while (sp > 0 && !clickedInside) { 		menu_t *menu = mn.menuStack[--sp]; 		menuNode_t *node; @@ -493,6 +494,8 @@ 			if (!mouseOver) 				continue; +			clickedInside = qtrue;+ 			/* found a node -> do actions */ 			switch (node->type) { 			case MN_CONTAINER:@@ -535,16 +538,19 @@ 	menuNode_t *node; 	menu_t *menu; 	int sp, mouseOver;+	qboolean clickedInside = qfalse;  	sp = mn.menuStackPos; -	while (sp > 0) {+	while (sp > 0 && !clickedInside) { 		menu = mn.menuStack[--sp]; 		for (node = menu->firstNode; node; node = node->next) { 			/* no middle click for this node defined */ 			if (!node->mclick) 				continue; +			clickedInside = qtrue;+ 			/* check whether mouse if over this node */ 			mouseOver = MN_CheckNodeZone(node, x, y); 			if (!mouseOver)@@ -586,10 +592,11 @@ 	menuNode_t *node; 	menu_t *menu; 	int sp, mouseOver;+	qboolean wheelInside = qfalse;  	sp = mn.menuStackPos; -	while (sp > 0) {+	while (sp > 0 && !wheelInside) { 		menu = mn.menuStack[--sp]; 		for (node = menu->firstNode; node; node = node->next) { 			/* no middle click for this node defined */@@ -602,6 +609,8 @@ 			if (!mouseOver) 				continue; +			wheelInside = qtrue;+ 			/* found a node -> do actions */ 			switch (node->type) { 			case MN_MAP: