Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYimingWu <xp8110@outlook.com>2019-07-25 09:34:45 +0300
committerYimingWu <xp8110@outlook.com>2019-07-25 09:34:45 +0300
commit9e4cc7c6301f97ab74abb58caa6a9db7f2862fe9 (patch)
tree39ab3f26284250b558dca85b5b79d72182ac13c9 /source/blender/editors
parentcaab047f9c649e261cb0d8f0fa8fb06e0c1b1ca6 (diff)
parente51943bd7326a14c684a100690a6652dd9e1b931 (diff)
Merge remote-tracking branch 'origin/master' into soc-2019-npr
Diffstat (limited to 'source/blender/editors')
-rw-r--r--source/blender/editors/animation/anim_channels_edit.c7
-rw-r--r--source/blender/editors/mesh/editmesh_tools.c3
-rw-r--r--source/blender/editors/space_clip/tracking_ops_solve.c10
-rw-r--r--source/blender/editors/transform/transform.c22
-rw-r--r--source/blender/editors/transform/transform_constraints.c5
5 files changed, 28 insertions, 19 deletions
diff --git a/source/blender/editors/animation/anim_channels_edit.c b/source/blender/editors/animation/anim_channels_edit.c
index b93d52a1b2d..7e913014a87 100644
--- a/source/blender/editors/animation/anim_channels_edit.c
+++ b/source/blender/editors/animation/anim_channels_edit.c
@@ -1705,7 +1705,7 @@ static void ANIM_OT_channels_ungroup(wmOperatorType *ot)
/* ******************** Delete Channel Operator *********************** */
-static void update_dependencies_on_delete(bAnimListElem *ale)
+static void tag_update_animation_element(bAnimListElem *ale)
{
ID *id = ale->id;
AnimData *adt = BKE_animdata_from_id(id);
@@ -1801,7 +1801,7 @@ static int animchannels_delete_exec(bContext *C, wmOperator *UNUSED(op))
/* try to free F-Curve */
ANIM_fcurve_delete_from_animdata(&ac, adt, fcu);
- update_dependencies_on_delete(ale);
+ tag_update_animation_element(ale);
break;
}
case ANIMTYPE_NLACURVE: {
@@ -1823,7 +1823,7 @@ static int animchannels_delete_exec(bContext *C, wmOperator *UNUSED(op))
/* unlink and free the F-Curve */
BLI_remlink(&strip->fcurves, fcu);
free_fcurve(fcu);
- update_dependencies_on_delete(ale);
+ tag_update_animation_element(ale);
break;
}
case ANIMTYPE_GPLAYER: {
@@ -1967,6 +1967,7 @@ static void setflag_anim_channels(bAnimContext *ac,
/* set the setting in the appropriate way */
ANIM_channel_setting_set(ac, ale, setting, mode);
+ tag_update_animation_element(ale);
/* if flush status... */
if (flush) {
diff --git a/source/blender/editors/mesh/editmesh_tools.c b/source/blender/editors/mesh/editmesh_tools.c
index e5704879370..add074985b1 100644
--- a/source/blender/editors/mesh/editmesh_tools.c
+++ b/source/blender/editors/mesh/editmesh_tools.c
@@ -4593,7 +4593,8 @@ static int edbm_fill_grid_exec(bContext *C, wmOperator *op)
/* Only reuse on redo because these settings need to match the current selection.
* We never want to use them on other geometry, repeat last for eg, see: T60777. */
- if ((op->flag & OP_IS_REPEAT_LAST) == 0 && RNA_property_is_set(op->ptr, prop_span)) {
+ if (((op->flag & OP_IS_INVOKE) || (op->flag & OP_IS_REPEAT_LAST) == 0) &&
+ RNA_property_is_set(op->ptr, prop_span)) {
span = RNA_property_int_get(op->ptr, prop_span);
span = min_ii(span, (clamp / 2) - 1);
calc_span = false;
diff --git a/source/blender/editors/space_clip/tracking_ops_solve.c b/source/blender/editors/space_clip/tracking_ops_solve.c
index 4490655393e..ab8a74715fa 100644
--- a/source/blender/editors/space_clip/tracking_ops_solve.c
+++ b/source/blender/editors/space_clip/tracking_ops_solve.c
@@ -122,8 +122,14 @@ static void solve_camera_freejob(void *scv)
solved = BKE_tracking_reconstruction_finish(scj->context, tracking);
if (!solved) {
- BKE_report(
- scj->reports, RPT_WARNING, "Some data failed to reconstruct (see console for details)");
+ const char *error_message = BKE_tracking_reconstruction_error_message_get(scj->context);
+ if (error_message[0]) {
+ BKE_report(scj->reports, RPT_ERROR, error_message);
+ }
+ else {
+ BKE_report(
+ scj->reports, RPT_WARNING, "Some data failed to reconstruct (see console for details)");
+ }
}
else {
BKE_reportf(scj->reports,
diff --git a/source/blender/editors/transform/transform.c b/source/blender/editors/transform/transform.c
index a316567fc63..6add395361e 100644
--- a/source/blender/editors/transform/transform.c
+++ b/source/blender/editors/transform/transform.c
@@ -2157,16 +2157,6 @@ void saveTransform(bContext *C, TransInfo *t, wmOperator *op)
}
}
- /* do we check for parameter? */
- if (transformModeUseSnap(t)) {
- if (t->modifiers & MOD_SNAP) {
- ts->snap_flag |= SCE_SNAP;
- }
- else {
- ts->snap_flag &= ~SCE_SNAP;
- }
- }
-
if (t->spacetype == SPACE_VIEW3D) {
if ((prop = RNA_struct_find_property(op->ptr, "orient_type")) &&
!RNA_property_is_set(op->ptr, prop) &&
@@ -2180,6 +2170,18 @@ void saveTransform(bContext *C, TransInfo *t, wmOperator *op)
}
}
+ if (t->flag & T_MODAL) {
+ /* do we check for parameter? */
+ if (transformModeUseSnap(t)) {
+ if (t->modifiers & MOD_SNAP) {
+ ts->snap_flag |= SCE_SNAP;
+ }
+ else {
+ ts->snap_flag &= ~SCE_SNAP;
+ }
+ }
+ }
+
if ((prop = RNA_struct_find_property(op->ptr, "use_proportional_edit"))) {
RNA_property_boolean_set(op->ptr, prop, proportional & PROP_EDIT_USE);
RNA_boolean_set(op->ptr, "use_proportional_connected", proportional & PROP_EDIT_CONNECTED);
diff --git a/source/blender/editors/transform/transform_constraints.c b/source/blender/editors/transform/transform_constraints.c
index 208242d53b3..3a204d0d157 100644
--- a/source/blender/editors/transform/transform_constraints.c
+++ b/source/blender/editors/transform/transform_constraints.c
@@ -263,9 +263,8 @@ static void axisProjection(const TransInfo *t,
/* Use ray-ray intersection instead of line-line because this gave
* precision issues adding small values to large numbers. */
float mul;
- if (isect_ray_ray_v3(v, norm, t_con_center, axis, &mul, NULL)) {
- madd_v3_v3v3fl(out, t_con_center, axis, mul);
- sub_v3_v3(out, t_con_center);
+ if (isect_ray_ray_v3(t_con_center, axis, v, norm, &mul, NULL)) {
+ mul_v3_v3fl(out, axis, mul);
}
else {
/* In practice this should never fail. */