Merge branch 'master' into blender2.8
authorCampbell Barton <ideasman42@gmail.com>
Fri, 4 May 2018 05:30:14 +0000 (07:30 +0200)
committerCampbell Barton <ideasman42@gmail.com>
Fri, 4 May 2018 05:30:14 +0000 (07:30 +0200)
1  2 
source/blender/blenkernel/BKE_idprop.h
source/blender/blenkernel/intern/idprop.c
source/blender/windowmanager/intern/wm_keymap.c

index 02912739e86ffeef83394dc70c19cc2e5002eb61,48a5db93504cc606f1b572746f7ebc67a41549f4..c686fa41e7e83b409d804afa918f5a17dec04625
@@@ -152,13 -145,8 +152,12 @@@ void IDP_Reset(IDProperty *prop, const 
  #  define IDP_Id(prop)               ((ID *) (prop)->data.pointer)
  #endif
  
- #ifndef NDEBUG
- /* for printout only */
- void IDP_spit(IDProperty *prop);
- #endif
+ /* for printout/logging only */
+ char *IDP_reprN(const struct IDProperty *prop);
+ void  IDP_print(const struct IDProperty *prop);
  
 +#ifdef __cplusplus
 +}
 +#endif
 +
  #endif /* __BKE_IDPROP_H__ */
index 87e5ed8cc1e7f22757ff500cefd52736bea5c312,a224ef1e212fa4b2f884a58c6ce8479c472ef158..b3b5afa88a950b6b9f6a73bd5b9f8971715eace3
@@@ -1095,15 -1068,19 +1095,30 @@@ 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 */