Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorHans Goudey <h.goudey@me.com>2021-08-24 21:38:53 +0300
committerHans Goudey <h.goudey@me.com>2021-08-24 21:38:53 +0300
commit5ef3afd87c54b47614254d95c9b2e9a17c60f76e (patch)
tree80f08c54548007de7908e04182cb201abddb9a4e /source
parentf53cf5141d37c5f6cb59d58c1b2c074979bdb3f0 (diff)
Fix T90900: Crash when rendering geometry nodes created curve
The comment for data_eval mentions that it should contain a mesh for curve objects, however with geometry nodes, objects can evaluate to curves as well (though they are only containers for the `CurveEval`. That is a larger issue, but with the upcoming geometry instancing patch the situation changes, so this commit does not correct that. I also hope to remove this code in favor of the new curve to mesh code soon. Instead, just check the evaluated data type in this case, which prevents the crash, though it is hacky.
Diffstat (limited to 'source')
-rw-r--r--source/blender/blenkernel/intern/mesh_convert.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/source/blender/blenkernel/intern/mesh_convert.c b/source/blender/blenkernel/intern/mesh_convert.c
index 5b21213fb72..d5524312612 100644
--- a/source/blender/blenkernel/intern/mesh_convert.c
+++ b/source/blender/blenkernel/intern/mesh_convert.c
@@ -548,10 +548,12 @@ Mesh *BKE_mesh_new_nomain_from_curve(const Object *ob)
return BKE_mesh_new_nomain_from_curve_displist(ob, &disp);
}
-/* this may fail replacing ob->data, be sure to check ob->type */
static void mesh_from_nurbs_displist(Object *ob, ListBase *dispbase, const char *obdata_name)
{
- Object *ob1;
+ if (ob->runtime.data_eval && GS(((ID *)ob->runtime.data_eval)->name) != ID_ME) {
+ return;
+ }
+
Mesh *me_eval = (Mesh *)ob->runtime.data_eval;
Mesh *me;
MVert *allvert = NULL;