def draw(self, context):
layout = self.layout
- ob = context.object
+ obj = context.object
row = layout.row(align=True)
row.operator("object.group_link", text="Add to Group")
# XXX, this is bad practice, yes, I wrote it :( - campbell
index = 0
+ obj_name = obj.name
for group in bpy.data.groups:
- if ob.name in group.objects:
+ # XXX this is slow and stupid!, we need 2 checks, one thats fast
+ # and another that we can be sure its not a name collission
+ # from linked library data
+ group_objects = group.objects
+ if obj_name in group.objects and obj in group_objects[:]:
col = layout.column(align=True)
col.context_pointer_set("group", group)
if (path) {
if (GS(id->name) == ID_NT) { /* nodetree paths are not accurate */
ret = PyUnicode_FromFormat("bpy.data...%s",
- path);
+ path);
}
else {
ret = PyUnicode_FromFormat("bpy.data.%s[%R].%s",
if (path) {
if (GS(id->name) == ID_NT) { /* nodetree paths are not accurate */
ret = PyUnicode_FromFormat("bpy.data...%s",
- path);
+ path);
}
else {
ret = PyUnicode_FromFormat("bpy.data.%s[%R].%s",
* This is done for faster lookups. */
#define PYRNA_PROP_COLLECTION_ABS_INDEX(ret_err) \
if (keynum < 0) { \
- keynum_abs += RNA_property_collection_length(&self->ptr, self->prop); \
- if (keynum_abs < 0) { \
- PyErr_Format(PyExc_IndexError, \
- "bpy_prop_collection[%d]: out of range.", keynum); \
- return ret_err; \
- } \
+ keynum_abs += RNA_property_collection_length(&self->ptr, self->prop); \
+ if (keynum_abs < 0) { \
+ PyErr_Format(PyExc_IndexError, \
+ "bpy_prop_collection[%d]: out of range.", keynum); \
+ return ret_err; \
+ } \
} (void)0
PyList_Append(ret, linkptr);
Py_DECREF(linkptr);
}
+ break;
}
- break;
default:
/* should never happen */
BLI_assert(!"Invalid context type");