[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [60430] trunk/blender/source/blender/ editors/render/render_opengl.c: fix [#36842] OpenGL Animation Playblast renders 1 too many frames
Campbell Barton
ideasman42 at gmail.com
Mon Sep 30 10:21:13 CEST 2013
Revision: 60430
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=60430
Author: campbellbarton
Date: 2013-09-30 08:21:12 +0000 (Mon, 30 Sep 2013)
Log Message:
-----------
fix [#36842] OpenGL Animation Playblast renders 1 too many frames
Modified Paths:
--------------
trunk/blender/source/blender/editors/render/render_opengl.c
Modified: trunk/blender/source/blender/editors/render/render_opengl.c
===================================================================
--- trunk/blender/source/blender/editors/render/render_opengl.c 2013-09-30 07:58:38 UTC (rev 60429)
+++ trunk/blender/source/blender/editors/render/render_opengl.c 2013-09-30 08:21:12 UTC (rev 60430)
@@ -517,7 +517,7 @@
return 1;
}
-static int screen_opengl_render_anim_step(bContext *C, wmOperator *op)
+static bool screen_opengl_render_anim_step(bContext *C, wmOperator *op)
{
Main *bmain = CTX_data_main(C);
OGLRender *oglrender = op->customdata;
@@ -549,12 +549,9 @@
BKE_makepicstring(name, scene->r.pic, oglrender->bmain->name, scene->r.cfra, &scene->r.im_format, scene->r.scemode & R_EXTENSION, TRUE);
if ((scene->r.mode & R_NO_OVERWRITE) && BLI_exists(name)) {
- printf("skipping existing frame \"%s\"\n", name);
-
- /* go to next frame */
- oglrender->nfra += scene->r.frame_step;
-
- return 1;
+ BKE_reportf(op->reports, RPT_INFO, "Skipping existing frame \"%s\"", name);
+ ok = true;
+ goto finally;
}
}
@@ -656,6 +653,9 @@
/* movie stats prints have no line break */
printf("\n");
+
+finally: /* Step the frame and bail early if needed */
+
/* go to next frame */
oglrender->nfra += scene->r.frame_step;
@@ -673,7 +673,7 @@
{
OGLRender *oglrender = op->customdata;
int anim = RNA_boolean_get(op->ptr, "animation");
- int ret;
+ bool ret;
switch (event->type) {
case ESCKEY:
@@ -698,11 +698,12 @@
screen_opengl_render_end(C, op->customdata);
return OPERATOR_FINISHED;
}
- else
+ else {
ret = screen_opengl_render_anim_step(C, op);
+ }
/* stop at the end or on error */
- if (ret == 0) {
+ if (ret == false) {
return OPERATOR_FINISHED;
}
@@ -750,7 +751,7 @@
return OPERATOR_FINISHED;
}
else {
- int ret = 1;
+ bool ret = true;
if (!screen_opengl_render_anim_initialize(C, op))
return OPERATOR_CANCELLED;
More information about the Bf-blender-cvs
mailing list