[Bf-blender-cvs] [bc032b9] pie-menus: Cancel the pie menu when releasing without a valid item selected.

Antony Riakiotakis noreply at git.blender.org
Sun Jun 1 21:20:33 CEST 2014


Commit: bc032b98801c9962932748d01b5ae73bf5062773
Author: Antony Riakiotakis
Date:   Sat May 31 01:34:53 2014 +0300
https://developer.blender.org/rBbc032b98801c9962932748d01b5ae73bf5062773

Cancel the pie menu when releasing without a valid item selected.

===================================================================

M	source/blender/editors/interface/interface_handlers.c

===================================================================

diff --git a/source/blender/editors/interface/interface_handlers.c b/source/blender/editors/interface/interface_handlers.c
index 83168f1..f018c97 100644
--- a/source/blender/editors/interface/interface_handlers.c
+++ b/source/blender/editors/interface/interface_handlers.c
@@ -7858,14 +7858,20 @@ static int ui_handle_menu_event(
 		if (event->customdata == menu->scrolltimer)
 			ui_menu_scroll(ar, block, my, NULL);
 	}
-	else if ((block->flag & UI_BLOCK_RADIAL) && but && (event->type == block->event) && event->val == KM_RELEASE) {
-		wmEvent local_event = *event;
-		local_event.type = RETKEY;
-		local_event.val = KM_PRESS;
-		ui_handle_menu_button(C, &local_event, menu);
-		local_event.type = RETKEY;
-		local_event.val = KM_RELEASE;
-		return ui_handle_menu_button(C, &local_event, menu);
+	else if ((block->flag & UI_BLOCK_RADIAL) && (event->type == block->event) && event->val == KM_RELEASE) {
+		if (but) {
+			wmEvent local_event = *event;
+			local_event.type = RETKEY;
+			local_event.val = KM_PRESS;
+			ui_handle_menu_button(C, &local_event, menu);
+			local_event.type = RETKEY;
+			local_event.val = KM_RELEASE;
+			return ui_handle_menu_button(C, &local_event, menu);
+		}
+		else {
+			menu->menuretval = UI_RETURN_CANCEL;
+			return WM_UI_HANDLER_BREAK;
+		}
 	}
 	else {
 		/* for ui_mouse_motion_towards_block */




More information about the Bf-blender-cvs mailing list