diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2012-12-06 09:48:51 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2012-12-06 09:48:51 +0400 |
commit | e85935dddfed92926742367606dbacd0a7feda25 (patch) | |
tree | aa4482a9b6edbc01a70b3c72452f6df22f1f61b0 /source/blender/editors | |
parent | 7c2e4e28ba262199588ee234cbf991eed7983b0d (diff) |
Fix #33423: a few operators still allowed changing current frame during
animation render, like cursor set in the graph editor, disabled that now.
Diffstat (limited to 'source/blender/editors')
-rw-r--r-- | source/blender/editors/space_action/action_edit.c | 12 | ||||
-rw-r--r-- | source/blender/editors/space_graph/graph_edit.c | 12 | ||||
-rw-r--r-- | source/blender/editors/space_graph/graph_ops.c | 12 | ||||
-rw-r--r-- | source/blender/editors/space_sequencer/sequencer_edit.c | 11 |
4 files changed, 43 insertions, 4 deletions
diff --git a/source/blender/editors/space_action/action_edit.c b/source/blender/editors/space_action/action_edit.c index 092b738bab9..a80d425b90a 100644 --- a/source/blender/editors/space_action/action_edit.c +++ b/source/blender/editors/space_action/action_edit.c @@ -52,6 +52,7 @@ #include "BKE_action.h" #include "BKE_fcurve.h" +#include "BKE_global.h" #include "BKE_nla.h" #include "BKE_context.h" #include "BKE_report.h" @@ -1308,6 +1309,15 @@ void ACTION_OT_keyframe_type(wmOperatorType *ot) /* ***************** Jump to Selected Frames Operator *********************** */ +static int actkeys_framejump_poll(bContext *C) +{ + /* prevent changes during render */ + if (G.is_rendering) + return 0; + + return ED_operator_action_active(C); +} + /* snap current-frame indicator to 'average time' of selected keyframe */ static int actkeys_framejump_exec(bContext *C, wmOperator *UNUSED(op)) { @@ -1361,7 +1371,7 @@ void ACTION_OT_frame_jump(wmOperatorType *ot) /* api callbacks */ ot->exec = actkeys_framejump_exec; - ot->poll = ED_operator_action_active; + ot->poll = actkeys_framejump_poll; /* flags */ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO; diff --git a/source/blender/editors/space_graph/graph_edit.c b/source/blender/editors/space_graph/graph_edit.c index 453549ebf79..21b0ed99f0b 100644 --- a/source/blender/editors/space_graph/graph_edit.c +++ b/source/blender/editors/space_graph/graph_edit.c @@ -56,6 +56,7 @@ #include "BLF_translation.h" #include "BKE_fcurve.h" +#include "BKE_global.h" #include "BKE_nla.h" #include "BKE_context.h" #include "BKE_report.h" @@ -1763,6 +1764,15 @@ void GRAPH_OT_euler_filter(wmOperatorType *ot) /* ***************** Jump to Selected Frames Operator *********************** */ +static int graphkeys_framejump_poll(bContext *C) +{ + /* prevent changes during render */ + if (G.is_rendering) + return 0; + + return graphop_visible_keyframes_poll(C); +} + /* snap current-frame indicator to 'average time' of selected keyframe */ static int graphkeys_framejump_exec(bContext *C, wmOperator *UNUSED(op)) { @@ -1829,7 +1839,7 @@ void GRAPH_OT_frame_jump(wmOperatorType *ot) /* api callbacks */ ot->exec = graphkeys_framejump_exec; - ot->poll = graphop_visible_keyframes_poll; + ot->poll = graphkeys_framejump_poll; /* flags */ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO; diff --git a/source/blender/editors/space_graph/graph_ops.c b/source/blender/editors/space_graph/graph_ops.c index 9b031c015a9..54b417e740a 100644 --- a/source/blender/editors/space_graph/graph_ops.c +++ b/source/blender/editors/space_graph/graph_ops.c @@ -39,6 +39,7 @@ #include "BLI_utildefines.h" #include "BKE_context.h" +#include "BKE_global.h" #include "BKE_main.h" #include "BKE_sound.h" @@ -66,6 +67,15 @@ * 2) Value Indicator (stored per Graph Editor instance) */ +static int graphview_cursor_poll(bContext *C) +{ + /* prevent changes during render */ + if (G.is_rendering) + return 0; + + return ED_operator_graphedit_active(C); +} + /* Set the new frame number */ static void graphview_cursor_apply(bContext *C, wmOperator *op) { @@ -172,7 +182,7 @@ static void GRAPH_OT_cursor_set(wmOperatorType *ot) ot->exec = graphview_cursor_exec; ot->invoke = graphview_cursor_invoke; ot->modal = graphview_cursor_modal; - ot->poll = ED_operator_graphedit_active; + ot->poll = graphview_cursor_poll; /* flags */ ot->flag = OPTYPE_BLOCKING | OPTYPE_UNDO; diff --git a/source/blender/editors/space_sequencer/sequencer_edit.c b/source/blender/editors/space_sequencer/sequencer_edit.c index 8cc1e31fee5..e7f77db3b9e 100644 --- a/source/blender/editors/space_sequencer/sequencer_edit.c +++ b/source/blender/editors/space_sequencer/sequencer_edit.c @@ -2405,6 +2405,15 @@ static int strip_jump_internal(Scene *scene, return change; } +static int sequencer_strip_jump_poll(bContext *C) +{ + /* prevent changes during render */ + if (G.is_rendering) + return 0; + + return sequencer_edit_poll(C); +} + /* jump frame to edit point operator */ static int sequencer_strip_jump_exec(bContext *C, wmOperator *op) { @@ -2431,7 +2440,7 @@ void SEQUENCER_OT_strip_jump(wmOperatorType *ot) /* api callbacks */ ot->exec = sequencer_strip_jump_exec; - ot->poll = sequencer_edit_poll; + ot->poll = sequencer_strip_jump_poll; /* flags */ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO; |