[Bf-blender-cvs] [d1c9101] master: Fix some crash cases after last commit

Antony Riakiotakis noreply at git.blender.org
Thu Aug 28 23:27:12 CEST 2014


Commit: d1c91016429e81aa96f4ff64da773deec8f060ee
Author: Antony Riakiotakis
Date:   Thu Aug 28 21:30:29 2014 +0200
Branches: master
https://developer.blender.org/rBd1c91016429e81aa96f4ff64da773deec8f060ee

Fix some crash cases after last commit

===================================================================

M	source/blender/blenkernel/intern/material.c
M	source/blender/editors/sculpt_paint/paint_image.c

===================================================================

diff --git a/source/blender/blenkernel/intern/material.c b/source/blender/blenkernel/intern/material.c
index e750039..8ccdb8a 100644
--- a/source/blender/blenkernel/intern/material.c
+++ b/source/blender/blenkernel/intern/material.c
@@ -1340,8 +1340,11 @@ void BKE_texpaint_slot_refresh_cache(Scene *scene, Material *ma)
 	if (use_nodes || ma->use_nodes) {
 		bNode *node, *active_node;
 
-		if (!(ma->nodetree))
+		if (!(ma->nodetree)) {
+			ma->paint_active_slot = 0;
+			ma->paint_clone_slot = 0;
 			return;
+		}
 
 		for (node = ma->nodetree->nodes.first; node; node = node->next) {
 			if (node->typeinfo->nclass == NODE_CLASS_TEXTURE && node->typeinfo->type == SH_NODE_TEX_IMAGE && node->id)
diff --git a/source/blender/editors/sculpt_paint/paint_image.c b/source/blender/editors/sculpt_paint/paint_image.c
index f596f33..f0176bc 100644
--- a/source/blender/editors/sculpt_paint/paint_image.c
+++ b/source/blender/editors/sculpt_paint/paint_image.c
@@ -1391,20 +1391,21 @@ void paint_proj_mesh_data_ensure(bContext *C, Object *ob, wmOperator *op)
 						if (!ma->texpaintslot) {
 							proj_paint_add_slot(C, ma, NULL);
 							
-							for (sc = bmain->screen.first; sc; sc = sc->id.next) {
-								ScrArea *sa;
-								for (sa = sc->areabase.first; sa; sa = sa->next) {
-									SpaceLink *sl;
-									for (sl = sa->spacedata.first; sl; sl = sl->next) {
-										if (sl->spacetype == SPACE_IMAGE) {
-											SpaceImage *sima = (SpaceImage *)sl;
-											
-											ED_space_image_set(sima, scene, scene->obedit, ma->texpaintslot[0].ima);
+							if (ma->texpaintslot) {
+								for (sc = bmain->screen.first; sc; sc = sc->id.next) {
+									ScrArea *sa;
+									for (sa = sc->areabase.first; sa; sa = sa->next) {
+										SpaceLink *sl;
+										for (sl = sa->spacedata.first; sl; sl = sl->next) {
+											if (sl->spacetype == SPACE_IMAGE) {
+												SpaceImage *sima = (SpaceImage *)sl;
+												
+												ED_space_image_set(sima, scene, scene->obedit, ma->texpaintslot[0].ima);
+											}
 										}
 									}
 								}
-							}
-							
+							}							
 						}
 					}
 				}




More information about the Bf-blender-cvs mailing list