diff options
Diffstat (limited to 'source/blender/editors')
28 files changed, 68 insertions, 70 deletions
diff --git a/source/blender/editors/include/ED_screen.h b/source/blender/editors/include/ED_screen.h index d462b9e7ad3..b6b72ad4fff 100644 --- a/source/blender/editors/include/ED_screen.h +++ b/source/blender/editors/include/ED_screen.h @@ -61,11 +61,14 @@ void ED_region_tag_redraw_partial(struct ARegion *ar, const struct rcti *rct) void ED_region_tag_redraw_overlay(struct ARegion *ar); void ED_region_tag_refresh_ui(struct ARegion *ar); void ED_region_panels_init(struct wmWindowManager *wm, struct ARegion *ar); -void ED_region_panels(const struct bContext *C, struct ARegion *ar, int vertical, const char *context, int contextnr); +void ED_region_panels( + const struct bContext *C, struct ARegion *ar, + const char *context, int contextnr, + const bool vertical); void ED_region_header_init(struct ARegion *ar); void ED_region_header(const struct bContext *C, struct ARegion *ar); void ED_region_toggle_hidden(struct bContext *C, struct ARegion *ar); -void ED_region_info_draw(struct ARegion *ar, const char *text, int block, float fill_color[4]); +void ED_region_info_draw(struct ARegion *ar, const char *text, float fill_color[4], const bool full_redraw); void ED_region_image_metadata_draw(int x, int y, struct ImBuf *ibuf, rctf frame, float zoomx, float zoomy); void ED_region_grid_draw(struct ARegion *ar, float zoomx, float zoomy); void ED_region_draw_backdrop_view3d(const struct bContext *C, struct Object *camera, const float alpha, diff --git a/source/blender/editors/object/object_relations.c b/source/blender/editors/object/object_relations.c index c2d2bffbbe5..560dacf72b2 100644 --- a/source/blender/editors/object/object_relations.c +++ b/source/blender/editors/object/object_relations.c @@ -145,7 +145,7 @@ static int vertex_parent_set_exec(bContext *C, wmOperator *op) /* derivedMesh might be needed for solving parenting, * so re-create it here */ - makeDerivedMesh(scene, obedit, em, CD_MASK_BAREMESH | CD_MASK_ORIGINDEX, 0); + makeDerivedMesh(scene, obedit, em, CD_MASK_BAREMESH | CD_MASK_ORIGINDEX, false); BM_ITER_MESH (eve, &iter, em->bm, BM_VERTS_OF_MESH) { if (BM_elem_flag_test(eve, BM_ELEM_SELECT)) { diff --git a/source/blender/editors/render/render_internal.c b/source/blender/editors/render/render_internal.c index 74aedcba4aa..2b3493ade92 100644 --- a/source/blender/editors/render/render_internal.c +++ b/source/blender/editors/render/render_internal.c @@ -792,13 +792,13 @@ static void clean_viewport_memory(Main *bmain, Scene *scene, int renderlay) if ((base->lay & renderlay) == 0) { continue; } - if (RE_allow_render_generic_object(base->object)) { base->object->id.flag &= ~LIB_DOIT; } } - for (object = bmain->object.first; object; object = object->id.next) { + for (SETLOOPER(scene, sce_iter, base)) { + object = base->object; if ((object->id.flag & LIB_DOIT) == 0) { continue; } diff --git a/source/blender/editors/screen/area.c b/source/blender/editors/screen/area.c index 0da78eee86b..aeba68f7a47 100644 --- a/source/blender/editors/screen/area.c +++ b/source/blender/editors/screen/area.c @@ -1818,7 +1818,7 @@ int ED_area_header_switchbutton(const bContext *C, uiBlock *block, int yco) /************************ standard UI regions ************************/ -void ED_region_panels(const bContext *C, ARegion *ar, int vertical, const char *context, int contextnr) +void ED_region_panels(const bContext *C, ARegion *ar, const char *context, int contextnr, const bool vertical) { ScrArea *sa = CTX_wm_area(C); uiStyle *style = UI_style_get_dpi(); @@ -2132,7 +2132,7 @@ int ED_area_headersize(void) return (int)(HEADERY * UI_DPI_FAC); } -void ED_region_info_draw(ARegion *ar, const char *text, int block, float fill_color[4]) +void ED_region_info_draw(ARegion *ar, const char *text, float fill_color[4], const bool full_redraw) { const int header_height = UI_UNIT_Y; uiStyle *style = UI_style_get_dpi(); @@ -2145,7 +2145,7 @@ void ED_region_info_draw(ARegion *ar, const char *text, int block, float fill_co rect.ymin = BLI_rcti_size_y(&ar->winrct) - header_height; /* box fill entire width or just around text */ - if (!block) + if (!full_redraw) rect.xmax = min_ii(rect.xmax, rect.xmin + BLF_width(fontid, text, BLF_DRAW_STR_DUMMY_MAX) + 1.2f * U.widget_unit); rect.ymax = BLI_rcti_size_y(&ar->winrct); diff --git a/source/blender/editors/space_buttons/space_buttons.c b/source/blender/editors/space_buttons/space_buttons.c index a778df4b783..6704431c705 100644 --- a/source/blender/editors/space_buttons/space_buttons.c +++ b/source/blender/editors/space_buttons/space_buttons.c @@ -137,38 +137,38 @@ static void buttons_main_area_draw(const bContext *C, ARegion *ar) { /* draw entirely, view changes should be handled here */ SpaceButs *sbuts = CTX_wm_space_buts(C); - int vertical = (sbuts->align == BUT_VERTICAL); + const bool vertical = (sbuts->align == BUT_VERTICAL); buttons_context_compute(C, sbuts); if (sbuts->mainb == BCONTEXT_SCENE) - ED_region_panels(C, ar, vertical, "scene", sbuts->mainb); + ED_region_panels(C, ar, "scene", sbuts->mainb, vertical); else if (sbuts->mainb == BCONTEXT_RENDER) - ED_region_panels(C, ar, vertical, "render", sbuts->mainb); + ED_region_panels(C, ar, "render", sbuts->mainb, vertical); else if (sbuts->mainb == BCONTEXT_RENDER_LAYER) - ED_region_panels(C, ar, vertical, "render_layer", sbuts->mainb); + ED_region_panels(C, ar, "render_layer", sbuts->mainb, vertical); else if (sbuts->mainb == BCONTEXT_WORLD) - ED_region_panels(C, ar, vertical, "world", sbuts->mainb); + ED_region_panels(C, ar, "world", sbuts->mainb, vertical); else if (sbuts->mainb == BCONTEXT_OBJECT) - ED_region_panels(C, ar, vertical, "object", sbuts->mainb); + ED_region_panels(C, ar, "object", sbuts->mainb, vertical); else if (sbuts->mainb == BCONTEXT_DATA) - ED_region_panels(C, ar, vertical, "data", sbuts->mainb); + ED_region_panels(C, ar, "data", sbuts->mainb, vertical); else if (sbuts->mainb == BCONTEXT_MATERIAL) - ED_region_panels(C, ar, vertical, "material", sbuts->mainb); + ED_region_panels(C, ar, "material", sbuts->mainb, vertical); else if (sbuts->mainb == BCONTEXT_TEXTURE) - ED_region_panels(C, ar, vertical, "texture", sbuts->mainb); + ED_region_panels(C, ar, "texture", sbuts->mainb, vertical); else if (sbuts->mainb == BCONTEXT_PARTICLE) - ED_region_panels(C, ar, vertical, "particle", sbuts->mainb); + ED_region_panels(C, ar, "particle", sbuts->mainb, vertical); else if (sbuts->mainb == BCONTEXT_PHYSICS) - ED_region_panels(C, ar, vertical, "physics", sbuts->mainb); + ED_region_panels(C, ar, "physics", sbuts->mainb, vertical); else if (sbuts->mainb == BCONTEXT_BONE) - ED_region_panels(C, ar, vertical, "bone", sbuts->mainb); + ED_region_panels(C, ar, "bone", sbuts->mainb, vertical); else if (sbuts->mainb == BCONTEXT_MODIFIER) - ED_region_panels(C, ar, vertical, "modifier", sbuts->mainb); + ED_region_panels(C, ar, "modifier", sbuts->mainb, vertical); else if (sbuts->mainb == BCONTEXT_CONSTRAINT) - ED_region_panels(C, ar, vertical, "constraint", sbuts->mainb); + ED_region_panels(C, ar, "constraint", sbuts->mainb, vertical); else if (sbuts->mainb == BCONTEXT_BONE_CONSTRAINT) - ED_region_panels(C, ar, vertical, "bone_constraint", sbuts->mainb); + ED_region_panels(C, ar, "bone_constraint", sbuts->mainb, vertical); sbuts->re_align = 0; sbuts->mainbo = sbuts->mainb; diff --git a/source/blender/editors/space_clip/clip_draw.c b/source/blender/editors/space_clip/clip_draw.c index e6c05bbdda2..74a9eb480b7 100644 --- a/source/blender/editors/space_clip/clip_draw.c +++ b/source/blender/editors/space_clip/clip_draw.c @@ -252,11 +252,11 @@ static void draw_movieclip_notes(SpaceClip *sc, ARegion *ar) MovieClip *clip = ED_space_clip_get_clip(sc); MovieTracking *tracking = &clip->tracking; char str[256] = {0}; - bool block = false; + bool full_redraw = false; if (tracking->stats) { BLI_strncpy(str, tracking->stats->message, sizeof(str)); - block = true; + full_redraw = true; } else { if (sc->flag & SC_LOCK_SELECTION) @@ -265,7 +265,7 @@ static void draw_movieclip_notes(SpaceClip *sc, ARegion *ar) if (str[0]) { float fill_color[4] = {0.0f, 0.0f, 0.0f, 0.6f}; - ED_region_info_draw(ar, str, block, fill_color); + ED_region_info_draw(ar, str, fill_color, full_redraw); } } diff --git a/source/blender/editors/space_clip/space_clip.c b/source/blender/editors/space_clip/space_clip.c index 5ba82f7f71f..f119fe23c12 100644 --- a/source/blender/editors/space_clip/space_clip.c +++ b/source/blender/editors/space_clip/space_clip.c @@ -1445,7 +1445,7 @@ static void clip_tools_area_init(wmWindowManager *wm, ARegion *ar) static void clip_tools_area_draw(const bContext *C, ARegion *ar) { - ED_region_panels(C, ar, 1, NULL, -1); + ED_region_panels(C, ar, NULL, -1, true); } /****************** tool properties region ******************/ @@ -1492,7 +1492,7 @@ static void clip_properties_area_draw(const bContext *C, ARegion *ar) BKE_movieclip_update_scopes(sc->clip, &sc->user, &sc->scopes); - ED_region_panels(C, ar, 1, NULL, -1); + ED_region_panels(C, ar, NULL, -1, true); } static void clip_properties_area_listener(bScreen *UNUSED(sc), ScrArea *UNUSED(sa), ARegion *ar, wmNotifier *wmn) diff --git a/source/blender/editors/space_file/space_file.c b/source/blender/editors/space_file/space_file.c index c662d759397..d498176f9c4 100644 --- a/source/blender/editors/space_file/space_file.c +++ b/source/blender/editors/space_file/space_file.c @@ -562,7 +562,7 @@ static void file_tools_area_init(wmWindowManager *wm, ARegion *ar) static void file_tools_area_draw(const bContext *C, ARegion *ar) { - ED_region_panels(C, ar, 1, NULL, -1); + ED_region_panels(C, ar, NULL, -1, true); } static void file_tools_area_listener(bScreen *UNUSED(sc), ScrArea *UNUSED(sa), ARegion *UNUSED(ar), wmNotifier *UNUSED(wmn)) diff --git a/source/blender/editors/space_graph/space_graph.c b/source/blender/editors/space_graph/space_graph.c index 4fd6276a28f..5bbd13fa949 100644 --- a/source/blender/editors/space_graph/space_graph.c +++ b/source/blender/editors/space_graph/space_graph.c @@ -414,7 +414,7 @@ static void graph_buttons_area_init(wmWindowManager *wm, ARegion *ar) static void graph_buttons_area_draw(const bContext *C, ARegion *ar) { - ED_region_panels(C, ar, 1, NULL, -1); + ED_region_panels(C, ar, NULL, -1, true); } static void graph_region_listener(bScreen *UNUSED(sc), ScrArea *UNUSED(sa), ARegion *ar, wmNotifier *wmn) diff --git a/source/blender/editors/space_image/image_draw.c b/source/blender/editors/space_image/image_draw.c index 34e32c150d6..b157d1c7627 100644 --- a/source/blender/editors/space_image/image_draw.c +++ b/source/blender/editors/space_image/image_draw.c @@ -99,7 +99,7 @@ static void draw_render_info(const bContext *C, if (rr && rr->text) { float fill_color[4] = {0.0f, 0.0f, 0.0f, 0.25f}; - ED_region_info_draw(ar, rr->text, 1, fill_color); + ED_region_info_draw(ar, rr->text, fill_color, true); } BKE_image_release_renderresult(stats_scene, ima); diff --git a/source/blender/editors/space_image/space_image.c b/source/blender/editors/space_image/space_image.c index a9a5e601e10..928e064b730 100644 --- a/source/blender/editors/space_image/space_image.c +++ b/source/blender/editors/space_image/space_image.c @@ -835,7 +835,7 @@ static void image_buttons_area_init(wmWindowManager *wm, ARegion *ar) static void image_buttons_area_draw(const bContext *C, ARegion *ar) { - ED_region_panels(C, ar, 1, NULL, -1); + ED_region_panels(C, ar, NULL, -1, true); } static void image_buttons_area_listener(bScreen *UNUSED(sc), ScrArea *UNUSED(sa), ARegion *ar, wmNotifier *wmn) @@ -908,7 +908,7 @@ static void image_tools_area_draw(const bContext *C, ARegion *ar) } ED_space_image_release_buffer(sima, ibuf, lock); - ED_region_panels(C, ar, 1, NULL, -1); + ED_region_panels(C, ar, NULL, -1, true); } static void image_tools_area_listener(bScreen *UNUSED(sc), ScrArea *UNUSED(sa), ARegion *ar, wmNotifier *wmn) diff --git a/source/blender/editors/space_logic/space_logic.c b/source/blender/editors/space_logic/space_logic.c index 733cac7794e..34a5fee88eb 100644 --- a/source/blender/editors/space_logic/space_logic.c +++ b/source/blender/editors/space_logic/space_logic.c @@ -282,7 +282,7 @@ static void logic_buttons_area_init(wmWindowManager *wm, ARegion *ar) static void logic_buttons_area_draw(const bContext *C, ARegion *ar) { - ED_region_panels(C, ar, 1, NULL, -1); + ED_region_panels(C, ar, NULL, -1, true); } /************************* header region **************************/ diff --git a/source/blender/editors/space_nla/space_nla.c b/source/blender/editors/space_nla/space_nla.c index ec584525aeb..9fc7b5d6f8f 100644 --- a/source/blender/editors/space_nla/space_nla.c +++ b/source/blender/editors/space_nla/space_nla.c @@ -349,7 +349,7 @@ static void nla_buttons_area_init(wmWindowManager *wm, ARegion *ar) static void nla_buttons_area_draw(const bContext *C, ARegion *ar) { - ED_region_panels(C, ar, 1, NULL, -1); + ED_region_panels(C, ar, NULL, -1, true); } static void nla_region_listener(bScreen *UNUSED(sc), ScrArea *UNUSED(sa), ARegion *ar, wmNotifier *wmn) diff --git a/source/blender/editors/space_node/space_node.c b/source/blender/editors/space_node/space_node.c index a1980c88d7e..9c61ce997e6 100644 --- a/source/blender/editors/space_node/space_node.c +++ b/source/blender/editors/space_node/space_node.c @@ -603,7 +603,7 @@ static void node_buttons_area_init(wmWindowManager *wm, ARegion *ar) static void node_buttons_area_draw(const bContext *C, ARegion *ar) { - ED_region_panels(C, ar, 1, NULL, -1); + ED_region_panels(C, ar, NULL, -1, true); } /* add handlers, stuff you only do once or on area/region changes */ @@ -619,7 +619,7 @@ static void node_toolbar_area_init(wmWindowManager *wm, ARegion *ar) static void node_toolbar_area_draw(const bContext *C, ARegion *ar) { - ED_region_panels(C, ar, 1, NULL, -1); + ED_region_panels(C, ar, NULL, -1, true); } static void node_cursor(wmWindow *win, ScrArea *sa, ARegion *ar) diff --git a/source/blender/editors/space_outliner/outliner_tree.c b/source/blender/editors/space_outliner/outliner_tree.c index d4bef06cca9..0c1d6318638 100644 --- a/source/blender/editors/space_outliner/outliner_tree.c +++ b/source/blender/editors/space_outliner/outliner_tree.c @@ -988,7 +988,7 @@ static TreeElement *outliner_add_element(SpaceOops *soops, ListBase *lb, void *i te->directdata = seq; te->name = seq->name + 2; - if (seq->type < SEQ_TYPE_EFFECT) { + if (!(seq->type & SEQ_TYPE_EFFECT)) { /* * This work like the sequence. * If the sequence have a name (not default name) diff --git a/source/blender/editors/space_sequencer/sequencer_draw.c b/source/blender/editors/space_sequencer/sequencer_draw.c index eb00c37a483..69ef20584d0 100644 --- a/source/blender/editors/space_sequencer/sequencer_draw.c +++ b/source/blender/editors/space_sequencer/sequencer_draw.c @@ -412,7 +412,7 @@ static void draw_seq_handle(View2D *v2d, Sequence *seq, const float handsize_cla } /* draw! */ - if (seq->type < SEQ_TYPE_EFFECT || + if (!(seq->type & SEQ_TYPE_EFFECT) || BKE_sequence_effect_get_num_inputs(seq->type) == 0) { glEnable(GL_BLEND); diff --git a/source/blender/editors/space_sequencer/sequencer_select.c b/source/blender/editors/space_sequencer/sequencer_select.c index 4fbe0c6a241..c9fdb4ac5f5 100644 --- a/source/blender/editors/space_sequencer/sequencer_select.c +++ b/source/blender/editors/space_sequencer/sequencer_select.c @@ -1044,15 +1044,15 @@ static bool select_grouped_effect(Editing *ed, Sequence *actseq) { Sequence *seq; bool changed = false; - bool effects[SEQ_TYPE_EFFECT_MAX + 1]; + bool effects[SEQ_TYPE_MAX + 1]; int i; - for (i = 0; i <= SEQ_TYPE_EFFECT_MAX; i++) + for (i = 0; i <= SEQ_TYPE_MAX; i++) effects[i] = false; SEQP_BEGIN (ed, seq) { - if (ELEM(actseq, seq->seq1, seq->seq2, seq->seq3)) { + if ((seq->type & SEQ_TYPE_EFFECT) && ELEM(actseq, seq->seq1, seq->seq2, seq->seq3)) { effects[seq->type] = true; } } diff --git a/source/blender/editors/space_sequencer/space_sequencer.c b/source/blender/editors/space_sequencer/space_sequencer.c index 92a16ce6b7b..482b5b378ab 100644 --- a/source/blender/editors/space_sequencer/space_sequencer.c +++ b/source/blender/editors/space_sequencer/space_sequencer.c @@ -672,7 +672,7 @@ static void sequencer_buttons_area_init(wmWindowManager *wm, ARegion *ar) static void sequencer_buttons_area_draw(const bContext *C, ARegion *ar) { - ED_region_panels(C, ar, 1, NULL, -1); + ED_region_panels(C, ar, NULL, -1, true); } static void sequencer_buttons_area_listener(bScreen *UNUSED(sc), ScrArea *UNUSED(sa), ARegion *ar, wmNotifier *wmn) diff --git a/source/blender/editors/space_text/space_text.c b/source/blender/editors/space_text/space_text.c index d890b9f9b4d..ff53d306e69 100644 --- a/source/blender/editors/space_text/space_text.c +++ b/source/blender/editors/space_text/space_text.c @@ -541,7 +541,7 @@ static void text_properties_area_draw(const bContext *C, ARegion *ar) { SpaceText *st = CTX_wm_space_text(C); - ED_region_panels(C, ar, 1, NULL, -1); + ED_region_panels(C, ar, NULL, -1, true); /* this flag trick is make sure buttons have been added already */ if (st->flags & ST_FIND_ACTIVATE) { diff --git a/source/blender/editors/space_userpref/space_userpref.c b/source/blender/editors/space_userpref/space_userpref.c index f986e909c7f..b5a6821d147 100644 --- a/source/blender/editors/space_userpref/space_userpref.c +++ b/source/blender/editors/space_userpref/space_userpref.c @@ -113,7 +113,7 @@ static void userpref_main_area_init(wmWindowManager *wm, ARegion *ar) static void userpref_main_area_draw(const bContext *C, ARegion *ar) { - ED_region_panels(C, ar, 1, NULL, -1); + ED_region_panels(C, ar, NULL, -1, true); } static void userpref_operatortypes(void) diff --git a/source/blender/editors/space_view3d/drawobject.c b/source/blender/editors/space_view3d/drawobject.c index 4636fd5d968..848362f91d7 100644 --- a/source/blender/editors/space_view3d/drawobject.c +++ b/source/blender/editors/space_view3d/drawobject.c @@ -4315,8 +4315,9 @@ static bool draw_mesh_object(Scene *scene, ARegion *ar, View3D *v3d, RegionView3 if (obedit != ob) finalDM = cageDM = editbmesh_get_derived_base(ob, em); else - cageDM = editbmesh_get_derived_cage_and_final(scene, ob, em, &finalDM, - scene->customdata_mask); + cageDM = editbmesh_get_derived_cage_and_final( + scene, ob, em, scene->customdata_mask, + &finalDM); DM_update_materials(finalDM, ob); if (cageDM != finalDM) { diff --git a/source/blender/editors/space_view3d/space_view3d.c b/source/blender/editors/space_view3d/space_view3d.c index e4f3e1d75ea..bfce6e927a6 100644 --- a/source/blender/editors/space_view3d/space_view3d.c +++ b/source/blender/editors/space_view3d/space_view3d.c @@ -1268,7 +1268,7 @@ static void view3d_buttons_area_init(wmWindowManager *wm, ARegion *ar) static void view3d_buttons_area_draw(const bContext *C, ARegion *ar) { - ED_region_panels(C, ar, 1, NULL, -1); + ED_region_panels(C, ar, NULL, -1, true); } static void view3d_buttons_area_listener(bScreen *UNUSED(sc), ScrArea *UNUSED(sa), ARegion *ar, wmNotifier *wmn) @@ -1374,7 +1374,7 @@ static void view3d_tools_area_init(wmWindowManager *wm, ARegion *ar) static void view3d_tools_area_draw(const bContext *C, ARegion *ar) { - ED_region_panels(C, ar, 1, CTX_data_mode_string(C), -1); + ED_region_panels(C, ar, CTX_data_mode_string(C), -1, true); } static void view3d_props_area_listener(bScreen *UNUSED(sc), ScrArea *UNUSED(sa), ARegion *ar, wmNotifier *wmn) diff --git a/source/blender/editors/space_view3d/view3d_draw.c b/source/blender/editors/space_view3d/view3d_draw.c index 5ccb16e514c..f933e0778a8 100644 --- a/source/blender/editors/space_view3d/view3d_draw.c +++ b/source/blender/editors/space_view3d/view3d_draw.c @@ -3743,7 +3743,7 @@ static void view3d_main_area_draw_engine_info(View3D *v3d, RegionView3D *rv3d, A fill_color[3] = 1.0f; } - ED_region_info_draw(ar, rv3d->render_engine->text, 1, fill_color); + ED_region_info_draw(ar, rv3d->render_engine->text, fill_color, true); } static bool view3d_stereo3d_active(const bContext *C, Scene *scene, View3D *v3d, RegionView3D *rv3d) diff --git a/source/blender/editors/space_view3d/view3d_view.c b/source/blender/editors/space_view3d/view3d_view.c index e9cb6dcdc44..9d687360e8b 100644 --- a/source/blender/editors/space_view3d/view3d_view.c +++ b/source/blender/editors/space_view3d/view3d_view.c @@ -50,6 +50,7 @@ #include "BKE_main.h" #include "BKE_report.h" #include "BKE_scene.h" +#include "BKE_screen.h" #include "BIF_gl.h" #include "BIF_glutil.h" @@ -1601,7 +1602,6 @@ static int game_engine_poll(bContext *C) if (CTX_wm_window(C) == NULL) return 0; if ((screen = CTX_wm_screen(C)) == NULL) return 0; - if (CTX_wm_area(C) == NULL) return 0; if (CTX_data_mode_enum(C) != CTX_MODE_OBJECT) return 0; @@ -1619,20 +1619,18 @@ bool ED_view3d_context_activate(bContext *C) ARegion *ar; /* sa can be NULL when called from python */ - if (sa == NULL || sa->spacetype != SPACE_VIEW3D) - for (sa = sc->areabase.first; sa; sa = sa->next) - if (sa->spacetype == SPACE_VIEW3D) - break; + if (sa == NULL || sa->spacetype != SPACE_VIEW3D) { + sa = BKE_screen_find_big_area(sc, SPACE_VIEW3D, 0); + } - if (!sa) + if (sa == NULL) { return false; + } - for (ar = sa->regionbase.first; ar; ar = ar->next) - if (ar->regiontype == RGN_TYPE_WINDOW) - break; - - if (!ar) + ar = BKE_area_find_region_active_win(sa); + if (ar == NULL) { return false; + } /* bad context switch .. */ CTX_wm_area_set(C, sa); diff --git a/source/blender/editors/transform/transform_conversions.c b/source/blender/editors/transform/transform_conversions.c index 65c0e413c4a..d8e5f99232d 100644 --- a/source/blender/editors/transform/transform_conversions.c +++ b/source/blender/editors/transform/transform_conversions.c @@ -2576,7 +2576,7 @@ static void createTransEditVerts(TransInfo *t) if (modifiers_isCorrectableDeformed(t->scene, t->obedit)) { /* check if we can use deform matrices for modifier from the * start up to stack, they are more accurate than quats */ - totleft = editbmesh_get_first_deform_matrices(t->scene, t->obedit, em, &defmats, &defcos); + totleft = BKE_crazyspace_get_first_deform_matrices_editbmesh(t->scene, t->obedit, em, &defmats, &defcos); } /* if we still have more modifiers, also do crazyspace diff --git a/source/blender/editors/transform/transform_generics.c b/source/blender/editors/transform/transform_generics.c index 25f5c8884e5..80d1e0bb34f 100644 --- a/source/blender/editors/transform/transform_generics.c +++ b/source/blender/editors/transform/transform_generics.c @@ -710,12 +710,6 @@ static void recalcData_objects(TransInfo *t) { Base *base = t->scene->basact; - if (t->state != TRANS_CANCEL) { - if (ELEM(t->tsnap.mode, SCE_SNAP_MODE_INCREMENT, SCE_SNAP_MODE_GRID) && t->tsnap.snap_spatial_grid) { - applyGridAbsolute(t); - } - } - if (t->obedit) { if (ELEM(t->obedit->type, OB_CURVE, OB_SURF)) { Curve *cu = t->obedit->data; diff --git a/source/blender/editors/transform/transform_snap.c b/source/blender/editors/transform/transform_snap.c index 2bf4baab1bb..fd13a686978 100644 --- a/source/blender/editors/transform/transform_snap.c +++ b/source/blender/editors/transform/transform_snap.c @@ -2468,7 +2468,7 @@ static void applyGridIncrement(TransInfo *t, float *val, int max_index, const fl } /* absolute snapping on grid based on global center */ - if ((t->tsnap.mode == SCE_SNAP_MODE_GRID) && (t->mode == TFM_TRANSLATION)) { + if ((t->tsnap.snap_spatial_grid) && (t->mode == TFM_TRANSLATION)) { for (i = 0; i <= max_index; i++) { /* do not let unconstrained axis jump to absolute grid increments */ if (!(t->con.mode & CON_APPLY) || t->con.mode & (CON_AXIS0 << i)) { diff --git a/source/blender/editors/uvedit/uvedit_draw.c b/source/blender/editors/uvedit/uvedit_draw.c index b2c4970479a..9431d754b5f 100644 --- a/source/blender/editors/uvedit/uvedit_draw.c +++ b/source/blender/editors/uvedit/uvedit_draw.c @@ -598,7 +598,9 @@ static void draw_uvs(SpaceImage *sima, Scene *scene, Object *obedit) /* first try existing derivedmesh */ if (!draw_uvs_dm_shadow(em->derivedFinal)) { /* create one if it does not exist */ - cagedm = editbmesh_get_derived_cage_and_final(scene, obedit, me->edit_btmesh, &finaldm, CD_MASK_BAREMESH | CD_MASK_MTFACE); + cagedm = editbmesh_get_derived_cage_and_final( + scene, obedit, me->edit_btmesh, CD_MASK_BAREMESH | CD_MASK_MTFACE, + &finaldm); /* when sync selection is enabled, all faces are drawn (except for hidden) * so if cage is the same as the final, theres no point in drawing this */ |