[Bf-blender-cvs] [df4f29b928b] blender-v2.81-release: Fix T71414: Undoing change of lattice resolution deforms mesh

Campbell Barton noreply at git.blender.org
Mon Nov 11 03:17:23 CET 2019


Commit: df4f29b928b7fc443b8fe7eb853e6c6a873fc434
Author: Campbell Barton
Date:   Mon Nov 11 13:07:37 2019 +1100
Branches: blender-v2.81-release
https://developer.blender.org/rBdf4f29b928b7fc443b8fe7eb853e6c6a873fc434

Fix T71414: Undoing change of lattice resolution deforms mesh

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

M	source/blender/editors/lattice/editlattice_undo.c

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

diff --git a/source/blender/editors/lattice/editlattice_undo.c b/source/blender/editors/lattice/editlattice_undo.c
index 2790e6b5558..ed2560698b6 100644
--- a/source/blender/editors/lattice/editlattice_undo.c
+++ b/source/blender/editors/lattice/editlattice_undo.c
@@ -61,9 +61,13 @@ static CLG_LogRef LOG = {"ed.undo.lattice"};
 /** \name Undo Conversion
  * \{ */
 
+/* TODO(Campbell): this could contain an entire 'Lattice' struct. */
 typedef struct UndoLattice {
   BPoint *def;
   int pntsu, pntsv, pntsw, actbp;
+  char typeu, typev, typew;
+  float fu, fv, fw;
+  float du, dv, dw;
   size_t undo_size;
 } UndoLattice;
 
@@ -83,6 +87,17 @@ static void undolatt_to_editlatt(UndoLattice *ult, EditLatt *editlatt)
   editlatt->latt->pntsv = ult->pntsv;
   editlatt->latt->pntsw = ult->pntsw;
   editlatt->latt->actbp = ult->actbp;
+
+  editlatt->latt->typeu = ult->typeu;
+  editlatt->latt->typev = ult->typev;
+  editlatt->latt->typew = ult->typew;
+
+  editlatt->latt->fu = ult->fu;
+  editlatt->latt->fv = ult->fv;
+  editlatt->latt->fw = ult->fw;
+  editlatt->latt->du = ult->du;
+  editlatt->latt->dv = ult->dv;
+  editlatt->latt->dw = ult->dw;
 }
 
 static void *undolatt_from_editlatt(UndoLattice *ult, EditLatt *editlatt)
@@ -95,6 +110,17 @@ static void *undolatt_from_editlatt(UndoLattice *ult, EditLatt *editlatt)
   ult->pntsw = editlatt->latt->pntsw;
   ult->actbp = editlatt->latt->actbp;
 
+  ult->typeu = editlatt->latt->typeu;
+  ult->typev = editlatt->latt->typev;
+  ult->typew = editlatt->latt->typew;
+
+  ult->fu = editlatt->latt->fu;
+  ult->fv = editlatt->latt->fv;
+  ult->fw = editlatt->latt->fw;
+  ult->du = editlatt->latt->du;
+  ult->dv = editlatt->latt->dv;
+  ult->dw = editlatt->latt->dw;
+
   ult->undo_size += sizeof(*ult->def) * ult->pntsu * ult->pntsv * ult->pntsw;
 
   return ult;



More information about the Bf-blender-cvs mailing list