[Bf-blender-cvs] [c489c8481f1] blender2.8: Keymap: check modal keymap item poll function

Campbell Barton noreply at git.blender.org
Wed Aug 29 03:27:11 CEST 2018


Commit: c489c8481f112fc6027f88e51dffe7104baa3f16
Author: Campbell Barton
Date:   Wed Aug 29 11:29:29 2018 +1000
Branches: blender2.8
https://developer.blender.org/rBc489c8481f112fc6027f88e51dffe7104baa3f16

Keymap: check modal keymap item poll function

Fixes T56591: Vertex/Edge slide C-Key fails

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

M	source/blender/windowmanager/intern/wm_event_system.c

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

diff --git a/source/blender/windowmanager/intern/wm_event_system.c b/source/blender/windowmanager/intern/wm_event_system.c
index 1c709dcb83c..cd1357e85b1 100644
--- a/source/blender/windowmanager/intern/wm_event_system.c
+++ b/source/blender/windowmanager/intern/wm_event_system.c
@@ -1871,13 +1871,15 @@ static void wm_event_modalkeymap(const bContext *C, wmOperator *op, wmEvent *eve
 
 		for (kmi = keymap->items.first; kmi; kmi = kmi->next) {
 			if (wm_eventmatch(event, kmi)) {
-
-				event->prevtype = event->type;
-				event->prevval = event->val;
-				event->type = EVT_MODAL_MAP;
-				event->val = kmi->propvalue;
-
-				break;
+				if ((keymap->poll_modal_item == NULL) ||
+				    (keymap->poll_modal_item(op, kmi->propvalue)))
+				{
+					event->prevtype = event->type;
+					event->prevval = event->val;
+					event->type = EVT_MODAL_MAP;
+					event->val = kmi->propvalue;
+					break;
+				}
 			}
 		}
 	}



More information about the Bf-blender-cvs mailing list