diff options
author | Campbell Barton <ideasman42@gmail.com> | 2007-04-23 02:08:19 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2007-04-23 02:08:19 +0400 |
commit | 94ad8c810c1699188f4c54a9307af31fc5fd9e7a (patch) | |
tree | 1383cf6f4649cf29ecc7753f74fe899fd3bf65e1 /source/blender/src/outliner.c | |
parent | 1c52e2cfa4096f3775472bd11d5ac982edc5ae3a (diff) |
Changed TESTBASE and TESTBASE_LIB to check the hidden flag
Checked every instance of testbase to see this dosnt break anything, also changed TESTBASE and TESTBASELIB, both were used incorrectly in places.
added error_libdata() for library error messages that are everywhere.
added object_data_is_libdata to test if the object and its data's are from a library.
fixed 2 crashs in adding Curve points to a library object (remember to check, verify_ipocurve returns NULL!)
made duplicating and making dupli's real for lib objects possible, disabled joining into lib armatures and meshes.
Diffstat (limited to 'source/blender/src/outliner.c')
-rw-r--r-- | source/blender/src/outliner.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/source/blender/src/outliner.c b/source/blender/src/outliner.c index d0d3336dc45..e29275e40d0 100644 --- a/source/blender/src/outliner.c +++ b/source/blender/src/outliner.c @@ -1293,7 +1293,7 @@ static void tree_element_active_object(SpaceOops *soops, TreeElement *te) if(G.qual & LR_SHIFTKEY) { /* swap select */ if(base->flag & SELECT) base->flag &= ~SELECT; - else base->flag |= SELECT; + else if ((base->object->restrictflag & OB_RESTRICT_VIEW)==0) base->flag |= SELECT; base->object->flag= base->flag; } else { @@ -1303,8 +1303,10 @@ static void tree_element_active_object(SpaceOops *soops, TreeElement *te) b->flag &= ~SELECT; b->object->flag= b->flag; } - base->flag |= SELECT; - base->object->flag |= SELECT; + if ((base->object->restrictflag & OB_RESTRICT_VIEW)==0) { + base->flag |= SELECT; + base->object->flag |= SELECT; + } } set_active_base(base); /* editview.c */ @@ -1895,7 +1897,7 @@ static int do_outliner_mouse_event(SpaceOops *soops, TreeElement *te, short even if(ELEM8(tselem->type, TSE_NLA, TSE_DEFGROUP_BASE, TSE_CONSTRAINT_BASE, TSE_MODIFIER_BASE, TSE_SCRIPT_BASE, TSE_POSE_BASE, TSE_R_LAYER_BASE, TSE_R_PASS)) error("Cannot edit builtin name"); else if(tselem->id->lib) - error("Cannot edit Library Data"); + error_libdata(); else { tselem->flag |= TSE_TEXTBUT; } @@ -2471,7 +2473,7 @@ static void object_select_cb(TreeElement *te, TreeStoreElem *tsep, TreeStoreElem Base *base= (Base *)te->directdata; if(base==NULL) base= object_in_scene((Object *)tselem->id, G.scene); - if(base) { + if(base && ((base->object->restrictflag & OB_RESTRICT_VIEW)==0)) { base->flag |= SELECT; base->object->flag |= SELECT; } |