[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [48270] trunk/blender/source/blender/ editors/space_view3d/view3d_draw.c: Fix #31920: switching from cycles to blender internal with 3d view in rendered

Brecht Van Lommel brechtvanlommel at pandora.be
Mon Jun 25 14:13:36 CEST 2012


Revision: 48270
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=48270
Author:   blendix
Date:     2012-06-25 12:13:21 +0000 (Mon, 25 Jun 2012)
Log Message:
-----------
Fix #31920: switching from cycles to blender internal with 3d view in rendered
draw mode did not draw the 3d view properly.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/space_view3d/view3d_draw.c

Modified: trunk/blender/source/blender/editors/space_view3d/view3d_draw.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/view3d_draw.c	2012-06-25 11:43:22 UTC (rev 48269)
+++ trunk/blender/source/blender/editors/space_view3d/view3d_draw.c	2012-06-25 12:13:21 UTC (rev 48270)
@@ -2795,6 +2795,14 @@
 
 static void view3d_main_area_draw_objects(const bContext *C, ARegion *ar, const char **grid_unit);
 
+static int view3d_main_area_do_render_draw(const bContext *C)
+{
+	Scene *scene = CTX_data_scene(C);
+	RenderEngineType *type = RE_engines_find(scene->r.engine);
+
+	return (type && type->view_update && type->view_draw);
+}
+
 static int view3d_main_area_draw_engine(const bContext *C, ARegion *ar, int draw_border)
 {
 	Scene *scene = CTX_data_scene(C);
@@ -3131,7 +3139,7 @@
 	int draw_border = (rv3d->persp == RV3D_CAMOB && (scene->r.mode & R_BORDER));
 
 	/* draw viewport using opengl */
-	if (v3d->drawtype != OB_RENDER || draw_border) {
+	if (v3d->drawtype != OB_RENDER || !view3d_main_area_do_render_draw(C) || draw_border) {
 		view3d_main_area_draw_objects(C, ar, &grid_unit);
 		ED_region_pixelspace(ar);
 	}




More information about the Bf-blender-cvs mailing list