diff options
-rw-r--r-- | release/scripts/startup/bl_ui/space_sequencer.py | 2 | ||||
-rw-r--r-- | source/blender/editors/space_sequencer/sequencer_select.c | 20 |
2 files changed, 18 insertions, 4 deletions
diff --git a/release/scripts/startup/bl_ui/space_sequencer.py b/release/scripts/startup/bl_ui/space_sequencer.py index d3618d752dc..ba75da1444b 100644 --- a/release/scripts/startup/bl_ui/space_sequencer.py +++ b/release/scripts/startup/bl_ui/space_sequencer.py @@ -143,7 +143,7 @@ class SEQUENCER_MT_select(Menu): layout.operator("sequencer.select_handles", text="Left Handle").side = 'LEFT' layout.operator("sequencer.select_handles", text="Right Handle").side = 'RIGHT' layout.separator() - layout.operator_menu_enum("object.select_grouped", "type", text="Grouped") + layout.operator_menu_enum("sequencer.select_grouped", "type", text="Grouped") layout.operator("sequencer.select_linked") layout.operator("sequencer.select_all").action = 'TOGGLE' layout.operator("sequencer.select_all").action = 'INVERT' diff --git a/source/blender/editors/space_sequencer/sequencer_select.c b/source/blender/editors/space_sequencer/sequencer_select.c index 00c2caea258..3bef389f2de 100644 --- a/source/blender/editors/space_sequencer/sequencer_select.c +++ b/source/blender/editors/space_sequencer/sequencer_select.c @@ -929,7 +929,7 @@ static EnumPropertyItem sequencer_prop_select_grouped_types[] = { #define SEQ_IS_EFFECT(_seq) (_seq->type & SEQ_EFFECT) -#define SEQ_USE_DATA(_seq) (_seq->type == SEQ_SCENE || SEQ_HAS_PATH(_seq)) +#define SEQ_USE_DATA(_seq) (ELEM(_seq->type, SEQ_SCENE, SEQ_MOVIECLIP) || SEQ_HAS_PATH(_seq)) static short select_grouped_type(Editing *ed, Sequence *actseq) { @@ -985,7 +985,6 @@ static short select_grouped_data(Editing *ed, Sequence *actseq) { Sequence *seq; short changed = FALSE; - Scene *sce = actseq->scene; char *dir = actseq->strip ? actseq->strip->dir : NULL; if (!SEQ_USE_DATA(actseq)) @@ -1000,7 +999,8 @@ static short select_grouped_data(Editing *ed, Sequence *actseq) } SEQ_END; } - else { + else if (actseq->type == SEQ_SCENE) { + Scene *sce = actseq->scene; SEQP_BEGIN(ed, seq) { if (seq->type == SEQ_SCENE && seq->scene == sce) { seq->flag |= SELECT; @@ -1009,6 +1009,16 @@ static short select_grouped_data(Editing *ed, Sequence *actseq) } SEQ_END; } + else if (actseq->type == SEQ_MOVIECLIP) { + MovieClip *clip = actseq->clip; + SEQP_BEGIN(ed, seq) { + if (seq->type == SEQ_MOVIECLIP && seq->clip == clip) { + seq->flag |= SELECT; + changed = TRUE; + } + } + SEQ_END; + } return changed; } @@ -1117,6 +1127,10 @@ static short select_grouped_effect_link(Editing *ed, Sequence *actseq) return changed; } +#undef SEQ_IS_SOUND +#undef SEQ_IS_EFFECT +#undef SEQ_USE_DATA + static int sequencer_select_grouped_exec(bContext *C, wmOperator *op) { Scene *scene = CTX_data_scene(C); |