[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [55730] trunk/blender/source/blender/ makesrna/intern/rna_space.c: Fix #34711: matcap option not showing when switching from cycles material/rendered

Brecht Van Lommel brechtvanlommel at pandora.be
Tue Apr 2 18:51:23 CEST 2013


Revision: 55730
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=55730
Author:   blendix
Date:     2013-04-02 16:51:23 +0000 (Tue, 02 Apr 2013)
Log Message:
-----------
Fix #34711: matcap option not showing when switching from cycles material/rendered
draw mode to blender internal.

Modified Paths:
--------------
    trunk/blender/source/blender/makesrna/intern/rna_space.c

Modified: trunk/blender/source/blender/makesrna/intern/rna_space.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_space.c	2013-04-02 16:37:31 UTC (rev 55729)
+++ trunk/blender/source/blender/makesrna/intern/rna_space.c	2013-04-02 16:51:23 UTC (rev 55730)
@@ -536,6 +536,21 @@
 	}
 }
 
+static int rna_SpaceView3D_viewport_shade_get(PointerRNA *ptr)
+{
+	Scene *scene = ((bScreen *)ptr->id.data)->scene;
+	RenderEngineType *type = RE_engines_find(scene->r.engine);
+	View3D *v3d= (View3D*)ptr->data;
+	int drawtype = v3d->drawtype;
+
+	if (drawtype == OB_MATERIAL && !BKE_scene_use_new_shading_nodes(scene))
+		return OB_SOLID;
+	else if (drawtype == OB_RENDER && !(type && type->view_draw))
+		return OB_SOLID;
+
+	return drawtype;
+}
+
 static EnumPropertyItem *rna_SpaceView3D_viewport_shade_itemf(bContext *UNUSED(C), PointerRNA *ptr,
                                                               PropertyRNA *UNUSED(prop), int *free)
 {
@@ -553,7 +568,7 @@
 	if (BKE_scene_use_new_shading_nodes(scene))
 		RNA_enum_items_add_value(&item, &totitem, viewport_shade_items, OB_MATERIAL);
 	
-	if (type->view_draw)
+	if (type && type->view_draw)
 		RNA_enum_items_add_value(&item, &totitem, viewport_shade_items, OB_RENDER);
 
 	RNA_enum_item_end(&item, &totitem);
@@ -1696,7 +1711,7 @@
 	prop = RNA_def_property(srna, "viewport_shade", PROP_ENUM, PROP_NONE);
 	RNA_def_property_enum_sdna(prop, NULL, "drawtype");
 	RNA_def_property_enum_items(prop, viewport_shade_items);
-	RNA_def_property_enum_funcs(prop, NULL, NULL, "rna_SpaceView3D_viewport_shade_itemf");
+	RNA_def_property_enum_funcs(prop, "rna_SpaceView3D_viewport_shade_get", NULL, "rna_SpaceView3D_viewport_shade_itemf");
 	RNA_def_property_ui_text(prop, "Viewport Shading", "Method to display/shade objects in the 3D View");
 	RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, "rna_SpaceView3D_viewport_shade_update");
 




More information about the Bf-blender-cvs mailing list