diff options
author | Dalai Felinto <dfelinto@gmail.com> | 2017-03-29 23:13:46 +0300 |
---|---|---|
committer | Dalai Felinto <dfelinto@gmail.com> | 2017-03-29 23:33:09 +0300 |
commit | 61134dc02c6f32f08d3fbef1b77bb9310b0ca817 (patch) | |
tree | 864ce5269b82f6d2824d2d80fd3841760ed80521 | |
parent | 08875452b0b7ccde56e94e68bebdf511f2cd7c22 (diff) |
Base: update localview, however ...
Local view will not be supported in 2.8, at least not at first. This updates the code anyways.
-rw-r--r-- | source/blender/editors/space_view3d/view3d_view.c | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/source/blender/editors/space_view3d/view3d_view.c b/source/blender/editors/space_view3d/view3d_view.c index f20f3dca97b..2b34629e337 100644 --- a/source/blender/editors/space_view3d/view3d_view.c +++ b/source/blender/editors/space_view3d/view3d_view.c @@ -1287,11 +1287,11 @@ int ED_view3d_scene_layer_set(int lay, const int *values, int *active) static bool view3d_localview_init( wmWindowManager *wm, wmWindow *win, - Main *bmain, Scene *scene, ScrArea *sa, const int smooth_viewtx, + Main *bmain, Scene *scene, SceneLayer *sl, ScrArea *sa, const int smooth_viewtx, ReportList *reports) { View3D *v3d = sa->spacedata.first; - BaseLegacy *base; + Base *base; float min[3], max[3], box[3], mid[3]; float size = 0.0f; unsigned int locallay; @@ -1315,12 +1315,12 @@ static bool view3d_localview_init( ok = true; - BASACT->lay |= locallay; - scene->obedit->lay = BASACT->lay; + BASACT_NEW->lay |= locallay; + scene->obedit->lay = BASACT_NEW->lay; } else { - for (base = FIRSTBASE; base; base = base->next) { - if (TESTBASE(v3d, base)) { + for (base = FIRSTBASE_NEW; base; base = base->next) { + if (TESTBASE_NEW(base)) { BKE_object_minmax(base->object, min, max, false); base->lay |= locallay; base->object->lay = base->lay; @@ -1390,11 +1390,11 @@ static bool view3d_localview_init( } else { /* clear flags */ - for (base = FIRSTBASE; base; base = base->next) { + for (base = FIRSTBASE_NEW; base; base = base->next) { if (base->lay & locallay) { base->lay -= locallay; if (base->lay == 0) base->lay = v3d->layact; - if (base->object != scene->obedit) base->flag_legacy |= SELECT; + if (base->object != scene->obedit) base->flag |= BASE_SELECTED; base->object->lay = base->lay; } } @@ -1505,6 +1505,7 @@ static int localview_exec(bContext *C, wmOperator *op) wmWindow *win = CTX_wm_window(C); Main *bmain = CTX_data_main(C); Scene *scene = CTX_data_scene(C); + SceneLayer *sl = CTX_data_scene_layer(C); ScrArea *sa = CTX_wm_area(C); View3D *v3d = CTX_wm_view3d(C); bool changed; @@ -1513,7 +1514,7 @@ static int localview_exec(bContext *C, wmOperator *op) changed = view3d_localview_exit(wm, win, bmain, scene, sa, smooth_viewtx); } else { - changed = view3d_localview_init(wm, win, bmain, scene, sa, smooth_viewtx, op->reports); + changed = view3d_localview_init(wm, win, bmain, scene, sl, sa, smooth_viewtx, op->reports); } if (changed) { |