Commit: 24976dd29d16ffc176ad0f87246fa98a1da31ccc
Author: Julian Eisel
Date: Sat Feb 14 21:54:31 2015 +0100
Branches: master
https://developer.blender.org/rB24976dd29d16ffc176ad0f87246fa98a1da31ccc
Outliner: Toggle restrict buttons only for selectable child objects
D404 by @rupp with minor edits by me.
===================================================================
M source/blender/editors/space_outliner/outliner_draw.c
===================================================================
diff --git a/source/blender/editors/space_outliner/outliner_draw.c
b/source/blender/editors/space_outliner/outliner_draw.c
index 3aaa116..0766587 100644
--- a/source/blender/editors/space_outliner/outliner_draw.c
+++ b/source/blender/editors/space_outliner/outliner_draw.c
@@ -176,16 +176,20 @@ static void restrictbutton_recursive_child(bContext *C,
Scene *scene, Object *ob
{
Main *bmain = CTX_data_main(C);
Object *ob;
+
for (ob = bmain->object.first; ob; ob = ob->id.next) {
if (BKE_object_is_child_recursive(ob_parent, ob)) {
- if (state) {
- ob->restrictflag |= flag;
- if (deselect) {
-
ED_base_object_select(BKE_scene_base_find(scene, ob), BA_DESELECT);
+ /* only do if child object is selectable */
+ if ((flag == OB_RESTRICT_SELECT) || (ob->restrictflag &
OB_RESTRICT_SELECT) == 0) {
+ if (state) {
+ ob->restrictflag |= flag;
+ if (deselect) {
+
ED_base_object_select(BKE_scene_base_find(scene, ob), BA_DESELECT);
+ }
+ }
+ else {
+ ob->restrictflag &= ~flag;
}
- }
- else {
- ob->restrictflag &= ~flag;
}
if (rnapropname) {
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs