[Bf-blender-cvs] [109ba2d] temp_manipulators_core: More fixes for recent refactor
Julian Eisel
noreply at git.blender.org
Thu Sep 29 18:51:41 CEST 2016
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;
+ }
}
}
}
More information about the Bf-blender-cvs
mailing list