diff options
author | Campbell Barton <ideasman42@gmail.com> | 2011-10-24 08:52:43 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2011-10-24 08:52:43 +0400 |
commit | 809131bc8026c85f61813de42c34b02c47a780fe (patch) | |
tree | 97d5c53d816d58ea65911038b9f9118e7b812f80 /source/blender | |
parent | c49cdf5eec1ec70008c12f7b6cbfdad75dde3b16 (diff) |
added function BKE_library_filepath_set which sync's the libraries absolute path when setting to a relative value, before this you could never be sure if a libraries absolute path was valid or not because the user might have changed the relative library path in the outliner, now setting from the outliner and py/rna syncs the absolute path.
Diffstat (limited to 'source/blender')
-rw-r--r-- | source/blender/blenkernel/BKE_library.h | 1 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/library.c | 16 |
2 files changed, 2 insertions, 15 deletions
diff --git a/source/blender/blenkernel/BKE_library.h b/source/blender/blenkernel/BKE_library.h index 77ce7a50956..947eafa9dd3 100644 --- a/source/blender/blenkernel/BKE_library.h +++ b/source/blender/blenkernel/BKE_library.h @@ -59,7 +59,6 @@ int id_copy(struct ID *id, struct ID **newid, int test); int id_unlink(struct ID *id, int test); int new_id(struct ListBase *lb, struct ID *id, const char *name); -void id_clear_lib_data(struct ListBase *lb, struct ID *id); struct ListBase *which_libbase(struct Main *mainlib, short type); diff --git a/source/blender/blenkernel/intern/library.c b/source/blender/blenkernel/intern/library.c index 0c2ca4c68b3..c44ccd7aa57 100644 --- a/source/blender/blenkernel/intern/library.c +++ b/source/blender/blenkernel/intern/library.c @@ -74,7 +74,7 @@ #include "BLI_blenlib.h" #include "BLI_dynstr.h" #include "BLI_utildefines.h" -#include "BLI_bpath.h" + #include "BKE_animsys.h" #include "BKE_context.h" @@ -108,7 +108,6 @@ #include "BKE_gpencil.h" #include "BKE_fcurve.h" #include "BKE_speaker.h" -#include "BKE_utildefines.h" #include "RNA_access.h" @@ -195,8 +194,7 @@ int id_make_local(ID *id, int test) if(!test) make_local_texture((Tex*)id); return 1; case ID_IM: - if(!test) make_local_image((Image*)id); - return 1; + return 0; /* not implemented */ case ID_LT: if(!test) { make_local_lattice((Lattice*)id); @@ -1248,16 +1246,6 @@ int new_id(ListBase *lb, ID *id, const char *tname) return result; } -/* Pull an ID out of a library (make it local). Only call this for IDs that - don't have other library users. */ -void id_clear_lib_data(ListBase *lb, ID *id) -{ - bpath_traverse_id(id, bpath_relocate_visitor, id->lib->filepath); - id->lib= NULL; - id->flag= LIB_LOCAL; - new_id(lb, id, NULL); -} - /* next to indirect usage in read/writefile also in editobject.c scene.c */ void clear_id_newpoins(void) { |