Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2007-04-23 02:08:19 +0400
committerCampbell Barton <ideasman42@gmail.com>2007-04-23 02:08:19 +0400
commit94ad8c810c1699188f4c54a9307af31fc5fd9e7a (patch)
tree1383cf6f4649cf29ecc7753f74fe899fd3bf65e1 /source/blender/src/outliner.c
parent1c52e2cfa4096f3775472bd11d5ac982edc5ae3a (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.c12
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;
}