[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