[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [15317] branches/soc-2008-nicholasbishop/ source/blender: Fixed going into editmode with unsaved disps.

Nicholas Bishop nicholasbishop at gmail.com
Sun Jun 22 23:06:05 CEST 2008


Revision: 15317
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=15317
Author:   nicholasbishop
Date:     2008-06-22 23:06:00 +0200 (Sun, 22 Jun 2008)

Log Message:
-----------
Fixed going into editmode with unsaved disps.

Modified Paths:
--------------
    branches/soc-2008-nicholasbishop/source/blender/blenkernel/BKE_multires.h
    branches/soc-2008-nicholasbishop/source/blender/blenkernel/intern/multires.c
    branches/soc-2008-nicholasbishop/source/blender/src/editmesh.c

Modified: branches/soc-2008-nicholasbishop/source/blender/blenkernel/BKE_multires.h
===================================================================
--- branches/soc-2008-nicholasbishop/source/blender/blenkernel/BKE_multires.h	2008-06-22 20:59:29 UTC (rev 15316)
+++ branches/soc-2008-nicholasbishop/source/blender/blenkernel/BKE_multires.h	2008-06-22 21:06:00 UTC (rev 15317)
@@ -115,6 +115,8 @@
 	int x, y, ax, ay;
 } MultiresDisplacer;
 
+void multires_force_update(struct Object *ob);
+
 struct DerivedMesh *multires_dm_create_from_derived(struct MultiresModifierData*, struct DerivedMesh*, int, int);
 
 void multiresModifier_subdivide(struct MultiresModifierData *mmd, struct Mesh *me);

Modified: branches/soc-2008-nicholasbishop/source/blender/blenkernel/intern/multires.c
===================================================================
--- branches/soc-2008-nicholasbishop/source/blender/blenkernel/intern/multires.c	2008-06-22 20:59:29 UTC (rev 15316)
+++ branches/soc-2008-nicholasbishop/source/blender/blenkernel/intern/multires.c	2008-06-22 21:06:00 UTC (rev 15317)
@@ -1702,6 +1702,15 @@
 	}
 }
 
+void multires_force_update(Object *ob)
+{
+	if(ob->derivedFinal) {
+		ob->derivedFinal->needsFree =1;
+		ob->derivedFinal->release(G.obedit->derivedFinal);
+		ob->derivedFinal = NULL;
+	}
+}
+
 struct DerivedMesh *multires_dm_create_from_derived(MultiresModifierData *mmd, DerivedMesh *dm, int useRenderParams,
 						    int isFinalCalc)
 {

Modified: branches/soc-2008-nicholasbishop/source/blender/src/editmesh.c
===================================================================
--- branches/soc-2008-nicholasbishop/source/blender/src/editmesh.c	2008-06-22 20:59:29 UTC (rev 15316)
+++ branches/soc-2008-nicholasbishop/source/blender/src/editmesh.c	2008-06-22 21:06:00 UTC (rev 15317)
@@ -892,6 +892,9 @@
 	}
 #endif
 
+	/* Needed if multires mesh has been changed but updates haven't been stored yet */
+	multires_force_update(G.obedit);
+
 	/* because of reload */
 	free_editMesh(em);
 	





More information about the Bf-blender-cvs mailing list