[Bf-blender-cvs] [209c01a6ba6] master: Fix T64329 Crash when switching to Texture Paint

Clément Foucault noreply at git.blender.org
Thu May 9 12:22:24 CEST 2019


Commit: 209c01a6ba6468f234a826d1eea38f4341f58cac
Author: Clément Foucault
Date:   Thu May 9 12:10:47 2019 +0200
Branches: master
https://developer.blender.org/rB209c01a6ba6468f234a826d1eea38f4341f58cac

Fix T64329 Crash when switching to Texture Paint

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

M	source/blender/draw/intern/draw_cache_impl_mesh.c
M	source/blender/editors/uvedit/uvedit_draw.c

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

diff --git a/source/blender/draw/intern/draw_cache_impl_mesh.c b/source/blender/draw/intern/draw_cache_impl_mesh.c
index ed60b3be3ef..0ccd53fe39e 100644
--- a/source/blender/draw/intern/draw_cache_impl_mesh.c
+++ b/source/blender/draw/intern/draw_cache_impl_mesh.c
@@ -4922,7 +4922,7 @@ void DRW_mesh_batch_cache_create_requested(
     }
   }
 
-  if (cache->batch_requested & (MBC_SURFACE | MBC_SURF_PER_MAT)) {
+  if (cache->batch_requested & (MBC_SURFACE | MBC_SURF_PER_MAT | MBC_WIRE_LOOPS_UVS)) {
     /* Optimization : Only create orco layer if mesh is deformed. */
     if (cache->cd_needed.orco != 0) {
       CustomData *cd_vdata = (me->edit_mesh) ? &me->edit_mesh->bm->vdata : &me->vdata;
diff --git a/source/blender/editors/uvedit/uvedit_draw.c b/source/blender/editors/uvedit/uvedit_draw.c
index 1bdcf28d496..3a5aead3d44 100644
--- a/source/blender/editors/uvedit/uvedit_draw.c
+++ b/source/blender/editors/uvedit/uvedit_draw.c
@@ -207,6 +207,7 @@ static void draw_uvs_shadow(SpaceImage *UNUSED(sima),
   float col[4];
   UI_GetThemeColor4fv(TH_UV_SHADOW, col);
 
+  DRW_mesh_batch_cache_validate(me);
   GPUBatch *edges = DRW_mesh_batch_cache_get_uv_edges(me);
   DRW_mesh_batch_cache_create_requested(eval_ob, me, scene->toolsettings, false, false);
 
@@ -229,6 +230,7 @@ static void draw_uvs_texpaint(Scene *scene, Object *ob, Depsgraph *depsgraph)
     return;
   }
 
+  DRW_mesh_batch_cache_validate(me);
   GPUBatch *geom = DRW_mesh_batch_cache_get_uv_edges(me);
   DRW_mesh_batch_cache_create_requested(eval_ob, me, scene->toolsettings, false, false);



More information about the Bf-blender-cvs mailing list