Merge branch 'master' into blender2.8
authorCampbell Barton <ideasman42@gmail.com>
Sat, 5 May 2018 12:42:10 +0000 (14:42 +0200)
committerCampbell Barton <ideasman42@gmail.com>
Sat, 5 May 2018 12:42:15 +0000 (14:42 +0200)
1  2 
source/blender/blenkernel/BKE_idprop.h
source/blender/blenkernel/CMakeLists.txt
source/blender/blenkernel/intern/idprop.c

@@@ -152,12 -145,13 +152,17 @@@ void IDP_Reset(IDProperty *prop, const 
  #  define IDP_Id(prop)               ((ID *) (prop)->data.pointer)
  #endif
  
- /* for printout/logging only */
- char *IDP_reprN(const struct IDProperty *prop);
+ /* Format IDProperty as strings */
+ char *IDP_reprN(
+         const struct IDProperty *prop, uint *r_len);
+ void IDP_repr_fn(
+         const IDProperty *prop,
+         void (*str_append_fn)(void *user_data, const char *str, uint str_len),
+         void *user_data);
  void  IDP_print(const struct IDProperty *prop);
  
 +#ifdef __cplusplus
 +}
 +#endif
 +
  #endif /* __BKE_IDPROP_H__ */
@@@ -116,9 -115,9 +116,10 @@@ set(SR
        intern/gpencil.c
        intern/group.c
        intern/icons.c
 +      intern/icons_rasterize.c
        intern/idcode.c
        intern/idprop.c
+       intern/idprop_utils.c
        intern/image.c
        intern/image_gen.c
        intern/ipo.c
@@@ -1094,30 -1067,5 +1094,16 @@@ void IDP_ClearProperty(IDProperty *prop
        prop->len = prop->totallen = 0;
  }
  
 +void IDP_Reset(IDProperty *prop, const IDProperty *reference)
 +{
 +      if (prop == NULL) {
 +              return;
 +      }
 +      IDP_ClearProperty(prop);
 +      if (reference != NULL) {
 +              IDP_MergeGroup(prop, reference, true);
 +      }
 +}
 +
  /** \} */
  
- /* We could write a C version, see: idprop_py_api.c */
- #ifndef WITH_PYTHON
- char *IDP_reprN(IDProperty *UNUSED(prop))
- {
-       return BLI_strdup("<unsupported>");
- }
- void IDP_print(IDProperty *prop)
- {
-       char *repr = IDP_reprN(prop);
-       printf("IDProperty(%p): %s\n", prop, repr);
-       MEM_freeN(repr);
- }
- #endif /* WITH_PYTHON */