diff options
author | Campbell Barton <ideasman42@gmail.com> | 2012-09-18 08:35:30 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2012-09-18 08:35:30 +0400 |
commit | d3737de8c284b7cb8e6bff4ee147561449fb2151 (patch) | |
tree | 9379d0f4965cb4d274ab542451b193db7f3ee5c0 /source/blender/blenkernel | |
parent | a4ff2b914049f3c7af6b06034f7a569b19ad8e7a (diff) |
fix for a strange linking error where set_property() in source/blender/blenkernel/intern/property.c would get mixed up with an X11 function of the same name. it crashed blender loading on my system.
Give functions in property.c more unique names.
Diffstat (limited to 'source/blender/blenkernel')
-rw-r--r-- | source/blender/blenkernel/BKE_property.h | 27 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/object.c | 4 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/property.c | 65 |
3 files changed, 51 insertions, 45 deletions
diff --git a/source/blender/blenkernel/BKE_property.h b/source/blender/blenkernel/BKE_property.h index a29dc0e7be4..e0eb8c04b60 100644 --- a/source/blender/blenkernel/BKE_property.h +++ b/source/blender/blenkernel/BKE_property.h @@ -35,19 +35,18 @@ struct bProperty; struct ListBase; struct Object; -void free_property(struct bProperty *prop); -void free_properties(struct ListBase *lb); -struct bProperty *copy_property(struct bProperty *prop); -void copy_properties(struct ListBase *lbn, struct ListBase *lbo); -void init_property(struct bProperty *prop); -struct bProperty *new_property(int type); -void unique_property(struct bProperty *first, struct bProperty *prop, int force); -struct bProperty *get_ob_property(struct Object *ob, const char *name); -void set_ob_property(struct Object *ob, struct bProperty *propc); -int compare_property(struct bProperty *prop, const char *str); -void set_property(struct bProperty *prop, const char *str); -void add_property(struct bProperty *prop, const char *str); -void set_property_valstr(struct bProperty *prop, char *str); -void cp_property(struct bProperty *prop1, struct bProperty *prop2); +void BKE_bproperty_free(struct bProperty *prop); +void BKE_bproperty_free_list(struct ListBase *lb); +struct bProperty *BKE_bproperty_copy(struct bProperty *prop); +void BKE_bproperty_copy_list(struct ListBase *lbn, struct ListBase *lbo); +void BKE_bproperty_init(struct bProperty *prop); +struct bProperty *BKE_bproperty_new(int type); +void BKE_bproperty_unique(struct bProperty *first, struct bProperty *prop, int force); +struct bProperty *BKE_bproperty_object_get(struct Object *ob, const char *name); +void BKE_bproperty_object_set(struct Object *ob, struct bProperty *propc); +// int BKE_bproperty_cmp(struct bProperty *prop, const char *str); +void BKE_bproperty_set(struct bProperty *prop, const char *str); +void BKE_bproperty_add(struct bProperty *prop, const char *str); +void BKE_bproperty_set_valstr(struct bProperty *prop, char *str); #endif diff --git a/source/blender/blenkernel/intern/object.c b/source/blender/blenkernel/intern/object.c index a44b5e7691b..5be39414113 100644 --- a/source/blender/blenkernel/intern/object.c +++ b/source/blender/blenkernel/intern/object.c @@ -340,7 +340,7 @@ void BKE_object_free(Object *ob) BKE_pose_free(ob->pose); if (ob->mpath) animviz_free_motionpath(ob->mpath); - free_properties(&ob->prop); + BKE_bproperty_free_list(&ob->prop); BKE_object_free_modifiers(ob); free_sensors(&ob->sensors); @@ -1147,7 +1147,7 @@ Object *BKE_object_copy(Object *ob) } obn->prop.first = obn->prop.last = NULL; - copy_properties(&obn->prop, &ob->prop); + BKE_bproperty_copy_list(&obn->prop, &ob->prop); copy_sensors(&obn->sensors, &ob->sensors); copy_controllers(&obn->controllers, &ob->controllers); diff --git a/source/blender/blenkernel/intern/property.c b/source/blender/blenkernel/intern/property.c index 46ddce4b51b..8da4f11fed3 100644 --- a/source/blender/blenkernel/intern/property.c +++ b/source/blender/blenkernel/intern/property.c @@ -27,9 +27,12 @@ /** \file blender/blenkernel/intern/property.c * \ingroup bke + * + * This module deals with bProperty only, + * they are used on blender objects in the game engine + * (where they get converted into C++ classes - CValue and subclasses) */ - #include <stdio.h> #include <stdlib.h> #include <stddef.h> @@ -45,7 +48,7 @@ #include "BKE_property.h" -void free_property(bProperty *prop) +void BKE_bproperty_free(bProperty *prop) { if (prop->poin && prop->poin != &prop->data) MEM_freeN(prop->poin); @@ -53,17 +56,17 @@ void free_property(bProperty *prop) } -void free_properties(ListBase *lb) +void BKE_bproperty_free_list(ListBase *lb) { bProperty *prop; while ( (prop = lb->first) ) { BLI_remlink(lb, prop); - free_property(prop); + BKE_bproperty_free(prop); } } -bProperty *copy_property(bProperty *prop) +bProperty *BKE_bproperty_copy(bProperty *prop) { bProperty *propn; @@ -76,13 +79,13 @@ bProperty *copy_property(bProperty *prop) return propn; } -void copy_properties(ListBase *lbn, ListBase *lbo) +void BKE_bproperty_copy_list(ListBase *lbn, ListBase *lbo) { bProperty *prop, *propn; - free_properties(lbn); /* in case we are copying to an object with props */ + BKE_bproperty_free_list(lbn); /* in case we are copying to an object with props */ prop = lbo->first; while (prop) { - propn = copy_property(prop); + propn = BKE_bproperty_copy(prop); BLI_addtail(lbn, propn); prop = prop->next; } @@ -90,7 +93,7 @@ void copy_properties(ListBase *lbn, ListBase *lbo) } -void init_property(bProperty *prop) +void BKE_bproperty_init(bProperty *prop) { /* also use when property changes type */ @@ -113,22 +116,22 @@ void init_property(bProperty *prop) } -bProperty *new_property(int type) +bProperty *BKE_bproperty_new(int type) { bProperty *prop; prop = MEM_callocN(sizeof(bProperty), "property"); prop->type = type; - init_property(prop); + BKE_bproperty_init(prop); strcpy(prop->name, "prop"); return prop; } -/* used by unique_property() only */ -static bProperty *get_property__internal(bProperty *first, bProperty *self, const char *name) +/* used by BKE_bproperty_unique() only */ +static bProperty *bproperty_get(bProperty *first, bProperty *self, const char *name) { bProperty *p; for (p = first; p; p = p->next) { @@ -137,7 +140,7 @@ static bProperty *get_property__internal(bProperty *first, bProperty *self, cons } return NULL; } -void unique_property(bProperty *first, bProperty *prop, int force) +void BKE_bproperty_unique(bProperty *first, bProperty *prop, int force) { bProperty *p; @@ -151,13 +154,13 @@ void unique_property(bProperty *first, bProperty *prop, int force) if (force) { /* change other names to make them unique */ - while ((p = get_property__internal(first, prop, prop->name))) { - unique_property(first, p, 0); + while ((p = bproperty_get(first, prop, prop->name))) { + BKE_bproperty_unique(first, p, 0); } } else { /* change our own name until its unique */ - if (get_property__internal(first, prop, prop->name)) { + if (bproperty_get(first, prop, prop->name)) { /* there is a collision */ char new_name[sizeof(prop->name)]; char base_name[sizeof(prop->name)]; @@ -175,33 +178,34 @@ void unique_property(bProperty *first, bProperty *prop, int force) BLI_snprintf(num, sizeof(num), "%d", i++); BLI_strncpy(new_name, base_name, sizeof(prop->name) - strlen(num)); strcat(new_name, num); - } while (get_property__internal(first, prop, new_name)); + } while (bproperty_get(first, prop, new_name)); BLI_strncpy(prop->name, new_name, sizeof(prop->name)); } } } -bProperty *get_ob_property(Object *ob, const char *name) +bProperty *BKE_bproperty_object_get(Object *ob, const char *name) { return BLI_findstring(&ob->prop, name, offsetof(bProperty, name)); } -void set_ob_property(Object *ob, bProperty *propc) +void BKE_bproperty_object_set(Object *ob, bProperty *propc) { bProperty *prop; - prop = get_ob_property(ob, propc->name); + prop = BKE_bproperty_object_get(ob, propc->name); if (prop) { - free_property(prop); + BKE_bproperty_free(prop); BLI_remlink(&ob->prop, prop); } - BLI_addtail(&ob->prop, copy_property(propc)); + BLI_addtail(&ob->prop, BKE_bproperty_copy(propc)); } /* negative: prop is smaller * positive: prop is larger */ -int compare_property(bProperty *prop, const char *str) +#if 0 /* UNUSED */ +int BKE_bproperty_cmp(bProperty *prop, const char *str) { // extern int Gdfra; /* sector.c */ float fvalue, ftest; @@ -237,8 +241,9 @@ int compare_property(bProperty *prop, const char *str) return 0; } +#endif -void set_property(bProperty *prop, const char *str) +void BKE_bproperty_set(bProperty *prop, const char *str) { // extern int Gdfra; /* sector.c */ @@ -262,7 +267,7 @@ void set_property(bProperty *prop, const char *str) } -void add_property(bProperty *prop, const char *str) +void BKE_bproperty_add(bProperty *prop, const char *str) { // extern int Gdfra; /* sector.c */ @@ -282,7 +287,7 @@ void add_property(bProperty *prop, const char *str) } /* reads value of property, sets it in chars in str */ -void set_property_valstr(bProperty *prop, char *str) +void BKE_bproperty_set_valstr(bProperty *prop, char *str) { // extern int Gdfra; /* sector.c */ @@ -303,11 +308,13 @@ void set_property_valstr(bProperty *prop, char *str) } } +#if 0 /* UNUSED */ void cp_property(bProperty *prop1, bProperty *prop2) { char str[128]; - set_property_valstr(prop2, str); + BKE_bproperty_set_valstr(prop2, str); - set_property(prop1, str); + BKE_bproperty_set(prop1, str); } +#endif |