Commit: 109ba2d1908d557c8723b1d8139fdd9f606d5a20
Author: Julian Eisel
Date:   Thu Sep 29 18:50:42 2016 +0200
Branches: temp_manipulators_core
https://developer.blender.org/rB109ba2d1908d557c8723b1d8139fdd9f606d5a20

More fixes for recent refactor

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

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

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

diff --git a/source/blender/windowmanager/intern/wm_event_system.c 
b/source/blender/windowmanager/intern/wm_event_system.c
index d9f387c..1fa5b22 100644
--- a/source/blender/windowmanager/intern/wm_event_system.c
+++ b/source/blender/windowmanager/intern/wm_event_system.c
@@ -2114,12 +2114,11 @@ static int wm_handlers_do_intern(bContext *C, wmEvent 
*event, ListBase *handlers
                                /* handle manipulator highlighting */
                                if (event->type == MOUSEMOVE && 
!wm_manipulatormap_get_active_manipulator(mmap)) {
                                        /* TODO should check for both, 2D and 
3D manipulators and choose the one closest to cursor */
-                                       if ((manipulator = 
wm_manipulatormap_find_highlighted_3D(mmap, C, event, &part))) {
-                                               
wm_manipulatormap_set_highlighted_manipulator(mmap, C, manipulator, part);
-                                       }
-                                       else if ((manipulator = 
wm_manipulatormap_find_highlighted_manipulator(mmap, C, event, &part))) {
-                                               
wm_manipulatormap_set_highlighted_manipulator(mmap, C, manipulator, part);
+                                       manipulator = 
wm_manipulatormap_find_highlighted_3D(mmap, C, event, &part);
+                                       if (!manipulator) {
+                                               manipulator = 
wm_manipulatormap_find_highlighted_manipulator(mmap, C, event, &part);
                                        }
+                                       
wm_manipulatormap_set_highlighted_manipulator(mmap, C, manipulator, part);
                                }
                                /* handle user configurable manipulator-map 
keymap */
                                else if (manipulator) {
diff --git 
a/source/blender/windowmanager/manipulators/intern/wm_manipulatormap.c 
b/source/blender/windowmanager/manipulators/intern/wm_manipulatormap.c
index d79de5c..b55ddcf 100644
--- a/source/blender/windowmanager/manipulators/intern/wm_manipulatormap.c
+++ b/source/blender/windowmanager/manipulators/intern/wm_manipulatormap.c
@@ -627,11 +627,13 @@ wmManipulator 
*wm_manipulatormap_find_highlighted_manipulator(
        wmManipulator *manipulator;
 
        for (wmManipulatorGroup *mgroup = mmap->manipulator_groups.first; 
mgroup; mgroup = mgroup->next) {
-               if (!mgroup->type->poll || mgroup->type->poll(C, mgroup->type)) 
{
-                       for (manipulator = mgroup->manipulators.first; 
manipulator; manipulator = manipulator->next) {
-                               if (manipulator->intersect) {
-                                       if ((*part = manipulator->intersect(C, 
event, manipulator)))
-                                               return manipulator;
+               if ((mgroup->type->flag & WM_MANIPULATORGROUPTYPE_3D) == 0) {
+                       if (!mgroup->type->poll || mgroup->type->poll(C, 
mgroup->type)) {
+                               for (manipulator = mgroup->manipulators.first; 
manipulator; manipulator = manipulator->next) {
+                                       if (manipulator->intersect) {
+                                               if ((*part = 
manipulator->intersect(C, event, manipulator)))
+                                                       return manipulator;
+                                       }
                                }
                        }
                }

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to