[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [42509] trunk/blender/source/blender/ editors/object/object_vgroup.c: Disable redo for some vertex group operators to prevent confusing

Sergey Sharybin sergey.vfx at gmail.com
Thu Dec 8 12:02:34 CET 2011


Revision: 42509
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=42509
Author:   nazgul
Date:     2011-12-08 11:02:29 +0000 (Thu, 08 Dec 2011)
Log Message:
-----------
Disable redo for some vertex group operators to prevent confusing
situation when changing properties in redo panel messes up things.

This should help in cases described in #29527: Vgroup assign, remove and undo

Modified Paths:
--------------
    trunk/blender/source/blender/editors/object/object_vgroup.c

Modified: trunk/blender/source/blender/editors/object/object_vgroup.c
===================================================================
--- trunk/blender/source/blender/editors/object/object_vgroup.c	2011-12-08 04:51:03 UTC (rev 42508)
+++ trunk/blender/source/blender/editors/object/object_vgroup.c	2011-12-08 11:02:29 UTC (rev 42509)
@@ -2194,7 +2194,10 @@
 	ot->exec= vertex_group_remove_exec;
 
 	/* flags */
-	ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+	/* redo operator will fail in this case because vertex groups aren't stored
+	   in local edit mode stack and toggling "all" property will lead to
+	   all groups deleted without way to restore them (see [#29527], sergey) */
+	ot->flag= /*OPTYPE_REGISTER|*/OPTYPE_UNDO;
 
 	/* properties */
 	RNA_def_boolean(ot->srna, "all", 0, "All", "Remove from all vertex groups");
@@ -2226,7 +2229,10 @@
 	ot->exec= vertex_group_assign_exec;
 
 	/* flags */
-	ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+	/* redo operator will fail in this case because vertex group assignment
+	   isn't stored in local edit mode stack and toggling "new" property will
+	   lead to creating plenty of new veretx groups (see [#29527], sergey) */
+	ot->flag= /*OPTYPE_REGISTER|*/OPTYPE_UNDO;
 
 	/* properties */
 	RNA_def_boolean(ot->srna, "new", 0, "New", "Assign vertex to new vertex group");
@@ -2265,7 +2271,10 @@
 	ot->exec= vertex_group_remove_from_exec;
 
 	/* flags */
-	ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+	/* redo operator will fail in this case because vertex groups ssignment
+	   isn't stored in local edit mode stack and toggling "all" property will lead to
+	   removing vertices from all groups (see [#29527], sergey) */
+	ot->flag= /*OPTYPE_REGISTER|*/OPTYPE_UNDO;
 
 	/* properties */
 	RNA_def_boolean(ot->srna, "all", 0, "All", "Remove from all vertex groups");




More information about the Bf-blender-cvs mailing list