diff options
author | Bastien Montagne <montagne29@wanadoo.fr> | 2018-05-31 13:27:47 +0300 |
---|---|---|
committer | Bastien Montagne <montagne29@wanadoo.fr> | 2018-05-31 13:27:47 +0300 |
commit | 28369f725c10f167e504f0acd695a0f9d3c2a709 (patch) | |
tree | 8f8cb7289a660b84ec4be31ab018965d4082b11c /source/blender/editors | |
parent | 24d1829243c6e41c639c1d0722a13599a7c1927c (diff) |
Cleanup: remove G.main from BKE object
Had to add some G.main to modifiers, but in 2.8 we do not need that
anymore, so it's not that bad! ;)
Diffstat (limited to 'source/blender/editors')
7 files changed, 41 insertions, 34 deletions
diff --git a/source/blender/editors/include/ED_object.h b/source/blender/editors/include/ED_object.h index f94927c0336..448e0efc549 100644 --- a/source/blender/editors/include/ED_object.h +++ b/source/blender/editors/include/ED_object.h @@ -184,13 +184,13 @@ struct ListBase *get_active_constraints(struct Object *ob); struct ListBase *get_constraint_lb(struct Object *ob, struct bConstraint *con, struct bPoseChannel **r_pchan); struct bConstraint *get_active_constraint(struct Object *ob); -void object_test_constraints(struct Object *ob); +void object_test_constraints(struct Main *bmain, struct Object *ob); void ED_object_constraint_set_active(struct Object *ob, struct bConstraint *con); -void ED_object_constraint_update(struct Object *ob); +void ED_object_constraint_update(struct Main *bmain, struct Object *ob); void ED_object_constraint_dependency_update(struct Main *bmain, struct Object *ob); -void ED_object_constraint_tag_update(struct Object *ob, struct bConstraint *con); +void ED_object_constraint_tag_update(struct Main *bmain, struct Object *ob, struct bConstraint *con); void ED_object_constraint_dependency_tag_update(struct Main *bmain, struct Object *ob, struct bConstraint *con); /* object_modes.c */ diff --git a/source/blender/editors/object/object_constraint.c b/source/blender/editors/object/object_constraint.c index 94caaedec19..1ec47cde029 100644 --- a/source/blender/editors/object/object_constraint.c +++ b/source/blender/editors/object/object_constraint.c @@ -260,7 +260,7 @@ static void set_constraint_nth_target(bConstraint *con, Object *target, const ch /* ------------- Constraint Sanity Testing ------------------- */ -static void test_constraint(Object *owner, bPoseChannel *pchan, bConstraint *con, int type) +static void test_constraint(Main *bmain, Object *owner, bPoseChannel *pchan, bConstraint *con, int type) { const bConstraintTypeInfo *cti = BKE_constraint_typeinfo_get(con); ListBase targets = {NULL, NULL}; @@ -278,7 +278,7 @@ static void test_constraint(Object *owner, bPoseChannel *pchan, bConstraint *con * the constraint is deemed invalid */ /* default IK check ... */ - if (BKE_object_exists_check(data->tar) == 0) { + if (BKE_object_exists_check(bmain, data->tar) == 0) { data->tar = NULL; con->flag |= CONSTRAINT_DISABLE; } @@ -289,7 +289,7 @@ static void test_constraint(Object *owner, bPoseChannel *pchan, bConstraint *con } if (data->poletar) { - if (BKE_object_exists_check(data->poletar) == 0) { + if (BKE_object_exists_check(bmain, data->poletar) == 0) { data->poletar = NULL; con->flag |= CONSTRAINT_DISABLE; } @@ -308,7 +308,7 @@ static void test_constraint(Object *owner, bPoseChannel *pchan, bConstraint *con bPivotConstraint *data = con->data; /* target doesn't have to exist, but if it is non-null, it must exist! */ - if (data->tar && BKE_object_exists_check(data->tar) == 0) { + if (data->tar && BKE_object_exists_check(bmain, data->tar) == 0) { data->tar = NULL; con->flag |= CONSTRAINT_DISABLE; } @@ -431,7 +431,7 @@ static void test_constraint(Object *owner, bPoseChannel *pchan, bConstraint *con /* disable and clear constraints targets that are incorrect */ for (ct = targets.first; ct; ct = ct->next) { /* general validity checks (for those constraints that need this) */ - if (BKE_object_exists_check(ct->tar) == 0) { + if (BKE_object_exists_check(bmain, ct->tar) == 0) { /* object doesn't exist, but constraint requires target */ ct->tar = NULL; con->flag |= CONSTRAINT_DISABLE; @@ -501,7 +501,7 @@ static int constraint_type_get(Object *owner, bPoseChannel *pchan) /* checks validity of object pointers, and NULLs, * if Bone doesnt exist it sets the CONSTRAINT_DISABLE flag. */ -static void test_constraints(Object *owner, bPoseChannel *pchan) +static void test_constraints(Main *bmain, Object *owner, bPoseChannel *pchan) { bConstraint *curcon; ListBase *conlist = NULL; @@ -524,44 +524,44 @@ static void test_constraints(Object *owner, bPoseChannel *pchan) /* Check all constraints - is constraint valid? */ if (conlist) { for (curcon = conlist->first; curcon; curcon = curcon->next) { - test_constraint(owner, pchan, curcon, type); + test_constraint(bmain, owner, pchan, curcon, type); } } } -void object_test_constraints(Object *owner) +void object_test_constraints(Main *bmain, Object *owner) { if (owner->constraints.first) - test_constraints(owner, NULL); + test_constraints(bmain, owner, NULL); if (owner->type == OB_ARMATURE && owner->pose) { bPoseChannel *pchan; for (pchan = owner->pose->chanbase.first; pchan; pchan = pchan->next) { if (pchan->constraints.first) - test_constraints(owner, pchan); + test_constraints(bmain, owner, pchan); } } } -static void object_test_constraint(Object *owner, bConstraint *con) +static void object_test_constraint(Main *bmain, Object *owner, bConstraint *con) { if (owner->type == OB_ARMATURE && owner->pose) { if (BLI_findindex(&owner->constraints, con) != -1) { - test_constraint(owner, NULL, con, CONSTRAINT_OBTYPE_OBJECT); + test_constraint(bmain, owner, NULL, con, CONSTRAINT_OBTYPE_OBJECT); } else { bPoseChannel *pchan; for (pchan = owner->pose->chanbase.first; pchan; pchan = pchan->next) { if (BLI_findindex(&pchan->constraints, con) != -1) { - test_constraint(owner, pchan, con, CONSTRAINT_OBTYPE_BONE); + test_constraint(bmain, owner, pchan, con, CONSTRAINT_OBTYPE_BONE); break; } } } } else { - test_constraint(owner, NULL, con, CONSTRAINT_OBTYPE_OBJECT); + test_constraint(bmain, owner, NULL, con, CONSTRAINT_OBTYPE_OBJECT); } } @@ -682,6 +682,7 @@ static bConstraint *edit_constraint_property_get(wmOperator *op, Object *ob, int static int stretchto_reset_exec(bContext *C, wmOperator *op) { + Main *bmain = CTX_data_main(C); Object *ob = ED_object_active_context(C); bConstraint *con = edit_constraint_property_get(op, ob, CONSTRAINT_TYPE_STRETCHTO); bStretchToConstraint *data = (con) ? (bStretchToConstraint *)con->data : NULL; @@ -692,7 +693,7 @@ static int stretchto_reset_exec(bContext *C, wmOperator *op) /* just set original length to 0.0, which will cause a reset on next recalc */ data->orglength = 0.0f; - ED_object_constraint_update(ob); + ED_object_constraint_update(bmain, ob); WM_event_add_notifier(C, NC_OBJECT | ND_CONSTRAINT, NULL); return OPERATOR_FINISHED; @@ -728,6 +729,7 @@ void CONSTRAINT_OT_stretchto_reset(wmOperatorType *ot) static int limitdistance_reset_exec(bContext *C, wmOperator *op) { + Main *bmain = CTX_data_main(C); Object *ob = ED_object_active_context(C); bConstraint *con = edit_constraint_property_get(op, ob, CONSTRAINT_TYPE_DISTLIMIT); bDistLimitConstraint *data = (con) ? (bDistLimitConstraint *)con->data : NULL; @@ -738,7 +740,7 @@ static int limitdistance_reset_exec(bContext *C, wmOperator *op) /* just set original length to 0.0, which will cause a reset on next recalc */ data->dist = 0.0f; - ED_object_constraint_update(ob); + ED_object_constraint_update(bmain, ob); WM_event_add_notifier(C, NC_OBJECT | ND_CONSTRAINT, NULL); return OPERATOR_FINISHED; @@ -1189,11 +1191,11 @@ void ED_object_constraint_set_active(Object *ob, bConstraint *con) BKE_constraints_active_set(lb, con); } -void ED_object_constraint_update(Object *ob) +void ED_object_constraint_update(Main *bmain, Object *ob) { if (ob->pose) BKE_pose_update_constraint_flags(ob->pose); - object_test_constraints(ob); + object_test_constraints(bmain, ob); if (ob->type == OB_ARMATURE) DAG_id_tag_update(&ob->id, OB_RECALC_DATA | OB_RECALC_OB); @@ -1216,7 +1218,7 @@ static void object_pose_tag_update(Main *bmain, Object *ob) void ED_object_constraint_dependency_update(Main *bmain, Object *ob) { - ED_object_constraint_update(ob); + ED_object_constraint_update(bmain, ob); if (ob->pose) { object_pose_tag_update(bmain, ob); @@ -1224,13 +1226,13 @@ void ED_object_constraint_dependency_update(Main *bmain, Object *ob) DAG_relations_tag_update(bmain); } -void ED_object_constraint_tag_update(Object *ob, bConstraint *con) +void ED_object_constraint_tag_update(Main *bmain, Object *ob, bConstraint *con) { if (ob->pose) { BKE_pose_tag_update_constraint_flags(ob->pose); } - object_test_constraint(ob, con); + object_test_constraint(bmain, ob, con); if (ob->type == OB_ARMATURE) DAG_id_tag_update(&ob->id, OB_RECALC_DATA | OB_RECALC_OB); @@ -1240,7 +1242,7 @@ void ED_object_constraint_tag_update(Object *ob, bConstraint *con) void ED_object_constraint_dependency_tag_update(Main *bmain, Object *ob, bConstraint *con) { - ED_object_constraint_tag_update(ob, con); + ED_object_constraint_tag_update(bmain, ob, con); if (ob->pose) { object_pose_tag_update(bmain, ob); @@ -1257,6 +1259,7 @@ static int constraint_poll(bContext *C) static int constraint_delete_exec(bContext *C, wmOperator *UNUSED(op)) { + Main *bmain = CTX_data_main(C); PointerRNA ptr = CTX_data_pointer_get_type(C, "constraint", &RNA_Constraint); Object *ob = ptr.id.data; bConstraint *con = ptr.data; @@ -1266,7 +1269,7 @@ static int constraint_delete_exec(bContext *C, wmOperator *UNUSED(op)) if (BKE_constraint_remove_ex(lb, ob, con, true)) { /* there's no active constraint now, so make sure this is the case */ BKE_constraints_active_set(&ob->constraints, NULL); - ED_object_constraint_update(ob); /* needed to set the flags on posebones correctly */ + ED_object_constraint_update(bmain, ob); /* needed to set the flags on posebones correctly */ /* relatiols */ DAG_relations_tag_update(CTX_data_main(C)); @@ -1810,7 +1813,7 @@ static int constraint_add_exec(bContext *C, wmOperator *op, Object *ob, ListBase } /* make sure all settings are valid - similar to above checks, but sometimes can be wrong */ - object_test_constraints(ob); + object_test_constraints(bmain, ob); if (pchan) BKE_pose_update_constraint_flags(ob->pose); diff --git a/source/blender/editors/object/object_transform.c b/source/blender/editors/object/object_transform.c index e29d49d00cb..080710e0a38 100644 --- a/source/blender/editors/object/object_transform.c +++ b/source/blender/editors/object/object_transform.c @@ -883,7 +883,7 @@ static int object_origin_set_exec(bContext *C, wmOperator *op) float min[3], max[3]; /* only bounds support */ INIT_MINMAX(min, max); - BKE_object_minmax_dupli(scene, ob, min, max, true); + BKE_object_minmax_dupli(bmain, scene, ob, min, max, true); mid_v3_v3v3(cent, min, max); invert_m4_m4(ob->imat, ob->obmat); mul_m4_v3(ob->imat, cent); diff --git a/source/blender/editors/physics/dynamicpaint_ops.c b/source/blender/editors/physics/dynamicpaint_ops.c index 86db76bfcd6..92f4ef8d34d 100644 --- a/source/blender/editors/physics/dynamicpaint_ops.c +++ b/source/blender/editors/physics/dynamicpaint_ops.c @@ -384,7 +384,7 @@ static void dynamicPaint_bakeImageSequence(DynamicPaintBakeJob *job) /* calculate a frame */ scene->r.cfra = (int)frame; ED_update_for_newframe(job->bmain, scene, 1); - if (!dynamicPaint_calculateFrame(surface, scene, cObject, frame)) { + if (!dynamicPaint_calculateFrame(job->bmain->eval_ctx, surface, scene, cObject, frame)) { job->success = 0; return; } diff --git a/source/blender/editors/space_outliner/outliner_tools.c b/source/blender/editors/space_outliner/outliner_tools.c index 20e011d4c8f..dda54f8be91 100644 --- a/source/blender/editors/space_outliner/outliner_tools.c +++ b/source/blender/editors/space_outliner/outliner_tools.c @@ -745,18 +745,19 @@ static void data_select_linked_cb(int event, TreeElement *te, TreeStoreElem *UNU static void constraint_cb(int event, TreeElement *te, TreeStoreElem *UNUSED(tselem), void *C_v) { bContext *C = C_v; + Main *bmain = CTX_data_main(C); SpaceOops *soops = CTX_wm_space_outliner(C); bConstraint *constraint = (bConstraint *)te->directdata; Object *ob = (Object *)outliner_search_back(soops, te, ID_OB); if (event == OL_CONSTRAINTOP_ENABLE) { constraint->flag &= ~CONSTRAINT_OFF; - ED_object_constraint_update(ob); + ED_object_constraint_update(bmain, ob); WM_event_add_notifier(C, NC_OBJECT | ND_CONSTRAINT, ob); } else if (event == OL_CONSTRAINTOP_DISABLE) { constraint->flag = CONSTRAINT_OFF; - ED_object_constraint_update(ob); + ED_object_constraint_update(bmain, ob); WM_event_add_notifier(C, NC_OBJECT | ND_CONSTRAINT, ob); } else if (event == OL_CONSTRAINTOP_DELETE) { @@ -772,7 +773,7 @@ static void constraint_cb(int event, TreeElement *te, TreeStoreElem *UNUSED(tsel if (BKE_constraint_remove_ex(lb, ob, constraint, true)) { /* there's no active constraint now, so make sure this is the case */ BKE_constraints_active_set(&ob->constraints, NULL); - ED_object_constraint_update(ob); /* needed to set the flags on posebones correctly */ + ED_object_constraint_update(bmain, ob); /* needed to set the flags on posebones correctly */ WM_event_add_notifier(C, NC_OBJECT | ND_CONSTRAINT | NA_REMOVED, ob); te->store_elem->flag &= ~TSE_SELECTED; } diff --git a/source/blender/editors/space_view3d/view3d_edit.c b/source/blender/editors/space_view3d/view3d_edit.c index 8573bb3457a..b175ee09f5c 100644 --- a/source/blender/editors/space_view3d/view3d_edit.c +++ b/source/blender/editors/space_view3d/view3d_edit.c @@ -51,6 +51,7 @@ #include "BKE_context.h" #include "BKE_font.h" #include "BKE_library.h" +#include "BKE_main.h" #include "BKE_object.h" #include "BKE_paint.h" #include "BKE_report.h" @@ -2779,6 +2780,7 @@ void VIEW3D_OT_view_all(wmOperatorType *ot) /* like a localview without local!, was centerview() in 2.4x */ static int viewselected_exec(bContext *C, wmOperator *op) { + Main *bmain = CTX_data_main(C); ARegion *ar = CTX_wm_region(C); View3D *v3d = CTX_wm_view3d(C); Scene *scene = CTX_data_scene(C); @@ -2858,7 +2860,7 @@ static int viewselected_exec(bContext *C, wmOperator *op) } /* account for duplis */ - if (BKE_object_minmax_dupli(scene, base->object, min, max, false) == 0) + if (BKE_object_minmax_dupli(bmain, scene, base->object, min, max, false) == 0) BKE_object_minmax(base->object, min, max, false); /* use if duplis not found */ ok = 1; diff --git a/source/blender/editors/space_view3d/view3d_view.c b/source/blender/editors/space_view3d/view3d_view.c index 56f0e39aca0..365465fd432 100644 --- a/source/blender/editors/space_view3d/view3d_view.c +++ b/source/blender/editors/space_view3d/view3d_view.c @@ -504,6 +504,7 @@ void VIEW3D_OT_camera_to_view(wmOperatorType *ot) * meant to take into account vertex/bone selection for eg. */ static int view3d_camera_to_view_selected_exec(bContext *C, wmOperator *op) { + Main *bmain = CTX_data_main(C); Scene *scene = CTX_data_scene(C); View3D *v3d = CTX_wm_view3d(C); /* can be NULL */ Object *camera_ob = v3d ? v3d->camera : scene->camera; @@ -517,7 +518,7 @@ static int view3d_camera_to_view_selected_exec(bContext *C, wmOperator *op) } /* this function does all the important stuff */ - if (BKE_camera_view_frame_fit_to_scene(scene, v3d, camera_ob, r_co, &r_scale)) { + if (BKE_camera_view_frame_fit_to_scene(bmain, scene, v3d, camera_ob, r_co, &r_scale)) { ObjectTfmProtectedChannels obtfm; float obmat_new[4][4]; |