[Bf-blender-cvs] [1b79b4dd30b] master: Fix sequencer preview poll function
Campbell Barton
noreply at git.blender.org
Thu Oct 7 16:59:37 CEST 2021
Commit: 1b79b4dd30b6900717458707b0ddd656b384413f
Author: Campbell Barton
Date: Fri Oct 8 01:54:48 2021 +1100
Branches: master
https://developer.blender.org/rB1b79b4dd30b6900717458707b0ddd656b384413f
Fix sequencer preview poll function
sequencer_view_preview_poll returned true even when in the
"Sequence" view.
Now check the preview is visible, also check the region
is expected type so preview actions aren't possible for mixed
sequence/preview display.
===================================================================
M source/blender/editors/space_sequencer/sequencer_edit.c
===================================================================
diff --git a/source/blender/editors/space_sequencer/sequencer_edit.c b/source/blender/editors/space_sequencer/sequencer_edit.c
index b0273fe1e25..655cfb9375c 100644
--- a/source/blender/editors/space_sequencer/sequencer_edit.c
+++ b/source/blender/editors/space_sequencer/sequencer_edit.c
@@ -214,22 +214,38 @@ bool sequencer_strip_has_path_poll(bContext *C)
bool sequencer_view_preview_poll(bContext *C)
{
SpaceSeq *sseq = CTX_wm_space_seq(C);
- Editing *ed = SEQ_editing_get(CTX_data_scene(C));
- if (ed && sseq && (sseq->mainb == SEQ_DRAW_IMG_IMBUF)) {
- return 1;
+ if (sseq == NULL) {
+ return false;
+ }
+ if (SEQ_editing_get(CTX_data_scene(C)) == NULL) {
+ return false;
+ }
+ if (!(ELEM(sseq->view, SEQ_VIEW_PREVIEW, SEQ_VIEW_SEQUENCE_PREVIEW) &&
+ (sseq->mainb == SEQ_DRAW_IMG_IMBUF))) {
+ return false;
+ }
+ ARegion *region = CTX_wm_region(C);
+ if (!(region && region->regiontype == RGN_TYPE_PREVIEW)) {
+ return false;
}
- return 0;
+ return true;
}
bool sequencer_view_strips_poll(bContext *C)
{
SpaceSeq *sseq = CTX_wm_space_seq(C);
- if (sseq && ED_space_sequencer_check_show_strip(sseq)) {
- return 1;
+ if (sseq == NULL) {
+ return false;
}
-
- return 0;
+ if (!ED_space_sequencer_check_show_strip(sseq)) {
+ return false;
+ }
+ ARegion *region = CTX_wm_region(C);
+ if (!(region && region->regiontype == RGN_TYPE_WINDOW)) {
+ return false;
+ }
+ return true;
}
/** \} */
More information about the Bf-blender-cvs
mailing list