[Bf-blender-cvs] [2ca4f4f0cb8] master: Fix T59708: decimate modifier does not show face count before decimation.

Brecht Van Lommel noreply at git.blender.org
Fri Dec 21 16:55:32 CET 2018


Commit: 2ca4f4f0cb8d5d7e0b759fdc5b5a5b7adf7a5817
Author: Brecht Van Lommel
Date:   Fri Dec 21 16:53:33 2018 +0100
Branches: master
https://developer.blender.org/rB2ca4f4f0cb8d5d7e0b759fdc5b5a5b7adf7a5817

Fix T59708: decimate modifier does not show face count before decimation.

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

M	source/blender/modifiers/intern/MOD_decimate.c

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

diff --git a/source/blender/modifiers/intern/MOD_decimate.c b/source/blender/modifiers/intern/MOD_decimate.c
index 28b38dc638c..fff94e0d836 100644
--- a/source/blender/modifiers/intern/MOD_decimate.c
+++ b/source/blender/modifiers/intern/MOD_decimate.c
@@ -88,6 +88,16 @@ static DecimateModifierData *getOriginalModifierData(
 	return (DecimateModifierData *)modifiers_findByName(ob_orig, dmd->modifier.name);
 }
 
+static void updateFaceCount(
+        const ModifierEvalContext *ctx, const DecimateModifierData *dmd, int face_count)
+{
+	if (DEG_is_active(ctx->depsgraph)) {
+		/* update for display only */
+		DecimateModifierData *dmd_orig = getOriginalModifierData(dmd, ctx);
+		dmd_orig->face_count = face_count;
+	}
+}
+
 static Mesh *applyModifier(
         ModifierData *md, const ModifierEvalContext *ctx,
         Mesh *meshData)
@@ -103,7 +113,7 @@ static Mesh *applyModifier(
 #endif
 
 	/* set up front so we dont show invalid info in the UI */
-	dmd->face_count = mesh->totpoly;
+	updateFaceCount(ctx, dmd, mesh->totpoly);
 
 	switch (dmd->mode) {
 		case MOD_DECIM_MODE_COLLAPSE:
@@ -196,11 +206,7 @@ static Mesh *applyModifier(
 		MEM_freeN(vweights);
 	}
 
-	if (DEG_is_active(ctx->depsgraph)) {
-		/* update for display only */
-		DecimateModifierData *dmd_orig = getOriginalModifierData(dmd, ctx);
-		dmd_orig->face_count = bm->totface;
-	}
+	updateFaceCount(ctx, dmd, bm->totface);
 
 	result = BKE_mesh_from_bmesh_for_eval_nomain(bm, 0);
 	BLI_assert(bm->vtoolflagpool == NULL &&



More information about the Bf-blender-cvs mailing list