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:
authorAntonio Vazquez <blendergit@gmail.com>2021-06-06 17:02:56 +0300
committerAntonio Vazquez <blendergit@gmail.com>2021-06-06 17:02:56 +0300
commitad3d5b5ff6967829b483b05ee99a7570a324014b (patch)
tree3f6c803301719af3ea0d30dec21f3784207c7dfb
parent247198644088fd5d02a909b2e06c21e561b8e5b7 (diff)
parent7ef2b760dc233d61a2350e20d4e65cb76dbb9311 (diff)
Merge branch 'master' into eevee-gpencileevee-gpencil
-rw-r--r--source/blender/blenlib/intern/mesh_boolean.cc2
-rw-r--r--source/blender/editors/space_sequencer/sequencer_draw.c4
-rw-r--r--source/blender/editors/space_sequencer/sequencer_edit.c4
-rw-r--r--source/blender/editors/transform/transform_convert_sequencer.c21
-rw-r--r--source/blender/gpencil_modifiers/intern/lineart/lineart_cpu.c2
-rw-r--r--source/blender/makesrna/intern/rna_sequencer.c6
-rw-r--r--source/blender/sequencer/SEQ_transform.h4
-rw-r--r--source/blender/sequencer/intern/strip_transform.c40
-rw-r--r--tests/python/bl_run_operators_event_simulate.py28
9 files changed, 53 insertions, 58 deletions
diff --git a/source/blender/blenlib/intern/mesh_boolean.cc b/source/blender/blenlib/intern/mesh_boolean.cc
index 2b286de5120..25aeae519c1 100644
--- a/source/blender/blenlib/intern/mesh_boolean.cc
+++ b/source/blender/blenlib/intern/mesh_boolean.cc
@@ -1863,7 +1863,7 @@ static Vector<ComponentContainer> find_component_containers(int comp,
const IMesh &tm,
const PatchesInfo &pinfo,
const TriMeshTopology &tmtopo,
- Array<BoundingBox> comp_bb,
+ Array<BoundingBox> &comp_bb,
IMeshArena *arena)
{
constexpr int dbg_level = 0;
diff --git a/source/blender/editors/space_sequencer/sequencer_draw.c b/source/blender/editors/space_sequencer/sequencer_draw.c
index b55c8035fa3..7f500597906 100644
--- a/source/blender/editors/space_sequencer/sequencer_draw.c
+++ b/source/blender/editors/space_sequencer/sequencer_draw.c
@@ -870,9 +870,9 @@ static void draw_seq_background(Scene *scene,
/* Draw the main strip body. */
if (is_single_image) {
immRectf(pos,
- SEQ_transform_get_left_handle_frame(seq, false),
+ SEQ_transform_get_left_handle_frame(seq),
y1,
- SEQ_transform_get_right_handle_frame(seq, false),
+ SEQ_transform_get_right_handle_frame(seq),
y2);
}
else {
diff --git a/source/blender/editors/space_sequencer/sequencer_edit.c b/source/blender/editors/space_sequencer/sequencer_edit.c
index f22a515a8f2..a047659e1e9 100644
--- a/source/blender/editors/space_sequencer/sequencer_edit.c
+++ b/source/blender/editors/space_sequencer/sequencer_edit.c
@@ -1776,8 +1776,8 @@ static int sequencer_separate_images_exec(bContext *C, wmOperator *op)
/* if (seq->ipo) id_us_min(&seq->ipo->id); */
/* XXX, remove fcurve and assign to split image strips */
- start_ofs = timeline_frame = SEQ_transform_get_left_handle_frame(seq, false);
- frame_end = SEQ_transform_get_right_handle_frame(seq, false);
+ start_ofs = timeline_frame = SEQ_transform_get_left_handle_frame(seq);
+ frame_end = SEQ_transform_get_right_handle_frame(seq);
while (timeline_frame < frame_end) {
/* New seq. */
diff --git a/source/blender/editors/transform/transform_convert_sequencer.c b/source/blender/editors/transform/transform_convert_sequencer.c
index 34be89e5ed9..6a09008e657 100644
--- a/source/blender/editors/transform/transform_convert_sequencer.c
+++ b/source/blender/editors/transform/transform_convert_sequencer.c
@@ -90,8 +90,8 @@ static void SeqTransInfo(TransInfo *t, Sequence *seq, int *r_recursive, int *r_c
Scene *scene = t->scene;
int cfra = CFRA;
- int left = SEQ_transform_get_left_handle_frame(seq, false);
- int right = SEQ_transform_get_right_handle_frame(seq, false);
+ int left = SEQ_transform_get_left_handle_frame(seq);
+ int right = SEQ_transform_get_right_handle_frame(seq);
if (seq->depth == 0 && ((seq->flag & SELECT) == 0 || (seq->flag & SEQ_LOCK))) {
*r_recursive = false;
@@ -172,7 +172,7 @@ static void SeqTransInfo(TransInfo *t, Sequence *seq, int *r_recursive, int *r_c
}
}
-static int SeqTransCount(TransInfo *t, Sequence *parent, ListBase *seqbase, int depth)
+static int SeqTransCount(TransInfo *t, ListBase *seqbase, int depth)
{
Sequence *seq;
int tot = 0, recursive, count, flag;
@@ -180,16 +180,11 @@ static int SeqTransCount(TransInfo *t, Sequence *parent, ListBase *seqbase, int
for (seq = seqbase->first; seq; seq = seq->next) {
seq->depth = depth;
- /* 'seq->tmp' is used by seq_tx_get_final_{left, right}
- * to check sequence's range and clamp to it if needed.
- * It's first place where digging into sequences tree, so store link to parent here. */
- seq->tmp = parent;
-
SeqTransInfo(t, seq, &recursive, &count, &flag); /* ignore the flag */
tot += count;
if (recursive) {
- tot += SeqTransCount(t, seq, &seq->seqbase, depth + 1);
+ tot += SeqTransCount(t, &seq->seqbase, depth + 1);
}
}
@@ -206,16 +201,16 @@ static TransData *SeqToTransData(
/* Use seq_tx_get_final_left() and an offset here
* so transform has the left hand location of the strip.
* tdsq->start_offset is used when flushing the tx data back */
- start_left = SEQ_transform_get_left_handle_frame(seq, false);
+ start_left = SEQ_transform_get_left_handle_frame(seq);
td2d->loc[0] = start_left;
tdsq->start_offset = start_left - seq->start; /* use to apply the original location */
break;
case SEQ_LEFTSEL:
- start_left = SEQ_transform_get_left_handle_frame(seq, false);
+ start_left = SEQ_transform_get_left_handle_frame(seq);
td2d->loc[0] = start_left;
break;
case SEQ_RIGHTSEL:
- td2d->loc[0] = SEQ_transform_get_right_handle_frame(seq, false);
+ td2d->loc[0] = SEQ_transform_get_right_handle_frame(seq);
break;
}
@@ -562,7 +557,7 @@ void createTransSeqData(TransInfo *t)
}
#endif
- count = SeqTransCount(t, NULL, ed->seqbasep, 0);
+ count = SeqTransCount(t, ed->seqbasep, 0);
/* allocate memory for data */
tc->data_len = count;
diff --git a/source/blender/gpencil_modifiers/intern/lineart/lineart_cpu.c b/source/blender/gpencil_modifiers/intern/lineart/lineart_cpu.c
index a9d17f19206..8d9eb8e6eb6 100644
--- a/source/blender/gpencil_modifiers/intern/lineart/lineart_cpu.c
+++ b/source/blender/gpencil_modifiers/intern/lineart/lineart_cpu.c
@@ -780,10 +780,10 @@ static void lineart_triangle_cull_single(LineartRenderBuffer *rb,
e = new_e;
#define INCREASE_EDGE \
- e_count++; \
v1_obi = e->v1_obindex; \
v2_obi = e->v2_obindex; \
new_e = &((LineartEdge *)e_eln->pointer)[e_count]; \
+ e_count++; \
e = new_e; \
e->v1_obindex = v1_obi; \
e->v2_obindex = v2_obi; \
diff --git a/source/blender/makesrna/intern/rna_sequencer.c b/source/blender/makesrna/intern/rna_sequencer.c
index 41b60bed5bb..9851d65ece3 100644
--- a/source/blender/makesrna/intern/rna_sequencer.c
+++ b/source/blender/makesrna/intern/rna_sequencer.c
@@ -440,8 +440,7 @@ static void rna_Sequence_frame_length_set(PointerRNA *ptr, int value)
Scene *scene = (Scene *)ptr->owner_id;
SEQ_relations_invalidate_cache_composite(scene, seq);
- SEQ_transform_set_right_handle_frame(seq,
- SEQ_transform_get_left_handle_frame(seq, false) + value);
+ SEQ_transform_set_right_handle_frame(seq, SEQ_transform_get_left_handle_frame(seq) + value);
do_sequence_frame_change_update(scene, seq);
SEQ_relations_invalidate_cache_composite(scene, seq);
}
@@ -449,8 +448,7 @@ static void rna_Sequence_frame_length_set(PointerRNA *ptr, int value)
static int rna_Sequence_frame_length_get(PointerRNA *ptr)
{
Sequence *seq = (Sequence *)ptr->data;
- return SEQ_transform_get_right_handle_frame(seq, false) -
- SEQ_transform_get_left_handle_frame(seq, false);
+ return SEQ_transform_get_right_handle_frame(seq) - SEQ_transform_get_left_handle_frame(seq);
}
static int rna_Sequence_frame_editable(PointerRNA *ptr, const char **UNUSED(r_info))
diff --git a/source/blender/sequencer/SEQ_transform.h b/source/blender/sequencer/SEQ_transform.h
index d448fbdb43e..d587bd0f1a1 100644
--- a/source/blender/sequencer/SEQ_transform.h
+++ b/source/blender/sequencer/SEQ_transform.h
@@ -31,8 +31,8 @@ struct ListBase;
struct Scene;
struct Sequence;
-int SEQ_transform_get_left_handle_frame(struct Sequence *seq, bool metaclip);
-int SEQ_transform_get_right_handle_frame(struct Sequence *seq, bool metaclip);
+int SEQ_transform_get_left_handle_frame(struct Sequence *seq);
+int SEQ_transform_get_right_handle_frame(struct Sequence *seq);
void SEQ_transform_set_left_handle_frame(struct Sequence *seq, int val);
void SEQ_transform_set_right_handle_frame(struct Sequence *seq, int val);
void SEQ_transform_handle_xlimits(struct Sequence *seq, int leftflag, int rightflag);
diff --git a/source/blender/sequencer/intern/strip_transform.c b/source/blender/sequencer/intern/strip_transform.c
index 3a0ba36b795..a02d8a1428e 100644
--- a/source/blender/sequencer/intern/strip_transform.c
+++ b/source/blender/sequencer/intern/strip_transform.c
@@ -48,24 +48,12 @@ static int seq_tx_get_end(Sequence *seq)
return seq->start + seq->len;
}
-int SEQ_transform_get_left_handle_frame(Sequence *seq, bool metaclip)
+int SEQ_transform_get_left_handle_frame(Sequence *seq)
{
- if (metaclip && seq->tmp) {
- /* return the range clipped by the parents range */
- return max_ii(SEQ_transform_get_left_handle_frame(seq, false),
- SEQ_transform_get_left_handle_frame((Sequence *)seq->tmp, true));
- }
-
return (seq->start - seq->startstill) + seq->startofs;
}
-int SEQ_transform_get_right_handle_frame(Sequence *seq, bool metaclip)
+int SEQ_transform_get_right_handle_frame(Sequence *seq)
{
- if (metaclip && seq->tmp) {
- /* return the range clipped by the parents range */
- return min_ii(SEQ_transform_get_right_handle_frame(seq, false),
- SEQ_transform_get_right_handle_frame((Sequence *)seq->tmp, true));
- }
-
return ((seq->start + seq->len) + seq->endstill) - seq->endofs;
}
@@ -151,14 +139,12 @@ bool SEQ_transform_seqbase_isolated_sel_check(ListBase *seqbase)
void SEQ_transform_handle_xlimits(Sequence *seq, int leftflag, int rightflag)
{
if (leftflag) {
- if (SEQ_transform_get_left_handle_frame(seq, false) >=
- SEQ_transform_get_right_handle_frame(seq, false)) {
- SEQ_transform_set_left_handle_frame(seq,
- SEQ_transform_get_right_handle_frame(seq, false) - 1);
+ if (SEQ_transform_get_left_handle_frame(seq) >= SEQ_transform_get_right_handle_frame(seq)) {
+ SEQ_transform_set_left_handle_frame(seq, SEQ_transform_get_right_handle_frame(seq) - 1);
}
if (SEQ_transform_single_image_check(seq) == 0) {
- if (SEQ_transform_get_left_handle_frame(seq, false) >= seq_tx_get_end(seq)) {
+ if (SEQ_transform_get_left_handle_frame(seq) >= seq_tx_get_end(seq)) {
SEQ_transform_set_left_handle_frame(seq, seq_tx_get_end(seq) - 1);
}
@@ -175,14 +161,12 @@ void SEQ_transform_handle_xlimits(Sequence *seq, int leftflag, int rightflag)
}
if (rightflag) {
- if (SEQ_transform_get_right_handle_frame(seq, false) <=
- SEQ_transform_get_left_handle_frame(seq, false)) {
- SEQ_transform_set_right_handle_frame(seq,
- SEQ_transform_get_left_handle_frame(seq, false) + 1);
+ if (SEQ_transform_get_right_handle_frame(seq) <= SEQ_transform_get_left_handle_frame(seq)) {
+ SEQ_transform_set_right_handle_frame(seq, SEQ_transform_get_left_handle_frame(seq) + 1);
}
if (SEQ_transform_single_image_check(seq) == 0) {
- if (SEQ_transform_get_right_handle_frame(seq, false) <= seq_tx_get_start(seq)) {
+ if (SEQ_transform_get_right_handle_frame(seq) <= seq_tx_get_start(seq)) {
SEQ_transform_set_right_handle_frame(seq, seq_tx_get_start(seq) + 1);
}
}
@@ -204,14 +188,12 @@ void SEQ_transform_fix_single_image_seq_offsets(Sequence *seq)
/* make sure the image is always at the start since there is only one,
* adjusting its start should be ok */
- left = SEQ_transform_get_left_handle_frame(seq, false);
+ left = SEQ_transform_get_left_handle_frame(seq);
start = seq->start;
if (start != left) {
offset = left - start;
- SEQ_transform_set_left_handle_frame(seq,
- SEQ_transform_get_left_handle_frame(seq, false) - offset);
- SEQ_transform_set_right_handle_frame(
- seq, SEQ_transform_get_right_handle_frame(seq, false) - offset);
+ SEQ_transform_set_left_handle_frame(seq, SEQ_transform_get_left_handle_frame(seq) - offset);
+ SEQ_transform_set_right_handle_frame(seq, SEQ_transform_get_right_handle_frame(seq) - offset);
seq->start += offset;
}
}
diff --git a/tests/python/bl_run_operators_event_simulate.py b/tests/python/bl_run_operators_event_simulate.py
index 251d27fce90..92315d3e853 100644
--- a/tests/python/bl_run_operators_event_simulate.py
+++ b/tests/python/bl_run_operators_event_simulate.py
@@ -175,7 +175,7 @@ def mouse_location_get():
)
-def run_event_simulate(*, event_iter):
+def run_event_simulate(*, event_iter, exit_fn):
"""
Pass events from event_iter into Blender.
"""
@@ -188,8 +188,7 @@ def run_event_simulate(*, event_iter):
if val is Ellipsis:
bpy.app.use_event_simulate = False
print("Finished simulation")
-
- sys.exit(0)
+ exit_fn()
return None
# Run event simulation.
@@ -494,6 +493,18 @@ def argparse_create():
formatter_class=argparse.RawTextHelpFormatter,
)
+ parser.add_argument(
+ "--keep-open",
+ dest="keep_open",
+ default=False,
+ action="store_true",
+ help=(
+ "Keep the window open instead of exiting once event simulation is complete.\n"
+ "This can be useful to inspect the state of the file once the simulation is complete."
+ ),
+ required=False,
+ )
+
# Collect doc-strings from static methods in `actions`.
actions_docstring = []
for action_key in ACTION_DIR:
@@ -570,7 +581,16 @@ def main():
setup_default_preferences(bpy.context.preferences)
- run_event_simulate(event_iter=main_event_iter(action_list=args.actions))
+ def exit_fn():
+ if not args.keep_open:
+ sys.exit(0)
+ else:
+ bpy.app.use_event_simulate = False
+
+ run_event_simulate(
+ event_iter=main_event_iter(action_list=args.actions),
+ exit_fn=exit_fn,
+ )
if __name__ == "__main__":