[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [33909] trunk/blender/source/blender/ editors/render/render_opengl.c: Usability fix:
Ton Roosendaal
ton at blender.org
Mon Dec 27 19:00:35 CET 2010
Revision: 33909
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=33909
Author: ton
Date: 2010-12-27 19:00:35 +0100 (Mon, 27 Dec 2010)
Log Message:
-----------
Usability fix:
OpenGL render now first opens render window.
It used to render first, save file, and then open window to show result.
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 2010-12-27 12:42:51 UTC (rev 33908)
+++ trunk/blender/source/blender/editors/render/render_opengl.c 2010-12-27 18:00:35 UTC (rev 33909)
@@ -449,7 +449,7 @@
static int screen_opengl_render_modal(bContext *C, wmOperator *op, wmEvent *event)
{
OGLRender *oglrender= op->customdata;
-
+ int anim= RNA_boolean_get(op->ptr, "animation");
int ret;
switch(event->type) {
@@ -469,7 +469,13 @@
/* run first because screen_opengl_render_anim_step can free oglrender */
WM_event_add_notifier(C, NC_SCENE|ND_RENDER_RESULT, oglrender->scene);
- ret= screen_opengl_render_anim_step(C, op);
+ if(anim == 0) {
+ screen_opengl_render_apply(op->customdata);
+ screen_opengl_render_end(C, op->customdata);
+ return OPERATOR_FINISHED;
+ }
+ else
+ ret= screen_opengl_render_anim_step(C, op);
/* stop at the end or on error */
if(ret == 0) {
@@ -481,32 +487,24 @@
static int screen_opengl_render_invoke(bContext *C, wmOperator *op, wmEvent *event)
{
+ OGLRender *oglrender;
int anim= RNA_boolean_get(op->ptr, "animation");
if(!screen_opengl_render_init(C, op))
return OPERATOR_CANCELLED;
- if(!anim) {
- /* render image */
- screen_opengl_render_apply(op->customdata);
- screen_opengl_render_end(C, op->customdata);
- screen_set_image_output(C, event->x, event->y);
-
- return OPERATOR_FINISHED;
- }
- else {
- OGLRender *oglrender= op->customdata;
-
+ if(anim) {
if(!screen_opengl_render_anim_initialize(C, op))
return OPERATOR_CANCELLED;
-
- screen_set_image_output(C, event->x, event->y);
-
- WM_event_add_modal_handler(C, op);
- oglrender->timer= WM_event_add_timer(CTX_wm_manager(C), CTX_wm_window(C), TIMER, 0.01f);
-
- return OPERATOR_RUNNING_MODAL;
}
+
+ oglrender= op->customdata;
+ screen_set_image_output(C, event->x, event->y);
+
+ WM_event_add_modal_handler(C, op);
+ oglrender->timer= WM_event_add_timer(CTX_wm_manager(C), CTX_wm_window(C), TIMER, 0.01f);
+
+ return OPERATOR_RUNNING_MODAL;
}
/* executes blocking render */
More information about the Bf-blender-cvs
mailing list