[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