Fix #33423: a few operators still allowed changing current frame during

animation render, like cursor set in the graph editor, disabled that now.
This commit is contained in:
Brecht Van Lommel
2012-12-06 05:48:51 +00:00
parent 7c2e4e28ba
commit e85935dddf
4 changed files with 43 additions and 4 deletions

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;