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:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2012-12-06 09:48:51 +0400
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2012-12-06 09:48:51 +0400
commite85935dddfed92926742367606dbacd0a7feda25 (patch)
treeaa4482a9b6edbc01a70b3c72452f6df22f1f61b0
parent7c2e4e28ba262199588ee234cbf991eed7983b0d (diff)
Fix #33423: a few operators still allowed changing current frame during
animation render, like cursor set in the graph editor, disabled that now.
-rw-r--r--source/blender/editors/space_action/action_edit.c12
-rw-r--r--source/blender/editors/space_graph/graph_edit.c12
-rw-r--r--source/blender/editors/space_graph/graph_ops.c12
-rw-r--r--source/blender/editors/space_sequencer/sequencer_edit.c11
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;