diff options
author | Campbell Barton <ideasman42@gmail.com> | 2017-06-15 13:48:24 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2017-06-15 13:56:22 +0300 |
commit | 830df9b33d3e2afdf3bb23b469378899c34fda78 (patch) | |
tree | 4f2fad8cdd48937e28d2c45115476c9045e4525b /source/blender/editors/util | |
parent | 1a7099f3ecf52fa8a54c2ba3f652d5827ca9103c (diff) |
Updates to manipulator API
While this is work-in-progress from custom-manipulators branch
its stable so adding into 2.8 so we don't get too much out of sync.
- ManipulatorGroupType's are moved out of the manipulator-map and are now
global (like operators, panels etc) and added into spaces as needed.
Without this all operators that might ever use a manipulator in the 3D
view would be polling the viewport.
- Add optional get/set callbacks for non-RNA properties
Needed so re-usable manipulators can control values that
don't correspond to a single properly or need conversion.
- Fix divide by zero bug in arrow manipulator (when moving zero pixels).
Diffstat (limited to 'source/blender/editors/util')
-rw-r--r-- | source/blender/editors/util/ed_util.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/source/blender/editors/util/ed_util.c b/source/blender/editors/util/ed_util.c index 490683e9360..6ae1de3fead 100644 --- a/source/blender/editors/util/ed_util.c +++ b/source/blender/editors/util/ed_util.c @@ -104,12 +104,15 @@ void ED_editors_init(bContext *C) for (ob = bmain->object.first; ob; ob = ob->id.next) { int mode = ob->mode; - if (!ELEM(mode, OB_MODE_OBJECT, OB_MODE_POSE)) { - ob->mode = OB_MODE_OBJECT; + if (mode == OB_MODE_OBJECT) { + /* pass */ + } + else { data = ob->data; - - if (ob == obact && !ID_IS_LINKED_DATABLOCK(ob) && !(data && ID_IS_LINKED_DATABLOCK(data))) + ob->mode = OB_MODE_OBJECT; + if ((ob == obact) && !ID_IS_LINKED_DATABLOCK(ob) && !(data && ID_IS_LINKED_DATABLOCK(data))) { ED_object_toggle_modes(C, mode); + } } } |