Fix/workaround crash opening almost any Spring file
authorSergey Sharybin <sergey.vfx@gmail.com>
Fri, 7 Dec 2018 11:41:46 +0000 (12:41 +0100)
committerSergey Sharybin <sergey.vfx@gmail.com>
Fri, 7 Dec 2018 11:41:46 +0000 (12:41 +0100)
The issue was caused mpoly array urequired by the cache filling,
but the pointer was never set when preparing render data.

Seems this change is safe enough, in terms it shouldn't be
causing slowdown, since the assignment of mpoly is cheap, but
hard to tell if there is anything else affected by thing underneath.

source/blender/draw/intern/draw_cache_impl_mesh.c

index 89b73d5e39acfa4da73c43ce6a087ad8b624c2a7..f3bb7875a2e3b5dc16ab7b67b97eafdbbe898de0 100644 (file)
@@ -5077,7 +5077,7 @@ GPUBatch *DRW_mesh_batch_cache_get_wireframes_face(Mesh *me)
        MeshBatchCache *cache = mesh_batch_cache_get(me);
 
        if (cache->edges_face_overlay == NULL) {
-               const int options = MR_DATATYPE_VERT | MR_DATATYPE_EDGE | MR_DATATYPE_LOOP | MR_DATATYPE_LOOPTRI;
+               const int options = MR_DATATYPE_VERT | MR_DATATYPE_EDGE | MR_DATATYPE_LOOP | MR_DATATYPE_LOOPTRI | MR_DATATYPE_POLY;
 
                /* Hack to show the final result. */
                const bool use_em_final = (