[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [45935] trunk/blender/source/blender/ editors/object/object_group.c: Prevent adding objects to be added to a group which is used as dupli-group for this object

Sergey Sharybin sergey.vfx at gmail.com
Tue Apr 24 18:35:20 CEST 2012


Revision: 45935
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=45935
Author:   nazgul
Date:     2012-04-24 16:35:20 +0000 (Tue, 24 Apr 2012)
Log Message:
-----------
Prevent adding objects to be added to a group which is used as dupli-group for this object
when using "Add Selected to Active Group" operator,

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

Modified: trunk/blender/source/blender/editors/object/object_group.c
===================================================================
--- trunk/blender/source/blender/editors/object/object_group.c	2012-04-24 16:31:40 UTC (rev 45934)
+++ trunk/blender/source/blender/editors/object/object_group.c	2012-04-24 16:35:20 UTC (rev 45935)
@@ -65,7 +65,7 @@
 	Scene *scene= CTX_data_scene(C);
 	Object *ob= OBACT;
 	Group *group;
-	int ok = 0;
+	int ok = 0, cycle = 0;
 	
 	if (!ob) return OPERATOR_CANCELLED;
 	
@@ -76,7 +76,10 @@
 		if (object_in_group(ob, group)) {
 			/* Assign groups to selected objects */
 			CTX_DATA_BEGIN(C, Base*, base, selected_editable_bases) {
-				add_to_group(group, base->object, scene, base);
+				if (base->object->dup_group != group)
+					add_to_group(group, base->object, scene, base);
+				else
+					cycle = 1;
 				ok = 1;
 			}
 			CTX_DATA_END;
@@ -84,6 +87,8 @@
 	}
 	
 	if (!ok) BKE_report(op->reports, RPT_ERROR, "Active Object contains no groups");
+	if (cycle)
+		BKE_report(op->reports, RPT_WARNING, "Skipped some groups because of cycle detected");
 	
 	DAG_scene_sort(bmain, scene);
 	WM_event_add_notifier(C, NC_GROUP|NA_EDITED, NULL);




More information about the Bf-blender-cvs mailing list