[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [40517] branches/bmesh/blender/source/ blender: fix for missing memfree with raddish merge, copy over changes from trunk for switching mode - Ctrl+Tab wasnt setting weight paint .

Campbell Barton ideasman42 at gmail.com
Sat Sep 24 13:42:13 CEST 2011


Revision: 40517
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=40517
Author:   campbellbarton
Date:     2011-09-24 11:42:11 +0000 (Sat, 24 Sep 2011)
Log Message:
-----------
fix for missing memfree with raddish merge, copy over changes from trunk for switching mode - Ctrl+Tab wasnt setting weight paint.

Modified Paths:
--------------
    branches/bmesh/blender/source/blender/blenkernel/intern/DerivedMesh.c
    branches/bmesh/blender/source/blender/editors/object/object_edit.c

Modified: branches/bmesh/blender/source/blender/blenkernel/intern/DerivedMesh.c
===================================================================
--- branches/bmesh/blender/source/blender/blenkernel/intern/DerivedMesh.c	2011-09-24 11:24:34 UTC (rev 40516)
+++ branches/bmesh/blender/source/blender/blenkernel/intern/DerivedMesh.c	2011-09-24 11:42:11 UTC (rev 40517)
@@ -982,6 +982,8 @@
 		}
 	}
 
+	MEM_freeN(defbase_sel);
+
 	CustomData_add_layer(&dm->loopData, CD_WEIGHT_MLOOPCOL, CD_ASSIGN, wlcol, totloop);
 }
 

Modified: branches/bmesh/blender/source/blender/editors/object/object_edit.c
===================================================================
--- branches/bmesh/blender/source/blender/editors/object/object_edit.c	2011-09-24 11:24:34 UTC (rev 40516)
+++ branches/bmesh/blender/source/blender/editors/object/object_edit.c	2011-09-24 11:42:11 UTC (rev 40517)
@@ -379,7 +379,7 @@
 		}
 		BLI_freelistN(&pidlist);
 		
-		BKE_ptcache_object_reset(scene, obedit, PTCACHE_RESET_DEPSGRAPH);
+		BKE_ptcache_object_reset(scene, obedit, PTCACHE_RESET_OUTDATED);
 
 		/* also flush ob recalc, doesn't take much overhead, but used for particles */
 		DAG_id_tag_update(&obedit->id, OB_RECALC_OB|OB_RECALC_DATA);
@@ -1833,16 +1833,11 @@
 {
 	ObjectMode mode = RNA_enum_get(op->ptr, "mode");
 
-	if(mode == OB_MODE_OBJECT)
-		return 1;
-
 	if(ob) {
-		switch(ob->type) {
-		case OB_EMPTY:
-		case OB_LAMP:
-		case OB_CAMERA:
-			return 0;
+		if(mode == OB_MODE_OBJECT)
+			return 1;
 
+		switch(ob->type) {
 		case OB_MESH:
 			if(mode & (OB_MODE_EDIT|OB_MODE_SCULPT|OB_MODE_VERTEX_PAINT|OB_MODE_WEIGHT_PAINT|OB_MODE_TEXTURE_PAINT|OB_MODE_PARTICLE_EDIT))
 				return 1;
@@ -1851,14 +1846,14 @@
 		case OB_SURF:
 		case OB_FONT:
 		case OB_MBALL:
-			if(mode & (OB_MODE_OBJECT|OB_MODE_EDIT))
+			if(mode & (OB_MODE_EDIT))
 				return 1;
 			return 0;
 		case OB_LATTICE:
-			if(mode & (OB_MODE_OBJECT|OB_MODE_EDIT|OB_MODE_WEIGHT_PAINT))
+			if(mode & (OB_MODE_EDIT|OB_MODE_WEIGHT_PAINT))
 				return 1;
 		case OB_ARMATURE:
-			if(mode & (OB_MODE_OBJECT|OB_MODE_EDIT|OB_MODE_POSE))
+			if(mode & (OB_MODE_EDIT|OB_MODE_POSE))
 				return 1;
 		}
 	}
@@ -1874,7 +1869,7 @@
 	int toggle = RNA_boolean_get(op->ptr, "toggle");
 
 	if(!ob || !object_mode_set_compat(C, op, ob))
-		return OPERATOR_CANCELLED;
+		return OPERATOR_PASS_THROUGH;
 
 	/* Exit current mode if it's not the mode we're setting */
 	if(ob->mode != OB_MODE_OBJECT && ob->mode != mode)
@@ -1915,7 +1910,7 @@
 	/* flags */
 	ot->flag= 0; /* no register/undo here, leave it to operators being called */
 	
-	prop= RNA_def_enum(ot->srna, "mode", object_mode_items, 0, "Mode", "");
+	prop= RNA_def_enum(ot->srna, "mode", object_mode_items, OB_MODE_OBJECT, "Mode", "");
 	RNA_def_enum_funcs(prop, object_mode_set_itemsf);
 
 	RNA_def_boolean(ot->srna, "toggle", 0, "Toggle", "");




More information about the Bf-blender-cvs mailing list