[Bf-blender-cvs] [729bd7ddd98] master: Fix T65693: Crash removing higher on special multires objects

Sergey Sharybin noreply at git.blender.org
Mon Jun 17 15:12:15 CEST 2019


Commit: 729bd7ddd98d7bad98bb8479f4e03ed1536b20c8
Author: Sergey Sharybin
Date:   Mon Jun 17 15:10:28 2019 +0200
Branches: master
https://developer.blender.org/rB729bd7ddd98d7bad98bb8479f4e03ed1536b20c8

Fix T65693: Crash removing higher on special multires objects

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

M	source/blender/blenkernel/intern/multires.c

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

diff --git a/source/blender/blenkernel/intern/multires.c b/source/blender/blenkernel/intern/multires.c
index 7fefabd1c12..17d6b623b33 100644
--- a/source/blender/blenkernel/intern/multires.c
+++ b/source/blender/blenkernel/intern/multires.c
@@ -634,20 +634,20 @@ static void multires_del_higher(MultiresModifierData *mmd, Object *ob, int lvl)
 
           disps = MEM_calloc_arrayN(totdisp, 3 * sizeof(float), "multires disps");
 
-          ndisps = disps;
-          hdisps = mdisp->disps;
-
-          multires_copy_grid(ndisps, hdisps, nsize, hsize);
-          if (mdisp->hidden) {
-            BLI_bitmap *gh = multires_mdisps_downsample_hidden(mdisp->hidden, mdisp->level, lvl);
-            MEM_freeN(mdisp->hidden);
-            mdisp->hidden = gh;
-          }
+          if (mdisp->disps != NULL) {
+            ndisps = disps;
+            hdisps = mdisp->disps;
+
+            multires_copy_grid(ndisps, hdisps, nsize, hsize);
+            if (mdisp->hidden) {
+              BLI_bitmap *gh = multires_mdisps_downsample_hidden(mdisp->hidden, mdisp->level, lvl);
+              MEM_freeN(mdisp->hidden);
+              mdisp->hidden = gh;
+            }
 
-          ndisps += nsize * nsize;
-          hdisps += hsize * hsize;
+            MEM_freeN(mdisp->disps);
+          }
 
-          MEM_freeN(mdisp->disps);
           mdisp->disps = disps;
           mdisp->totdisp = totdisp;
           mdisp->level = lvl;



More information about the Bf-blender-cvs mailing list