RNA: Cleanup PointerRNA struct
authorJacques Lucke <mail@jlucke.com>
Fri, 23 Aug 2019 07:52:12 +0000 (09:52 +0200)
committerJacques Lucke <mail@jlucke.com>
Fri, 23 Aug 2019 07:52:12 +0000 (09:52 +0200)
The old layout of `PointerRNA` was confusing for historic reasons:
```
typedef struct PointerRNA {
  struct {
    void *data;
  } id;

  struct StructRNA *type;
  void *data;
} PointerRNA;
```

This patch updates it to:
```
typedef struct PointerRNA {
  struct ID *owner_id;
  struct StructRNA *type;
  void *data;
} PointerRNA;
```

Throughout the code base `id.data` was replaced with `owner_id`.
Furthermore, many explicit pointer type casts were added which
were implicit before. Some type casts to `ID *` were removed.

Reviewers: brecht, campbellbarton

Differential Revision: https://developer.blender.org/D5558

133 files changed:
intern/cycles/blender/blender_util.h
source/blender/blenkernel/BKE_context.h
source/blender/blenkernel/intern/anim_sys.c
source/blender/blenkernel/intern/fcurve.c
source/blender/depsgraph/intern/builder/deg_builder_cache.cc
source/blender/depsgraph/intern/builder/deg_builder_relations.cc
source/blender/depsgraph/intern/builder/deg_builder_rna.cc
source/blender/depsgraph/intern/depsgraph_query.cc
source/blender/draw/engines/eevee/eevee_lightcache.c
source/blender/editors/animation/anim_channels_defines.c
source/blender/editors/animation/anim_ipo_utils.c
source/blender/editors/animation/drivers.c
source/blender/editors/animation/keyframing.c
source/blender/editors/animation/keyingsets.c
source/blender/editors/armature/pose_select.c
source/blender/editors/armature/pose_slide.c
source/blender/editors/curve/editfont.c
source/blender/editors/gpencil/gpencil_data.c
source/blender/editors/interface/interface.c
source/blender/editors/interface/interface_anim.c
source/blender/editors/interface/interface_context_menu.c
source/blender/editors/interface/interface_eyedropper_datablock.c
source/blender/editors/interface/interface_eyedropper_driver.c
source/blender/editors/interface/interface_handlers.c
source/blender/editors/interface/interface_icons.c
source/blender/editors/interface/interface_layout.c
source/blender/editors/interface/interface_ops.c
source/blender/editors/interface/interface_region_tooltip.c
source/blender/editors/interface/interface_templates.c
source/blender/editors/interface/interface_utils.c
source/blender/editors/interface/interface_widgets.c
source/blender/editors/object/object_constraint.c
source/blender/editors/object/object_gpencil_modifier.c
source/blender/editors/object/object_hook.c
source/blender/editors/object/object_modifier.c
source/blender/editors/object/object_relations.c
source/blender/editors/object/object_shader_fx.c
source/blender/editors/physics/particle_object.c
source/blender/editors/physics/physics_pointcache.c
source/blender/editors/render/render_shading.c
source/blender/editors/screen/screen_context.c
source/blender/editors/screen/screen_ops.c
source/blender/editors/space_action/action_data.c
source/blender/editors/space_action/space_action.c
source/blender/editors/space_buttons/buttons_context.c
source/blender/editors/space_buttons/buttons_ops.c
source/blender/editors/space_buttons/buttons_texture.c
source/blender/editors/space_buttons/space_buttons.c
source/blender/editors/space_graph/graph_buttons.c
source/blender/editors/space_graph/space_graph.c
source/blender/editors/space_image/image_buttons.c
source/blender/editors/space_image/image_ops.c
source/blender/editors/space_nla/nla_buttons.c
source/blender/editors/space_nla/nla_channels.c
source/blender/editors/space_nla/space_nla.c
source/blender/editors/space_node/drawnode.c
source/blender/editors/space_node/node_edit.c
source/blender/editors/space_outliner/outliner_edit.c
source/blender/editors/space_outliner/outliner_tools.c
source/blender/editors/space_outliner/outliner_tree.c
source/blender/editors/space_sequencer/space_sequencer.c
source/blender/editors/space_view3d/space_view3d.c
source/blender/editors/space_view3d/view3d_edit.c
source/blender/makesrna/RNA_access.h
source/blender/makesrna/RNA_types.h
source/blender/makesrna/intern/makesrna.c
source/blender/makesrna/intern/rna_ID.c
source/blender/makesrna/intern/rna_access.c
source/blender/makesrna/intern/rna_access_compare_override.c
source/blender/makesrna/intern/rna_action.c
source/blender/makesrna/intern/rna_animation.c
source/blender/makesrna/intern/rna_armature.c
source/blender/makesrna/intern/rna_boid.c
source/blender/makesrna/intern/rna_brush.c
source/blender/makesrna/intern/rna_camera.c
source/blender/makesrna/intern/rna_cloth.c
source/blender/makesrna/intern/rna_collection.c
source/blender/makesrna/intern/rna_color.c
source/blender/makesrna/intern/rna_constraint.c
source/blender/makesrna/intern/rna_context.c
source/blender/makesrna/intern/rna_curve.c
source/blender/makesrna/intern/rna_dynamicpaint.c
source/blender/makesrna/intern/rna_fcurve.c
source/blender/makesrna/intern/rna_fluidsim.c
source/blender/makesrna/intern/rna_gpencil.c
source/blender/makesrna/intern/rna_gpencil_modifier.c
source/blender/makesrna/intern/rna_image.c
source/blender/makesrna/intern/rna_key.c
source/blender/makesrna/intern/rna_lattice.c
source/blender/makesrna/intern/rna_layer.c
source/blender/makesrna/intern/rna_light.c
source/blender/makesrna/intern/rna_lightprobe.c
source/blender/makesrna/intern/rna_linestyle.c
source/blender/makesrna/intern/rna_mask.c
source/blender/makesrna/intern/rna_material.c
source/blender/makesrna/intern/rna_mesh.c
source/blender/makesrna/intern/rna_meta.c
source/blender/makesrna/intern/rna_modifier.c
source/blender/makesrna/intern/rna_movieclip.c
source/blender/makesrna/intern/rna_nla.c
source/blender/makesrna/intern/rna_nodetree.c
source/blender/makesrna/intern/rna_object.c
source/blender/makesrna/intern/rna_object_api.c
source/blender/makesrna/intern/rna_object_force.c
source/blender/makesrna/intern/rna_particle.c
source/blender/makesrna/intern/rna_pose.c
source/blender/makesrna/intern/rna_rigidbody.c
source/blender/makesrna/intern/rna_rna.c
source/blender/makesrna/intern/rna_scene.c
source/blender/makesrna/intern/rna_screen.c
source/blender/makesrna/intern/rna_sculpt_paint.c
source/blender/makesrna/intern/rna_sequencer.c
source/blender/makesrna/intern/rna_shader_fx.c
source/blender/makesrna/intern/rna_smoke.c
source/blender/makesrna/intern/rna_space.c
source/blender/makesrna/intern/rna_texture.c
source/blender/makesrna/intern/rna_tracking.c
source/blender/makesrna/intern/rna_vfont.c
source/blender/makesrna/intern/rna_wm.c
source/blender/makesrna/intern/rna_wm_gizmo.c
source/blender/makesrna/intern/rna_workspace.c
source/blender/makesrna/intern/rna_world.c
source/blender/nodes/composite/nodes/node_composite_outputFile.c
source/blender/nodes/composite/nodes/node_composite_switchview.c
source/blender/python/intern/bpy_interface.c
source/blender/python/intern/bpy_msgbus.c
source/blender/python/intern/bpy_rna.c
source/blender/python/intern/bpy_rna_anim.c
source/blender/python/intern/bpy_rna_driver.c
source/blender/windowmanager/intern/wm_event_system.c
source/blender/windowmanager/intern/wm_operators.c
source/blender/windowmanager/message_bus/intern/wm_message_bus_rna.c
source/blender/windowmanager/message_bus/wm_message_bus.h

index c9d1dc67e54534dfd4f440219f8a4e16e665cc16..3625dd45ae28dfdb754a1106eed2e206f64b1d1a 100644 (file)
@@ -594,7 +594,7 @@ template<typename K, typename T> class id_map {
 
   T *find(const BL::ID &id)
   {
-    return find(id.ptr.id.data);
+    return find(id.ptr.owner_id);
   }
 
   T *find(const K &key)
@@ -629,7 +629,7 @@ template<typename K, typename T> class id_map {
 
   bool sync(T **r_data, const BL::ID &id)
   {
-    return sync(r_data, id, id, id.ptr.id.data);
+    return sync(r_data, id, id, id.ptr.owner_id);
   }
 
   bool sync(T **r_data, const BL::ID &id, const BL::ID &parent, const K &key)
index 755a155653bacaf8524dbf1c2a1e3b99c2789cc3..bfcfd753975f67ad0f8faa7d97e86209d4fcaa55 100644 (file)
@@ -239,7 +239,7 @@ bool CTX_data_dir(const char *member);
 
 #define CTX_DATA_BEGIN_WITH_ID(C, Type, instance, member, Type_id, instance_id) \
   CTX_DATA_BEGIN (C, Type, instance, member) \
-    Type_id instance_id = ctx_link->ptr.id.data;
+    Type_id instance_id = (Type_id)ctx_link->ptr.owner_id;
 
 int ctx_data_list_count(const bContext *C, int (*func)(const bContext *, ListBase *));
 
index 1a34c5376f690477991b6d4a7b26b86d156a30a9..ab8ea37377de41c65ccffd3455c412e62901c97e 100644 (file)
@@ -648,7 +648,7 @@ char *BKE_animdata_driver_path_hack(bContext *C,
                                     PropertyRNA *prop,
                                     char *base_path)
 {
-  ID *id = (ID *)ptr->id.data;
+  ID *id = ptr->owner_id;
   ScrArea *sa = CTX_wm_area(C);
 
   /* get standard path which may be extended */
@@ -1656,14 +1656,14 @@ static bool animsys_store_rna_setting(PointerRNA *ptr,
   if (path) {
     /* get property to write to */
     if (RNA_path_resolve_property(ptr, path, &r_result->ptr, &r_result->prop)) {
-      if ((ptr->id.data == NULL) || RNA_property_animateable(&r_result->ptr, r_result->prop)) {
+      if ((ptr->owner_id == NULL) || RNA_property_animateable(&r_result->ptr, r_result->prop)) {
         int array_len = RNA_property_array_length(&r_result->ptr, r_result->prop);
 
         if (array_len && array_index >= array_len) {
           if (G.debug & G_DEBUG) {
             CLOG_WARN(&LOG,
                       "Animato: Invalid array index. ID = '%s',  '%s[%d]', array length is %d",
-                      (ptr->id.data) ? (((ID *)ptr->id.data)->name + 2) : "<No ID>",
+                      (ptr->owner_id) ? (ptr->owner_id->name + 2) : "<No ID>",
                       path,
                       array_index,
                       array_len - 1);
@@ -1682,7 +1682,7 @@ static bool animsys_store_rna_setting(PointerRNA *ptr,
       if (G.debug & G_DEBUG) {
         CLOG_WARN(&LOG,
                   "Animato: Invalid path. ID = '%s',  '%s[%d]'",
-                  (ptr->id.data) ? (((ID *)ptr->id.data)->name + 2) : "<No ID>",
+                  (ptr->owner_id) ? (ptr->owner_id->name + 2) : "<No ID>",
                   path,
                   array_index);
       }
@@ -1703,7 +1703,7 @@ static bool animsys_read_rna_setting(PathResolvedRNA *anim_rna, float *r_value)
   float orig_value;
 
   /* caller must ensure this is animatable */
-  BLI_assert(RNA_property_animateable(ptr, prop) || ptr->id.data == NULL);
+  BLI_assert(RNA_property_animateable(ptr, prop) || ptr->owner_id == NULL);
 
   switch (RNA_property_type(prop)) {
     case PROP_BOOLEAN: {
@@ -1765,7 +1765,7 @@ static bool animsys_write_rna_setting(PathResolvedRNA *anim_rna, const float val
   int array_index = anim_rna->prop_index;
 
   /* caller must ensure this is animatable */
-  BLI_assert(RNA_property_animateable(ptr, prop) || ptr->id.data == NULL);
+  BLI_assert(RNA_property_animateable(ptr, prop) || ptr->owner_id == NULL);
 
   /* Check whether value is new. Otherwise we skip all the updates. */
   float old_value;
@@ -1844,7 +1844,7 @@ static bool animsys_construct_orig_pointer_rna(const PointerRNA *ptr, PointerRNA
    * not a valid pointer, but there are exceptions in various places of this file which handles
    * such pointers.
    * We do special trickery here as well, to quickly go from evaluated to original NlaStrip. */
-  if (ptr->id.data == NULL) {
+  if (ptr->owner_id == NULL) {
     if (ptr->type != &RNA_NlaStrip) {
       return false;
     }
@@ -1855,8 +1855,8 @@ static bool animsys_construct_orig_pointer_rna(const PointerRNA *ptr, PointerRNA
     ptr_orig->data = strip->orig_strip;
   }
   else {
-    ptr_orig->id.data = ((ID *)ptr_orig->id.data)->orig_id;
-    ptr_orig->data = ptr_orig->id.data;
+    ptr_orig->owner_id = ptr_orig->owner_id->orig_id;
+    ptr_orig->data = ptr_orig->owner_id;
   }
   return true;
 }
@@ -2003,7 +2003,7 @@ void animsys_evaluate_action_group(PointerRNA *ptr, bAction *act, bActionGroup *
     return;
   }
 
-  action_idcode_patch_check(ptr->id.data, act);
+  action_idcode_patch_check(ptr->owner_id, act);
 
   /* if group is muted, don't evaluated any of the F-Curve */
   if (agrp->flag & AGRP_MUTED) {
@@ -2034,7 +2034,7 @@ static void animsys_evaluate_action_ex(PointerRNA *ptr,
     return;
   }
 
-  action_idcode_patch_check(ptr->id.data, act);
+  action_idcode_patch_check(ptr->owner_id, act);
 
   /* calculate then execute each curve */
   animsys_evaluate_fcurves(ptr, &act->curves, ctime, flush_to_original);
@@ -2643,7 +2643,7 @@ static NlaEvalChannel *nlaevalchan_verify(PointerRNA *ptr, NlaEvalData *nlaeval,
     if (G.debug & G_DEBUG) {
       CLOG_WARN(&LOG,
                 "Animato: Invalid path. ID = '%s',  '%s'",
-                (ptr->id.data) ? (((ID *)ptr->id.data)->name + 2) : "<No ID>",
+                (ptr->owner_id) ? (ptr->owner_id->name + 2) : "<No ID>",
                 path);
     }
 
@@ -2651,7 +2651,7 @@ static NlaEvalChannel *nlaevalchan_verify(PointerRNA *ptr, NlaEvalData *nlaeval,
   }
 
   /* Check that the property can be animated. */
-  if (ptr->id.data != NULL && !RNA_property_animateable(&key.ptr, key.prop)) {
+  if (ptr->owner_id != NULL && !RNA_property_animateable(&key.ptr, key.prop)) {
     return NULL;
   }
 
@@ -2884,7 +2884,7 @@ static bool nlaeval_blend_value(NlaBlendData *blend,
 
   if (index < 0) {
     if (G.debug & G_DEBUG) {
-      ID *id = nec->key.ptr.id.data;
+      ID *id = nec->key.ptr.owner_id;
       CLOG_WARN(&LOG,
                 "Animato: Invalid array index. ID = '%s',  '%s[%d]', array length is %d",
                 id ? (id->name + 2) : "<No ID>",
@@ -3081,7 +3081,7 @@ static void nlastrip_evaluate_actionclip(PointerRNA *ptr,
     return;
   }
 
-  action_idcode_patch_check(ptr->id.data, strip->act);
+  action_idcode_patch_check(ptr->owner_id, strip->act);
 
   /* join this strip's modifiers to the parent's modifiers (own modifiers first) */
   nlaeval_fmodifiers_join_stacks(&tmp_modifiers, &strip->modifiers, modifiers);
index 9580ea763fb36797a751b1de72a2a2335547c921..657a08877b032359af4e974c07734ee0f7bb9ff4 100644 (file)
@@ -382,8 +382,8 @@ FCurve *rna_get_fcurve_context_ui(bContext *C,
   }
 
   /* there must be some RNA-pointer + property combon */
-  if (prop && tptr.id.data && RNA_property_animateable(&tptr, prop)) {
-    AnimData *adt = BKE_animdata_from_id(tptr.id.data);
+  if (prop && tptr.owner_id && RNA_property_animateable(&tptr, prop)) {
+    AnimData *adt = BKE_animdata_from_id(tptr.owner_id);
     int step = (
         /* Always 1 in case we have no context (can't check in 'ancestors' of given RNA ptr). */
         C ? 2 : 1);
@@ -391,7 +391,7 @@ FCurve *rna_get_fcurve_context_ui(bContext *C,
 
     if (!adt && C) {
       path = BKE_animdata_driver_path_hack(C, &tptr, prop, NULL);
-      adt = BKE_animdata_from_id(tptr.id.data);
+      adt = BKE_animdata_from_id(tptr.owner_id);
       step--;
     }
 
@@ -438,7 +438,7 @@ FCurve *rna_get_fcurve_context_ui(bContext *C,
             if (tpath && tpath != path) {
               MEM_freeN(path);
               path = tpath;
-              adt = BKE_animdata_from_id(tptr.id.data);
+              adt = BKE_animdata_from_id(tptr.owner_id);
             }
             else {
               adt = NULL;
index 3df707e92c1b23a3fc5110e69c16e89fdb0b390f..3cfb4f95e5e9a2b7e3c7fb3852a330155de75e12 100644 (file)
@@ -103,9 +103,9 @@ void animated_property_cb(ID * /*id*/, FCurve *fcurve, void *data_v)
   /* Get storage for the ID.
    * This is needed to deal with cases when nested datablock is animated by its parent. */
   AnimatedPropertyStorage *animated_property_storage = data->animated_property_storage;
-  if (pointer_rna.id.data != data->pointer_rna.id.data) {
+  if (pointer_rna.owner_id != data->pointer_rna.owner_id) {
     animated_property_storage = data->builder_cache->ensureAnimatedPropertyStorage(
-        reinterpret_cast<ID *>(pointer_rna.id.data));
+        pointer_rna.owner_id);
   }
   /* Set the property as animated. */
   animated_property_storage->tagPropertyAsAnimated(&pointer_rna, property_rna);
index 3c226338bfd59d4837947a6efb6833cb042407ec..ba6a4756313188a1cbea7a1aa82627ace12cffd5 100644 (file)
@@ -1384,7 +1384,7 @@ void DepsgraphRelationBuilder::build_driver_data(ID *id, FCurve *fcu)
    * it. This is necessary to provide more granular dependencies specifically for
    * Bone objects, because the armature data doesn't have per-bone components,
    * and generic add_relation can only add one link. */
-  ID *id_ptr = (ID *)property_entry_key.ptr.id.data;
+  ID *id_ptr = property_entry_key.ptr.owner_id;
   bool is_bone = id_ptr && property_entry_key.ptr.type == &RNA_Bone;
   /* If the Bone property is referenced via obj.pose.bones[].bone,
    * the RNA pointer refers to the Object ID, so skip to data. */
@@ -1433,8 +1433,8 @@ void DepsgraphRelationBuilder::build_driver_data(ID *id, FCurve *fcu)
       PointerRNA ptr;
       RNA_id_pointer_create(id, &id_ptr);
       if (RNA_path_resolve_full(&id_ptr, fcu->rna_path, &ptr, NULL, NULL)) {
-        if (id_ptr.id.data != ptr.id.data) {
-          ComponentKey cow_key((ID *)ptr.id.data, NodeType::COPY_ON_WRITE);
+        if (id_ptr.owner_id != ptr.owner_id) {
+          ComponentKey cow_key(ptr.owner_id, NodeType::COPY_ON_WRITE);
           add_relation(cow_key, driver_key, "Driven CoW -> Driver", RELATION_CHECK_BEFORE_ADD);
         }
       }
index be494104522d79670cfec3a13c2fefd62acdfcfc..d3ae3da9b5698cd613efdd2d3bf73449833216bd 100644 (file)
@@ -177,7 +177,7 @@ RNANodeIdentifier RNANodeQuery::construct_node_identifier(const PointerRNA *ptr,
     return node_identifier;
   }
   /* Set default values for returns. */
-  node_identifier.id = static_cast<ID *>(ptr->id.data);
+  node_identifier.id = ptr->owner_id;
   node_identifier.component_name = "";
   node_identifier.operation_code = OperationCode::OPERATION;
   node_identifier.operation_name = "";
@@ -239,7 +239,7 @@ RNANodeIdentifier RNANodeQuery::construct_node_identifier(const PointerRNA *ptr,
     return node_identifier;
   }
   else if (RNA_struct_is_a(ptr->type, &RNA_Constraint)) {
-    const Object *object = static_cast<const Object *>(ptr->id.data);
+    const Object *object = reinterpret_cast<const Object *>(ptr->owner_id);
     const bConstraint *constraint = static_cast<const bConstraint *>(ptr->data);
     RNANodeQueryIDData *id_data = ensure_id_data(&object->id);
     /* Check whether is object or bone constraint. */
@@ -259,7 +259,7 @@ RNANodeIdentifier RNANodeQuery::construct_node_identifier(const PointerRNA *ptr,
     return node_identifier;
   }
   else if (ELEM(ptr->type, &RNA_ConstraintTarget, &RNA_ConstraintTargetBone)) {
-    Object *object = (Object *)ptr->id.data;
+    Object *object = reinterpret_cast<Object *>(ptr->owner_id);
     bConstraintTarget *tgt = (bConstraintTarget *)ptr->data;
     /* Check whether is object or bone constraint. */
     bPoseChannel *pchan = NULL;
@@ -323,14 +323,14 @@ RNANodeIdentifier RNANodeQuery::construct_node_identifier(const PointerRNA *ptr,
   }
   else if (ptr->type == &RNA_ShapeKey) {
     KeyBlock *key_block = static_cast<KeyBlock *>(ptr->data);
-    node_identifier.id = static_cast<ID *>(ptr->id.data);
+    node_identifier.id = ptr->owner_id;
     node_identifier.type = NodeType::PARAMETERS;
     node_identifier.operation_code = OperationCode::PARAMETERS_EVAL;
     node_identifier.operation_name = key_block->name;
     return node_identifier;
   }
   else if (ptr->type == &RNA_Key) {
-    node_identifier.id = static_cast<ID *>(ptr->id.data);
+    node_identifier.id = ptr->owner_id;
     node_identifier.type = NodeType::GEOMETRY;
     return node_identifier;
   }
@@ -348,12 +348,12 @@ RNANodeIdentifier RNANodeQuery::construct_node_identifier(const PointerRNA *ptr,
     return node_identifier;
   }
   else if (ELEM(ptr->type, &RNA_Curve, &RNA_TextCurve)) {
-    node_identifier.id = (ID *)ptr->id.data;
+    node_identifier.id = ptr->owner_id;
     node_identifier.type = NodeType::GEOMETRY;
     return node_identifier;
   }
   else if (ELEM(ptr->type, &RNA_BezierSplinePoint, &RNA_SplinePoint)) {
-    node_identifier.id = (ID *)ptr->id.data;
+    node_identifier.id = ptr->owner_id;
     node_identifier.type = NodeType::GEOMETRY;
     return node_identifier;
   }
index 23f2bf4194ff9588d6eac3a929cf9ca5d7f3eb91..8556a351e2b01871c2b69bce1de5c73544d01c9e 100644 (file)
@@ -205,11 +205,11 @@ void DEG_get_evaluated_rna_pointer(const Depsgraph *depsgraph,
   if ((ptr == NULL) || (r_ptr_eval == NULL)) {
     return;
   }
-  ID *orig_id = (ID *)ptr->id.data;
+  ID *orig_id = ptr->owner_id;
   ID *cow_id = DEG_get_evaluated_id(depsgraph, orig_id);
-  if (ptr->id.data == ptr->data) {
+  if (ptr->owner_id == ptr->data) {
     /* For ID pointers, it's easy... */
-    r_ptr_eval->id.data = (void *)cow_id;
+    r_ptr_eval->owner_id = cow_id;
     r_ptr_eval->data = (void *)cow_id;
     r_ptr_eval->type = ptr->type;
   }
@@ -220,7 +220,7 @@ void DEG_get_evaluated_rna_pointer(const Depsgraph *depsgraph,
     const Object *ob_eval = (Object *)cow_id;
     bPoseChannel *pchan = (bPoseChannel *)ptr->data;
     const bPoseChannel *pchan_eval = BKE_pose_channel_find_name(ob_eval->pose, pchan->name);
-    r_ptr_eval->id.data = (void *)cow_id;
+    r_ptr_eval->owner_id = cow_id;
     r_ptr_eval->data = (void *)pchan_eval;
     r_ptr_eval->type = ptr->type;
   }
index 275e185a0e4a7b8068106a13241de1366214cf62..05aea652591a98bb9daab864ef398293ae840099 100644 (file)
@@ -138,7 +138,7 @@ typedef struct EEVEE_LightBake {
   float vis_res;
   /** Result of previous light bounce. */
   GPUTexture *grid_prev;
-  /** Pointer to the id.data of the probe object. */
+  /** Pointer to the owner_id of the probe object. */
   LightProbe **grid_prb;
 
   /* Reflection probe */
@@ -148,7 +148,7 @@ typedef struct EEVEE_LightBake {
   int ref_cube_res;
   /** Index of the current cube. */
   int cube_offset;
-  /** Pointer to the id.data of the probe object. */
+  /** Pointer to the owner_id of the probe object. */
   LightProbe **cube_prb;
 
   /* Dummy Textures */
index 1649744ba8d2e6f77772eaefa86f790e2b0d5894..d80b96f0d7416caa951ceb0a782abb7ee8189374 100644 (file)
@@ -4847,7 +4847,7 @@ void ANIM_channel_draw_widgets(const bContext *C,
 
   /* step 4) draw text - check if renaming widget is in use... */
   if (is_being_renamed) {
-    PointerRNA ptr = {{NULL}};
+    PointerRNA ptr = {NULL};
     PropertyRNA *prop = NULL;
 
     /* draw renaming widget if we can get RNA pointer for it
index fad9a1a8e49f2382832c9a4d1c4426d5c6f0f424..5b729c856c053d92c09dd486e8f821593cd2d899 100644 (file)
@@ -122,7 +122,7 @@ int getname_anim_fcurve(char *name, ID *id, FCurve *fcu)
           MEM_freeN(constName);
         }
       }
-      else if (ptr.data != ptr.id.data) {
+      else if (ptr.data != ptr.owner_id) {
         PropertyRNA *nameprop = RNA_struct_name_property(ptr.type);
         if (nameprop) {
           /* this gets a string which will need to be freed */
index e341a16378c9be0358bbc0efc5640947fc4adab2..7b9e6a10f44b5e673caf010c62f595e3a54e4aa9 100644 (file)
@@ -934,7 +934,7 @@ static const EnumPropertyItem *driver_mapping_type_itemsf(bContext *C,
   EnumPropertyItem *input = prop_driver_create_mapping_types;
   EnumPropertyItem *item = NULL;
 
-  PointerRNA ptr = {{NULL}};
+  PointerRNA ptr = {NULL};
   PropertyRNA *prop = NULL;
   int index;
 
@@ -946,7 +946,7 @@ static const EnumPropertyItem *driver_mapping_type_itemsf(bContext *C,
 
   UI_context_active_but_prop_get(C, &ptr, &prop, &index);
 
-  if (ptr.id.data && ptr.data && prop && RNA_property_animateable(&ptr, prop)) {
+  if (ptr.owner_id && ptr.data && prop && RNA_property_animateable(&ptr, prop)) {
     const bool is_array = RNA_property_array_check(prop);
 
     while (input->identifier) {
@@ -971,7 +971,7 @@ static const EnumPropertyItem *driver_mapping_type_itemsf(bContext *C,
 
 static bool add_driver_button_poll(bContext *C)
 {
-  PointerRNA ptr = {{NULL}};
+  PointerRNA ptr = {NULL};
   PropertyRNA *prop = NULL;
   int index;
   bool driven, special;
@@ -979,7 +979,7 @@ static bool add_driver_button_poll(bContext *C)
   /* this operator can only run if there's a property button active, and it can be animated */
   UI_context_active_but_prop_get(C, &ptr, &prop, &index);
 
-  if (!(ptr.id.data && ptr.data && prop)) {
+  if (!(ptr.owner_id && ptr.data && prop)) {
     return false;
   }
   if (!RNA_property_animateable(&ptr, prop)) {
@@ -995,7 +995,7 @@ static bool add_driver_button_poll(bContext *C)
  * (i.e. "manual/add later"). */
 static int add_driver_button_none(bContext *C, wmOperator *op, short mapping_type)
 {
-  PointerRNA ptr = {{NULL}};
+  PointerRNA ptr = {NULL};
   PropertyRNA *prop = NULL;
   int index;
   int success = 0;
@@ -1006,12 +1006,13 @@ static int add_driver_button_none(bContext *C, wmOperator *op, short mapping_typ
     index = -1;
   }
 
-  if (ptr.id.data && ptr.data && prop && RNA_property_animateable(&ptr, prop)) {
+  if (ptr.owner_id && ptr.data && prop && RNA_property_animateable(&ptr, prop)) {
     char *path = BKE_animdata_driver_path_hack(C, &ptr, prop, NULL);
     short flags = CREATEDRIVER_WITH_DEFAULT_DVAR;
 
     if (path) {
-      success += ANIM_add_driver(op->reports, ptr.id.data, path, index, flags, DRIVER_TYPE_PYTHON);
+      success += ANIM_add_driver(
+          op->reports, ptr.owner_id, path, index, flags, DRIVER_TYPE_PYTHON);
       MEM_freeN(path);
     }
   }
@@ -1095,28 +1096,29 @@ static void UNUSED_FUNCTION(ANIM_OT_driver_button_add_menu)(wmOperatorType *ot)
 
 static int add_driver_button_invoke(bContext *C, wmOperator *op, const wmEvent *UNUSED(event))
 {
-  PointerRNA ptr = {{NULL}};
+  PointerRNA ptr = {NULL};
   PropertyRNA *prop = NULL;
   int index;
 
   /* try to find driver using property retrieved from UI */
   UI_context_active_but_prop_get(C, &ptr, &prop, &index);
 
-  if (ptr.id.data && ptr.data && prop && RNA_property_animateable(&ptr, prop)) {
+  if (ptr.owner_id && ptr.data && prop && RNA_property_animateable(&ptr, prop)) {
     /* 1) Create a new "empty" driver for this property */
     char *path = BKE_animdata_driver_path_hack(C, &ptr, prop, NULL);
     short flags = CREATEDRIVER_WITH_DEFAULT_DVAR;
     short success = 0;
 
     if (path) {
-      success += ANIM_add_driver(op->reports, ptr.id.data, path, index, flags, DRIVER_TYPE_PYTHON);
+      success += ANIM_add_driver(
+          op->reports, ptr.owner_id, path, index, flags, DRIVER_TYPE_PYTHON);
       MEM_freeN(path);
     }
 
     if (success) {
       /* send updates */
       UI_context_update_anim_flag(C);
-      DEG_id_tag_update(ptr.id.data, ID_RECALC_COPY_ON_WRITE);
+      DEG_id_tag_update(ptr.owner_id, ID_RECALC_COPY_ON_WRITE);
       DEG_relations_tag_update(CTX_data_main(C));
       WM_event_add_notifier(C, NC_ANIMATION | ND_FCURVES_ORDER, NULL);
     }
@@ -1149,7 +1151,7 @@ void ANIM_OT_driver_button_add(wmOperatorType *ot)
 
 static int remove_driver_button_exec(bContext *C, wmOperator *op)
 {
-  PointerRNA ptr = {{NULL}};
+  PointerRNA ptr = {NULL};
   PropertyRNA *prop = NULL;
   short success = 0;
   int index;
@@ -1162,11 +1164,11 @@ static int remove_driver_button_exec(bContext *C, wmOperator *op)
     index = -1;
   }
 
-  if (ptr.id.data && ptr.data && prop) {
+  if (ptr.owner_id && ptr.data && prop) {
     char *path = BKE_animdata_driver_path_hack(C, &ptr, prop, NULL);
 
     if (path) {
-      success = ANIM_remove_driver(op->reports, ptr.id.data, path, index, 0);
+      success = ANIM_remove_driver(op->reports, ptr.owner_id, path, index, 0);
 
       MEM_freeN(path);
     }
@@ -1205,14 +1207,14 @@ void ANIM_OT_driver_button_remove(wmOperatorType *ot)
 
 static int edit_driver_button_exec(bContext *C, wmOperator *op)
 {
-  PointerRNA ptr = {{NULL}};
+  PointerRNA ptr = {NULL};
   PropertyRNA *prop = NULL;
   int index;
 
   /* try to find driver using property retrieved from UI */
   UI_context_active_but_prop_get(C, &ptr, &prop, &index);
 
-  if (ptr.id.data && ptr.data && prop) {
+  if (ptr.owner_id && ptr.data && prop) {
     UI_popover_panel_invoke(C, "GRAPH_PT_drivers_popover", true, op->reports);
   }
 
@@ -1239,7 +1241,7 @@ void ANIM_OT_driver_button_edit(wmOperatorType *ot)
 
 static int copy_driver_button_exec(bContext *C, wmOperator *op)
 {
-  PointerRNA ptr = {{NULL}};
+  PointerRNA ptr = {NULL};
   PropertyRNA *prop = NULL;
   short success = 0;
   int index;
@@ -1247,12 +1249,12 @@ static int copy_driver_button_exec(bContext *C, wmOperator *op)
   /* try to create driver using property retrieved from UI */
   UI_context_active_but_prop_get(C, &ptr, &prop, &index);
 
-  if (ptr.id.data && ptr.data && prop && RNA_property_animateable(&ptr, prop)) {
+  if (ptr.owner_id && ptr.data && prop && RNA_property_animateable(&ptr, prop)) {
     char *path = BKE_animdata_driver_path_hack(C, &ptr, prop, NULL);
 
     if (path) {
       /* only copy the driver for the button that this was involved for */
-      success = ANIM_copy_driver(op->reports, ptr.id.data, path, index, 0);
+      success = ANIM_copy_driver(op->reports, ptr.owner_id, path, index, 0);
 
       UI_context_update_anim_flag(C);
 
@@ -1283,7 +1285,7 @@ void ANIM_OT_copy_driver_button(wmOperatorType *ot)
 
 static int paste_driver_button_exec(bContext *C, wmOperator *op)
 {
-  PointerRNA ptr = {{NULL}};
+  PointerRNA ptr = {NULL};
   PropertyRNA *prop = NULL;
   short success = 0;
   int index;
@@ -1291,18 +1293,18 @@ static int paste_driver_button_exec(bContext *C, wmOperator *op)
   /* try to create driver using property retrieved from UI */
   UI_context_active_but_prop_get(C, &ptr, &prop, &index);
 
-  if (ptr.id.data && ptr.data && prop && RNA_property_animateable(&ptr, prop)) {
+  if (ptr.owner_id && ptr.data && prop && RNA_property_animateable(&ptr, prop)) {
     char *path = BKE_animdata_driver_path_hack(C, &ptr, prop, NULL);
 
     if (path) {
       /* only copy the driver for the button that this was involved for */
-      success = ANIM_paste_driver(op->reports, ptr.id.data, path, index, 0);
+      success = ANIM_paste_driver(op->reports, ptr.owner_id, path, index, 0);
 
       UI_context_update_anim_flag(C);
 
       DEG_relations_tag_update(CTX_data_main(C));
 
-      DEG_id_tag_update(ptr.id.data, ID_RECALC_ANIMATION);
+      DEG_id_tag_update(ptr.owner_id, ID_RECALC_ANIMATION);
 
       WM_event_add_notifier(C, NC_ANIMATION | ND_KEYFRAME_PROP, NULL);  // XXX
 
index 7fd2338dbf319eba88e546250a2b469d4d2d781f..0f8b87426594f05db4d06916c427c7167eaf676b 100644 (file)
@@ -222,7 +222,7 @@ FCurve *verify_fcurve(Main *bmain,
 
         /* sync bone group colors if applicable */
         if (ptr && (ptr->type == &RNA_PoseBone)) {
-          Object *ob = (Object *)ptr->id.data;
+          Object *ob = (Object *)ptr->owner_id;
           bPoseChannel *pchan = (bPoseChannel *)ptr->data;
           bPose *pose = ob->pose;
           bActionGroup *grp;
@@ -286,7 +286,7 @@ void update_autoflags_fcurve(FCurve *fcu, bContext *C, ReportList *reports, Poin
   PropertyRNA *prop;
   int old_flag = fcu->flag;
 
-  if ((ptr->id.data == NULL) && (ptr->data == NULL)) {
+  if ((ptr->owner_id == NULL) && (ptr->data == NULL)) {
     BKE_report(reports, RPT_ERROR, "No RNA pointer available to retrieve values for this fcurve");
     return;
   }
@@ -294,7 +294,7 @@ void update_autoflags_fcurve(FCurve *fcu, bContext *C, ReportList *reports, Poin
   /* try to get property we should be affecting */
   if (RNA_path_resolve_property(ptr, fcu->rna_path, &tmp_ptr, &prop) == false) {
     /* property not found... */
-    const char *idname = (ptr->id.data) ? ((ID *)ptr->id.data)->name : TIP_("<No ID pointer>");
+    const char *idname = (ptr->owner_id) ? ptr->owner_id->name : TIP_("<No ID pointer>");
 
     BKE_reportf(reports,
                 RPT_ERROR,
@@ -1203,7 +1203,7 @@ bool insert_keyframe_direct(ReportList *reports,
   }
 
   /* if no property given yet, try to validate from F-Curve info */
-  if ((ptr.id.data == NULL) && (ptr.data == NULL)) {
+  if ((ptr.owner_id == NULL) && (ptr.data == NULL)) {
     BKE_report(
         reports, RPT_ERROR, "No RNA pointer available to retrieve values for keyframing from");
     return false;
@@ -1214,7 +1214,7 @@ bool insert_keyframe_direct(ReportList *reports,
     /* try to get property we should be affecting */
     if (RNA_path_resolve_property(&ptr, fcu->rna_path, &tmp_ptr, &prop) == false) {
       /* property not found... */
-      const char *idname = (ptr.id.data) ? ((ID *)ptr.id.data)->name : TIP_("<No ID pointer>");
+      const char *idname = (ptr.owner_id) ? ptr.owner_id->name : TIP_("<No ID pointer>");
 
       BKE_reportf(reports,
                   RPT_ERROR,
@@ -2350,7 +2350,7 @@ static int insert_key_button_exec(bContext *C, wmOperator *op)
   Main *bmain = CTX_data_main(C);
   Scene *scene = CTX_data_scene(C);
   ToolSettings *ts = scene->toolsettings;
-  PointerRNA ptr = {{NULL}};
+  PointerRNA ptr = {NULL};
   PropertyRNA *prop = NULL;
   char *path;
   uiBut *but;
@@ -2369,7 +2369,7 @@ static int insert_key_button_exec(bContext *C, wmOperator *op)
     return (OPERATOR_CANCELLED | OPERATOR_PASS_THROUGH);
   }
 
-  if ((ptr.id.data && ptr.data && prop) && RNA_property_animateable(&ptr, prop)) {
+  if ((ptr.owner_id && ptr.data && prop) && RNA_property_animateable(&ptr, prop)) {
     if (ptr.type == &RNA_NlaStrip) {
       /* Handle special properties for NLA Strips, whose F-Curves are stored on the
        * strips themselves. These are stored separately or else the properties will
@@ -2435,7 +2435,7 @@ static int insert_key_button_exec(bContext *C, wmOperator *op)
 
         success = insert_keyframe(bmain,
                                   op->reports,
-                                  ptr.id.data,
+                                  ptr.owner_id,
                                   NULL,
                                   group,
                                   path,
@@ -2473,7 +2473,7 @@ static int insert_key_button_exec(bContext *C, wmOperator *op)
   }
 
   if (success) {
-    ID *id = ptr.id.data;
+    ID *id = ptr.owner_id;
     AnimData *adt = BKE_animdata_from_id(id);
     if (adt->action != NULL) {
       DEG_id_tag_update(&adt->action->id, ID_RECALC_ANIMATION_NO_FLUSH);
@@ -2513,7 +2513,7 @@ void ANIM_OT_keyframe_insert_button(wmOperatorType *ot)
 static int delete_key_button_exec(bContext *C, wmOperator *op)
 {
   Scene *scene = CTX_data_scene(C);
-  PointerRNA ptr = {{NULL}};
+  PointerRNA ptr = {NULL};
   PropertyRNA *prop = NULL;
   Main *bmain = CTX_data_main(C);
   char *path;
@@ -2528,13 +2528,13 @@ static int delete_key_button_exec(bContext *C, wmOperator *op)
     return (OPERATOR_CANCELLED | OPERATOR_PASS_THROUGH);
   }
 
-  if (ptr.id.data && ptr.data && prop) {
+  if (ptr.owner_id && ptr.data && prop) {
     if (BKE_nlastrip_has_curves_for_property(&ptr, prop)) {
       /* Handle special properties for NLA Strips, whose F-Curves are stored on the
        * strips themselves. These are stored separately or else the properties will
        * not have any effect.
        */
-      ID *id = ptr.id.data;
+      ID *id = ptr.owner_id;
       NlaStrip *strip = (NlaStrip *)ptr.data;
       FCurve *fcu = list_find_fcurve(&strip->fcurves, RNA_property_identifier(prop), 0);
 
@@ -2577,7 +2577,7 @@ static int delete_key_button_exec(bContext *C, wmOperator *op)
         }
 
         success = delete_keyframe(
-            bmain, op->reports, ptr.id.data, NULL, NULL, path, index, cfra, 0);
+            bmain, op->reports, ptr.owner_id, NULL, NULL, path, index, cfra, 0);
         MEM_freeN(path);
       }
       else if (G.debug & G_DEBUG) {
@@ -2622,7 +2622,7 @@ void ANIM_OT_keyframe_delete_button(wmOperatorType *ot)
 
 static int clear_key_button_exec(bContext *C, wmOperator *op)
 {
-  PointerRNA ptr = {{NULL}};
+  PointerRNA ptr = {NULL};
   PropertyRNA *prop = NULL;
   Main *bmain = CTX_data_main(C);
   char *path;
@@ -2636,7 +2636,7 @@ static int clear_key_button_exec(bContext *C, wmOperator *op)
     return (OPERATOR_CANCELLED | OPERATOR_PASS_THROUGH);
   }
 
-  if (ptr.id.data && ptr.data && prop) {
+  if (ptr.owner_id && ptr.data && prop) {
     path = RNA_path_from_ID_to_property(&ptr, prop);
 
     if (path) {
@@ -2645,7 +2645,7 @@ static int clear_key_button_exec(bContext *C, wmOperator *op)
         index = -1;
       }
 
-      success += clear_keyframe(bmain, op->reports, ptr.id.data, NULL, NULL, path, index, 0);
+      success += clear_keyframe(bmain, op->reports, ptr.owner_id, NULL, NULL, path, index, 0);
       MEM_freeN(path);
     }
     else if (G.debug & G_DEBUG) {
index 7d31c6d3e3a5e4392416e5afb7885bc23e643c35..258c0e4f1f6f4f7be90e302f82580d2a1eef7ee5 100644 (file)
@@ -287,7 +287,7 @@ static int add_keyingset_button_exec(bContext *C, wmOperator *op)
   Scene *scene = CTX_data_scene(C);
   KeyingSet *ks = NULL;
   PropertyRNA *prop = NULL;
-  PointerRNA ptr = {{NULL}};
+  PointerRNA ptr = {NULL};
   char *path = NULL;
   short success = 0;
   int index = 0, pflag = 0;
@@ -332,7 +332,7 @@ static int add_keyingset_button_exec(bContext *C, wmOperator *op)
   }
 
   /* check if property is able to be added */
-  if (ptr.id.data && ptr.data && prop && RNA_property_animateable(&ptr, prop)) {
+  if (ptr.owner_id && ptr.data && prop && RNA_property_animateable(&ptr, prop)) {
     path = RNA_path_from_ID_to_property(&ptr, prop);
 
     if (path) {
@@ -348,7 +348,7 @@ static int add_keyingset_button_exec(bContext *C, wmOperator *op)
       }
 
       /* add path to this setting */
-      BKE_keyingset_add_path(ks, ptr.id.data, NULL, path, index, pflag, KSP_GROUP_KSNAME);
+      BKE_keyingset_add_path(ks, ptr.owner_id, NULL, path, index, pflag, KSP_GROUP_KSNAME);
       ks->active_path = BLI_listbase_count(&ks->paths);
       success = 1;
 
@@ -393,7 +393,7 @@ static int remove_keyingset_button_exec(bContext *C, wmOperator *op)
   Scene *scene = CTX_data_scene(C);
   KeyingSet *ks = NULL;
   PropertyRNA *prop = NULL;
-  PointerRNA ptr = {{NULL}};
+  PointerRNA ptr = {NULL};
   char *path = NULL;
   short success = 0;
   int index = 0;
@@ -420,14 +420,14 @@ static int remove_keyingset_button_exec(bContext *C, wmOperator *op)
     ks = BLI_findlink(&scene->keyingsets, scene->active_keyingset - 1);
   }
 
-  if (ptr.id.data && ptr.data && prop) {
+  if (ptr.owner_id && ptr.data && prop) {
     path = RNA_path_from_ID_to_property(&ptr, prop);
 
     if (path) {
       KS_Path *ksp;
 
       /* try to find a path matching this description */
-      ksp = BKE_keyingset_find_path(ks, ptr.id.data, ks->name, path, index, KSP_GROUP_KSNAME);
+      ksp = BKE_keyingset_find_path(ks, ptr.owner_id, ks->name, path, index, KSP_GROUP_KSNAME);
 
       if (ksp) {
         BKE_keyingset_free_path(ks, ksp);
index beec2f8358f6aa31178dbdbbd4004bfd8b57b421..a59067e60c1546d09a24fadb90127df8560eef32 100644 (file)
@@ -807,7 +807,7 @@ static bool pose_select_same_group(bContext *C, bool extend)
   group_flags = NULL;
   ob_index = -1;
   ob_prev = NULL;
-  CTX_DATA_BEGIN_WITH_ID (C, bPoseChannel *, pchan, visible_pose_bones, Object, *ob) {
+  CTX_DATA_BEGIN_WITH_ID (C, bPoseChannel *, pchan, visible_pose_bones, Object *, ob) {
     if (ob != ob_prev) {
       ob_index++;
       group_flags = group_flags_array + (ob_index * groups_len);
index c8e79b879a48a4939ee2f12aebd39f1a865b49ec..6274eb549dac79a1bcb0e3db65689bd5eb97da05 100644 (file)
@@ -442,7 +442,7 @@ static void pose_slide_apply_props(tPoseSlideOp *pso,
                                    tPChanFCurveLink *pfl,
                                    const char prop_prefix[])
 {
-  PointerRNA ptr = {{NULL}};
+  PointerRNA ptr = {NULL};
   LinkData *ld;
   int len = strlen(pfl->pchan_path);
 
index f0c1abff2017cdbf53e410df31ce45084a220682..9973c50c270429cbb436a4541d485bc1ee5419ea 100644 (file)
@@ -2031,7 +2031,7 @@ static int open_invoke(bContext *C, wmOperator *op, const wmEvent *UNUSED(event)
 
   if (pprop->prop) {
     idptr = RNA_property_pointer_get((PointerRNA *)pprop, pprop->prop);
-    vfont = idptr.id.data;
+    vfont = (VFont *)idptr.owner_id;
   }
 
   path = (vfont && !BKE_vfont_is_builtin(vfont)) ? vfont->name : U.fontdir;
index 696c98c6646051334a5018ed631bf1293c91c3e4..e4d6a3e983d12a2d1c17732cc0d69f677b159078 100644 (file)
@@ -105,7 +105,7 @@ static bool gp_data_add_poll(bContext *C)
 /* add new datablock - wrapper around API */
 static int gp_data_add_exec(bContext *C, wmOperator *op)
 {
-  PointerRNA gpd_owner = {{NULL}};
+  PointerRNA gpd_owner = {NULL};
   bGPdata **gpd_ptr = ED_gpencil_data_get_pointers(C, &gpd_owner);
   bool is_annotation = ED_gpencil_data_owner_is_annotation(&gpd_owner);
 
@@ -231,7 +231,7 @@ void GPENCIL_OT_data_unlink(wmOperatorType *ot)
 /* add new layer - wrapper around API */
 static int gp_layer_add_exec(bContext *C, wmOperator *op)
 {
-  PointerRNA gpd_owner = {{NULL}};
+  PointerRNA gpd_owner = {NULL};
   bGPdata **gpd_ptr = ED_gpencil_data_get_pointers(C, &gpd_owner);
   bool is_annotation = ED_gpencil_data_owner_is_annotation(&gpd_owner);
 
index 7a123599be5ba7bbaf732a2791925fc74134ac2b..66c8eadbd74c6af41c74ca6385cc898e8b72e1e4 100644 (file)
@@ -908,12 +908,12 @@ void UI_but_execute(const bContext *C, ARegion *ar, uiBut *but)
  * returns false if undo needs to be disabled. */
 static bool ui_but_is_rna_undo(const uiBut *but)
 {
-  if (but->rnapoin.id.data) {
+  if (but->rnapoin.owner_id) {
     /* avoid undo push for buttons who's ID are screen or wm level
      * we could disable undo for buttons with no ID too but may have
      * unforeseen consequences, so best check for ID's we _know_ are not
      * handled by undo - campbell */
-    ID *id = but->rnapoin.id.data;
+    ID *id = but->rnapoin.owner_id;
     if (ID_CHECK_UNDO(id) == false) {
       return false;
     }
@@ -1226,8 +1226,8 @@ static bool ui_but_event_property_operator_string(const bContext *C,
      */
     char *data_path = NULL;
 
-    if (ptr->id.data) {
-      ID *id = ptr->id.data;
+    if (ptr->owner_id) {
+      ID *id = ptr->owner_id;
 
       if (GS(id->name) == ID_SCR) {
         /* screen/editor property
@@ -1731,7 +1731,7 @@ static void ui_block_message_subscribe(ARegion *ar, struct wmMsgBus *mbus, uiBlo
       if ((but_prev && (but_prev->rnaprop == but->rnaprop) &&
            (but_prev->rnapoin.type == but->rnapoin.type) &&
            (but_prev->rnapoin.data == but->rnapoin.data) &&
-           (but_prev->rnapoin.id.data == but->rnapoin.id.data)) == false) {
+           (but_prev->rnapoin.owner_id == but->rnapoin.owner_id)) == false) {
         /* TODO: could make this into utility function. */
         WM_msg_subscribe_rna(mbus,
                              &but->rnapoin,
@@ -2055,7 +2055,7 @@ bool ui_but_is_compatible(const uiBut *but_a, const uiBut *but_b)
   }
 
   if (but_a->rnaprop) {
-    /* skip 'rnapoin.data', 'rnapoin.id.data'
+    /* skip 'rnapoin.data', 'rnapoin.owner_id'
      * allow different data to have the same props edited at once */
     if (but_a->rnapoin.type != but_b->rnapoin.type) {
       return false;
@@ -2479,7 +2479,7 @@ void ui_but_string_get_ex(uiBut *but,
 
       /* uiBut.custom_data points to data this tab represents (e.g. workspace).
        * uiBut.rnapoin/prop store an active value (e.g. active workspace). */
-      RNA_pointer_create(but->rnapoin.id.data, ptr_type, but->custom_data, &ptr);
+      RNA_pointer_create(but->rnapoin.owner_id, ptr_type, but->custom_data, &ptr);
       buf = RNA_struct_name_get_alloc(&ptr, str, maxlen, &buf_len);
     }
     else if (type == PROP_STRING) {
@@ -2822,7 +2822,7 @@ bool ui_but_string_set(bContext *C, uiBut *but, const char *str)
 
       /* uiBut.custom_data points to data this tab represents (e.g. workspace).
        * uiBut.rnapoin/prop store an active value (e.g. active workspace). */
-      RNA_pointer_create(but->rnapoin.id.data, ptr_type, but->custom_data, &ptr);
+      RNA_pointer_create(but->rnapoin.owner_id, ptr_type, but->custom_data, &ptr);
       prop = RNA_struct_name_property(ptr_type);
       if (RNA_property_editable(&ptr, prop)) {
         RNA_property_string_set(&ptr, prop, str);
index 4d87cc22ef23b0df9cda32386df1934dac1b3b04..168c6051327fb1c37b9c59568a39fd85009adb17 100644 (file)
@@ -228,7 +228,7 @@ bool ui_but_anim_expression_create(uiBut *but, const char *str)
   /* make sure we have animdata for this */
   /* FIXME: until materials can be handled by depsgraph,
    * don't allow drivers to be created for them */
-  id = (ID *)but->rnapoin.id.data;
+  id = but->rnapoin.owner_id;
   if ((id == NULL) || (GS(id->name) == ID_MA) || (GS(id->name) == ID_TE)) {
     if (G.debug & G_DEBUG) {
       printf("ERROR: create expression failed - invalid data-block for adding drivers (%p)\n", id);
@@ -314,7 +314,7 @@ void ui_but_anim_autokey(bContext *C, uiBut *but, Scene *scene, float cfra)
     }
   }
   else {
-    id = but->rnapoin.id.data;
+    id = but->rnapoin.owner_id;
 
     /* TODO: this should probably respect the keyingset only option for anim */
     if (autokeyframe_cfra_can_key(scene, id)) {
index 22b75da496875bbf4a69d24feb84af696f1c2dd4..56d4cab202c8742ac4f8ab1dfb353b372d5258a6 100644 (file)
@@ -904,7 +904,7 @@ bool ui_popup_context_menu_for_button(bContext *C, uiBut *but)
             ICON_NONE,
             "UI_OT_copy_data_path_button");
 
-    if (ptr->id.data && !is_whole_array &&
+    if (ptr->owner_id && !is_whole_array &&
         ELEM(type, PROP_BOOLEAN, PROP_INT, PROP_FLOAT, PROP_ENUM)) {
       uiItemO(layout,
               CTX_IFACE_(BLT_I18NCONTEXT_OPERATOR_DEFAULT, "Copy As New Driver"),
index efbe5922aa5d02dc8589b14ba238bdafaf9488d6..336fae45895acf0e788d187f7ed908eb21830bb0 100644 (file)
@@ -118,7 +118,7 @@ static int datadropper_init(bContext *C, wmOperator *op)
   ddr->idcode_name = TIP_(BKE_idcode_to_name(ddr->idcode));
 
   PointerRNA ptr = RNA_property_pointer_get(&ddr->ptr, ddr->prop);
-  ddr->init_id = ptr.id.data;
+  ddr->init_id = ptr.owner_id;
 
   return true;
 }
@@ -222,7 +222,7 @@ static bool datadropper_id_set(bContext *C, DataDropper *ddr, ID *id)
 
   ptr_value = RNA_property_pointer_get(&ddr->ptr, ddr->prop);
 
-  return (ptr_value.id.data == id);
+  return (ptr_value.owner_id == id);
 }
 
 /* single point sample & set */
index c1aee190cd3c535fa54677be485831248ba09e00..e6fc52bc3bc3429674c7c2a098e0c4e88d20fd68 100644 (file)
@@ -116,10 +116,10 @@ static void driverdropper_sample(bContext *C, wmOperator *op, const wmEvent *eve
     /* Now create driver(s) */
     if (target_path && dst_path) {
       int success = ANIM_add_driver_with_target(op->reports,
-                                                ddr->ptr.id.data,
+                                                ddr->ptr.owner_id,
                                                 dst_path,
                                                 ddr->index,
-                                                target_ptr->id.data,
+                                                target_ptr->owner_id,
                                                 target_path,
                                                 target_index,
                                                 flag,
@@ -130,7 +130,7 @@ static void driverdropper_sample(bContext *C, wmOperator *op, const wmEvent *eve
         /* send updates */
         UI_context_update_anim_flag(C);
         DEG_relations_tag_update(CTX_data_main(C));
-        DEG_id_tag_update(ddr->ptr.id.data, ID_RECALC_TRANSFORM | ID_RECALC_GEOMETRY);
+        DEG_id_tag_update(ddr->ptr.owner_id, ID_RECALC_TRANSFORM | ID_RECALC_GEOMETRY);
         WM_event_add_notifier(C, NC_ANIMATION | ND_FCURVES_ORDER, NULL);  // XXX
       }
     }
index 04b91b120271aa01e8028be418df14bea93455e5..13bfaa9507720a4a6affc4b5d4a7230f66ec073a 100644 (file)
@@ -757,7 +757,7 @@ static void ui_apply_but_undo(uiBut *but)
     }
 
     /* Optionally override undo when undo system doesn't support storing properties. */
-    if (but->rnapoin.id.data) {
+    if (but->rnapoin.owner_id) {
       /* Exception for renaming ID data, we always need undo pushes in this case,
        * because undo systems track data by their ID, see: T67002. */
       extern PropertyRNA rna_ID_name;
@@ -765,7 +765,7 @@ static void ui_apply_but_undo(uiBut *but)
         /* pass */
       }
       else {
-        ID *id = but->rnapoin.id.data;
+        ID *id = but->rnapoin.owner_id;
         if (!ED_undo_is_legacy_compatible_for_property(but->block->evil_C, id)) {
           str = "";
         }
@@ -1558,7 +1558,7 @@ static bool ui_selectcontext_begin(bContext *C, uiBut *but, uiSelectContextStore
           if (use_path_from_id) {
             /* Path relative to ID. */
             lprop = NULL;
-            RNA_id_pointer_create(link->ptr.id.data, &idptr);
+            RNA_id_pointer_create(link->ptr.owner_id, &idptr);
             RNA_path_resolve_property(&idptr, path, &lptr, &lprop);
           }
           else if (path) {
@@ -5488,7 +5488,7 @@ static bool ui_numedit_but_UNITVEC(
 static void ui_palette_set_active(uiBut *but)
 {
   if ((int)(but->a1) == UI_PALETTE_COLOR) {
-    Palette *palette = but->rnapoin.id.data;
+    Palette *palette = (Palette *)but->rnapoin.owner_id;
     PaletteColor *color = but->rnapoin.data;
     palette->active_color = BLI_findindex(&palette->colors, color);
   }
@@ -5551,7 +5551,7 @@ static int ui_do_but_COLOR(bContext *C, uiBut *but, uiHandleButtonData *data, co
     }
     else if ((int)(but->a1) == UI_PALETTE_COLOR && event->type == DELKEY &&
              event->val == KM_PRESS) {
-      Palette *palette = but->rnapoin.id.data;
+      Palette *palette = (Palette *)but->rnapoin.owner_id;
       PaletteColor *color = but->rnapoin.data;
 
       BKE_palette_color_remove(palette, color);
index 2a9c5c7352ab103c8e37c99d758e41f17dfb71f3..1674374396f60796b3e879ffa146277de6d0ffd9 100644 (file)
@@ -2137,7 +2137,7 @@ int UI_rnaptr_icon_get(bContext *C, PointerRNA *ptr, int rnaicon, const bool big
 
   /* try ID, material, texture or dynapaint slot */
   if (RNA_struct_is_ID(ptr->type)) {
-    id = ptr->id.data;
+    id = ptr->owner_id;
   }
   else if (RNA_struct_is_a(ptr->type, &RNA_MaterialSlot)) {
     id = RNA_pointer_get(ptr, "material").data;
index e9b9411e1bd58d3dc201a7c1ef2f79d9e6ed5256..85c7af26b7233fa52f02bf24cc874ee6e9d49811 100644 (file)
@@ -1873,7 +1873,7 @@ void uiItemFullR(uiLayout *layout,
     uiBut *but;
   } ui_decorate = {
       .use_prop_decorate = (((layout->item.flag & UI_ITEM_PROP_DECORATE) != 0) &&
-                            (use_prop_sep && ptr->id.data && id_can_have_animdata(ptr->id.data))),
+                            (use_prop_sep && ptr->owner_id && id_can_have_animdata(ptr->owner_id))),
   };
 #endif /* UI_PROP_DECORATE */
 
@@ -2946,7 +2946,7 @@ void uiItemLDrag(uiLayout *layout, PointerRNA *ptr, const char *name, int icon)
 
   if (ptr && ptr->type) {
     if (RNA_struct_is_ID(ptr->type)) {
-      UI_but_drag_set_id(but, ptr->id.data);
+      UI_but_drag_set_id(but, ptr->owner_id);
     }
   }
 }
index c7ce66cfcf6aa37a3dd2289f35cae9a71e912a30..819ec4fc2d38caa8e5f024efe215dc9ab9c11411 100644 (file)
@@ -86,7 +86,7 @@ static bool copy_data_path_button_poll(bContext *C)
 
   UI_context_active_but_prop_get(C, &ptr, &prop, &index);
 
-  if (ptr.id.data && ptr.data && prop) {
+  if (ptr.owner_id && ptr.data && prop) {
     path = RNA_path_from_ID_to_property(&ptr, prop);
 
     if (path) {
@@ -110,7 +110,7 @@ static int copy_data_path_button_exec(bContext *C, wmOperator *op)
   /* try to create driver using property retrieved from UI */
   UI_context_active_but_prop_get(C, &ptr, &prop, &index);
 
-  if (ptr.id.data != NULL) {
+  if (ptr.owner_id != NULL) {
 
     if (full_path) {
 
@@ -171,7 +171,7 @@ static bool copy_as_driver_button_poll(bContext *C)
 
   UI_context_active_but_prop_get(C, &ptr, &prop, &index);
 
-  if (ptr.id.data && ptr.data && prop &&
+  if (ptr.owner_id && ptr.data && prop &&
       ELEM(RNA_property_type(prop), PROP_BOOLEAN, PROP_INT, PROP_FLOAT, PROP_ENUM) &&
       (index >= 0 || !RNA_property_array_check(prop))) {
     path = RNA_path_from_ID_to_property(&ptr, prop);
@@ -194,12 +194,12 @@ static int copy_as_driver_button_exec(bContext *C, wmOperator *UNUSED(op))
   /* try to create driver using property retrieved from UI */
   UI_context_active_but_prop_get(C, &ptr, &prop, &index);
 
-  if (ptr.id.data && ptr.data && prop) {
+  if (ptr.owner_id && ptr.data && prop) {
     int dim = RNA_property_array_dimension(&ptr, prop, NULL);
     char *path = RNA_path_from_ID_to_property_index(&ptr, prop, dim, index);
 
     if (path) {
-      ANIM_copy_as_driver(ptr.id.data, path, RNA_property_identifier(prop));
+      ANIM_copy_as_driver(ptr.owner_id, path, RNA_property_identifier(prop));
       MEM_freeN(path);
       return OPERATOR_FINISHED;
     }
@@ -287,7 +287,7 @@ static void UI_OT_copy_python_command_button(wmOperatorType *ot)
 
 static int operator_button_property_finish(bContext *C, PointerRNA *ptr, PropertyRNA *prop)
 {
-  ID *id = ptr->id.data;
+  ID *id = ptr->owner_id;
 
   /* perform updates required for this property */
   RNA_property_update(C, ptr, prop);
@@ -542,7 +542,7 @@ static int override_type_set_button_exec(bContext *C, wmOperator *op)
   /* try to reset the nominated setting to its default value */
   UI_context_active_but_prop_get(C, &ptr, &prop, &index);
 
-  BLI_assert(ptr.id.data != NULL);
+  BLI_assert(ptr.owner_id != NULL);
 
   if (all) {
     index = -1;
@@ -605,7 +605,7 @@ static bool override_remove_button_poll(bContext *C)
 
   const int override_status = RNA_property_override_library_status(&ptr, prop, index);
 
-  return (ptr.data && ptr.id.data && prop && (override_status & RNA_OVERRIDE_STATUS_OVERRIDDEN));
+  return (ptr.data && ptr.owner_id && prop && (override_status & RNA_OVERRIDE_STATUS_OVERRIDDEN));
 }
 
 static int override_remove_button_exec(bContext *C, wmOperator *op)
@@ -619,7 +619,7 @@ static int override_remove_button_exec(bContext *C, wmOperator *op)
   /* try to reset the nominated setting to its default value */
   UI_context_active_but_prop_get(C, &ptr, &prop, &index);
 
-  ID *id = ptr.id.data;
+  ID *id = ptr.owner_id;
   IDOverrideLibraryProperty *oprop = RNA_property_override_property_find(&ptr, prop);
   BLI_assert(oprop != NULL);
   BLI_assert(id != NULL && id->override_library != NULL);
@@ -720,7 +720,7 @@ bool UI_context_copy_to_selected_list(bContext *C,
       CollectionPointerLink *link;
       for (link = lb.first; link; link = link->next) {
         bPoseChannel *pchan = link->ptr.data;
-        RNA_pointer_create(link->ptr.id.data, &RNA_Bone, pchan->bone, &link->ptr);
+        RNA_pointer_create(link->ptr.owner_id, &RNA_Bone, pchan->bone, &link->ptr);
       }
     }
 
@@ -739,7 +739,7 @@ bool UI_context_copy_to_selected_list(bContext *C,
 
     /* Get the node we're editing */
     if (RNA_struct_is_a(ptr->type, &RNA_NodeSocket)) {
-      bNodeTree *ntree = ptr->id.data;
+      bNodeTree *ntree = (bNodeTree *)ptr->owner_id;
       bNodeSocket *sock = ptr->data;
       if (nodeFindNode(ntree, sock, &node, NULL)) {
         if ((path = RNA_path_resolve_from_type_to_property(ptr, prop, &RNA_Node)) != NULL) {
@@ -773,8 +773,8 @@ bool UI_context_copy_to_selected_list(bContext *C,
     *r_lb = lb;
     *r_path = path;
   }
-  else if (ptr->id.data) {
-    ID *id = ptr->id.data;
+  else if (ptr->owner_id) {
+    ID *id = ptr->owner_id;
 
     if (GS(id->name) == ID_OB) {
       *r_lb = CTX_data_collection_get(C, "selected_editable_objects");
@@ -792,7 +792,7 @@ bool UI_context_copy_to_selected_list(bContext *C,
         CollectionPointerLink *link, *link_next;
 
         for (link = lb.first; link; link = link->next) {
-          Object *ob = link->ptr.id.data;
+          Object *ob = (Object *)link->ptr.owner_id;
           if (ob->data) {
             ID *id_data = ob->data;
             id_data->tag |= LIB_TAG_DOIT;
@@ -800,7 +800,7 @@ bool UI_context_copy_to_selected_list(bContext *C,
         }
 
         for (link = lb.first; link; link = link_next) {
-          Object *ob = link->ptr.id.data;
+          Object *ob = (Object *)link->ptr.owner_id;
           ID *id_data = ob->data;
           link_next = link->next;
 
@@ -872,7 +872,7 @@ static bool copy_to_selected_button(bContext *C, bool all, bool poll)
           if (use_path_from_id) {
             /* Path relative to ID. */
             lprop = NULL;
-            RNA_id_pointer_create(link->ptr.id.data, &idptr);
+            RNA_id_pointer_create(link->ptr.owner_id, &idptr);
             RNA_path_resolve_property(&idptr, path, &lptr, &lprop);
           }
           else if (path) {
@@ -982,12 +982,12 @@ static bool jump_to_target_ptr(bContext *C, PointerRNA ptr, const bool poll)
   /* Find the containing Object. */
   ViewLayer *view_layer = CTX_data_view_layer(C);
   Base *base = NULL;
-  const short id_type = GS(((ID *)ptr.id.data)->name);
+  const short id_type = GS(ptr.owner_id->name);
   if (id_type == ID_OB) {
-    base = BKE_view_layer_base_find(view_layer, ptr.id.data);
+    base = BKE_view_layer_base_find(view_layer, (Object *)ptr.owner_id);
   }
   else if (OB_DATA_SUPPORT_ID(id_type)) {
-    base = ED_object_find_first_by_data_id(view_layer, ptr.id.data);
+    base = ED_object_find_first_by_data_id(view_layer, ptr.owner_id);
   }
 
   bool ok = false;
index 6aad9e41e7d4d7114c67fc408dedfecb1c7cd660..f2ca9cebf7b516c411788745cc64d4a4a43a24cb 100644 (file)
@@ -765,8 +765,8 @@ static uiTooltipData *ui_tooltip_data_from_button(bContext *C, uiBut *but)
       }
     }
 
-    if (but->rnapoin.id.data) {
-      const ID *id = but->rnapoin.id.data;
+    if (but->rnapoin.owner_id) {
+      const ID *id = but->rnapoin.owner_id;
       if (ID_IS_LINKED(id)) {
         uiTooltipField *field = text_field_add(data,
                                                &(uiTooltipFormat){
@@ -847,7 +847,7 @@ static uiTooltipData *ui_tooltip_data_from_button(bContext *C, uiBut *but)
       }
     }
 
-    if (but->rnapoin.id.data) {
+    if (but->rnapoin.owner_id) {
       uiTooltipField *field = text_field_add(data,
                                              &(uiTooltipFormat){
                                                  .style = UI_TIP_STYLE_MONO,
index 27e7601a2b8fab9c59a00c168949e42bff73ee66..1c6618bc5091aefec9e564dfefd8f69759c1e0da 100644 (file)
@@ -121,7 +121,7 @@ static void template_add_button_search_menu(const bContext *C,
 {
   PointerRNA active_ptr = RNA_property_pointer_get(ptr, prop);
   ID *id = (active_ptr.data && RNA_struct_is_ID(active_ptr.type)) ? active_ptr.data : NULL;
-  const ID *idfrom = ptr->id.data;
+  const ID *idfrom = ptr->owner_id;
   const StructRNA *type = active_ptr.type ? active_ptr.type : RNA_property_pointer_type(ptr, prop);
   uiBut *but;
 
@@ -310,7 +310,7 @@ static bool id_search_add(const bContext *C,
                           uiSearchItems *items,
                           ID *id)
 {
-  ID *id_from = template_ui->ptr.id.data;
+  ID *id_from = template_ui->ptr.owner_id;
 
   if (!((flag & PROP_ID_SELF_CHECK) && id == id_from)) {
 
@@ -401,7 +401,7 @@ static void id_search_cb_objects_from_scene(const bContext *C,
   TemplateID *template_ui = (TemplateID *)arg_template;
   ListBase *lb = template_ui->idlb;
   Scene *scene = NULL;
-  ID *id_from = template_ui->ptr.id.data;
+  ID *id_from = template_ui->ptr.owner_id;
 
   if (id_from && GS(id_from->name) == ID_SCE) {
     scene = (Scene *)id_from;
@@ -667,7 +667,7 @@ static uiBut *template_id_def_new_but(uiBlock *block,
                                       const bool use_tab_but,
                                       int but_height)
 {
-  ID *idfrom = template_ui->ptr.id.data;
+  ID *idfrom = template_ui->ptr.owner_id;
   uiBut *but;
   const int w = id ? UI_UNIT_X : id_open ? UI_UNIT_X * 3 : UI_UNIT_X * 6;
   const int but_type = use_tab_but ? UI_BTYPE_TAB : UI_BTYPE_BUT;
@@ -769,7 +769,7 @@ static void template_ID(bContext *C,
 
   idptr = RNA_property_pointer_get(&template_ui->ptr, template_ui->prop);
   id = idptr.data;
-  idfrom = template_ui->ptr.id.data;
+  idfrom = template_ui->ptr.owner_id;
   // lb = template_ui->idlb;
 
   block = uiLayoutGetBlock(layout);
@@ -2037,7 +2037,7 @@ uiLayout *uiTemplateModifier(uiLayout *layout, bContext *C, PointerRNA *ptr)
     return NULL;
   }
 
-  ob = ptr->id.data;
+  ob = (Object *)ptr->owner_id;
   md = ptr->data;
 
   if (!ob || !(GS(ob->id.name) == ID_OB)) {
@@ -2179,7 +2179,7 @@ uiLayout *uiTemplateGpencilModifier(uiLayout *layout, bContext *UNUSED(C), Point
     return NULL;
   }
 
-  ob = ptr->id.data;
+  ob = (Object *)ptr->owner_id;
   md = ptr->data;
 
   if (!ob || !(GS(ob->id.name) == ID_OB)) {
@@ -2297,7 +2297,7 @@ uiLayout *uiTemplateShaderFx(uiLayout *layout, bContext *UNUSED(C), PointerRNA *
     return NULL;
   }
 
-  ob = ptr->id.data;
+  ob = (Object *)ptr->owner_id;
   fx = ptr->data;
 
   if (!ob || !(GS(ob->id.name) == ID_OB)) {
@@ -2579,7 +2579,7 @@ uiLayout *uiTemplateConstraint(uiLayout *layout, PointerRNA *ptr)
     return NULL;
   }
 
-  ob = ptr->id.data;
+  ob = (Object *)ptr->owner_id;
   con = ptr->data;
 
   if (!ob || !(GS(ob->id.name) == ID_OB)) {
@@ -3098,7 +3098,7 @@ static void colorband_buttons_layout(uiLayout *layout,
   float ys = butr->ymin;
   PointerRNA ptr;
 
-  RNA_pointer_create(cb->ptr.id.data, &RNA_ColorRamp, coba, &ptr);
+  RNA_pointer_create(cb->ptr.owner_id, &RNA_ColorRamp, coba, &ptr);
 
   split = uiLayoutSplit(layout, 0.4f, false);
 
@@ -3190,7 +3190,7 @@ static void colorband_buttons_layout(uiLayout *layout,
   if (coba->tot) {
     CBData *cbd = coba->data + coba->cur;
 
-    RNA_pointer_create(cb->ptr.id.data, &RNA_ColorRampElement, cbd, &ptr);
+    RNA_pointer_create(cb->ptr.owner_id, &RNA_ColorRampElement, cbd, &ptr);
 
     if (!expand) {
       split = uiLayoutSplit(layout, 0.3f, false);
@@ -3283,7 +3283,7 @@ void uiTemplateColorRamp(uiLayout *layout, PointerRNA *ptr, const char *propname
 
   block = uiLayoutAbsoluteBlock(layout);
 
-  id = cptr.id.data;
+  id = cptr.owner_id;
   UI_block_lock_set(block, (id && ID_IS_LINKED(id)), ERROR_LIBDATA_MESSAGE);
 
   colorband_buttons_layout(layout, block, cptr.data, &rect, cb, expand);
@@ -4405,7 +4405,7 @@ void uiTemplateCurveMapping(uiLayout *layout,
   cb->ptr = *ptr;
   cb->prop = prop;
 
-  id = cptr.id.data;
+  id = cptr.owner_id;
   UI_block_lock_set(block, (id && ID_IS_LINKED(id)), ERROR_LIBDATA_MESSAGE);
 
   curvemap_buttons_layout(layout, &cptr, type, levels, brush, neg_slope, tone, cb);
index 9c8787d002f46d31191b3a7f6ad3eb7631b5c8be..63e382e22803335f4c7cce5ba0526677b97b2f8e 100644 (file)
@@ -405,7 +405,7 @@ void ui_rna_collection_search_cb(const struct bContext *C,
   RNA_PROP_BEGIN (&data->search_ptr, itemptr, data->search_prop) {
 
     if (flag & PROP_ID_SELF_CHECK) {
-      if (itemptr.data == data->target_ptr.id.data) {
+      if (itemptr.data == data->target_ptr.owner_id) {
         continue;
       }
     }
@@ -566,7 +566,7 @@ int UI_calc_float_precision(int prec, double value)
 
 bool UI_but_online_manual_id(const uiBut *but, char *r_str, size_t maxlength)
 {
-  if (but->rnapoin.id.data && but->rnapoin.data && but->rnaprop) {
+  if (but->rnapoin.owner_id && but->rnapoin.data && but->rnaprop) {
     BLI_snprintf(r_str,
                  maxlength,
                  "%s.%s",
index 9c4d628cec5a0a4f88c18afaef3421e0399e8ddf..e112169d4da9e6dd55b4d851e5c1e714d597cd11 100644 (file)
@@ -3802,7 +3802,7 @@ static void widget_swatch(
 
   widgetbase_draw_ex(&wtb, wcol, show_alpha_checkers);
   if (but->a1 == UI_PALETTE_COLOR &&
-      ((Palette *)but->rnapoin.id.data)->active_color == (int)but->a2) {
+      ((Palette *)but->rnapoin.owner_id)->active_color == (int)but->a2) {
     float width = rect->xmax - rect->xmin;
     float height = rect->ymax - rect->ymin;
     /* find color luminance and change it slightly */
index 7343dba420f9ec73acb39dc6351dc03d69a08d25..c780ae4cf8c8f640ede25674644ccc6db4ba7958 100644 (file)
@@ -636,7 +636,7 @@ static const EnumPropertyItem constraint_owner_items[] = {
 static bool edit_constraint_poll_generic(bContext *C, StructRNA *rna_type)
 {
   PointerRNA ptr = CTX_data_pointer_get_type(C, "constraint", rna_type);
-  Object *ob = (ptr.id.data) ? ptr.id.data : ED_object_active_context(C);
+  Object *ob = (ptr.owner_id) ? (Object *)ptr.owner_id : ED_object_active_context(C);
 
   if (!ptr.data) {
     CTX_wm_operator_poll_msg_set(C, "Context missing 'constraint'");
@@ -648,7 +648,7 @@ static bool edit_constraint_poll_generic(bContext *C, StructRNA *rna_type)
     return 0;
   }
 
-  if (ID_IS_LINKED(ob) || (ptr.id.data && ID_IS_LINKED(ptr.id.data))) {
+  if (ID_IS_LINKED(ob) || (ptr.owner_id && ID_IS_LINKED(ptr.owner_id))) {
     CTX_wm_operator_poll_msg_set(C, "Cannot edit library data");
     return 0;
   }
@@ -680,7 +680,7 @@ static void edit_constraint_properties(wmOperatorType *ot)
 static int edit_constraint_invoke_properties(bContext *C, wmOperator *op)
 {
   PointerRNA ptr = CTX_data_pointer_get_type(C, "constraint", &RNA_Constraint);
-  Object *ob = (ptr.id.data) ? ptr.id.data : ED_object_active_context(C);
+  Object *ob = (ptr.owner_id) ? (Object *)ptr.owner_id : ED_object_active_context(C);
   bConstraint *con;
   ListBase *list;
 
@@ -1422,14 +1422,14 @@ void ED_object_constraint_dependency_tag_update(Main *bmain, Object *ob, bConstr
 static bool constraint_poll(bContext *C)
 {
   PointerRNA ptr = CTX_data_pointer_get_type(C, "constraint", &RNA_Constraint);
-  return (ptr.id.data && ptr.data);
+  return (ptr.owner_id && ptr.data);
 }
 
 static int constraint_delete_exec(bContext *C, wmOperator *UNUSED(op))
 {
   Main *bmain = CTX_data_main(C);
   PointerRNA ptr = CTX_data_pointer_get_type(C, "constraint", &RNA_Constraint);
-  Object *ob = ptr.id.data;
+  Object *ob = (Object *)ptr.owner_id;
   bConstraint *con = ptr.data;
   ListBase *lb = get_constraint_lb(ob, con, NULL);
 
index 075cd5acad6ca08bef653a72cfde11d4a5cb2b5f..9138e65dd2fe86433282e89e224fbc5a1122f206 100644 (file)
@@ -390,7 +390,7 @@ void OBJECT_OT_gpencil_modifier_add(wmOperatorType *ot)
 static int gpencil_edit_modifier_poll_generic(bContext *C, StructRNA *rna_type, int obtype_flag)
 {
   PointerRNA ptr = CTX_data_pointer_get_type(C, "modifier", rna_type);
-  Object *ob = (ptr.id.data) ? ptr.id.data : ED_object_active_context(C);
+  Object *ob = (ptr.owner_id) ? (Object *)ptr.owner_id : ED_object_active_context(C);
 
   if (!ob || ID_IS_LINKED(ob)) {
     return 0;
@@ -398,7 +398,7 @@ static int gpencil_edit_modifier_poll_generic(bContext *C, StructRNA *rna_type,
   if (obtype_flag && ((1 << ob->type) & obtype_flag) == 0) {
     return 0;
   }
-  if (ptr.id.data && ID_IS_LINKED(ptr.id.data)) {
+  if (ptr.owner_id && ID_IS_LINKED(ptr.owner_id)) {
     return 0;
   }
 
index 15c5ea409912c9318d3abcdd8eb8b7b2e38ea277..1576dc3bbb8dab52043449a9d4c4936be12577d1 100644 (file)
@@ -436,7 +436,7 @@ static void object_hook_from_context(
   HookModifierData *hmd;
 
   if (ptr->data) { /* if modifier context is available, use that */
-    ob = ptr->id.data;
+    ob = (Object *)ptr->owner_id;
     hmd = ptr->data;
   }
   else { /* use the provided property */
index 58a072d9e5f18092e0a327406580ca88f074a770..82af30e32fd85a4e784252d8666fac09016c5d27 100644 (file)
@@ -918,7 +918,7 @@ bool edit_modifier_poll_generic(bContext *C,
                                 const bool is_editmode_allowed)
 {
   PointerRNA ptr = CTX_data_pointer_get_type(C, "modifier", rna_type);
-  Object *ob = (ptr.id.data) ? ptr.id.data : ED_object_active_context(C);
+  Object *ob = (ptr.owner_id) ? (Object *)ptr.owner_id : ED_object_active_context(C);
 
   if (!ob || ID_IS_LINKED(ob)) {
     return 0;
@@ -926,7 +926,7 @@ bool edit_modifier_poll_generic(bContext *C,
   if (obtype_flag && ((1 << ob->type) & obtype_flag) == 0) {
     return 0;
   }
-  if (ptr.id.data && ID_IS_LINKED(ptr.id.data)) {
+  if (ptr.owner_id && ID_IS_LINKED(ptr.owner_id)) {
     return 0;
   }
 
index 88ef0be3bc66ff2bc6fb6db40f512656db9208ef..eb6688b915afebdda850c70870d2bc864a6a6b15 100644 (file)
@@ -2706,7 +2706,7 @@ static int object_unlink_data_exec(bContext *C, wmOperator *op)
     return OPERATOR_CANCELLED;
   }
 
-  id = pprop.ptr.id.data;
+  id = pprop.ptr.owner_id;
 
   if (GS(id->name) == ID_OB) {
     Object *ob = (Object *)id;
index 457d24212530e2021fb9e096be28f866b5c11734..db0c8c5418618284494bf406c04f86b98729e96d 100644 (file)
@@ -294,7 +294,7 @@ void OBJECT_OT_shaderfx_add(wmOperatorType *ot)
 static bool edit_shaderfx_poll_generic(bContext *C, StructRNA *rna_type, int obtype_flag)
 {
   PointerRNA ptr = CTX_data_pointer_get_type(C, "shaderfx", rna_type);
-  Object *ob = (ptr.id.data) ? ptr.id.data : ED_object_active_context(C);
+  Object *ob = (ptr.owner_id) ? (Object *)ptr.owner_id : ED_object_active_context(C);
 
   if (!ptr.data) {
     CTX_wm_operator_poll_msg_set(C, "Context missing 'shaderfx'");
@@ -307,7 +307,7 @@ static bool edit_shaderfx_poll_generic(bContext *C, StructRNA *rna_type, int obt
   if (obtype_flag && ((1 << ob->type) & obtype_flag) == 0) {
     return 0;
   }
-  if (ptr.id.data && ID_IS_LINKED(ptr.id.data)) {
+  if (ptr.owner_id && ID_IS_LINKED(ptr.owner_id)) {
     return 0;
   }
 
index 0999d1f35885720729f5902b111e665bd9d0482c..bb8a31966efd5259639859635eceed6e35da2834 100644 (file)
@@ -186,7 +186,7 @@ static int new_particle_settings_exec(bContext *C, wmOperator *UNUSED(op))
     part = BKE_particlesettings_add(bmain, "ParticleSettings");
   }
 
-  ob = ptr.id.data;
+  ob = (Object *)ptr.owner_id;
 
   if (psys->part) {
     id_us_min(&psys->part->id);
@@ -226,7 +226,7 @@ static int new_particle_target_exec(bContext *C, wmOperator *UNUSED(op))
   Main *bmain = CTX_data_main(C);
   PointerRNA ptr = CTX_data_pointer_get_type(C, "particle_system", &RNA_ParticleSystem);
   ParticleSystem *psys = ptr.data;
-  Object *ob = ptr.id.data;
+  Object *ob = (Object *)ptr.owner_id;
 
   ParticleTarget *pt;
 
@@ -273,7 +273,7 @@ static int remove_particle_target_exec(bContext *C, wmOperator *UNUSED(op))
   Main *bmain = CTX_data_main(C);
   PointerRNA ptr = CTX_data_pointer_get_type(C, "particle_system", &RNA_ParticleSystem);
   ParticleSystem *psys = ptr.data;
-  Object *ob = ptr.id.data;
+  Object *ob = (Object *)ptr.owner_id;
 
   ParticleTarget *pt;
 
@@ -323,7 +323,7 @@ static int target_move_up_exec(bContext *C, wmOperator *UNUSED(op))
 {
   PointerRNA ptr = CTX_data_pointer_get_type(C, "particle_system", &RNA_ParticleSystem);
   ParticleSystem *psys = ptr.data;
-  Object *ob = ptr.id.data;
+  Object *ob = (Object *)ptr.owner_id;
   ParticleTarget *pt;
 
   if (!psys) {
@@ -363,7 +363,7 @@ static int target_move_down_exec(bContext *C, wmOperator *UNUSED(op))
 {
   PointerRNA ptr = CTX_data_pointer_get_type(C, "particle_system", &RNA_ParticleSystem);
   ParticleSystem *psys = ptr.data;
-  Object *ob = ptr.id.data;
+  Object *ob = (Object *)ptr.owner_id;
   ParticleTarget *pt;
 
   if (!psys) {
index bc2f1d6cef6f150298ec9428c5a27fc97bc81499..700a94e4f937b8fd207fcf16fa410dd2dbe8e2cc 100644 (file)
@@ -57,7 +57,7 @@ static bool ptcache_bake_all_poll(bContext *C)
 static bool ptcache_poll(bContext *C)
 {
   PointerRNA ptr = CTX_data_pointer_get_type(C, "point_cache", &RNA_PointCache);
-  return (ptr.data && ptr.id.data);
+  return (ptr.data && ptr.owner_id);
 }
 
 typedef struct PointCacheJob {
@@ -165,7 +165,7 @@ static PTCacheBaker *ptcache_baker_create(bContext *C, wmOperator *op, bool all)
 
   if (!all) {
     PointerRNA ptr = CTX_data_pointer_get_type(C, "point_cache", &RNA_PointCache);
-    Object *ob = ptr.id.data;
+    Object *ob = (Object *)ptr.owner_id;
     PointCache *cache = ptr.data;
     baker->pid = BKE_ptcache_id_find(ob, baker->scene, cache);
   }
@@ -300,7 +300,7 @@ static int ptcache_free_bake_exec(bContext *C, wmOperator *UNUSED(op))
 {
   PointerRNA ptr = CTX_data_pointer_get_type(C, "point_cache", &RNA_PointCache);
   PointCache *cache = ptr.data;
-  Object *ob = ptr.id.data;
+  Object *ob = (Object *)ptr.owner_id;
 
   ptcache_free_bake(cache);
 
@@ -312,7 +312,7 @@ static int ptcache_bake_from_cache_exec(bContext *C, wmOperator *UNUSED(op))
 {
   PointerRNA ptr = CTX_data_pointer_get_type(C, "point_cache", &RNA_PointCache);
   PointCache *cache = ptr.data;
-  Object *ob = ptr.id.data;
+  Object *ob = (Object *)ptr.owner_id;
 
   cache->flag |= PTCACHE_BAKED;
 
@@ -372,7 +372,7 @@ static int ptcache_add_new_exec(bContext *C, wmOperator *UNUSED(op))
 {
   Scene *scene = CTX_data_scene(C);
   PointerRNA ptr = CTX_data_pointer_get_type(C, "point_cache", &RNA_PointCache);
-  Object *ob = ptr.id.data;
+  Object *ob = (Object *)ptr.owner_id;
   PointCache *cache = ptr.data;
   PTCacheID pid = BKE_ptcache_id_find(ob, scene, cache);
 
@@ -392,7 +392,7 @@ static int ptcache_remove_exec(bContext *C, wmOperator *UNUSED(op))
 {
   PointerRNA ptr = CTX_data_pointer_get_type(C, "point_cache", &RNA_PointCache);
   Scene *scene = CTX_data_scene(C);
-  Object *ob = ptr.id.data;
+  Object *ob = (Object *)ptr.owner_id;
   PointCache *cache = ptr.data;
   PTCacheID pid = BKE_ptcache_id_find(ob, scene, cache);
 
index 01740c13c9decf3ee00df149c3c3f8bef072a965..9f13431f25a2112c0035ab2f44d5b25e97444ddb 100644 (file)
@@ -1836,7 +1836,7 @@ void SCENE_OT_freestyle_stroke_material_create(wmOperatorType *ot)
 
 static int texture_slot_move_exec(bContext *C, wmOperator *op)
 {
-  ID *id = CTX_data_pointer_get_type(C, "texture_slot", &RNA_TextureSlot).id.data;
+  ID *id = CTX_data_pointer_get_type(C, "texture_slot", &RNA_TextureSlot).owner_id;
 
   if (id) {
     MTex **mtex_ar, *mtexswap;
@@ -2031,7 +2031,7 @@ static void paste_mtex_copybuf(ID *id)
 
 static int copy_mtex_exec(bContext *C, wmOperator *UNUSED(op))
 {
-  ID *id = CTX_data_pointer_get_type(C, "texture_slot", &RNA_TextureSlot).id.data;
+  ID *id = CTX_data_pointer_get_type(C, "texture_slot", &RNA_TextureSlot).owner_id;
 
   if (id == NULL) {
     /* copying empty slot */
@@ -2046,7 +2046,7 @@ static int copy_mtex_exec(bContext *C, wmOperator *UNUSED(op))
 
 static bool copy_mtex_poll(bContext *C)
 {
-  ID *id = CTX_data_pointer_get_type(C, "texture_slot", &RNA_TextureSlot).id.data;
+  ID *id = CTX_data_pointer_get_type(C, "texture_slot", &RNA_TextureSlot).owner_id;
 
   return (id != NULL);
 }
@@ -2069,7 +2069,7 @@ void TEXTURE_OT_slot_copy(wmOperatorType *ot)
 
 static int paste_mtex_exec(bContext *C, wmOperator *UNUSED(op))
 {
-  ID *id = CTX_data_pointer_get_type(C, "texture_slot", &RNA_TextureSlot).id.data;
+  ID *id = CTX_data_pointer_get_type(C, "texture_slot", &RNA_TextureSlot).owner_id;
 
   if (id == NULL) {
     Material *ma = CTX_data_pointer_get_type(C, "material", &RNA_Material).data;
index 2eb7f732534f2e98218f953d9bd4e4db92382457..6f8b25f782b70224a51619b3b646a285cff08be5 100644 (file)
@@ -533,7 +533,7 @@ int ed_screen_context(const bContext *C, const char *member, bContextDataResult
     gpd_ptr = ED_gpencil_data_get_pointers_direct((ID *)sc, sa, scene, obact, &ptr);
 
     if (gpd_ptr) {
-      CTX_data_pointer_set(result, ptr.id.data, ptr.type, ptr.data);
+      CTX_data_pointer_set(result, ptr.owner_id, ptr.type, ptr.data);
       return 1;
     }
   }
index 0fccfd197954d8199acab51b3c40d821f52a02d2..625e172017b8d3c81d81eaeee0fe9e1100b11f43 100644 (file)
@@ -4806,7 +4806,7 @@ static void SCREEN_OT_userpref_show(struct wmOperatorType *ot)
 
 static int drivers_editor_show_invoke(bContext *C, wmOperator *op, const wmEvent *event)
 {
-  PointerRNA ptr = {{NULL}};
+  PointerRNA ptr = {NULL};
   PropertyRNA *prop = NULL;
   int index = -1;
   uiBut *but = NULL;
index bc7f8a0f79d08bc711ef1beaa671ab67c08302e0..5ceaefd630980c2a6a11a652ae923394dd2e5ad1 100644 (file)
@@ -220,7 +220,7 @@ static int action_new_exec(bContext *C, wmOperator *UNUSED(op))
     PointerRNA oldptr;
 
     oldptr = RNA_property_pointer_get(&ptr, prop);
-    oldact = (bAction *)oldptr.id.data;
+    oldact = (bAction *)oldptr.owner_id;
 
     /* stash the old action to prevent it from being lost */
     if (ptr.type == &RNA_AnimData) {
index 3c879b03126fddc4b636bc972545a6511f8cc6eb..1685852dd02916e57315799d778aa408d8e2d350 100644 (file)
@@ -373,7 +373,7 @@ static void saction_channel_region_message_subscribe(const struct bContext *UNUS
    * so just whitelist the entire structs for updates
    */
   {
-    wmMsgParams_RNA msg_key_params = {{{0}}};
+    wmMsgParams_RNA msg_key_params = {{0}};
     StructRNA *type_array[] = {
         &RNA_DopeSheet, /* dopesheet filters */
 
index bb381e0dd1e84c7691b54e44a4945de17c824475..a6584966643107defe62986e36ca87f746ae6770 100644 (file)
@@ -76,7 +76,7 @@ static int set_pointer_type(ButsContextPath *path, bContextDataResult *result, S
     ptr = &path->ptr[a];
 
     if (RNA_struct_is_a(ptr->type, type)) {
-      CTX_data_pointer_set(result, ptr->id.data, ptr->type, ptr->data);
+      CTX_data_pointer_set(result, ptr->owner_id, ptr->type, ptr->data);
       return 1;
     }
   }
@@ -894,7 +894,7 @@ int buttons_context(const bContext *C, const char *member, bContextDataResult *r
 
     if (ct->user && ct->user->ptr.data) {
       ButsTextureUser *user = ct->user;
-      CTX_data_pointer_set(result, user->ptr.id.data, user->ptr.type, user->ptr.data);
+      CTX_data_pointer_set(result, user->ptr.owner_id, user->ptr.type, user->ptr.data);
     }
 
     return 1;
@@ -982,7 +982,7 @@ int buttons_context(const bContext *C, const char *member, bContextDataResult *r
     PointerRNA *ptr = get_pointer_type(path, &RNA_ParticleSettings);
 
     if (ptr && ptr->data) {
-      CTX_data_pointer_set(result, ptr->id.data, &RNA_ParticleSettings, ptr->data);
+      CTX_data_pointer_set(result, ptr->owner_id, &RNA_ParticleSettings, ptr->data);
       return 1;
     }
     else {
@@ -991,7 +991,7 @@ int buttons_context(const bContext *C, const char *member, bContextDataResult *r
 
       if (ptr && ptr->data) {
         ParticleSettings *part = ((ParticleSystem *)ptr->data)->part;
-        CTX_data_pointer_set(result, ptr->id.data, &RNA_ParticleSettings, part);
+        CTX_data_pointer_set(result, ptr->owner_id, &RNA_ParticleSettings, part);
         return 1;
       }
     }
@@ -1249,8 +1249,8 @@ ID *buttons_context_id_path(const bContext *C)
         }
       }
 
-      if (ptr->id.data) {
-        return ptr->id.data;
+      if (ptr->owner_id) {
+        return ptr->owner_id;
       }
     }
   }
index 500efe4bb4dc117ddb037766642352bd4394bd32..3ea6d1839692e76b66c28f62fd659411a2778a6a 100644 (file)
@@ -103,7 +103,7 @@ static int file_browse_exec(bContext *C, wmOperator *op)
   /* add slash for directories, important for some properties */
   if (RNA_property_subtype(fbo->prop) == PROP_DIRPATH) {
     const bool is_relative = RNA_boolean_get(op->ptr, "relative_path");
-    id = fbo->ptr.id.data;
+    id = fbo->ptr.owner_id;
 
     BLI_strncpy(path, str, FILE_MAX);
     BLI_path_abs(path, id ? ID_BLEND_PATH(bmain, id) : BKE_main_blendfile_path(bmain));
index 87ea011e0a7ff72b4c0b61132b059cc79e5dc781..03c8fbb4e66fc4ca9ed16ceb346cb85f8946872c 100644 (file)
@@ -385,7 +385,7 @@ static void template_texture_select(bContext *C, void *user_p, void *UNUSED(arg)
     if (user->ptr.type == &RNA_ParticleSettingsTextureSlot) {
       /* stupid exception for particle systems which still uses influence
        * from the old texture system, set the active texture slots as well */
-      ParticleSettings *part = user->ptr.id.data;
+      ParticleSettings *part = (ParticleSettings *)user->ptr.owner_id;
       int a;
 
       for (a = 0; a < MAX_MTEX; a++) {
index 129f249d7d0df0b390316ab6de3ec8ca25dbe834..e3a2a4423f034733be258e2e0395d3d84f0b2e2b 100644 (file)
@@ -561,7 +561,7 @@ static void buttons_id_remap(ScrArea *UNUSED(sa), SpaceLink *slink, ID *old_id,
     int i;
 
     for (i = 0; i < path->len; i++) {
-      if (path->ptr[i].id.data == old_id) {
+      if (path->ptr[i].owner_id == old_id) {
         break;
       }
     }
index c727c5225c9f37fb7e0aa992f572926d17a4c204..b264a5cb260649e2f657dc92996ec094852bf944 100644 (file)
@@ -1236,7 +1236,7 @@ static void graph_panel_drivers_popover(const bContext *C, Panel *pa)
 {
   uiLayout *layout = pa->layout;
 
-  PointerRNA ptr = {{NULL}};
+  PointerRNA ptr = {NULL};
   PropertyRNA *prop = NULL;
   int index = -1;
   uiBut *but = NULL;
@@ -1258,7 +1258,7 @@ static void graph_panel_drivers_popover(const bContext *C, Panel *pa)
 
     /* Populate Panel - With a combination of the contents of the Driven and Driver panels */
     if (fcu && fcu->driver) {
-      ID *id = ptr.id.data;
+      ID *id = ptr.owner_id;
 
       PointerRNA ptr_fcurve;
       RNA_pointer_create(id, &RNA_FCurve, fcu, &ptr_fcurve);
index 6c5ebf77bf4b15b05dd02bb6d363daa6b302cff1..91e5ab61dd98983e7eff0be11446c1d84ece6f84 100644 (file)
@@ -527,7 +527,7 @@ static void graph_region_message_subscribe(const struct bContext *UNUSED(C),
    * so just whitelist the entire structs for updates
    */
   {
-    wmMsgParams_RNA msg_key_params = {{{0}}};
+    wmMsgParams_RNA msg_key_params = {{0}};
     StructRNA *type_array[] = {
         &RNA_DopeSheet, /* dopesheet filters */
 
index f1a29a1542d7d1b639ad2341752c38d1eab2be00..64e1c02590ec41e7978941754fa4ef7f33139909 100644 (file)
@@ -991,7 +991,7 @@ void uiTemplateImage(uiLayout *layout,
 void uiTemplateImageSettings(uiLayout *layout, PointerRNA *imfptr, bool color_management)
 {
   ImageFormatData *imf = imfptr->data;
-  ID *id = imfptr->id.data;
+  ID *id = imfptr->owner_id;
   PointerRNA display_settings_ptr;
   PropertyRNA *prop;
   const int depth_ok = BKE_imtype_valid_depths(imf->imtype);
index 05ba82b8bdec4d2dafe9baeb5fa225b4e54438a8..7ea693f2fd228435a1b487f4cf7be616639122af 100644 (file)
@@ -1431,7 +1431,7 @@ static int image_open_invoke(bContext *C, wmOperator *op, const wmEvent *UNUSED(
       Image *oldima;
 
       oldptr = RNA_property_pointer_get(&ptr, prop);
-      oldima = (Image *)oldptr.id.data;
+      oldima = (Image *)oldptr.owner_id;
       /* unlikely to fail but better avoid strange crash */
       if (oldima && GS(oldima->id.name) == ID_IM) {
         ima = oldima;
index 719efc7eeac195e13f6587fa67ab4428e55cf8ab..126b20a028ee230b39bbcac51c62eed4bf6a9f1a 100644 (file)
@@ -268,8 +268,8 @@ static void nla_panel_animdata(const bContext *C, Panel *pa)
   /* icon + id-block name of block where AnimData came from to prevent
    * accidentally changing the properties of the wrong action
    */
-  if (adt_ptr.id.data) {
-    ID *id = adt_ptr.id.data;
+  if (adt_ptr.owner_id) {
+    ID *id = adt_ptr.owner_id;
     PointerRNA id_ptr;
 
     RNA_id_pointer_create(id, &id_ptr);
@@ -513,7 +513,7 @@ static void nla_panel_modifiers(const bContext *C, Panel *pa)
   for (fcm = strip->modifiers.first; fcm; fcm = fcm->next) {
     col = uiLayoutColumn(pa->layout, true);
 
-    ANIM_uiTemplate_fmodifier_draw(col, strip_ptr.id.data, &strip->modifiers, fcm);
+    ANIM_uiTemplate_fmodifier_draw(col, strip_ptr.owner_id, &strip->modifiers, fcm);
   }
 }
 
index e5c116e85dedf3c364281d17825665daabec2d54..456eb78370695f19429c7ccd94dcf68f908cf041 100644 (file)
@@ -446,7 +446,7 @@ static int nlachannels_pushdown_exec(bContext *C, wmOperator *op)
 
   /* get anim-channel to use (or more specifically, the animdata block behind it) */
   if (channel_index == -1) {
-    PointerRNA adt_ptr = {{NULL}};
+    PointerRNA adt_ptr = {NULL};
 
     /* active animdata block */
     if (nla_panel_context(C, &adt_ptr, NULL, NULL) == 0 || (adt_ptr.data == NULL)) {
@@ -458,7 +458,7 @@ static int nlachannels_pushdown_exec(bContext *C, wmOperator *op)
       return OPERATOR_CANCELLED;
     }
     else {
-      id = adt_ptr.id.data;
+      id = adt_ptr.owner_id;
       adt = adt_ptr.data;
     }
   }
@@ -581,7 +581,7 @@ static int nla_action_unlink_exec(bContext *C, wmOperator *op)
   /* do unlinking */
   if (adt && adt->action) {
     bool force_delete = RNA_boolean_get(op->ptr, "force_delete");
-    ED_animedit_unlink_action(C, adt_ptr.id.data, adt, adt->action, op->reports, force_delete);
+    ED_animedit_unlink_action(C, adt_ptr.owner_id, adt, adt->action, op->reports, force_delete);
   }
 
   return OPERATOR_FINISHED;
index 3bdd2804efca6de3d77ba2978ca6bd7c134ce43b..f274f3c93ecb4feb3a1991693ff2514605352f95 100644 (file)
@@ -522,7 +522,7 @@ static void nla_channel_region_message_subscribe(const struct bContext *UNUSED(C
    * so just whitelist the entire struct for updates
    */
   {
-    wmMsgParams_RNA msg_key_params = {{{0}}};
+    wmMsgParams_RNA msg_key_params = {{0}};
     StructRNA *type_array[] = {
         &RNA_DopeSheet,
     };
index cc2fb6e1c2a06c3e8368ea77abe6c8c2cc1fdb52..a69eb2546219cf7a53fa15331d697f86cfa8e35a 100644 (file)
@@ -90,7 +90,7 @@ static void node_buts_value(uiLayout *layout, bContext *UNUSED(C), PointerRNA *p
   /* first output stores value */
   bNodeSocket *output = node->outputs.first;
   PointerRNA sockptr;
-  RNA_pointer_create(ptr->id.data, &RNA_NodeSocket, output, &sockptr);
+  RNA_pointer_create(ptr->owner_id, &RNA_NodeSocket, output, &sockptr);
 
   uiItemR(layout, &sockptr, "default_value", 0, "", ICON_NONE);
 }
@@ -102,7 +102,7 @@ static void node_buts_rgb(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr
   bNodeSocket *output = node->outputs.first;
   PointerRNA sockptr;
   uiLayout *col;
-  RNA_pointer_create(ptr->id.data, &RNA_NodeSocket, output, &sockptr);
+  RNA_pointer_create(ptr->owner_id, &RNA_NodeSocket, output, &sockptr);
 
   col = uiLayoutColumn(layout, false);
   uiTemplateColorPicker(col, &sockptr, "default_value", 1, 0, 0, 0);
@@ -113,7 +113,7 @@ static void node_buts_mix_rgb(uiLayout *layout, bContext *UNUSED(C), PointerRNA
 {
   uiLayout *row, *col;
 
-  bNodeTree *ntree = (bNodeTree *)ptr->id.data;
+  bNodeTree *ntree = (bNodeTree *)ptr->owner_id;
 
   col = uiLayoutColumn(layout, false);
   row = uiLayoutRow(col, true);
@@ -193,7 +193,7 @@ static void node_buts_normal(uiLayout *layout, bContext *UNUSED(C), PointerRNA *
   /* first output stores normal */
   bNodeSocket *output = node->outputs.first;
   PointerRNA sockptr;
-  RNA_pointer_create(ptr->id.data, &RNA_NodeSocket, output, &sockptr);
+  RNA_pointer_create(ptr->owner_id, &RNA_NodeSocket, output, &sockptr);
 
   uiItemR(layout, &sockptr, "default_value", 0, "", ICON_NONE);
 }
@@ -1371,7 +1371,7 @@ static void node_composit_buts_image(uiLayout *layout, bContext *C, PointerRNA *
   bNode *node = ptr->data;
   PointerRNA imaptr, iuserptr;
 
-  RNA_pointer_create((ID *)ptr->id.data, &RNA_ImageUser, node->storage, &iuserptr);
+  RNA_pointer_create(ptr->owner_id, &RNA_ImageUser, node->storage, &iuserptr);
   uiLayoutSetContextPointer(layout, "image_user", &iuserptr);
   uiTemplateID(layout,
                C,
@@ -1398,7 +1398,7 @@ static void node_composit_buts_image_ex(uiLayout *layout, bContext *C, PointerRN
   bNode *node = ptr->data;
   PointerRNA iuserptr;
 
-  RNA_pointer_create((ID *)ptr->id.data, &RNA_ImageUser, node->storage, &iuserptr);
+  RNA_pointer_create(ptr->owner_id, &RNA_ImageUser, node->storage, &iuserptr);
   uiLayoutSetContextPointer(layout, "image_user", &iuserptr);
   uiTemplateImage(layout, C, ptr, "image", &iuserptr, 0, 1);
 }
@@ -1959,7 +1959,7 @@ static void node_composit_buts_file_output_ex(uiLayout *layout, bContext *C, Poi
   }
   /* XXX collection lookup does not return the ID part of the pointer,
    * setting this manually here */
-  active_input_ptr.id.data = ptr->id.data;
+  active_input_ptr.owner_id = ptr->owner_id;
 
   col = uiLayoutColumn(row, true);
   ot = WM_operatortype_find("NODE_OT_output_file_move_active_socket", false);
@@ -2967,7 +2967,7 @@ static void node_texture_buts_proc(uiLayout *layout, bContext *UNUSED(C), Pointe
 {
   PointerRNA tex_ptr;
   bNode *node = ptr->data;
-  ID *id = ptr->id.data;
+  ID *id = ptr->owner_id;
   Tex *tex = (Tex *)node->storage;
   uiLayout *col, *row;
 
@@ -3061,7 +3061,7 @@ static void node_texture_buts_image_ex(uiLayout *layout, bContext *C, PointerRNA
   bNode *node = ptr->data;
   PointerRNA iuserptr;
 
-  RNA_pointer_create((ID *)ptr->id.data, &RNA_ImageUser, node->storage, &iuserptr);
+  RNA_pointer_create(ptr->owner_id, &RNA_ImageUser, node->storage, &iuserptr);
   uiTemplateImage(layout, C, ptr, "image", &iuserptr, 0, 0);
 }
 
@@ -3123,7 +3123,7 @@ static void node_texture_set_butfunc(bNodeType *ntype)
 
 static void node_property_update_default(Main *bmain, Scene *UNUSED(scene), PointerRNA *ptr)
 {
-  bNodeTree *ntree = ptr->id.data;
+  bNodeTree *ntree = (bNodeTree *)ptr->owner_id;
   bNode *node = ptr->data;
   ED_node_tag_update_nodetree(bmain, ntree, node);
 }
@@ -3293,7 +3293,7 @@ static void node_file_output_socket_draw(bContext *C,
                                          PointerRNA *ptr,
                                          PointerRNA *node_ptr)
 {
-  bNodeTree *ntree = ptr->id.data;
+  bNodeTree *ntree = (bNodeTree *)ptr->owner_id;
   bNodeSocket *sock = ptr->data;
   uiLayout *row;
   PointerRNA inputptr, imfptr;
index d31256a1425187ed709d4d3b9da88e87b0aa9ce8..dcf901216f587ac904efbda516ab9d3c09cebdcb 100644 (file)
@@ -1838,7 +1838,7 @@ static int node_output_file_add_socket_exec(bContext *C, wmOperator *op)
 
   if (ptr.data) {
     node = ptr.data;
-    ntree = ptr.id.data;
+    ntree = (bNodeTree *)ptr.owner_id;
   }
   else if (snode && snode->edittree) {
     ntree = snode->edittree;
@@ -1886,7 +1886,7 @@ static int node_output_file_remove_active_socket_exec(bContext *C, wmOperator *U
 
   if (ptr.data) {
     node = ptr.data;
-    ntree = ptr.id.data;
+    ntree = (bNodeTree *)ptr.owner_id;
   }
   else if (snode && snode->edittree) {
     ntree = snode->edittree;
@@ -2535,7 +2535,7 @@ static int node_shader_script_update_exec(bContext *C, wmOperator *op)
 
   /* get node */
   if (nodeptr.data) {
-    ntree_base = nodeptr.id.data;
+    ntree_base = (bNodeTree *)nodeptr.owner_id;
     node = nodeptr.data;
   }
   else if (snode && snode->edittree) {
@@ -2734,7 +2734,7 @@ static int node_cryptomatte_add_socket_exec(bContext *C, wmOperator *UNUSED(op))
 
   if (ptr.data) {
     node = ptr.data;
-    ntree = ptr.id.data;
+    ntree = (bNodeTree *)ptr.owner_id;
   }
   else if (snode && snode->edittree) {
     ntree = snode->edittree;
@@ -2778,7 +2778,7 @@ static int node_cryptomatte_remove_socket_exec(bContext *C, wmOperator *UNUSED(o
 
   if (ptr.data) {
     node = ptr.data;
-    ntree = ptr.id.data;
+    ntree = (bNodeTree *)ptr.owner_id;
   }
   else if (snode && snode->edittree) {
     ntree = snode->edittree;
index 318d90d0dcaf5fdc8ebc3e569f79644615b69943..943993cb810673810f995523b262eaf944db4880 100644 (file)
@@ -1780,7 +1780,7 @@ static void tree_element_to_path(TreeElement *te,
       /* no ID, so check if entry is RNA-struct,
        * and if that RNA-struct is an ID datablock to extract info from. */
       if (tse->type == TSE_RNA_STRUCT) {
-        /* ptr->data not ptr->id.data seems to be the one we want,
+        /* ptr->data not ptr->owner_id seems to be the one we want,
          * since ptr->data is sometimes the owner of this ID? */
         if (RNA_struct_is_ID(ptr->type)) {
           *id = (ID *)ptr->data;
index 49f6189c17c73c1151af7475845460db8c1a0504..2c4a648da6582284819f60371cc1139be6c0d879 100644 (file)
@@ -778,7 +778,7 @@ static void singleuser_action_cb(bContext *C,
 
   if (id) {
     IdAdtTemplate *iat = (IdAdtTemplate *)tsep->id;
-    PointerRNA ptr = {{NULL}};
+    PointerRNA ptr = {NULL};
     PropertyRNA *prop;
 
     RNA_pointer_create(&iat->id, &RNA_AnimData, iat->adt, &ptr);
@@ -801,7 +801,7 @@ static void singleuser_world_cb(bContext *C,
   /* need to use parent scene not just scene, otherwise may end up getting wrong one */
   if (id) {
     Scene *parscene = (Scene *)tsep->id;
-    PointerRNA ptr = {{NULL}};
+    PointerRNA ptr = {NULL};
     PropertyRNA *prop;
 
     RNA_id_pointer_create(&parscene->id, &ptr);
index 3c693cc5e2b06728220123f4df6825120b6bb2e1..c3168a7a5327ab3d3761625d7e9c4f312497d297 100644 (file)
@@ -766,7 +766,7 @@ static TreeElement *outliner_add_element(
   ID *id = idv;
 
   if (ELEM(type, TSE_RNA_STRUCT, TSE_RNA_PROPERTY, TSE_RNA_ARRAY_ELEM)) {
-    id = ((PointerRNA *)idv)->id.data;
+    id = ((PointerRNA *)idv)->owner_id;
     if (!id) {
       id = ((PointerRNA *)idv)->data;
     }
index 9aa9d14cbc82fa973ae38ba457040bc1ffd7e0bd..e1cf6d00b9068f7967380a270123fc03c66f7328 100644 (file)
@@ -597,7 +597,7 @@ static void sequencer_main_region_message_subscribe(const struct bContext *UNUSE
         &RNA_SequenceModifier,
         &RNA_SequenceColorBalanceData,
     };
-    wmMsgParams_RNA msg_key_params = {{{0}}};
+    wmMsgParams_RNA msg_key_params = {{0}};
     for (int i = 0; i < ARRAY_SIZE(type_array); i++) {
       msg_key_params.ptr.type = type_array[i];
       WM_msg_subscribe_rna_params(
index d1ea01146bc1f64b920e6b086a2ba32533a0c0b7..5974100b53455f7df8130115d1c7594411a80a54 100644 (file)
@@ -992,7 +992,7 @@ static void view3d_main_region_message_subscribe(const struct bContext *C,
    * accepting some redundant redraws.
    *
    * For other space types we might try avoid this, keep the 3D view as an exceptional case! */
-  wmMsgParams_RNA msg_key_params = {{{0}}};
+  wmMsgParams_RNA msg_key_params = {{0}};
 
   /* Only subscribe to types. */
   StructRNA *type_array[] = {
@@ -1176,7 +1176,7 @@ static void view3d_header_region_message_subscribe(const struct bContext *UNUSED
                                                    struct ARegion *ar,
                                                    struct wmMsgBus *mbus)
 {
-  wmMsgParams_RNA msg_key_params = {{{0}}};
+  wmMsgParams_RNA msg_key_params = {{0}};
 
   /* Only subscribe to types. */
   StructRNA *type_array[] = {
index 13001058fed049d93a8c4a9530cdb8e1a39d1148..e76ef2b045844df509c7aa5a774f8ba4f034df8c 100644 (file)
@@ -5051,7 +5051,7 @@ void ED_view3d_cursor3d_update(bContext *C,
 
   {
     struct wmMsgBus *mbus = CTX_wm_message_bus(C);
-    wmMsgParams_RNA msg_key_params = {{{0}}};
+    wmMsgParams_RNA msg_key_params = {{0}};
     RNA_pointer_create(&scene->id, &RNA_View3DCursor, &scene->cursor, &msg_key_params.ptr);
     WM_msg_publish_rna_params(mbus, &msg_key_params);
   }
index 95ea5d75c9fa5c53cfd954ac2b01a75bc3c099db..f03aacf8dbd446e131d28393f2d5a5e05498cf29 100644 (file)
@@ -1411,8 +1411,8 @@ StructRNA *ID_code_to_RNA_type(short idcode);
 #define RNA_POINTER_INVALIDATE(ptr) \
   { \
     /* this is checked for validity */ \
-    (ptr)->type = /* should not be needed but prevent bad pointer access, just in case */ \
-        (ptr)->id.data = NULL; \
+    (ptr)->type = NULL; /* should not be needed but prevent bad pointer access, just in case */ \
+    (ptr)->owner_id = NULL; \
   } \
   (void)0
 
index 38631d1acf210772a282817b30887316dff41101..2a3412492475dab6f2c55e97c26a94818a838faf 100644 (file)
@@ -29,6 +29,7 @@ extern "C" {
 
 struct BlenderRNA;
 struct FunctionRNA;
+struct ID;
 struct Main;
 struct ParameterList;
 struct PropertyRNA;
@@ -44,10 +45,7 @@ struct bContext;
  * the properties and validate them. */
 
 typedef struct PointerRNA {
-  struct {
-    void *data;
-  } id;
-
+  struct ID *owner_id;
   struct StructRNA *type;
   void *data;
 } PointerRNA;
@@ -534,7 +532,7 @@ typedef struct ParameterDynAlloc {
 typedef enum FunctionFlag {
   /**
    * Pass ID owning 'self' data
-   * (i.e. ptr->id.data, might be same as self in case data is an ID...).
+   * (i.e. ptr->owner_id, might be same as self in case data is an ID...).
    */
   FUNC_USE_SELF_ID = (1 << 11),
 
index 3b9fa40fcaec3e77f347e6f301e6200a2310a41d..5aaddc30e073012451758761c62b6faa26fb991b 100644 (file)
@@ -389,7 +389,7 @@ static void rna_print_data_get(FILE *f, PropertyDefRNA *dp)
 
 static void rna_print_id_get(FILE *f, PropertyDefRNA *UNUSED(dp))
 {
-  fprintf(f, "    ID *id = ptr->id.data;\n");
+  fprintf(f, "    ID *id = ptr->owner_id;\n");
 }
 
 static void rna_construct_function_name(
@@ -2470,7 +2470,7 @@ static void rna_def_struct_function_call_impl_cpp(FILE *f, StructRNA *srna, Func
   dsrna = rna_find_struct_def(srna);
 
   if (func->flag & FUNC_USE_SELF_ID) {
-    WRITE_PARAM("(::ID *) ptr.id.data");
+    WRITE_PARAM("(::ID *) ptr.owner_id");
   }
 
   if ((func->flag & FUNC_NO_SELF) == 0) {
@@ -2579,7 +2579,7 @@ static void rna_def_struct_function_impl_cpp(FILE *f, StructRNA *srna, FunctionD
         }
         else {
           fprintf(f,
-                  "\t\tRNA_pointer_create((::ID *) ptr.id.data, &RNA_%s, retdata, &result);\n",
+                  "\t\tRNA_pointer_create((::ID *) ptr.owner_id, &RNA_%s, retdata, &result);\n",
                   (const char *)pprop->type);
         }
       }
@@ -2792,7 +2792,7 @@ static void rna_def_function_funcs(FILE *f, StructDefRNA *dsrna, FunctionDefRNA
 
   /* assign self */
   if (func->flag & FUNC_USE_SELF_ID) {
-    fprintf(f, "\t_selfid = (struct ID *)_ptr->id.data;\n");
+    fprintf(f, "\t_selfid = (struct ID *)_ptr->owner_id;\n");
   }
 
   if ((func->flag & FUNC_NO_SELF) == 0) {
index 661a308f20ff4ae5351be62847a483a40d2c3b6d..5a4b4a3fa3d72ceb9aa518838214efa24b99d00e 100644 (file)
@@ -620,9 +620,9 @@ static int rna_IDPArray_length(PointerRNA *ptr)
 
 int rna_IDMaterials_assign_int(PointerRNA *ptr, int key, const PointerRNA *assign_ptr)
 {
-  ID *id = ptr->id.data;
+  ID *id = ptr->owner_id;
   short *totcol = give_totcolp_id(id);
-  Material *mat_id = assign_ptr->id.data;
+  Material *mat_id = (Material *)assign_ptr->owner_id;
   if (totcol && (key >= 0 && key < *totcol)) {
     BLI_assert(BKE_id_is_in_global_main(id));
     BLI_assert(BKE_id_is_in_global_main(&mat_id->id));
@@ -690,7 +690,7 @@ static void rna_Library_filepath_set(PointerRNA *ptr, const char *value)
 
 static void rna_ImagePreview_is_custom_set(PointerRNA *ptr, int value, enum eIconSizes size)
 {
-  ID *id = ptr->id.data;
+  ID *id = ptr->owner_id;
   PreviewImage *prv_img = (PreviewImage *)ptr->data;
 
   if (id != NULL) {
@@ -716,7 +716,7 @@ static void rna_ImagePreview_is_custom_set(PointerRNA *ptr, int value, enum eIco
 
 static void rna_ImagePreview_size_get(PointerRNA *ptr, int *values, enum eIconSizes size)
 {
-  ID *id = (ID *)ptr->id.data;
+  ID *id = ptr->owner_id;
   PreviewImage *prv_img = (PreviewImage *)ptr->data;
 
   if (id != NULL) {
@@ -731,7 +731,7 @@ static void rna_ImagePreview_size_get(PointerRNA *ptr, int *values, enum eIconSi
 
 static void rna_ImagePreview_size_set(PointerRNA *ptr, const int *values, enum eIconSizes size)
 {
-  ID *id = (ID *)ptr->id.data;
+  ID *id = ptr->owner_id;
   PreviewImage *prv_img = (PreviewImage *)ptr->data;
 
   if (id != NULL) {
@@ -754,7 +754,7 @@ static int rna_ImagePreview_pixels_get_length(PointerRNA *ptr,
                                               int length[RNA_MAX_ARRAY_DIMENSION],
                                               enum eIconSizes size)
 {
-  ID *id = ptr->id.data;
+  ID *id = ptr->owner_id;
   PreviewImage *prv_img = (PreviewImage *)ptr->data;
 
   if (id != NULL) {
@@ -770,7 +770,7 @@ static int rna_ImagePreview_pixels_get_length(PointerRNA *ptr,
 
 static void rna_ImagePreview_pixels_get(PointerRNA *ptr, int *values, enum eIconSizes size)
 {
-  ID *id = ptr->id.data;
+  ID *id = ptr->owner_id;
   PreviewImage *prv_img = (PreviewImage *)ptr->data;
 
   if (id != NULL) {
@@ -784,7 +784,7 @@ static void rna_ImagePreview_pixels_get(PointerRNA *ptr, int *values, enum eIcon
 
 static void rna_ImagePreview_pixels_set(PointerRNA *ptr, const int *values, enum eIconSizes size)
 {
-  ID *id = ptr->id.data;
+  ID *id = ptr->owner_id;
   PreviewImage *prv_img = (PreviewImage *)ptr->data;
 
   if (id != NULL) {
@@ -799,7 +799,7 @@ static int rna_ImagePreview_pixels_float_get_length(PointerRNA *ptr,
                                                     int length[RNA_MAX_ARRAY_DIMENSION],
                                                     enum eIconSizes size)
 {
-  ID *id = ptr->id.data;
+  ID *id = ptr->owner_id;
   PreviewImage *prv_img = (PreviewImage *)ptr->data;
 
   BLI_assert(sizeof(unsigned int) == 4);
@@ -817,7 +817,7 @@ static int rna_ImagePreview_pixels_float_get_length(PointerRNA *ptr,
 
 static void rna_ImagePreview_pixels_float_get(PointerRNA *ptr, float *values, enum eIconSizes size)
 {
-  ID *id = ptr->id.data;
+  ID *id = ptr->owner_id;
   PreviewImage *prv_img = (PreviewImage *)ptr->data;
 
   unsigned char *data = (unsigned char *)prv_img->rect[size];
@@ -841,7 +841,7 @@ static void rna_ImagePreview_pixels_float_set(PointerRNA *ptr,
                                               const float *values,
                                               enum eIconSizes size)
 {
-  ID *id = ptr->id.data;
+  ID *id = ptr->owner_id;
   PreviewImage *prv_img = (PreviewImage *)ptr->data;
 
   unsigned char *data = (unsigned char *)prv_img->rect[size];
@@ -958,7 +958,7 @@ static int rna_ImagePreview_icon_id_get(PointerRNA *ptr)
 {
   /* Using a callback here allows us to only generate icon matching
    * that preview when icon_id is requested. */
-  return BKE_icon_preview_ensure(ptr->id.data, (PreviewImage *)(ptr->data));
+  return BKE_icon_preview_ensure(ptr->owner_id, (PreviewImage *)(ptr->data));
 }
 static void rna_ImagePreview_icon_reload(PreviewImage *prv)
 {
index c4b0e43fd706d4efec39d2e2ac7a675716a95d01..d44020a52a18dd2e73dc27d385981ea18c7d503b 100644 (file)
@@ -64,7 +64,7 @@
 #include "rna_internal.h"
 #include "rna_access_internal.h"
 
-const PointerRNA PointerRNA_NULL = {{NULL}};
+const PointerRNA PointerRNA_NULL = {NULL};
 
 /* Init/Exit */
 
@@ -112,7 +112,7 @@ void RNA_exit(void)
 
 void RNA_main_pointer_create(struct Main *main, PointerRNA *r_ptr)
 {
-  r_ptr->id.data = NULL;
+  r_ptr->owner_id = NULL;
   r_ptr->type = &RNA_BlendData;
   r_ptr->data = main;
 }
@@ -122,7 +122,7 @@ void RNA_id_pointer_create(ID *id, PointerRNA *r_ptr)
   StructRNA *type, *idtype = NULL;
 
   if (id) {
-    PointerRNA tmp = {{NULL}};
+    PointerRNA tmp = {NULL};
     tmp.data = id;
     idtype = rna_ID_refine(&tmp);
 
@@ -138,7 +138,7 @@ void RNA_id_pointer_create(ID *id, PointerRNA *r_ptr)
     }
   }
 
-  r_ptr->id.data = id;
+  r_ptr->owner_id = id;
   r_ptr->type = idtype;
   r_ptr->data = id;
 }
@@ -149,13 +149,13 @@ void RNA_pointer_create(ID *id, StructRNA *type, void *data, PointerRNA *r_ptr)
   StructRNA *idtype = NULL;
 
   if (id) {
-    PointerRNA tmp = {{0}};
+    PointerRNA tmp = {0};
     tmp.data = id;
     idtype = rna_ID_refine(&tmp);
   }
 #endif
 
-  r_ptr->id.data = id;
+  r_ptr->owner_id = id;
   r_ptr->type = type;
   r_ptr->data = data;
 
@@ -175,22 +175,22 @@ void RNA_pointer_create(ID *id, StructRNA *type, void *data, PointerRNA *r_ptr)
 
 bool RNA_pointer_is_null(const PointerRNA *ptr)
 {
-  return !((ptr->data != NULL) && (ptr->id.data != NULL) && (ptr->type != NULL));
+  return !((ptr->data != NULL) && (ptr->owner_id != NULL) && (ptr->type != NULL));
 }
 
 static void rna_pointer_inherit_id(StructRNA *type, PointerRNA *parent, PointerRNA *ptr)
 {
   if (type && type->flag & STRUCT_ID) {
-    ptr->id.data = ptr->data;
+    ptr->owner_id = ptr->data;
   }
   else {
-    ptr->id.data = parent->id.data;
+    ptr->owner_id = parent->owner_id;
   }
 }
 
 void RNA_blender_rna_pointer_create(PointerRNA *r_ptr)
 {
-  r_ptr->id.data = NULL;
+  r_ptr->owner_id = NULL;
   r_ptr->type = &RNA_BlenderRNA;
   r_ptr->data = &BLENDER_RNA;
 }
@@ -225,7 +225,7 @@ void RNA_pointer_recast(PointerRNA *ptr, PointerRNA *r_ptr)
 #if 0 /* works but this case if covered by more general code below. */
   if (RNA_struct_is_ID(ptr->type)) {
     /* simple case */
-    RNA_id_pointer_create(ptr->id.data, r_ptr);
+    RNA_id_pointer_create(ptr->owner_id, r_ptr);
   }
   else
 #endif
@@ -2058,7 +2058,7 @@ int RNA_property_ui_icon(PropertyRNA *prop)
 
 bool RNA_property_editable(PointerRNA *ptr, PropertyRNA *prop)
 {
-  ID *id = ptr->id.data;
+  ID *id = ptr->owner_id;
   int flag;
   const char *dummy_info;
 
@@ -2076,7 +2076,7 @@ bool RNA_property_editable(PointerRNA *ptr, PropertyRNA *prop)
  */
 bool RNA_property_editable_info(PointerRNA *ptr, PropertyRNA *prop, const char **r_info)
 {
-  ID *id = ptr->id.data;
+  ID *id = ptr->owner_id;
   int flag;
 
   prop = rna_ensure_property(prop);
@@ -2143,7 +2143,7 @@ bool RNA_property_editable_index(PointerRNA *ptr, PropertyRNA *prop, int index)
     flag &= prop->itemeditable(ptr, index);
   }
 
-  id = ptr->id.data;
+  id = ptr->owner_id;
 
   return (flag & PROP_EDITABLE) && (!id || !ID_IS_LINKED(id) || (prop->flag & PROP_LIB_EXCEPTION));
 }
@@ -2151,7 +2151,7 @@ bool RNA_property_editable_index(PointerRNA *ptr, PropertyRNA *prop, int index)
 bool RNA_property_animateable(PointerRNA *ptr, PropertyRNA *prop)
 {
   /* check that base ID-block can support animation data */
-  if (!id_can_have_animdata(ptr->id.data)) {
+  if (!id_can_have_animdata(ptr->owner_id)) {
     return false;
   }
 
@@ -2197,7 +2197,7 @@ bool RNA_property_path_from_ID_check(PointerRNA *ptr, PropertyRNA *prop)
     PointerRNA r_ptr;
     PropertyRNA *r_prop;
 
-    RNA_id_pointer_create(ptr->id.data, &id_ptr);
+    RNA_id_pointer_create(ptr->owner_id, &id_ptr);
     if (RNA_path_resolve(&id_ptr, path, &r_ptr, &r_prop) == true) {
       ret = (prop == r_prop);
     }
@@ -2236,7 +2236,7 @@ static void rna_property_update(
     /* TODO(campbell): Should eventually be replaced entirely by message bus (below)
      * for now keep since COW, bugs are hard to track when we have other missing updates. */
     if (prop->noteflag) {
-      WM_main_add_notifier(prop->noteflag, ptr->id.data);
+      WM_main_add_notifier(prop->noteflag, ptr->owner_id);
     }
 #endif
 
@@ -2247,10 +2247,10 @@ static void rna_property_update(
       /* we could add NULL check, for now don't */
       WM_msg_publish_rna(mbus, ptr, prop);
     }
-    if (ptr->id.data != NULL && ((prop->flag & PROP_NO_DEG_UPDATE) == 0)) {
-      const short id_type = GS(((ID *)ptr->id.data)->name);
+    if (ptr->owner_id != NULL && ((prop->flag & PROP_NO_DEG_UPDATE) == 0)) {
+      const short id_type = GS(ptr->owner_id->name);
       if (ID_TYPE_IS_COW(id_type)) {
-        DEG_id_tag_update(ptr->id.data, ID_RECALC_COPY_ON_WRITE);
+        DEG_id_tag_update(ptr->owner_id, ID_RECALC_COPY_ON_WRITE);
       }
     }
     /* End message bus. */
@@ -2259,14 +2259,14 @@ static void rna_property_update(
   if (!is_rna || (prop->flag & PROP_IDPROPERTY)) {
     /* WARNING! This is so property drivers update the display!
      * not especially nice  */
-    DEG_id_tag_update(ptr->id.data,
+    DEG_id_tag_update(ptr->owner_id,
                       ID_RECALC_TRANSFORM | ID_RECALC_GEOMETRY | ID_RECALC_PARAMETERS);
     WM_main_add_notifier(NC_WINDOW, NULL);
     /* Not nice as well, but the only way to make sure material preview
      * is updated with custom nodes.
      */
-    if ((prop->flag & PROP_IDPROPERTY) != 0 && (ptr->id.data != NULL) &&
-        (GS(((ID *)ptr->id.data)->name) == ID_NT)) {
+    if ((prop->flag & PROP_IDPROPERTY) != 0 && (ptr->owner_id != NULL) &&
+        (GS(ptr->owner_id->name) == ID_NT)) {
       WM_main_add_notifier(NC_MATERIAL | ND_SHADING, NULL);
     }
   }
@@ -2299,7 +2299,7 @@ void RNA_property_update_main(Main *bmain, Scene *scene, PointerRNA *ptr, Proper
  * property updates to actually work).
  *
  * The cache is structured with a dual-layer structure
- * - L1 = PointerRNA used as key; id.data is used (it should always be defined,
+ * - L1 = PointerRNA used as key; owner_id is used (it should always be defined,
  *        and most updates end up using just that anyways)
  * - L2 = Update functions to be called on those PointerRNA's
  */
@@ -2343,7 +2343,7 @@ void RNA_property_update_cache_add(PointerRNA *ptr, PropertyRNA *prop)
      * since most update calls that we'll encounter only really care about this. */
     /* TODO: later, the cache might need to have some nesting on L1 to cope better
      * with these problems + some tagging to indicate we need this */
-    if (uce->ptr.id.data == ptr->id.data) {
+    if (uce->ptr.owner_id == ptr->owner_id) {
       break;
     }
   }
@@ -2353,7 +2353,7 @@ void RNA_property_update_cache_add(PointerRNA *ptr, PropertyRNA *prop)
     BLI_addtail(&rna_updates_cache, uce);
 
     /* copy pointer */
-    RNA_pointer_create(ptr->id.data, ptr->type, ptr->data, &uce->ptr);
+    RNA_pointer_create(ptr->owner_id, ptr->type, ptr->data, &uce->ptr);
   }
 
   /* check on the update func */
@@ -3771,7 +3771,7 @@ void RNA_property_pointer_set(PointerRNA *ptr,
 
   /* RNA */
   if (pprop->set && !((prop->flag & PROP_NEVER_NULL) && ptr_value.data == NULL) &&
-      !((prop->flag & PROP_ID_SELF_CHECK) && ptr->id.data == ptr_value.id.data)) {
+      !((prop->flag & PROP_ID_SELF_CHECK) && ptr->owner_id == ptr_value.owner_id)) {
     pprop->set(ptr, ptr_value, reports);
   }
   /* IDProperty */
@@ -5734,14 +5734,14 @@ static char *rna_path_from_ID_to_idpgroup(PointerRNA *ptr)
   IDProperty *haystack;
   IDProperty *needle;
 
-  BLI_assert(ptr->id.data != NULL);
+  BLI_assert(ptr->owner_id != NULL);
 
   /* TODO, Support Bones/PoseBones. no pointers stored to the bones from here, only the ID.
    *       See example in T25746.
    *       Unless this is added only way to find this is to also search
    *       all bones and pose bones of an armature or object.
    */
-  RNA_id_pointer_create(ptr->id.data, &id_ptr);
+  RNA_id_pointer_create(ptr->owner_id, &id_ptr);
 
   haystack = RNA_struct_idprops(&id_ptr, false);
   if (haystack) { /* can fail when called on bones */
@@ -5757,7 +5757,7 @@ char *RNA_path_from_ID_to_struct(PointerRNA *ptr)
 {
   char *ptrpath = NULL;
 
-  if (!ptr->id.data || !ptr->data) {
+  if (!ptr->owner_id || !ptr->data) {
     return NULL;
   }
 
@@ -5773,7 +5773,7 @@ char *RNA_path_from_ID_to_struct(PointerRNA *ptr)
       /* find the property in the struct we're nested in that references this struct, and
        * use its identifier as the first part of the path used...
        */
-      RNA_id_pointer_create(ptr->id.data, &parentptr);
+      RNA_id_pointer_create(ptr->owner_id, &parentptr);
       userprop = RNA_struct_find_nested(&parentptr, ptr->type);
 
       if (userprop) {
@@ -5849,7 +5849,7 @@ char *RNA_path_from_ID_to_property_index(PointerRNA *ptr,
   const char *propname;
   char *ptrpath, *path;
 
-  if (!ptr->id.data || !ptr->data) {
+  if (!ptr->owner_id || !ptr->data) {
     return NULL;
   }
 
@@ -5920,7 +5920,7 @@ char *RNA_path_resolve_from_type_to_property(PointerRNA *ptr,
     return NULL;
   }
 
-  RNA_id_pointer_create(ptr->id.data, &idptr);
+  RNA_id_pointer_create(ptr->owner_id, &idptr);
 
   if (RNA_path_resolve_elements(&idptr, full_path, &path_elems)) {
     PropertyElemRNA *prop_elem;
@@ -5967,12 +5967,12 @@ char *RNA_path_full_struct_py(struct PointerRNA *ptr)
 
   char *ret;
 
-  if (!ptr->id.data) {
+  if (!ptr->owner_id) {
     return NULL;
   }
 
   /* never fails */
-  id_path = RNA_path_full_ID_py(ptr->id.data);
+  id_path = RNA_path_full_ID_py(ptr->owner_id);
 
   data_path = RNA_path_from_ID_to_struct(ptr);
 
@@ -6004,12 +6004,12 @@ char *RNA_path_full_property_py_ex(PointerRNA *ptr,
 
   char *ret;
 
-  if (!ptr->id.data) {
+  if (!ptr->owner_id) {
     return NULL;
   }
 
   /* never fails */
-  id_path = RNA_path_full_ID_py(ptr->id.data);
+  id_path = RNA_path_full_ID_py(ptr->owner_id);
 
   data_path = RNA_path_from_ID_to_property(ptr, prop);
   if (data_path) {
@@ -6057,7 +6057,7 @@ char *RNA_path_struct_property_py(PointerRNA *ptr, PropertyRNA *prop, int index)
 
   char *ret;
 
-  if (!ptr->id.data) {
+  if (!ptr->owner_id) {
     return NULL;
   }
 
@@ -6644,11 +6644,11 @@ char *RNA_pointer_as_string_id(bContext *C, PointerRNA *ptr)
 
 static char *rna_pointer_as_string__bldata(PointerRNA *ptr)
 {
-  if (ptr->type == NULL || ptr->id.data == NULL) {
+  if (ptr->type == NULL || ptr->owner_id == NULL) {
     return BLI_strdup("None");
   }
   else if (RNA_struct_is_ID(ptr->type)) {
-    return RNA_path_full_ID_py(ptr->id.data);
+    return RNA_path_full_ID_py(ptr->owner_id);
   }
   else {
     return RNA_path_full_struct_py(ptr);
index 4ee06227090ac676213466f383d2c1727ec606d7..b0a83ea38c62d4a9515cbfeeff72b12156a10612 100644 (file)
@@ -101,7 +101,7 @@ bool RNA_property_overridable_library_set(PointerRNA *UNUSED(ptr),
 bool RNA_property_overridden(PointerRNA *ptr, PropertyRNA *prop)
 {
   char *rna_path = RNA_path_from_ID_to_property(ptr, prop);
-  ID *id = ptr->id.data;
+  ID *id = ptr->owner_id;
 
   if (rna_path == NULL || id == NULL || id->override_library == NULL) {
     return false;
@@ -558,7 +558,7 @@ bool RNA_struct_override_matches(Main *bmain,
   bool matching = true;
 
   BLI_assert(ptr_local->type == ptr_reference->type);
-  BLI_assert(ptr_local->id.data && ptr_reference->id.data);
+  BLI_assert(ptr_local->owner_id && ptr_reference->owner_id);
 
   const bool ignore_non_overridable = (flags & RNA_OVERRIDE_COMPARE_IGNORE_NON_OVERRIDABLE) != 0;
   const bool ignore_overridden = (flags & RNA_OVERRIDE_COMPARE_IGNORE_OVERRIDDEN) != 0;
@@ -747,7 +747,7 @@ bool RNA_struct_override_matches(Main *bmain,
     _num_time_global++;
     _sum_time_diffing += _delta_time_diffing;
     _num_time_diffing++;
-    printf("ID: %s\n", ((ID *)ptr_local->id.data)->name);
+    printf("ID: %s\n", ((ID *)ptr_local->owner_id)->name);
     printf("time end      (%s): %.6f\n", __func__, _delta_time);
     printf("time averaged (%s): %.6f (total: %.6f, in %d runs)\n",
            __func__,
@@ -794,7 +794,7 @@ bool RNA_struct_override_store(Main *bmain,
 
       /* It is totally OK if this does not success,
        * only a subset of override operations actually need storage. */
-      if (ptr_storage && (ptr_storage->id.data != NULL)) {
+      if (ptr_storage && (ptr_storage->owner_id != NULL)) {
         RNA_path_resolve_property(ptr_storage, op->rna_path, &data_storage, &prop_storage);
       }
 
@@ -959,7 +959,7 @@ void RNA_struct_override_apply(Main *bmain,
 
         /* It is totally OK if this does not success,
          * only a subset of override operations actually need storage. */
-        if (ptr_storage && (ptr_storage->id.data != NULL)) {
+        if (ptr_storage && (ptr_storage->owner_id != NULL)) {
           RNA_path_resolve_property_and_item_pointer(
               ptr_storage, op->rna_path, &data_storage, &prop_storage, &data_item_storage);
         }
@@ -982,7 +982,7 @@ void RNA_struct_override_apply(Main *bmain,
         printf(
             "Failed to apply library override operation to '%s.%s' "
             "(could not resolve some properties, local:  %d, override: %d)\n",
-            ((ID *)ptr_src->id.data)->name,
+            ((ID *)ptr_src->owner_id)->name,
             op->rna_path,
             RNA_path_resolve_property(ptr_dst, op->rna_path, &data_dst, &prop_dst),
             RNA_path_resolve_property(ptr_src, op->rna_path, &data_src, &prop_src));
@@ -997,7 +997,7 @@ void RNA_struct_override_apply(Main *bmain,
 
 IDOverrideLibraryProperty *RNA_property_override_property_find(PointerRNA *ptr, PropertyRNA *prop)
 {
-  ID *id = ptr->id.data;
+  ID *id = ptr->owner_id;
 
   if (!id || !id->override_library) {
     return NULL;
@@ -1017,7 +1017,7 @@ IDOverrideLibraryProperty *RNA_property_override_property_get(PointerRNA *ptr,
                                                               PropertyRNA *prop,
                                                               bool *r_created)
 {
-  ID *id = ptr->id.data;
+  ID *id = ptr->owner_id;
 
   if (!id || !id->override_library) {
     return NULL;
@@ -1075,7 +1075,7 @@ eRNAOverrideStatus RNA_property_override_library_status(PointerRNA *ptr,
     return override_status;
   }
 
-  if (!ptr || !prop || !ptr->id.data || !((ID *)ptr->id.data)->override_library) {
+  if (!ptr || !prop || !ptr->owner_id || !(ptr->owner_id)->override_library) {
     return override_status;
   }
 
index 4ad2aa55c7504d8f309e330ca4c427a5130551d6..24f8d5c4e3d59b6e4861a634d60ed4889cc0fb07 100644 (file)
@@ -249,15 +249,15 @@ static void rna_Action_active_pose_marker_index_range(
 static void rna_Action_frame_range_get(PointerRNA *ptr, float *values)
 { /* don't include modifiers because they too easily can have very large
    * ranges: MINAFRAMEF to MAXFRAMEF. */
-  calc_action_range(ptr->id.data, values, values + 1, false);
+  calc_action_range((bAction *)ptr->owner_id, values, values + 1, false);
 }
 
 /* Used to check if an action (value pointer)
  * is suitable to be assigned to the ID-block that is ptr. */
 bool rna_Action_id_poll(PointerRNA *ptr, PointerRNA value)
 {
-  ID *srcId = (ID *)ptr->id.data;
-  bAction *act = (bAction *)value.id.data;
+  ID *srcId = ptr->owner_id;
+  bAction *act = (bAction *)value.owner_id;
 
   if (act) {
     /* there can still be actions that will have undefined id-root
@@ -280,7 +280,7 @@ bool rna_Action_id_poll(PointerRNA *ptr, PointerRNA value)
 bool rna_Action_actedit_assign_poll(PointerRNA *ptr, PointerRNA value)
 {
   SpaceAction *saction = (SpaceAction *)ptr->data;
-  bAction *act = (bAction *)value.id.data;
+  bAction *act = (bAction *)value.owner_id;
 
   if (act) {
     /* there can still be actions that will have undefined id-root
index 3d14616bcc9a19deb89cf3e56956a78765acba23..6157ec41f19d97c5b63724c8cc48367997e9fcf9 100644 (file)
@@ -128,7 +128,7 @@ const EnumPropertyItem rna_enum_keying_flag_items_api[] = {
 
 static void rna_AnimData_update(Main *bmain, Scene *UNUSED(scene), PointerRNA *ptr)
 {
-  ID *id = ptr->id.data;
+  ID *id = ptr->owner_id;
 
   ANIM_id_update(bmain, id);
 }
@@ -157,7 +157,7 @@ static void rna_AnimData_action_set(PointerRNA *ptr,
                                     PointerRNA value,
                                     struct ReportList *UNUSED(reports))
 {
-  ID *ownerId = (ID *)ptr->id.data;
+  ID *ownerId = ptr->owner_id;
 
   /* set action */
   BKE_animdata_set_action(NULL, ownerId, value.data);
@@ -303,7 +303,7 @@ static StructRNA *rna_KeyingSetInfo_register(Main *bmain,
 {
   KeyingSetInfo dummyksi = {NULL};
   KeyingSetInfo *ksi;
-  PointerRNA dummyptr = {{NULL}};
+  PointerRNA dummyptr = {NULL};
   int have_function[3];
 
   /* setup dummy type info to store static properties in */
@@ -727,12 +727,12 @@ bool rna_AnimaData_override_apply(Main *UNUSED(bmain),
 
   if (adt_dst == NULL && adt_src != NULL) {
     /* Copy anim data from reference into final local ID. */
-    BKE_animdata_copy_id(NULL, ptr_dst->id.data, ptr_src->id.data, 0);
+    BKE_animdata_copy_id(NULL, ptr_dst->owner_id, ptr_src->owner_id, 0);
     return true;
   }
   else if (adt_dst != NULL && adt_src == NULL) {
     /* Override has cleared/removed anim data from its reference. */
-    BKE_animdata_free(ptr_dst->id.data, true);
+    BKE_animdata_free(ptr_dst->owner_id, true);
     return true;
   }
 
index c0e3404f78c77de482b302220f58d8a0c0c5dc0a..d3bdcf03d4ddf02fc6a4ca06919097e5fc2a12b1 100644 (file)
@@ -50,7 +50,7 @@
 
 static void rna_Armature_update_data(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
 {
-  ID *id = ptr->id.data;
+  ID *id = ptr->owner_id;
 
   DEG_id_tag_update(id, 0);
   WM_main_add_notifier(NC_GEOM | ND_DATA, id);
@@ -59,7 +59,7 @@ static void rna_Armature_update_data(Main *UNUSED(bmain), Scene *UNUSED(scene),
 
 static void rna_Armature_dependency_update(Main *bmain, Scene *UNUSED(scene), PointerRNA *ptr)
 {
-  ID *id = ptr->id.data;
+  ID *id = ptr->owner_id;
 
   DEG_relations_tag_update(bmain);
 
@@ -73,12 +73,12 @@ static void rna_Armature_act_bone_set(PointerRNA *ptr,
 {
   bArmature *arm = (bArmature *)ptr->data;
 
-  if (value.id.data == NULL && value.data == NULL) {
+  if (value.owner_id == NULL && value.data == NULL) {
     arm->act_bone = NULL;
   }
   else {
-    if (value.id.data != arm) {
-      Object *ob = (Object *)value.id.data;
+    if (value.owner_id != &arm->id) {
+      Object *ob = (Object *)value.owner_id;
 
       if (GS(ob->id.name) != ID_OB || (ob->data != arm)) {
         printf("ERROR: armature set active bone - new active doesn't come from this armature\n");
@@ -97,11 +97,11 @@ static void rna_Armature_act_edit_bone_set(PointerRNA *ptr,
 {
   bArmature *arm = (bArmature *)ptr->data;
 
-  if (value.id.data == NULL && value.data == NULL) {
+  if (value.owner_id == NULL && value.data == NULL) {
     arm->act_edbone = NULL;
   }
   else {
-    if (value.id.data != arm) {
+    if (value.owner_id != &arm->id) {
       /* raise an error! */
     }
     else {
@@ -151,7 +151,7 @@ static void rna_Armature_edit_bone_remove(bArmature *arm,
 
 static void rna_Armature_update_layers(Main *bmain, Scene *UNUSED(scene), PointerRNA *ptr)
 {
-  bArmature *arm = ptr->id.data;
+  bArmature *arm = (bArmature *)ptr->owner_id;
   Object *ob;
 
   /* proxy lib exception, store it here so we can restore layers on file
@@ -168,7 +168,7 @@ static void rna_Armature_update_layers(Main *bmain, Scene *UNUSED(scene), Pointe
 
 static void rna_Armature_redraw_data(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
 {
-  ID *id = ptr->id.data;
+  ID *id = ptr->owner_id;
 
   DEG_id_tag_update(id, ID_RECALC_COPY_ON_WRITE);
   WM_main_add_notifier(NC_GEOM | ND_DATA, id);
@@ -177,7 +177,7 @@ static void rna_Armature_redraw_data(Main *UNUSED(bmain), Scene *UNUSED(scene),
 /* called whenever a bone is renamed */
 static void rna_Bone_update_renamed(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
 {
-  ID *id = ptr->id.data;
+  ID *id = ptr->owner_id;
 
   /* redraw view */
   WM_main_add_notifier(NC_GEOM | ND_DATA, id);
@@ -188,7 +188,7 @@ static void rna_Bone_update_renamed(Main *UNUSED(bmain), Scene *UNUSED(scene), P
 
 static void rna_Bone_select_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
 {
-  ID *id = ptr->id.data;
+  ID *id = ptr->owner_id;
 
   /* 1) special updates for cases where rigs try to hook into armature drawing stuff
    *    e.g. Mask Modifier - 'Armature' option
@@ -225,7 +225,7 @@ static void rna_Bone_select_update(Main *UNUSED(bmain), Scene *UNUSED(scene), Po
 
 static char *rna_Bone_path(PointerRNA *ptr)
 {
-  ID *id = ptr->id.data;
+  ID *id = ptr->owner_id;
   Bone *bone = (Bone *)ptr->data;
   char name_esc[sizeof(bone->name) * 2];
 
@@ -295,7 +295,7 @@ static void rna_bone_layer_set(int *layer, const bool *values)
 
 static void rna_Bone_layer_set(PointerRNA *ptr, const bool *values)
 {
-  bArmature *arm = (bArmature *)ptr->id.data;
+  bArmature *arm = (bArmature *)ptr->owner_id;
   Bone *bone = (Bone *)ptr->data;
 
   rna_bone_layer_set(&bone->layer, values);
@@ -331,7 +331,7 @@ static void rna_Armature_layer_set(PointerRNA *ptr, const bool *values)
 
 static void rna_EditBone_name_set(PointerRNA *ptr, const char *value)
 {
-  bArmature *arm = (bArmature *)ptr->id.data;
+  bArmature *arm = (bArmature *)ptr->owner_id;
   EditBone *ebone = (EditBone *)ptr->data;
   char oldname[sizeof(ebone->name)], newname[sizeof(ebone->name)];
 
@@ -345,7 +345,7 @@ static void rna_EditBone_name_set(PointerRNA *ptr, const char *value)
 
 static void rna_Bone_name_set(PointerRNA *ptr, const char *value)
 {
-  bArmature *arm = (bArmature *)ptr->id.data;
+  bArmature *arm = (bArmature *)ptr->owner_id;
   Bone *bone = (Bone *)ptr->data;
   char oldname[sizeof(bone->name)], newname[sizeof(bone->name)];
 
@@ -417,7 +417,7 @@ static void rna_EditBone_parent_set(PointerRNA *ptr,
   }
   else {
     /* within same armature */
-    if (value.id.data != ptr->id.data) {
+    if (value.owner_id != ptr->owner_id) {
       return;
     }
 
@@ -451,7 +451,7 @@ static void rna_EditBone_matrix_set(PointerRNA *ptr, const float *values)
 
 static void rna_Bone_bbone_handle_update(Main *bmain, Scene *scene, PointerRNA *ptr)
 {
-  bArmature *arm = (bArmature *)ptr->id.data;
+  bArmature *arm = (bArmature *)ptr->owner_id;
   Bone *bone = (Bone *)ptr->data;
 
   /* Update all users of this armature after changing B-Bone handles. */
@@ -483,7 +483,7 @@ static void rna_EditBone_bbone_prev_set(PointerRNA *ptr,
   EditBone *hbone = (EditBone *)value.data;
 
   /* Within the same armature? */
-  if (hbone == NULL || value.id.data == ptr->id.data) {
+  if (hbone == NULL || value.owner_id == ptr->owner_id) {
     ebone->bbone_prev = hbone;
   }
 }
@@ -496,7 +496,7 @@ static void rna_Bone_bbone_prev_set(PointerRNA *ptr,
   Bone *hbone = (Bone *)value.data;
 
   /* Within the same armature? */
-  if (hbone == NULL || value.id.data == ptr->id.data) {
+  if (hbone == NULL || value.owner_id == ptr->owner_id) {
     bone->bbone_prev = hbone;
   }
 }
@@ -515,7 +515,7 @@ static void rna_EditBone_bbone_next_set(PointerRNA *ptr,
   EditBone *hbone = (EditBone *)value.data;
 
   /* Within the same armature? */
-  if (hbone == NULL || value.id.data == ptr->id.data) {
+  if (hbone == NULL || value.owner_id == ptr->owner_id) {
     ebone->bbone_next = hbone;
   }
 }
@@ -528,14 +528,14 @@ static void rna_Bone_bbone_next_set(PointerRNA *ptr,
   Bone *hbone = (Bone *)value.data;
 
   /* Within the same armature? */
-  if (hbone == NULL || value.id.data == ptr->id.data) {
+  if (hbone == NULL || value.owner_id == ptr->owner_id) {
     bone->bbone_next = hbone;
   }
 }
 
 static void rna_Armature_editbone_transform_update(Main *bmain, Scene *scene, PointerRNA *ptr)
 {
-  bArmature *arm = (bArmature *)ptr->id.data;
+  bArmature *arm = (bArmature *)ptr->owner_id;
   EditBone *ebone = (EditBone *)ptr->data;
   EditBone *child;
 
@@ -590,7 +590,7 @@ static int rna_Armature_bones_lookup_string(PointerRNA *ptr, const char *key, Po
   bArmature *arm = (bArmature *)ptr->data;
   Bone *bone = BKE_armature_find_bone_name(arm, key);
   if (bone) {
-    RNA_pointer_create(ptr->id.data, &RNA_Bone, bone, r_ptr);
+    RNA_pointer_create(ptr->owner_id, &RNA_Bone, bone, r_ptr);
     return true;
   }
   else {
@@ -600,7 +600,7 @@ static int rna_Armature_bones_lookup_string(PointerRNA *ptr, const char *key, Po
 
 static bool rna_Armature_is_editmode_get(PointerRNA *ptr)
 {
-  bArmature *arm = (bArmature *)ptr->id.data;
+  bArmature *arm = (bArmature *)ptr->owner_id;
   return (arm->edbo != NULL);
 }
 
index 8f30a7e0a98ab5c2ffeac586b73b3f5935670783..722b7b1227143635458f8b82e6714acf4782df0c 100644 (file)
@@ -130,10 +130,10 @@ static void rna_Boids_reset(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRN
 
     psys->recalc = ID_RECALC_PSYS_RESET;
 
-    DEG_id_tag_update(ptr->id.data, ID_RECALC_GEOMETRY);
+    DEG_id_tag_update(ptr->owner_id, ID_RECALC_GEOMETRY);
   }
   else {
-    DEG_id_tag_update(ptr->id.data, ID_RECALC_GEOMETRY | ID_RECALC_PSYS_RESET);
+    DEG_id_tag_update(ptr->owner_id, ID_RECALC_GEOMETRY | ID_RECALC_PSYS_RESET);
   }
 
   WM_main_add_notifier(NC_OBJECT | ND_PARTICLE | NA_EDITED, NULL);
@@ -145,10 +145,10 @@ static void rna_Boids_reset_deps(Main *bmain, Scene *UNUSED(scene), PointerRNA *
 
     psys->recalc = ID_RECALC_PSYS_RESET;
 
-    DEG_id_tag_update(ptr->id.data, ID_RECALC_GEOMETRY);
+    DEG_id_tag_update(ptr->owner_id, ID_RECALC_GEOMETRY);
   }
   else {
-    DEG_id_tag_update(ptr->id.data, ID_RECALC_GEOMETRY | ID_RECALC_PSYS_RESET);
+    DEG_id_tag_update(ptr->owner_id, ID_RECALC_GEOMETRY | ID_RECALC_PSYS_RESET);
   }
 
   DEG_relations_tag_update(bmain);
@@ -240,7 +240,7 @@ static void rna_BoidState_active_boid_rule_index_set(struct PointerRNA *ptr, int
 
 static int particle_id_check(PointerRNA *ptr)
 {
-  ID *id = ptr->id.data;
+  ID *id = ptr->owner_id;
 
   return (GS(id->name) == ID_PA);
 }
@@ -250,7 +250,7 @@ static char *rna_BoidSettings_path(PointerRNA *ptr)
   BoidSettings *boids = (BoidSettings *)ptr->data;
 
   if (particle_id_check(ptr)) {
-    ParticleSettings *part = (ParticleSettings *)ptr->id.data;
+    ParticleSettings *part = (ParticleSettings *)ptr->owner_id;
 
     if (part->boids == boids) {
       return BLI_strdup("boids");
index 713ddfa0067e899fb0f4ae4013dbb40a7a4313a8..15602599e4e310faa0e99c68339b45953a898c3f 100644 (file)
@@ -434,27 +434,27 @@ static bool rna_BrushCapabilitiesImagePaint_has_radius_get(PointerRNA *ptr)
 
 static PointerRNA rna_Sculpt_tool_capabilities_get(PointerRNA *ptr)
 {
-  return rna_pointer_inherit_refine(ptr, &RNA_BrushCapabilitiesSculpt, ptr->id.data);
+  return rna_pointer_inherit_refine(ptr, &RNA_BrushCapabilitiesSculpt, ptr->owner_id);
 }
 
 static PointerRNA rna_Imapaint_tool_capabilities_get(PointerRNA *ptr)
 {
-  return rna_pointer_inherit_refine(ptr, &RNA_BrushCapabilitiesImagePaint, ptr->id.data);
+  return rna_pointer_inherit_refine(ptr, &RNA_BrushCapabilitiesImagePaint, ptr->owner_id);
 }
 
 static PointerRNA rna_Vertexpaint_tool_capabilities_get(PointerRNA *ptr)
 {
-  return rna_pointer_inherit_refine(ptr, &RNA_BrushCapabilitiesVertexPaint, ptr->id.data);
+  return rna_pointer_inherit_refine(ptr, &RNA_BrushCapabilitiesVertexPaint, ptr->owner_id);
 }
 
 static PointerRNA rna_Weightpaint_tool_capabilities_get(PointerRNA *ptr)
 {
-  return rna_pointer_inherit_refine(ptr, &RNA_BrushCapabilitiesWeightPaint, ptr->id.data);
+  return rna_pointer_inherit_refine(ptr, &RNA_BrushCapabilitiesWeightPaint, ptr->owner_id);
 }
 
 static PointerRNA rna_Brush_capabilities_get(PointerRNA *ptr)
 {
-  return rna_pointer_inherit_refine(ptr, &RNA_BrushCapabilities, ptr->id.data);
+  return rna_pointer_inherit_refine(ptr, &RNA_BrushCapabilities, ptr->owner_id);
 }
 
 static void rna_Brush_reset_icon(Brush *br)
@@ -764,7 +764,7 @@ static void rna_BrushGpencilSettings_use_material_pin_update(bContext *C, Pointe
 {
   ViewLayer *view_layer = CTX_data_view_layer(C);
   Object *ob = OBACT(view_layer);
-  Brush *brush = ptr->id.data;
+  Brush *brush = (Brush *)ptr->owner_id;
 
   if (brush->gpencil_settings->flag & GP_BRUSH_MATERIAL_PINNED) {
     Material *material = give_current_material(ob, ob->actcol);
index 71c9b7dbd1fe6a88ee4c0ca44a385890e0034571..88083f600f85daadbfaab57978c857c8daa3f7e7 100644 (file)
 
 static float rna_Camera_angle_get(PointerRNA *ptr)
 {
-  Camera *cam = ptr->id.data;
+  Camera *cam = (Camera *)ptr->owner_id;
   float sensor = BKE_camera_sensor_size(cam->sensor_fit, cam->sensor_x, cam->sensor_y);
   return focallength_to_fov(cam->lens, sensor);
 }
 
 static void rna_Camera_angle_set(PointerRNA *ptr, float value)
 {
-  Camera *cam = ptr->id.data;
+  Camera *cam = (Camera *)ptr->owner_id;
   float sensor = BKE_camera_sensor_size(cam->sensor_fit, cam->sensor_x, cam->sensor_y);
   cam->lens = fov_to_focallength(value, sensor);
 }
 
 static float rna_Camera_angle_x_get(PointerRNA *ptr)
 {
-  Camera *cam = ptr->id.data;
+  Camera *cam = (Camera *)ptr->owner_id;
   return focallength_to_fov(cam->lens, cam->sensor_x);
 }
 
 static void rna_Camera_angle_x_set(PointerRNA *ptr, float value)
 {
-  Camera *cam = ptr->id.data;
+  Camera *cam = (Camera *)ptr->owner_id;
   cam->lens = fov_to_focallength(value, cam->sensor_x);
 }
 
 static float rna_Camera_angle_y_get(PointerRNA *ptr)
 {
-  Camera *cam = ptr->id.data;
+  Camera *cam = (Camera *)ptr->owner_id;
   return focallength_to_fov(cam->lens, cam->sensor_y);
 }
 
 static void rna_Camera_angle_y_set(PointerRNA *ptr, float value)
 {
-  Camera *cam = ptr->id.data;
+  Camera *cam = (Camera *)ptr->owner_id;
   cam->lens = fov_to_focallength(value, cam->sensor_y);
 }
 
 static void rna_Camera_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
 {
-  Camera *camera = (Camera *)ptr->id.data;
+  Camera *camera = (Camera *)ptr->owner_id;
 
   DEG_id_tag_update(&camera->id, 0);
 }
 
 static void rna_Camera_dependency_update(Main *bmain, Scene *UNUSED(scene), PointerRNA *ptr)
 {
-  Camera *camera = (Camera *)ptr->id.data;
+  Camera *camera = (Camera *)ptr->owner_id;
   DEG_relations_tag_update(bmain);
   DEG_id_tag_update(&camera->id, 0);
 }
@@ -136,8 +136,8 @@ char *rna_CameraDOFSettings_path(PointerRNA *ptr)
    * since the name used is the name of the texture assigned, but the texture
    * may be used multiple times in the same stack
    */
-  if (ptr->id.data) {
-    if (GS(((ID *)ptr->id.data)->name) == ID_CA) {
+  if (ptr->owner_id) {
+    if (GS(ptr->owner_id->name) == ID_CA) {
       return BLI_strdup("dof");
     }
   }
index ea33a5bc8e431c396e0fa8897d8d39a70981a50e..036aeebda52c5232048b6bf6d1a231b0ebbdadba 100644 (file)
@@ -45,7 +45,7 @@
 
 static void rna_cloth_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
 {
-  Object *ob = (Object *)ptr->id.data;
+  Object *ob = (Object *)ptr->owner_id;
 
   DEG_id_tag_update(&ob->id, ID_RECALC_GEOMETRY);
   WM_main_add_notifier(NC_OBJECT | ND_MODIFIER, ob);
@@ -59,7 +59,7 @@ static void rna_cloth_dependency_update(Main *bmain, Scene *scene, PointerRNA *p
 
 static void rna_cloth_pinning_changed(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
 {
-  Object *ob = (Object *)ptr->id.data;
+  Object *ob = (Object *)ptr->owner_id;
   /*  ClothSimSettings *settings = (ClothSimSettings *)ptr->data; */
   ClothModifierData *clmd = (ClothModifierData *)modifiers_findByType(ob, eModifierType_Cloth);
 
@@ -311,7 +311,7 @@ static void rna_CollSettings_selfcol_vgroup_set(PointerRNA *ptr, const char *val
 
 static PointerRNA rna_ClothSettings_rest_shape_key_get(PointerRNA *ptr)
 {
-  Object *ob = (Object *)ptr->id.data;
+  Object *ob = (Object *)ptr->owner_id;
   ClothSimSettings *sim = (ClothSimSettings *)ptr->data;
 
   return rna_object_shapekey_index_get(ob->data, sim->shapekey_rest);
@@ -321,7 +321,7 @@ static void rna_ClothSettings_rest_shape_key_set(PointerRNA *ptr,
                                                  PointerRNA value,
                                                  struct ReportList *UNUSED(reports))
 {
-  Object *ob = (Object *)ptr->id.data;
+  Object *ob = (Object *)ptr->owner_id;
   ClothSimSettings *sim = (ClothSimSettings *)ptr->data;
 
   sim->shapekey_rest = rna_object_shapekey_index_set(ob->data, value, sim->shapekey_rest);
@@ -347,7 +347,7 @@ static void rna_ClothSettings_gravity_set(PointerRNA *ptr, const float *values)
 
 static char *rna_ClothSettings_path(PointerRNA *ptr)
 {
-  Object *ob = (Object *)ptr->id.data;
+  Object *ob = (Object *)ptr->owner_id;
   ModifierData *md = modifiers_findByType(ob, eModifierType_Cloth);
 
   if (md) {
@@ -362,7 +362,7 @@ static char *rna_ClothSettings_path(PointerRNA *ptr)
 
 static char *rna_ClothCollisionSettings_path(PointerRNA *ptr)
 {
-  Object *ob = (Object *)ptr->id.data;
+  Object *ob = (Object *)ptr->owner_id;
   ModifierData *md = modifiers_findByType(ob, eModifierType_Cloth);
 
   if (md) {
index 15d73aae0ae11100d4f9f7093468fdb348137f08..fb366422f34367bc6236b0d46159e91fe6b2916a 100644 (file)
@@ -134,7 +134,7 @@ static bool rna_Collection_objects_override_apply(Main *bmain,
              "Unsupported RNA override operation on collections' objects");
   UNUSED_VARS_NDEBUG(opop);
 
-  Collection *coll_dst = ptr_dst->id.data;
+  Collection *coll_dst = (Collection *)ptr_dst->owner_id;
 
   if (ptr_item_dst->type == NULL || ptr_item_src->type == NULL) {
     BLI_assert(0 && "invalid source or destination object.");
@@ -237,7 +237,7 @@ static bool rna_Collection_children_override_apply(Main *bmain,
              "Unsupported RNA override operation on collections' children");
   UNUSED_VARS_NDEBUG(opop);
 
-  Collection *coll_dst = ptr_dst->id.data;
+  Collection *coll_dst = (Collection *)ptr_dst->owner_id;
 
   if (ptr_item_dst->type == NULL || ptr_item_src->type == NULL) {
     BLI_assert(0 && "invalid source or destination sub-collection.");
index 6bfd2b9f63b922499962a34b9db38bf4e0adb501..011e373cc612d02c6180beee38884678f68bd7ef 100644 (file)
@@ -164,8 +164,8 @@ static char *rna_ColorRamp_path(PointerRNA *ptr)
   char *path = NULL;
 
   /* handle the cases where a single data-block may have 2 ramp types */
-  if (ptr->id.data) {
-    ID *id = ptr->id.data;
+  if (ptr->owner_id) {
+    ID *id = ptr->owner_id;
 
     switch (GS(id->name)) {
       case ID_NT: {
@@ -237,8 +237,8 @@ static char *rna_ColorRampElement_path(PointerRNA *ptr)
 
   /* determine the path from the ID-block to the ramp */
   /* FIXME: this is a very slow way to do it, but it will have to suffice... */
-  if (ptr->id.data) {
-    ID *id = ptr->id.data;
+  if (ptr->owner_id) {
+    ID *id = ptr->owner_id;
 
     switch (GS(id->name)) {
       case ID_NT: {
@@ -286,12 +286,12 @@ static char *rna_ColorRampElement_path(PointerRNA *ptr)
 
 static void rna_ColorRamp_update(Main *bmain, Scene *UNUSED(scene), PointerRNA *ptr)
 {
-  if (ptr->id.data) {
-    ID *id = ptr->id.data;
+  if (ptr->owner_id) {
+    ID *id = ptr->owner_id;
 
     switch (GS(id->name)) {
       case ID_MA: {
-        Material *ma = ptr->id.data;
+        Material *ma = (Material *)ptr->owner_id;
 
         DEG_id_tag_update(&ma->id, 0);
         WM_main_add_notifier(NC_MATERIAL | ND_SHADING_DRAW, ma);
@@ -309,20 +309,20 @@ static void rna_ColorRamp_update(Main *bmain, Scene *UNUSED(scene), PointerRNA *
         break;
       }
       case ID_TE: {
-        Tex *tex = ptr->id.data;
+        Tex *tex = (Tex *)ptr->owner_id;
 
         DEG_id_tag_update(&tex->id, 0);
         WM_main_add_notifier(NC_TEXTURE, tex);
         break;
       }
       case ID_LS: {
-        FreestyleLineStyle *linestyle = ptr->id.data;
+        FreestyleLineStyle *linestyle = (FreestyleLineStyle *)ptr->owner_id;
 
         WM_main_add_notifier(NC_LINESTYLE, linestyle);
         break;
       }
       case ID_PA: {
-        ParticleSettings *part = ptr->id.data;
+        ParticleSettings *part = (ParticleSettings *)ptr->owner_id;
 
         DEG_id_tag_update(&part->id, ID_RECALC_GEOMETRY | ID_RECALC_PSYS_REDO);
         WM_main_add_notifier(NC_OBJECT | ND_PARTICLE | NA_EDITED, part);
@@ -417,7 +417,7 @@ static void rna_ColorManagedDisplaySettings_display_device_update(Main *bmain,
                                                                   Scene *UNUSED(scene),
                                                                   PointerRNA *ptr)
 {
-  ID *id = ptr->id.data;
+  ID *id = ptr->owner_id;
 
   if (!id) {
     return;
@@ -582,7 +582,7 @@ static void rna_ColorManagedColorspaceSettings_reload_update(Main *bmain,
                                                              Scene *UNUSED(scene),
                                                              PointerRNA *ptr)
 {
-  ID *id = ptr->id.data;
+  ID *id = ptr->owner_id;
 
   if (GS(id->name) == ID_IM) {
     Image *ima = (Image *)id;
@@ -657,7 +657,7 @@ static char *rna_ColorManagedInputColorspaceSettings_path(PointerRNA *UNUSED(ptr
 
 static void rna_ColorManagement_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
 {
-  ID *id = ptr->id.data;
+  ID *id = ptr->owner_id;
 
   if (!id) {
     return;
index 68a5a01dab882f093b85d35179c62bea25c85df9..08d2a03b2a96d0f9053f7542abb77740e434bf7d 100644 (file)
@@ -376,8 +376,8 @@ static void rna_Constraint_name_set(PointerRNA *ptr, const char *value)
   BLI_strncpy_utf8(con->name, value, sizeof(con->name));
 
   /* make sure name is unique */
-  if (ptr->id.data) {
-    Object *ob = ptr->id.data;
+  if (ptr->owner_id) {
+    Object *ob = (Object *)ptr->owner_id;
     ListBase *list = get_constraint_lb(ob, con, NULL);
 
     /* if we have the list, check for unique name, otherwise give up */
@@ -418,7 +418,7 @@ static char *rna_Constraint_do_compute_path(Object *ob, bConstraint *con)
 
 static char *rna_Constraint_path(PointerRNA *ptr)
 {
-  Object *ob = ptr->id.data;
+  Object *ob = (Object *)ptr->owner_id;
   bConstraint *con = ptr->data;
 
   return rna_Constraint_do_compute_path(ob, con);
@@ -426,7 +426,7 @@ static char *rna_Constraint_path(PointerRNA *ptr)
 
 static bConstraint *rna_constraint_from_target(PointerRNA *ptr)
 {
-  Object *ob = ptr->id.data;
+  Object *ob = (Object *)ptr->owner_id;
   bConstraintTarget *tgt = ptr->data;
 
   return BKE_constraint_find_from_target(ob, tgt, NULL);
@@ -434,7 +434,7 @@ static bConstraint *rna_constraint_from_target(PointerRNA *ptr)
 
 static char *rna_ConstraintTarget_path(PointerRNA *ptr)
 {
-  Object *ob = ptr->id.data;
+  Object *ob = (Object *)ptr->owner_id;
   bConstraintTarget *tgt = ptr->data;
   bConstraint *con = rna_constraint_from_target(ptr);
   int index = -1;
@@ -469,29 +469,30 @@ static char *rna_ConstraintTarget_path(PointerRNA *ptr)
 
 static void rna_Constraint_update(Main *bmain, Scene *UNUSED(scene), PointerRNA *ptr)
 {
-  ED_object_constraint_tag_update(bmain, ptr->id.data, ptr->data);
+  ED_object_constraint_tag_update(bmain, (Object *)ptr->owner_id, ptr->data);
 }
 
 static void rna_Constraint_dependency_update(Main *bmain, Scene *UNUSED(scene), PointerRNA *ptr)
 {
-  ED_object_constraint_dependency_tag_update(bmain, ptr->id.data, ptr->data);
+  ED_object_constraint_dependency_tag_update(bmain, (Object *)ptr->owner_id, ptr->data);
 }
 
 static void rna_ConstraintTarget_update(Main *bmain, Scene *UNUSED(scene), PointerRNA *ptr)
 {
-  ED_object_constraint_tag_update(bmain, ptr->id.data, rna_constraint_from_target(ptr));
+  ED_object_constraint_tag_update(bmain, (Object *)ptr->owner_id, rna_constraint_from_target(ptr));
 }
 
 static void rna_ConstraintTarget_dependency_update(Main *bmain,
                                                    Scene *UNUSED(scene),
                                                    PointerRNA *ptr)
 {
-  ED_object_constraint_dependency_tag_update(bmain, ptr->id.data, rna_constraint_from_target(ptr));
+  ED_object_constraint_dependency_tag_update(
+      bmain, (Object *)ptr->owner_id, rna_constraint_from_target(ptr));
 }
 
 static void rna_Constraint_influence_update(Main *bmain, Scene *scene, PointerRNA *ptr)
 {
-  Object *ob = ptr->id.data;
+  Object *ob = (Object *)ptr->owner_id;
 
   if (ob->pose) {
     ob->pose->flag |= (POSE_LOCKED | POSE_DO_UNLOCK);
@@ -523,7 +524,7 @@ static const EnumPropertyItem *rna_Constraint_owner_space_itemf(bContext *UNUSED
                                                                 PropertyRNA *UNUSED(prop),
                                                                 bool *UNUSED(r_free))
 {
-  Object *ob = (Object *)ptr->id.data;
+  Object *ob = (Object *)ptr->owner_id;
   bConstraint *con = (bConstraint *)ptr->data;
 
   if (BLI_findindex(&ob->constraints, con) == -1) {
@@ -671,7 +672,7 @@ static bool rna_Constraint_cameraObject_poll(PointerRNA *ptr, PointerRNA value)
   Object *ob = (Object *)value.data;
 
   if (ob) {
-    if (ob->type == OB_CAMERA && ob != (Object *)ptr->id.data) {
+    if (ob->type == OB_CAMERA && ob != (Object *)ptr->owner_id) {
       return 1;
     }
   }
@@ -688,7 +689,7 @@ static void rna_Constraint_followTrack_camera_set(PointerRNA *ptr,
   Object *ob = (Object *)value.data;
 
   if (ob) {
-    if (ob->type == OB_CAMERA && ob != (Object *)ptr->id.data) {
+    if (ob->type == OB_CAMERA && ob != (Object *)ptr->owner_id) {
       data->camera = ob;
       id_lib_extern((ID *)ob);
     }
@@ -707,7 +708,7 @@ static void rna_Constraint_followTrack_depthObject_set(PointerRNA *ptr,
   Object *ob = (Object *)value.data;
 
   if (ob) {
-    if (ob->type == OB_MESH && ob != (Object *)ptr->id.data) {
+    if (ob->type == OB_MESH && ob != (Object *)ptr->owner_id) {
       data->depth_ob = ob;
       id_lib_extern((ID *)ob);
     }
@@ -722,7 +723,7 @@ static bool rna_Constraint_followTrack_depthObject_poll(PointerRNA *ptr, Pointer
   Object *ob = (Object *)value.data;
 
   if (ob) {
-    if (ob->type == OB_MESH && ob != (Object *)ptr->id.data) {
+    if (ob->type == OB_MESH && ob != (Object *)ptr->owner_id) {
       return 1;
     }
   }
@@ -739,7 +740,7 @@ static void rna_Constraint_objectSolver_camera_set(PointerRNA *ptr,
   Object *ob = (Object *)value.data;
 
   if (ob) {
-    if (ob->type == OB_CAMERA && ob != (Object *)ptr->id.data) {
+    if (ob->type == OB_CAMERA && ob != (Object *)ptr->owner_id) {
       data->camera = ob;
       id_lib_extern((ID *)ob);
     }
index 735cd1fd92386c864ea9dea4af2342f6f1c0a6ea..579dd92b70376ef0f66f7b829d61ff84cd7a4e40 100644 (file)
@@ -178,14 +178,14 @@ static PointerRNA rna_Context_collection_get(PointerRNA *ptr)
 static PointerRNA rna_Context_layer_collection_get(PointerRNA *ptr)
 {
   bContext *C = (bContext *)ptr->data;
-  ptr->id.data = CTX_data_scene(C);
+  ptr->owner_id = &CTX_data_scene(C)->id;
   return rna_pointer_inherit_refine(ptr, &RNA_LayerCollection, CTX_data_layer_collection(C));
 }
 
 static PointerRNA rna_Context_tool_settings_get(PointerRNA *ptr)
 {
   bContext *C = (bContext *)ptr->data;
-  ptr->id.data = CTX_data_scene(C);
+  ptr->owner_id = &CTX_data_scene(C)->id;
   return rna_pointer_inherit_refine(ptr, &RNA_ToolSettings, CTX_data_tool_settings(C));
 }
 
index c5864c3520233b9080f2b9fdf64725012773114c..a7dac4100db58e95cc3d23c6fe383073d62b193c 100644 (file)
@@ -326,7 +326,7 @@ static void rna_Curve_texspace_size_set(PointerRNA *ptr, const float *values)
 static void rna_Curve_material_index_range(
     PointerRNA *ptr, int *min, int *max, int *UNUSED(softmin), int *UNUSED(softmax))
 {
-  Curve *cu = (Curve *)ptr->id.data;
+  Curve *cu = (Curve *)ptr->owner_id;
   *min = 0;
   *max = max_ii(0, cu->totcol - 1);
 }
@@ -347,14 +347,14 @@ static void rna_ChariInfo_material_index_set(PointerRNA *ptr, int value)
 static void rna_Curve_active_textbox_index_range(
     PointerRNA *ptr, int *min, int *max, int *UNUSED(softmin), int *UNUSED(softmax))
 {
-  Curve *cu = (Curve *)ptr->id.data;
+  Curve *cu = (Curve *)ptr->owner_id;
   *min = 0;
   *max = max_ii(0, cu->totbox - 1);
 }
 
 static void rna_Curve_dimension_set(PointerRNA *ptr, int value)
 {
-  Curve *cu = (Curve *)ptr->id.data;
+  Curve *cu = (Curve *)ptr->owner_id;
   if (value == CU_3D) {
     cu->flag |= CU_3D;
   }
@@ -370,7 +370,7 @@ static const EnumPropertyItem *rna_Curve_fill_mode_itemf(bContext *UNUSED(C),
                                                          PropertyRNA *UNUSED(prop),
                                                          bool *UNUSED(r_free))
 {
-  Curve *cu = (Curve *)ptr->id.data;
+  Curve *cu = (Curve *)ptr->owner_id;
 
   /* cast to quiet warning it IS a const still */
   return (EnumPropertyItem *)((cu->flag & CU_3D) ? curve3d_fill_mode_items :
@@ -388,7 +388,7 @@ static int rna_Nurb_length(PointerRNA *ptr)
 
 static void rna_Nurb_type_set(PointerRNA *ptr, int value)
 {
-  Curve *cu = (Curve *)ptr->id.data;
+  Curve *cu = (Curve *)ptr->owner_id;
   Nurb *nu = (Nurb *)ptr->data;
   const int pntsu_prev = nu->pntsu;
 
@@ -418,7 +418,7 @@ static void rna_Curve_update_data_id(Main *UNUSED(bmain), Scene *UNUSED(scene),
 
 static void rna_Curve_update_data(Main *bmain, Scene *scene, PointerRNA *ptr)
 {
-  rna_Curve_update_data_id(bmain, scene, ptr->id.data);
+  rna_Curve_update_data_id(bmain, scene, ptr->owner_id);
 }
 
 static void rna_Curve_update_deps(Main *bmain, Scene *scene, PointerRNA *ptr)
@@ -429,7 +429,7 @@ static void rna_Curve_update_deps(Main *bmain, Scene *scene, PointerRNA *ptr)
 
 static void rna_Curve_update_points(Main *bmain, Scene *scene, PointerRNA *ptr)
 {
-  Curve *cu = (Curve *)ptr->id.data;
+  Curve *cu = (Curve *)ptr->owner_id;
   Nurb *nu = curve_nurb_from_point(cu, ptr->data, NULL, NULL);
 
   if (nu) {
@@ -441,7 +441,7 @@ static void rna_Curve_update_points(Main *bmain, Scene *scene, PointerRNA *ptr)
 
 static PointerRNA rna_Curve_bevelObject_get(PointerRNA *ptr)
 {
-  Curve *cu = (Curve *)ptr->id.data;
+  Curve *cu = (Curve *)ptr->owner_id;
   Object *ob = cu->bevobj;
 
   if (ob) {
@@ -455,7 +455,7 @@ static void rna_Curve_bevelObject_set(PointerRNA *ptr,
                                       PointerRNA value,
                                       struct ReportList *UNUSED(reports))
 {
-  Curve *cu = (Curve *)ptr->id.data;
+  Curve *cu = (Curve *)ptr->owner_id;
   Object *ob = (Object *)value.data;
 
   if (ob) {
@@ -473,7 +473,7 @@ static void rna_Curve_bevelObject_set(PointerRNA *ptr,
 
 static bool rna_Curve_otherObject_poll(PointerRNA *ptr, PointerRNA value)
 {
-  Curve *cu = (Curve *)ptr->id.data;
+  Curve *cu = (Curve *)ptr->owner_id;
   Object *ob = (Object *)value.data;
 
   if (ob) {
@@ -487,7 +487,7 @@ static bool rna_Curve_otherObject_poll(PointerRNA *ptr, PointerRNA value)
 
 static PointerRNA rna_Curve_taperObject_get(PointerRNA *ptr)
 {
-  Curve *cu = (Curve *)ptr->id.data;
+  Curve *cu = (Curve *)ptr->owner_id;
   Object *ob = cu->taperobj;
 
   if (ob) {
@@ -501,7 +501,7 @@ static void rna_Curve_taperObject_set(PointerRNA *ptr,
                                       PointerRNA value,
                                       struct ReportList *UNUSED(reports))
 {
-  Curve *cu = (Curve *)ptr->id.data;
+  Curve *cu = (Curve *)ptr->owner_id;
   Object *ob = (Object *)value.data;
 
   if (ob) {
@@ -519,7 +519,7 @@ static void rna_Curve_taperObject_set(PointerRNA *ptr,
 
 static void rna_Curve_resolution_u_update_data(Main *bmain, Scene *scene, PointerRNA *ptr)
 {
-  Curve *cu = (Curve *)ptr->id.data;
+  Curve *cu = (Curve *)ptr->owner_id;
   ListBase *nurbs = BKE_curve_nurbs_get(cu);
   Nurb *nu = nurbs->first;
 
@@ -533,7 +533,7 @@ static void rna_Curve_resolution_u_update_data(Main *bmain, Scene *scene, Pointe
 
 static void rna_Curve_resolution_v_update_data(Main *bmain, Scene *scene, PointerRNA *ptr)
 {
-  Curve *cu = (Curve *)ptr->id.data;
+  Curve *cu = (Curve *)ptr->owner_id;
   ListBase *nurbs = BKE_curve_nurbs_get(cu);
   Nurb *nu = nurbs->first;
 
@@ -547,26 +547,26 @@ static void rna_Curve_resolution_v_update_data(Main *bmain, Scene *scene, Pointe
 
 static float rna_Curve_offset_get(PointerRNA *ptr)
 {
-  Curve *cu = (Curve *)ptr->id.data;
+  Curve *cu = (Curve *)ptr->owner_id;
   return cu->width - 1.0f;
 }
 
 static void rna_Curve_offset_set(PointerRNA *ptr, float value)
 {
-  Curve *cu = (Curve *)ptr->id.data;
+  Curve *cu = (Curve *)ptr->owner_id;
   cu->width = 1.0f + value;
 }
 
 static int rna_Curve_body_length(PointerRNA *ptr);
 static void rna_Curve_body_get(PointerRNA *ptr, char *value)
 {
-  Curve *cu = (Curve *)ptr->id.data;
+  Curve *cu = (Curve *)ptr->owner_id;
   BLI_strncpy(value, cu->str, rna_Curve_body_length(ptr) + 1);
 }
 
 static int rna_Curve_body_length(PointerRNA *ptr)
 {
-  Curve *cu = (Curve *)ptr->id.data;
+  Curve *cu = (Curve *)ptr->owner_id;
   return cu->len;
 }
 
@@ -576,7 +576,7 @@ static void rna_Curve_body_set(PointerRNA *ptr, const char *value)
   size_t len_bytes;
   size_t len_chars = BLI_strlen_utf8_ex(value, &len_bytes);
 
-  Curve *cu = (Curve *)ptr->id.data;
+  Curve *cu = (Curve *)ptr->owner_id;
 
   cu->len_wchar = len_chars;
   cu->len = len_bytes;
@@ -770,7 +770,7 @@ static void rna_Curve_active_spline_set(PointerRNA *ptr,
 
 static char *rna_Curve_spline_path(PointerRNA *ptr)
 {
-  Curve *cu = (Curve *)ptr->id.data;
+  Curve *cu = (Curve *)ptr->owner_id;
   ListBase *nubase = BKE_curve_nurbs_get(cu);
   Nurb *nu = ptr->data;
   int index = BLI_findindex(nubase, nu);
@@ -786,7 +786,7 @@ static char *rna_Curve_spline_path(PointerRNA *ptr)
 /* use for both bezier and nurbs */
 static char *rna_Curve_spline_point_path(PointerRNA *ptr)
 {
-  Curve *cu = (Curve *)ptr->id.data;
+  Curve *cu = (Curve *)ptr->owner_id;
   Nurb *nu;
   void *point = ptr->data;
   int nu_index, pt_index;
@@ -808,7 +808,7 @@ static char *rna_Curve_spline_point_path(PointerRNA *ptr)
 
 static char *rna_TextBox_path(PointerRNA *ptr)
 {
-  Curve *cu = (Curve *)ptr->id.data;
+  Curve *cu = (Curve *)ptr->owner_id;
   TextBox *tb = ptr->data;
   int index = (int)(tb - cu->tb);
 
@@ -822,13 +822,13 @@ static char *rna_TextBox_path(PointerRNA *ptr)
 
 static void rna_Curve_splines_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
 {
-  Curve *cu = (Curve *)ptr->id.data;
+  Curve *cu = (Curve *)ptr->owner_id;
   rna_iterator_listbase_begin(iter, BKE_curve_nurbs_get(cu), NULL);
 }
 
 static bool rna_Curve_is_editmode_get(PointerRNA *ptr)
 {
-  Curve *cu = (Curve *)ptr->id.data;
+  Curve *cu = (Curve *)ptr->owner_id;
   const short type = BKE_curve_type_get(cu);
   if (type == OB_FONT) {
     return (cu->editfont != NULL);
index 792c4450b9cf40615fef426af66c0abe12afbb27..30a68a4919ea415a17c2941c9b9242cf675641ae 100644 (file)
@@ -92,7 +92,7 @@ static void rna_DynamicPaint_redoModifier(Main *UNUSED(bmain),
                                           Scene *UNUSED(scene),
                                           PointerRNA *ptr)
 {
-  DEG_id_tag_update(ptr->id.data, ID_RECALC_GEOMETRY);
+  DEG_id_tag_update(ptr->owner_id, ID_RECALC_GEOMETRY);
 }
 
 static void rna_DynamicPaintSurfaces_updateFrames(Main *UNUSED(bmain),
index 222d2fc69dadbc99317005568f064db4b0b5da26..6c546940e6ddea7181fdf86c5e6d301abd3a7f5f 100644 (file)
@@ -183,7 +183,7 @@ static bool rna_ChannelDriver_is_simple_expression_get(PointerRNA *ptr)
 
 static void rna_ChannelDriver_update_data(Main *bmain, Scene *scene, PointerRNA *ptr)
 {
-  ID *id = ptr->id.data;
+  ID *id = ptr->owner_id;
   ChannelDriver *driver = ptr->data;
 
   driver->flag &= ~DRIVER_FLAG_INVALID;
@@ -211,7 +211,7 @@ static void rna_DriverTarget_update_data(Main *bmain, Scene *scene, PointerRNA *
   PointerRNA driverptr;
   ChannelDriver *driver;
   FCurve *fcu;
-  AnimData *adt = BKE_animdata_from_id(ptr->id.data);
+  AnimData *adt = BKE_animdata_from_id(ptr->owner_id);
 
   /* find the driver this belongs to and update it */
   for (fcu = adt->drivers.first; fcu; fcu = fcu->next) {
@@ -221,7 +221,7 @@ static void rna_DriverTarget_update_data(Main *bmain, Scene *scene, PointerRNA *
     if (driver) {
       /* FIXME: need to be able to search targets for required one... */
       /*BLI_findindex(&driver->targets, ptr->data) != -1)  */
-      RNA_pointer_create(ptr->id.data, &RNA_Driver, driver, &driverptr);
+      RNA_pointer_create(ptr->owner_id, &RNA_Driver, driver, &driverptr);
       rna_ChannelDriver_update_data(bmain, scene, &driverptr);
       return;
     }
@@ -466,8 +466,8 @@ static void rna_FCurve_group_set(PointerRNA *ptr,
                                  PointerRNA value,
                                  struct ReportList *UNUSED(reports))
 {
-  ID *pid = (ID *)ptr->id.data;
-  ID *vid = (ID *)value.id.data;
+  ID *pid = ptr->owner_id;
+  ID *vid = value.owner_id;
   FCurve *fcu = ptr->data;
   bAction *act = NULL;
 
@@ -491,7 +491,7 @@ static void rna_FCurve_group_set(PointerRNA *ptr,
   }
   else {
     /* the ID given is the owner of the F-Curve (for drivers) */
-    AnimData *adt = BKE_animdata_from_id(ptr->id.data);
+    AnimData *adt = BKE_animdata_from_id(ptr->owner_id);
     act = (adt) ? adt->action : NULL;
   }
 
@@ -572,7 +572,7 @@ static void rna_FCurve_update_data_ex(ID *id, FCurve *fcu, Main *bmain)
 static void rna_FCurve_update_data(Main *bmain, Scene *UNUSED(scene), PointerRNA *ptr)
 {
   BLI_assert(ptr->type == &RNA_FCurve);
-  rna_FCurve_update_data_ex((ID *)ptr->id.data, (FCurve *)ptr->data, bmain);
+  rna_FCurve_update_data_ex(ptr->owner_id, (FCurve *)ptr->data, bmain);
 }
 
 static void rna_FCurve_update_data_relations(Main *bmain,
@@ -587,7 +587,7 @@ static void rna_FCurve_update_data_relations(Main *bmain,
  */
 static void rna_FCurve_update_eval(Main *bmain, Scene *UNUSED(scene), PointerRNA *ptr)
 {
-  rna_tag_animation_update(bmain, (ID *)ptr->id.data, true);
+  rna_tag_animation_update(bmain, ptr->owner_id, true);
 }
 
 static PointerRNA rna_FCurve_active_modifier_get(PointerRNA *ptr)
@@ -700,7 +700,7 @@ static void rna_FModifier_blending_range(
 
 static void rna_FModifier_update(Main *bmain, Scene *UNUSED(scene), PointerRNA *ptr)
 {
-  ID *id = ptr->id.data;
+  ID *id = ptr->owner_id;
   FModifier *fcm = (FModifier *)ptr->data;
 
   if (fcm->curve && fcm->type == FMODIFIER_TYPE_CYCLES) {
@@ -1065,7 +1065,7 @@ static void rna_FModifierEnvelope_points_remove(
 
 static void rna_Keyframe_update(Main *bmain, Scene *UNUSED(scene), PointerRNA *ptr)
 {
-  rna_tag_animation_update(bmain, (ID *)ptr->id.data, true);
+  rna_tag_animation_update(bmain, ptr->owner_id, true);
 }
 
 #else
index 4536170238450a2645b477ecd793fb0919898acb..5d21e718934b2d3cf3913bf21d2b0a4b51c4697f 100644 (file)
@@ -75,7 +75,7 @@ static StructRNA *rna_FluidSettings_refine(struct PointerRNA *ptr)
 
 static void rna_fluid_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
 {
-  Object *ob = ptr->id.data;
+  Object *ob = (Object *)ptr->owner_id;
 
   DEG_id_tag_update(&ob->id, ID_RECALC_GEOMETRY);
   WM_main_add_notifier(NC_OBJECT | ND_MODIFIER, ob);
@@ -101,7 +101,7 @@ static int fluidsim_find_lastframe(Main *bmain, Object *ob, FluidsimSettings *fs
 
 static void rna_fluid_find_enframe(Main *bmain, Scene *scene, PointerRNA *ptr)
 {
-  Object *ob = ptr->id.data;
+  Object *ob = (Object *)ptr->owner_id;
   FluidsimModifierData *fluidmd = (FluidsimModifierData *)modifiers_findByType(
       ob, eModifierType_Fluidsim);
 
@@ -116,7 +116,7 @@ static void rna_fluid_find_enframe(Main *bmain, Scene *scene, PointerRNA *ptr)
 
 static void rna_FluidSettings_update_type(Main *bmain, Scene *scene, PointerRNA *ptr)
 {
-  Object *ob = (Object *)ptr->id.data;
+  Object *ob = (Object *)ptr->owner_id;
   FluidsimModifierData *fluidmd;
   ParticleSystemModifierData *psmd;
   ParticleSystem *psys, *next_psys;
@@ -177,7 +177,7 @@ static void rna_DomainFluidSettings_memory_estimate_get(PointerRNA *ptr, char *v
   (void)ptr;
   value[0] = '\0';
 #  else
-  Object *ob = (Object *)ptr->id.data;
+  Object *ob = (Object *)ptr->owner_id;
   FluidsimSettings *fss = (FluidsimSettings *)ptr->data;
 
   fluid_estimate_memory(ob, fss, value);
index 5313607d4ea96d4ddeaf662380337416dd87b248..bd3321377d33047ab4012156e241d72f596d48f6 100644 (file)
@@ -144,13 +144,13 @@ static EnumPropertyItem rna_enum_gpencil_caps_modes_items[] = {
 
 static void rna_GPencil_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
 {
-  DEG_id_tag_update(ptr->id.data, ID_RECALC_GEOMETRY);
+  DEG_id_tag_update(ptr->owner_id, ID_RECALC_GEOMETRY);
   WM_main_add_notifier(NC_GPENCIL | NA_EDITED, NULL);
 }
 
 static void rna_GPencil_autolock(Main *bmain, Scene *scene, PointerRNA *ptr)
 {
-  bGPdata *gpd = (bGPdata *)ptr->id.data;
+  bGPdata *gpd = (bGPdata *)ptr->owner_id;
   bGPDlayer *gpl = NULL;
 
   if (gpd->flag & GP_DATA_AUTOLOCK_LAYERS) {
@@ -182,7 +182,7 @@ static void rna_GPencil_autolock(Main *bmain, Scene *scene, PointerRNA *ptr)
 
 static void rna_GPencil_editmode_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
 {
-  bGPdata *gpd = (bGPdata *)ptr->id.data;
+  bGPdata *gpd = (bGPdata *)ptr->owner_id;
   DEG_id_tag_update(&gpd->id, ID_RECALC_TRANSFORM | ID_RECALC_GEOMETRY);
 
   /* Notify all places where GPencil data lives that the editing state is different */
@@ -194,7 +194,7 @@ static void UNUSED_FUNCTION(rna_GPencil_onion_skinning_update)(Main *bmain,
                                                                Scene *scene,
                                                                PointerRNA *ptr)
 {
-  bGPdata *gpd = (bGPdata *)ptr->id.data;
+  bGPdata *gpd = (bGPdata *)ptr->owner_id;
   bGPDlayer *gpl;
   bool enabled = false;
 
@@ -362,7 +362,7 @@ static bool rna_GPencilLayer_is_parented_get(PointerRNA *ptr)
 
 static PointerRNA rna_GPencil_active_layer_get(PointerRNA *ptr)
 {
-  bGPdata *gpd = ptr->id.data;
+  bGPdata *gpd = (bGPdata *)ptr->owner_id;
 
   if (GS(gpd->id.name) == ID_GD) { /* why would this ever be not GD */
     bGPDlayer *gl;
@@ -385,7 +385,7 @@ static void rna_GPencil_active_layer_set(PointerRNA *ptr,
                                          PointerRNA value,
                                          struct ReportList *UNUSED(reports))
 {
-  bGPdata *gpd = ptr->id.data;
+  bGPdata *gpd = (bGPdata *)ptr->owner_id;
 
   /* Don't allow setting active layer to NULL if layers exist
    * as this breaks various tools. Tools should be used instead
@@ -414,7 +414,7 @@ static void rna_GPencil_active_layer_set(PointerRNA *ptr,
 
 static int rna_GPencil_active_layer_index_get(PointerRNA *ptr)
 {
-  bGPdata *gpd = (bGPdata *)ptr->id.data;
+  bGPdata *gpd = (bGPdata *)ptr->owner_id;
   bGPDlayer *gpl = BKE_gpencil_layer_getactive(gpd);
 
   return BLI_findindex(&gpd->layers, gpl);
@@ -422,7 +422,7 @@ static int rna_GPencil_active_layer_index_get(PointerRNA *ptr)
 
 static void rna_GPencil_active_layer_index_set(PointerRNA *ptr, int value)
 {
-  bGPdata *gpd = (bGPdata *)ptr->id.data;
+  bGPdata *gpd = (bGPdata *)ptr->owner_id;
   bGPDlayer *gpl = BLI_findlink(&gpd->layers, value);
 
   BKE_gpencil_layer_setactive(gpd, gpl);
@@ -435,7 +435,7 @@ static void rna_GPencil_active_layer_index_set(PointerRNA *ptr, int value)
 static void rna_GPencil_active_layer_index_range(
     PointerRNA *ptr, int *min, int *max, int *softmin, int *softmax)
 {
-  bGPdata *gpd = (bGPdata *)ptr->id.data;
+  bGPdata *gpd = (bGPdata *)ptr->owner_id;
 
   *min = 0;
   *max = max_ii(0, BLI_listbase_count(&gpd->layers) - 1);
@@ -449,7 +449,7 @@ static const EnumPropertyItem *rna_GPencil_active_layer_itemf(bContext *C,
                                                               PropertyRNA *UNUSED(prop),
                                                               bool *r_free)
 {
-  bGPdata *gpd = (bGPdata *)ptr->id.data;
+  bGPdata *gpd = (bGPdata *)ptr->owner_id;
   bGPDlayer *gpl;
   EnumPropertyItem *item = NULL, item_tmp = {0};
   int totitem = 0;
@@ -478,7 +478,7 @@ static const EnumPropertyItem *rna_GPencil_active_layer_itemf(bContext *C,
 
 static void rna_GPencilLayer_info_set(PointerRNA *ptr, const char *value)
 {
-  bGPdata *gpd = ptr->id.data;
+  bGPdata *gpd = (bGPdata *)ptr->owner_id;
   bGPDlayer *gpl = ptr->data;
 
   char oldname[128] = "";
@@ -539,7 +539,7 @@ static bGPDstroke *rna_GPencil_stroke_point_find_stroke(const bGPdata *gpd,
 
 static void rna_GPencil_stroke_point_select_set(PointerRNA *ptr, const bool value)
 {
-  bGPdata *gpd = ptr->id.data;
+  bGPdata *gpd = (bGPdata *)ptr->owner_id;
   bGPDspoint *pt = ptr->data;
   bGPDstroke *gps = NULL;
 
index 21eaaf9dd502ac929768349d124487b97a650e50..0b40cc9f7f92b530aec4dc6d589ff4cdfbd47677 100644 (file)
@@ -228,8 +228,8 @@ static void rna_GpencilModifier_name_set(PointerRNA *ptr, const char *value)
   BLI_strncpy_utf8(gmd->name, value, sizeof(gmd->name));
 
   /* make sure the name is truly unique */
-  if (ptr->id.data) {
-    Object *ob = ptr->id.data;
+  if (ptr->owner_id) {
+    Object *ob = (Object *)ptr->owner_id;
     BKE_gpencil_modifier_unique_name(&ob->greasepencil_modifiers, gmd);
   }
 
@@ -248,8 +248,8 @@ static char *rna_GpencilModifier_path(PointerRNA *ptr)
 
 static void rna_GpencilModifier_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
 {
-  DEG_id_tag_update(ptr->id.data, ID_RECALC_GEOMETRY);
-  WM_main_add_notifier(NC_OBJECT | ND_MODIFIER, ptr->id.data);
+  DEG_id_tag_update(ptr->owner_id, ID_RECALC_GEOMETRY);
+  WM_main_add_notifier(NC_OBJECT | ND_MODIFIER, ptr->owner_id);
 }
 
 static void rna_GpencilModifier_dependency_update(Main *bmain, Scene *scene, PointerRNA *ptr)
@@ -300,7 +300,7 @@ static void greasepencil_modifier_object_set(Object *self,
         PointerRNA *ptr, PointerRNA value, struct ReportList *UNUSED(reports)) \
     { \
       _type##GpencilModifierData *tmd = (_type##GpencilModifierData *)ptr->data; \
-      greasepencil_modifier_object_set(ptr->id.data, &tmd->_prop, _obtype, value); \
+      greasepencil_modifier_object_set((Object *)ptr->owner_id, &tmd->_prop, _obtype, value); \
     }
 
 RNA_GP_MOD_OBJECT_SET(Armature, object, OB_ARMATURE);
index 75867b2fe13f445c95285f97e8f62f102c68bb2c..517bd2b727637a78a976b4dc3ff3ebdbd51b8051 100644 (file)
@@ -91,7 +91,7 @@ static bool rna_Image_dirty_get(PointerRNA *ptr)
 
 static void rna_Image_source_set(PointerRNA *ptr, int value)
 {
-  Image *ima = ptr->id.data;
+  Image *ima = (Image *)ptr->owner_id;
 
   if (value != ima->source) {
     ima->source = value;
@@ -105,7 +105,7 @@ static void rna_Image_source_set(PointerRNA *ptr, int value)
 
 static void rna_Image_reload_update(Main *bmain, Scene *UNUSED(scene), PointerRNA *ptr)
 {
-  Image *ima = ptr->id.data;
+  Image *ima = (Image *)ptr->owner_id;
   BKE_image_signal(bmain, ima, NULL, IMA_SIGNAL_RELOAD);
   WM_main_add_notifier(NC_IMAGE | NA_EDITED, &ima->id);
   DEG_id_tag_update(&ima->id, 0);
@@ -114,13 +114,13 @@ static void rna_Image_reload_update(Main *bmain, Scene *UNUSED(scene), PointerRN
 
 static void rna_Image_generated_update(Main *bmain, Scene *UNUSED(scene), PointerRNA *ptr)
 {
-  Image *ima = ptr->id.data;
+  Image *ima = (Image *)ptr->owner_id;
   BKE_image_signal(bmain, ima, NULL, IMA_SIGNAL_FREE);
 }
 
 static void rna_Image_colormanage_update(Main *bmain, Scene *UNUSED(scene), PointerRNA *ptr)
 {
-  Image *ima = ptr->id.data;
+  Image *ima = (Image *)ptr->owner_id;
   BKE_image_signal(bmain, ima, NULL, IMA_SIGNAL_COLORMANAGE);
   DEG_id_tag_update(&ima->id, 0);
   DEG_id_tag_update(&ima->id, ID_RECALC_EDITORS);
@@ -130,7 +130,7 @@ static void rna_Image_colormanage_update(Main *bmain, Scene *UNUSED(scene), Poin
 
 static void rna_Image_views_format_update(Main *bmain, Scene *scene, PointerRNA *ptr)
 {
-  Image *ima = ptr->id.data;
+  Image *ima = (Image *)ptr->owner_id;
   ImBuf *ibuf;
   void *lock;
 
@@ -148,7 +148,7 @@ static void rna_Image_views_format_update(Main *bmain, Scene *scene, PointerRNA
 static void rna_ImageUser_update(Main *bmain, Scene *scene, PointerRNA *ptr)
 {
   ImageUser *iuser = ptr->data;
-  ID *id = ptr->id.data;
+  ID *id = ptr->owner_id;
 
   BKE_image_user_frame_calc(NULL, iuser, scene->r.cfra);
 
@@ -173,10 +173,10 @@ static void rna_ImageUser_relations_update(Main *bmain, Scene *scene, PointerRNA
 
 static char *rna_ImageUser_path(PointerRNA *ptr)
 {
-  if (ptr->id.data) {
+  if (ptr->owner_id) {
     /* ImageUser *iuser = ptr->data; */
 
-    switch (GS(((ID *)ptr->id.data)->name)) {
+    switch (GS(ptr->owner_id->name)) {
       case ID_OB:
       case ID_TE: {
         return BLI_strdup("image_user");
@@ -331,7 +331,7 @@ static int rna_Image_depth_get(PointerRNA *ptr)
 
 static int rna_Image_frame_duration_get(PointerRNA *ptr)
 {
-  Image *ima = ptr->id.data;
+  Image *ima = (Image *)ptr->owner_id;
   int duration = 1;
 
   if (BKE_image_has_anim(ima)) {
@@ -352,7 +352,7 @@ static int rna_Image_frame_duration_get(PointerRNA *ptr)
 
 static int rna_Image_pixels_get_length(PointerRNA *ptr, int length[RNA_MAX_ARRAY_DIMENSION])
 {
-  Image *ima = ptr->id.data;
+  Image *ima = (Image *)ptr->owner_id;
   ImBuf *ibuf;
   void *lock;
 
@@ -372,7 +372,7 @@ static int rna_Image_pixels_get_length(PointerRNA *ptr, int length[RNA_MAX_ARRAY
 
 static void rna_Image_pixels_get(PointerRNA *ptr, float *values)
 {
-  Image *ima = ptr->id.data;
+  Image *ima = (Image *)ptr->owner_id;
   ImBuf *ibuf;
   void *lock;
   int i, size;
@@ -397,7 +397,7 @@ static void rna_Image_pixels_get(PointerRNA *ptr, float *values)
 
 static void rna_Image_pixels_set(PointerRNA *ptr, const float *values)
 {
-  Image *ima = ptr->id.data;
+  Image *ima = (Image *)ptr->owner_id;
   ImBuf *ibuf;
   void *lock;
   int i, size;
@@ -463,7 +463,7 @@ static bool rna_Image_is_float_get(PointerRNA *ptr)
 
 static PointerRNA rna_Image_packed_file_get(PointerRNA *ptr)
 {
-  Image *ima = (Image *)ptr->id.data;
+  Image *ima = (Image *)ptr->owner_id;
 
   if (BKE_image_has_packedfile(ima)) {
     ImagePackedFile *imapf = ima->packedfiles.first;
@@ -485,7 +485,7 @@ static void rna_RenderSlot_clear(ID *id, RenderSlot *slot, ImageUser *iuser)
 
 static PointerRNA rna_render_slots_active_get(PointerRNA *ptr)
 {
-  Image *image = (Image *)ptr->id.data;
+  Image *image = (Image *)ptr->owner_id;
   RenderSlot *render_slot = BKE_image_get_renderslot(image, image->render_slot);
 
   return rna_pointer_inherit_refine(ptr, &RNA_RenderSlot, render_slot);
@@ -495,8 +495,8 @@ static void rna_render_slots_active_set(PointerRNA *ptr,
                                         PointerRNA value,
                                         struct ReportList *UNUSED(reports))
 {
-  Image *image = (Image *)ptr->id.data;
-  if (value.id.data == image) {
+  Image *image = (Image *)ptr->owner_id;
+  if (value.owner_id == &image->id) {
     RenderSlot *slot = (RenderSlot *)value.data;
     int index = BLI_findindex(&image->renderslots, slot);
     if (index != -1) {
@@ -507,13 +507,13 @@ static void rna_render_slots_active_set(PointerRNA *ptr,
 
 static int rna_render_slots_active_index_get(PointerRNA *ptr)
 {
-  Image *image = (Image *)ptr->id.data;
+  Image *image = (Image *)ptr->owner_id;
   return image->render_slot;
 }
 
 static void rna_render_slots_active_index_set(PointerRNA *ptr, int value)
 {
-  Image *image = (Image *)ptr->id.data;
+  Image *image = (Image *)ptr->owner_id;
   int num_slots = BLI_listbase_count(&image->renderslots);
   image->render_slot = value;
   CLAMP(image->render_slot, 0, num_slots - 1);
@@ -522,7 +522,7 @@ static void rna_render_slots_active_index_set(PointerRNA *ptr, int value)
 static void rna_render_slots_active_index_range(
     PointerRNA *ptr, int *min, int *max, int *UNUSED(softmin), int *UNUSED(softmax))
 {
-  Image *image = (Image *)ptr->id.data;
+  Image *image = (Image *)ptr->owner_id;
   *min = 0;
   *max = max_ii(0, BLI_listbase_count(&image->renderslots) - 1);
 }
index 43024a2953401cb544fd560790b320163479d040..46c3adbd6ef0dcf399880400312a57fe53150487 100644 (file)
@@ -87,8 +87,8 @@ static void rna_ShapeKey_name_set(PointerRNA *ptr, const char *value)
   BLI_strncpy_utf8(kb->name, value, sizeof(kb->name));
 
   /* make sure the name is truly unique */
-  if (ptr->id.data) {
-    Key *key = rna_ShapeKey_find_key(ptr->id.data);
+  if (ptr->owner_id) {
+    Key *key = rna_ShapeKey_find_key(ptr->owner_id);
     BLI_uniquename(&key->block,
                    kb,
                    CTX_DATA_(BLT_I18NCONTEXT_ID_SHAPEKEY, "Key"),
@@ -174,7 +174,7 @@ static void rna_ShapeKey_slider_max_set(PointerRNA *ptr, float value)
 
 static Mesh *rna_KeyBlock_normals_get_mesh(PointerRNA *ptr, ID *id)
 {
-  Key *key = rna_ShapeKey_find_key((id == NULL && ptr != NULL) ? ptr->id.data : id);
+  Key *key = rna_ShapeKey_find_key((id == NULL && ptr != NULL) ? ptr->owner_id : id);
   id = key ? key->from : NULL;
 
   if (id != NULL) {
@@ -315,7 +315,7 @@ static PointerRNA rna_ShapeKey_relative_key_get(PointerRNA *ptr)
 {
   KeyBlock *kb = (KeyBlock *)ptr->data;
 
-  return rna_object_shapekey_index_get(ptr->id.data, kb->relative);
+  return rna_object_shapekey_index_get(ptr->owner_id, kb->relative);
 }
 
 static void rna_ShapeKey_relative_key_set(PointerRNA *ptr,
@@ -324,7 +324,7 @@ static void rna_ShapeKey_relative_key_set(PointerRNA *ptr,
 {
   KeyBlock *kb = (KeyBlock *)ptr->data;
 
-  kb->relative = rna_object_shapekey_index_set(ptr->id.data, value, kb->relative);
+  kb->relative = rna_object_shapekey_index_set(ptr->owner_id, value, kb->relative);
 }
 
 static void rna_ShapeKeyPoint_co_get(PointerRNA *ptr, float *values)
@@ -565,7 +565,7 @@ static void rna_ShapeKey_data_begin_mixed(CollectionPropertyIterator *iter,
 
 static void rna_ShapeKey_data_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
 {
-  Key *key = rna_ShapeKey_find_key(ptr->id.data);
+  Key *key = rna_ShapeKey_find_key(ptr->owner_id);
   KeyBlock *kb = (KeyBlock *)ptr->data;
   int tot = kb->totelem, size = key->elemsize;
 
@@ -602,7 +602,7 @@ static void rna_ShapeKey_data_begin(CollectionPropertyIterator *iter, PointerRNA
 
 static int rna_ShapeKey_data_length(PointerRNA *ptr)
 {
-  Key *key = rna_ShapeKey_find_key(ptr->id.data);
+  Key *key = rna_ShapeKey_find_key(ptr->owner_id);
   KeyBlock *kb = (KeyBlock *)ptr->data;
   int tot = kb->totelem;
 
@@ -615,7 +615,7 @@ static int rna_ShapeKey_data_length(PointerRNA *ptr)
 
 static PointerRNA rna_ShapeKey_data_get(CollectionPropertyIterator *iter)
 {
-  Key *key = rna_ShapeKey_find_key(iter->parent.id.data);
+  Key *key = rna_ShapeKey_find_key(iter->parent.owner_id);
   void *ptr = rna_iterator_array_get(iter);
   StructRNA *type = &RNA_ShapeKeyPoint;
 
@@ -637,7 +637,7 @@ static PointerRNA rna_ShapeKey_data_get(CollectionPropertyIterator *iter)
 
 int rna_ShapeKey_data_lookup_int(PointerRNA *ptr, int index, PointerRNA *r_ptr)
 {
-  Key *key = rna_ShapeKey_find_key(ptr->id.data);
+  Key *key = rna_ShapeKey_find_key(ptr->owner_id);
   KeyBlock *kb = (KeyBlock *)ptr->data;
   int elemsize = key->elemsize;
   char *databuf = kb->data;
@@ -672,7 +672,7 @@ int rna_ShapeKey_data_lookup_int(PointerRNA *ptr, int index, PointerRNA *r_ptr)
 static char *rna_ShapeKey_path(PointerRNA *ptr)
 {
   KeyBlock *kb = (KeyBlock *)ptr->data;
-  ID *id = ptr->id.data;
+  ID *id = ptr->owner_id;
   char name_esc[sizeof(kb->name) * 2];
 
   BLI_strescape(name_esc, kb->name, sizeof(name_esc));
@@ -687,7 +687,7 @@ static char *rna_ShapeKey_path(PointerRNA *ptr)
 
 static void rna_Key_update_data(Main *bmain, Scene *UNUSED(scene), PointerRNA *ptr)
 {
-  Key *key = ptr->id.data;
+  Key *key = (Key *)ptr->owner_id;
   Object *ob;
 
   for (ob = bmain->objects.first; ob; ob = ob->id.next) {
@@ -756,8 +756,8 @@ static int rna_ShapeKeyPoint_get_index(Key *key, KeyBlock *kb, float *point)
 
 static char *rna_ShapeKeyPoint_path(PointerRNA *ptr)
 {
-  ID *id = (ID *)ptr->id.data;
-  Key *key = rna_ShapeKey_find_key(ptr->id.data);
+  ID *id = ptr->owner_id;
+  Key *key = rna_ShapeKey_find_key(ptr->owner_id);
   KeyBlock *kb;
   float *point = (float *)ptr->data;
 
index 5a8223af28a6952bd0b24224257e6a74c06397b0..34f5b6caee15798c8c7e8627c59e347149a66111 100644 (file)
@@ -49,7 +49,7 @@
 
 static void rna_LatticePoint_co_get(PointerRNA *ptr, float *values)
 {
-  Lattice *lt = (Lattice *)ptr->id.data;
+  Lattice *lt = (Lattice *)ptr->owner_id;
   BPoint *bp = (BPoint *)ptr->data;
   int index = bp - lt->def;
   int u, v, w;
@@ -63,7 +63,7 @@ static void rna_LatticePoint_co_get(PointerRNA *ptr, float *values)
 
 static void rna_LatticePoint_groups_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
 {
-  Lattice *lt = (Lattice *)ptr->id.data;
+  Lattice *lt = (Lattice *)ptr->owner_id;
 
   if (lt->dvert) {
     BPoint *bp = (BPoint *)ptr->data;
@@ -95,7 +95,7 @@ static void rna_Lattice_points_begin(CollectionPropertyIterator *iter, PointerRN
 
 static void rna_Lattice_update_data(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
 {
-  ID *id = ptr->id.data;
+  ID *id = ptr->owner_id;
 
   DEG_id_tag_update(id, 0);
   WM_main_add_notifier(NC_GEOM | ND_DATA, id);
@@ -109,8 +109,8 @@ static void rna_Lattice_update_data_editlatt(Main *UNUSED(bmain),
                                              Scene *UNUSED(scene),
                                              PointerRNA *ptr)
 {
-  ID *id = ptr->id.data;
-  Lattice *lt = (Lattice *)ptr->id.data;
+  ID *id = ptr->owner_id;
+  Lattice *lt = (Lattice *)ptr->owner_id;
 
   if (lt->editlatt) {
     Lattice *lt_em = lt->editlatt->latt;
@@ -127,7 +127,7 @@ static void rna_Lattice_update_data_editlatt(Main *UNUSED(bmain),
 
 static void rna_Lattice_update_size(Main *bmain, Scene *scene, PointerRNA *ptr)
 {
-  Lattice *lt = ptr->id.data;
+  Lattice *lt = (Lattice *)ptr->owner_id;
   Object *ob;
   int newu, newv, neww;
 
@@ -224,7 +224,7 @@ static void rna_Lattice_vg_name_set(PointerRNA *ptr, const char *value)
 /* annoying, but is a consequence of RNA structures... */
 static char *rna_LatticePoint_path(PointerRNA *ptr)
 {
-  Lattice *lt = (Lattice *)ptr->id.data;
+  Lattice *lt = (Lattice *)ptr->owner_id;
   void *point = ptr->data;
   BPoint *points = NULL;
 
@@ -251,7 +251,7 @@ static char *rna_LatticePoint_path(PointerRNA *ptr)
 
 static bool rna_Lattice_is_editmode_get(PointerRNA *ptr)
 {
-  Lattice *lt = (Lattice *)ptr->id.data;
+  Lattice *lt = (Lattice *)ptr->owner_id;
   return (lt->editlatt != NULL);
 }
 
index c9b51707759e4175c61d91353dc9347ca59d98a0..1ad006cbc377ab33b2541fa6d085882745175347 100644 (file)
@@ -152,7 +152,7 @@ static int rna_ViewLayer_objects_selected_skip(CollectionPropertyIterator *iter,
 
 static PointerRNA rna_ViewLayer_depsgraph_get(PointerRNA *ptr)
 {
-  ID *id = ptr->id.data;
+  ID *id = ptr->owner_id;
   if (GS(id->name) == ID_SCE) {
     Scene *scene = (Scene *)id;
     ViewLayer *view_layer = (ViewLayer *)ptr->data;
@@ -274,7 +274,7 @@ static void rna_LayerCollection_exclude_update_recursive(ListBase *lb, const boo
 
 static void rna_LayerCollection_exclude_update(Main *bmain, Scene *UNUSED(scene), PointerRNA *ptr)
 {
-  Scene *scene = (Scene *)ptr->id.data;
+  Scene *scene = (Scene *)ptr->owner_id;
   LayerCollection *lc = (LayerCollection *)ptr->data;
   ViewLayer *view_layer = BKE_view_layer_find_from_collection(scene, lc);
 
@@ -294,7 +294,7 @@ static void rna_LayerCollection_exclude_update(Main *bmain, Scene *UNUSED(scene)
 
 static void rna_LayerCollection_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
 {
-  Scene *scene = (Scene *)ptr->id.data;
+  Scene *scene = (Scene *)ptr->owner_id;
   LayerCollection *lc = (LayerCollection *)ptr->data;
   ViewLayer *view_layer = BKE_view_layer_find_from_collection(scene, lc);
 
index 79ba59700079d82b45712e77ae93b2061db7aad5..8640c35f1b838900d9c71a462423fe0eb300b13f 100644 (file)
@@ -77,7 +77,7 @@ static StructRNA *rna_Light_refine(struct PointerRNA *ptr)
 
 static void rna_Light_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
 {
-  Light *la = ptr->id.data;
+  Light *la = (Light *)ptr->owner_id;
 
   DEG_id_tag_update(&la->id, 0);
   WM_main_add_notifier(NC_LAMP | ND_LIGHTING, la);
@@ -85,7 +85,7 @@ static void rna_Light_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerR
 
 static void rna_Light_draw_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
 {
-  Light *la = ptr->id.data;
+  Light *la = (Light *)ptr->owner_id;
 
   DEG_id_tag_update(&la->id, 0);
   WM_main_add_notifier(NC_LAMP | ND_LIGHTING_DRAW, la);
index a8b95036e024b00dbd901f8d38cb69df0b94c2da..463cefdf3f0f96b8065438ee09e686c2f450b403 100644 (file)
@@ -43,7 +43,7 @@
 
 static void rna_LightProbe_recalc(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
 {
-  DEG_id_tag_update(ptr->id.data, ID_RECALC_GEOMETRY);
+  DEG_id_tag_update(ptr->owner_id, ID_RECALC_GEOMETRY);
 }
 
 #else
index 936a5e6a53dd2b1fc9b30980d8d607f15d89b9f0..f6cfc33c82e6fd601c56bcf373cf555018dee000 100644 (file)
@@ -287,7 +287,7 @@ static char *rna_LineStyle_geometry_modifier_path(PointerRNA *ptr)
 
 static void rna_LineStyleColorModifier_name_set(PointerRNA *ptr, const char *value)
 {
-  FreestyleLineStyle *linestyle = (FreestyleLineStyle *)ptr->id.data;
+  FreestyleLineStyle *linestyle = (FreestyleLineStyle *)ptr->owner_id;
   LineStyleModifier *m = (LineStyleModifier *)ptr->data;
 
   BLI_strncpy_utf8(m->name, value, sizeof(m->name));
@@ -301,7 +301,7 @@ static void rna_LineStyleColorModifier_name_set(PointerRNA *ptr, const char *val
 
 static void rna_LineStyleAlphaModifier_name_set(PointerRNA *ptr, const char *value)
 {
-  FreestyleLineStyle *linestyle = (FreestyleLineStyle *)ptr->id.data;
+  FreestyleLineStyle *linestyle = (FreestyleLineStyle *)ptr->owner_id;
   LineStyleModifier *m = (LineStyleModifier *)ptr->data;
 
   BLI_strncpy_utf8(m->name, value, sizeof(m->name));
@@ -315,7 +315,7 @@ static void rna_LineStyleAlphaModifier_name_set(PointerRNA *ptr, const char *val
 
 static void rna_LineStyleThicknessModifier_name_set(PointerRNA *ptr, const char *value)
 {
-  FreestyleLineStyle *linestyle = (FreestyleLineStyle *)ptr->id.data;
+  FreestyleLineStyle *linestyle = (FreestyleLineStyle *)ptr->owner_id;
   LineStyleModifier *m = (LineStyleModifier *)ptr->data;
 
   BLI_strncpy_utf8(m->name, value, sizeof(m->name));
@@ -329,7 +329,7 @@ static void rna_LineStyleThicknessModifier_name_set(PointerRNA *ptr, const char
 
 static void rna_LineStyleGeometryModifier_name_set(PointerRNA *ptr, const char *value)
 {
-  FreestyleLineStyle *linestyle = (FreestyleLineStyle *)ptr->id.data;
+  FreestyleLineStyle *linestyle = (FreestyleLineStyle *)ptr->owner_id;
   LineStyleModifier *m = (LineStyleModifier *)ptr->data;
 
   BLI_strncpy_utf8(m->name, value, sizeof(m->name));
@@ -343,13 +343,13 @@ static void rna_LineStyleGeometryModifier_name_set(PointerRNA *ptr, const char *
 
 static void rna_LineStyle_mtex_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
 {
-  FreestyleLineStyle *linestyle = (FreestyleLineStyle *)ptr->id.data;
+  FreestyleLineStyle *linestyle = (FreestyleLineStyle *)ptr->owner_id;
   rna_iterator_array_begin(iter, (void *)linestyle->mtex, sizeof(MTex *), MAX_MTEX, 0, NULL);
 }
 
 static PointerRNA rna_LineStyle_active_texture_get(PointerRNA *ptr)
 {
-  FreestyleLineStyle *linestyle = (FreestyleLineStyle *)ptr->id.data;
+  FreestyleLineStyle *linestyle = (FreestyleLineStyle *)ptr->owner_id;
   Tex *tex;
 
   tex = give_current_linestyle_texture(linestyle);
@@ -360,14 +360,14 @@ static void rna_LineStyle_active_texture_set(PointerRNA *ptr,
                                              PointerRNA value,
                                              struct ReportList *UNUSED(reports))
 {
-  FreestyleLineStyle *linestyle = (FreestyleLineStyle *)ptr->id.data;
+  FreestyleLineStyle *linestyle = (FreestyleLineStyle *)ptr->owner_id;
 
   set_current_linestyle_texture(linestyle, value.data);
 }
 
 static void rna_LineStyle_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
 {
-  FreestyleLineStyle *linestyle = ptr->id.data;
+  FreestyleLineStyle *linestyle = (FreestyleLineStyle *)ptr->owner_id;
 
   DEG_id_tag_update(&linestyle->id, 0);
   WM_main_add_notifier(NC_LINESTYLE, linestyle);
index abbbd04143cd7c94fc270f1d9c2be4d1ce499494..adc041174aa2c9ec593ba0affaad87a080c8dc59 100644 (file)
@@ -58,7 +58,7 @@
 
 static void rna_Mask_update_data(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
 {
-  Mask *mask = ptr->id.data;
+  Mask *mask = (Mask *)ptr->owner_id;
 
   WM_main_add_notifier(NC_MASK | ND_DATA, mask);
   DEG_id_tag_update(&mask->id, 0);
@@ -147,21 +147,21 @@ static void rna_MaskParent_id_type_set(PointerRNA *ptr, int value)
 
 static void rna_Mask_layers_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
 {
-  Mask *mask = (Mask *)ptr->id.data;
+  Mask *mask = (Mask *)ptr->owner_id;
 
   rna_iterator_listbase_begin(iter, &mask->masklayers, NULL);
 }
 
 static int rna_Mask_layer_active_index_get(PointerRNA *ptr)
 {
-  Mask *mask = (Mask *)ptr->id.data;
+  Mask *mask = (Mask *)ptr->owner_id;
 
   return mask->masklay_act;
 }
 
 static void rna_Mask_layer_active_index_set(PointerRNA *ptr, int value)
 {
-  Mask *mask = (Mask *)ptr->id.data;
+  Mask *mask = (Mask *)ptr->owner_id;
 
   mask->masklay_act = value;
 }
@@ -169,7 +169,7 @@ static void rna_Mask_layer_active_index_set(PointerRNA *ptr, int value)
 static void rna_Mask_layer_active_index_range(
     PointerRNA *ptr, int *min, int *max, int *softmin, int *softmax)
 {
-  Mask *mask = (Mask *)ptr->id.data;
+  Mask *mask = (Mask *)ptr->owner_id;
 
   *min = 0;
   *max = max_ii(0, mask->masklay_tot - 1);
@@ -188,7 +188,7 @@ static char *rna_MaskLayer_path(PointerRNA *ptr)
 
 static PointerRNA rna_Mask_layer_active_get(PointerRNA *ptr)
 {
-  Mask *mask = (Mask *)ptr->id.data;
+  Mask *mask = (Mask *)ptr->owner_id;
   MaskLayer *masklay = BKE_mask_layer_active(mask);
 
   return rna_pointer_inherit_refine(ptr, &RNA_MaskLayer, masklay);
@@ -198,7 +198,7 @@ static void rna_Mask_layer_active_set(PointerRNA *ptr,
                                       PointerRNA value,
                                       struct ReportList *UNUSED(reports))
 {
-  Mask *mask = (Mask *)ptr->id.data;
+  Mask *mask = (Mask *)ptr->owner_id;
   MaskLayer *masklay = (MaskLayer *)value.data;
 
   BKE_mask_layer_active_set(mask, masklay);
@@ -213,7 +213,7 @@ static void rna_MaskLayer_splines_begin(CollectionPropertyIterator *iter, Pointe
 
 static void rna_MaskLayer_name_set(PointerRNA *ptr, const char *value)
 {
-  Mask *mask = (Mask *)ptr->id.data;
+  Mask *mask = (Mask *)ptr->owner_id;
   MaskLayer *masklay = (MaskLayer *)ptr->data;
   char oldname[sizeof(masklay->name)], newname[sizeof(masklay->name)];
 
@@ -351,7 +351,7 @@ static void rna_MaskSplinePoint_handle_type_set(PointerRNA *ptr, int value)
 {
   MaskSplinePoint *point = (MaskSplinePoint *)ptr->data;
   BezTriple *bezt = &point->bezt;
-  MaskSpline *spline = mask_spline_from_point((Mask *)ptr->id.data, point);
+  MaskSpline *spline = mask_spline_from_point((Mask *)ptr->owner_id, point);
 
   bezt->h1 = bezt->h2 = value;
   mask_point_check_stick(point);
@@ -370,7 +370,7 @@ static void rna_MaskSplinePoint_handle_left_type_set(PointerRNA *ptr, int value)
 {
   MaskSplinePoint *point = (MaskSplinePoint *)ptr->data;
   BezTriple *bezt = &point->bezt;
-  MaskSpline *spline = mask_spline_from_point((Mask *)ptr->id.data, point);
+  MaskSpline *spline = mask_spline_from_point((Mask *)ptr->owner_id, point);
 
   bezt->h1 = value;
   mask_point_check_stick(point);
@@ -389,7 +389,7 @@ static void rna_MaskSplinePoint_handle_right_type_set(PointerRNA *ptr, int value
 {
   MaskSplinePoint *point = (MaskSplinePoint *)ptr->data;
   BezTriple *bezt = &point->bezt;
-  MaskSpline *spline = mask_spline_from_point((Mask *)ptr->id.data, point);
+  MaskSpline *spline = mask_spline_from_point((Mask *)ptr->owner_id, point);
 
   bezt->h2 = value;
   mask_point_check_stick(point);
index 845ea9a4aeefd63b35eb71332d594ff5f5e943b5..c108ce90490546dc6360ffcc303068316d290ee7 100644 (file)
@@ -89,7 +89,7 @@ const EnumPropertyItem rna_enum_ramp_blend_items[] = {
 
 static void rna_Material_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
 {
-  Material *ma = ptr->id.data;
+  Material *ma = (Material *)ptr->owner_id;
 
   DEG_id_tag_update(&ma->id, ID_RECALC_SHADING);
   WM_main_add_notifier(NC_MATERIAL | ND_SHADING, ma);
@@ -99,7 +99,7 @@ static void rna_Material_update_previews(Main *UNUSED(bmain),
                                          Scene *UNUSED(scene),
                                          PointerRNA *ptr)
 {
-  Material *ma = ptr->id.data;
+  Material *ma = (Material *)ptr->owner_id;
 
   if (ma->nodetree) {
     BKE_node_preview_clear_tree(ma->nodetree);
@@ -110,7 +110,7 @@ static void rna_Material_update_previews(Main *UNUSED(bmain),
 
 static void rna_MaterialGpencil_update(Main *bmain, Scene *scene, PointerRNA *ptr)
 {
-  Material *ma = ptr->id.data;
+  Material *ma = (Material *)ptr->owner_id;
 
   rna_Material_update(bmain, scene, ptr);
   WM_main_add_notifier(NC_GPENCIL | ND_DATA, ma);
@@ -118,7 +118,7 @@ static void rna_MaterialGpencil_update(Main *bmain, Scene *scene, PointerRNA *pt
 
 static void rna_MaterialGpencil_nopreview_update(Main *bmain, Scene *scene, PointerRNA *ptr)
 {
-  Material *ma = ptr->id.data;
+  Material *ma = (Material *)ptr->owner_id;
 
   rna_Material_update(bmain, scene, ptr);
   WM_main_add_notifier(NC_GPENCIL | ND_DATA, ma);
@@ -126,7 +126,7 @@ static void rna_MaterialGpencil_nopreview_update(Main *bmain, Scene *scene, Poin
 
 static void rna_Material_draw_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
 {
-  Material *ma = ptr->id.data;
+  Material *ma = (Material *)ptr->owner_id;
 
   DEG_id_tag_update(&ma->id, ID_RECALC_SHADING);
   WM_main_add_notifier(NC_MATERIAL | ND_SHADING_DRAW, ma);
@@ -144,7 +144,7 @@ static void rna_Material_active_paint_texture_index_update(Main *bmain,
                                                            PointerRNA *ptr)
 {
   bScreen *sc;
-  Material *ma = ptr->id.data;
+  Material *ma = (Material *)ptr->owner_id;
 
   if (ma->use_nodes && ma->nodetree) {
     struct bNode *node = BKE_texpaint_slot_material_find_node(ma, ma->paint_active_slot);
@@ -303,7 +303,7 @@ static bool rna_is_grease_pencil_get(PointerRNA *ptr)
 static void rna_gpcolordata_uv_update(Main *bmain, Scene *scene, PointerRNA *ptr)
 {
   /* update all uv strokes of this color */
-  Material *ma = ptr->id.data;
+  Material *ma = (Material *)ptr->owner_id;
   ED_gpencil_update_color_uv(bmain, ma);
 
   rna_MaterialGpencil_update(bmain, scene, ptr);
index e28618414ae69f0229253a08093577307e3e5927..cfffa3bf4e3c5ae8bff828d4795c96492a9197b0 100644 (file)
@@ -80,7 +80,7 @@ const EnumPropertyItem rna_enum_mesh_delimit_mode_items[] = {
 
 static Mesh *rna_mesh(PointerRNA *ptr)
 {
-  Mesh *me = (Mesh *)ptr->id.data;
+  Mesh *me = (Mesh *)ptr->owner_id;
   return me;
 }
 
@@ -146,7 +146,7 @@ static void rna_cd_layer_name_set(CustomData *cdata, CustomDataLayer *cdl, const
 static CustomData *rna_cd_from_layer(PointerRNA *ptr, CustomDataLayer *cdl)
 {
   /* find out where we come from by */
-  Mesh *me = ptr->id.data;
+  Mesh *me = (Mesh *)ptr->owner_id;
   CustomData *cd;
 
   /* rely on negative values wrapping */
@@ -202,7 +202,7 @@ static bool rna_Mesh_has_custom_normals_get(PointerRNA *ptr)
 
 static void rna_Mesh_update_data(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
 {
-  ID *id = ptr->id.data;
+  ID *id = ptr->owner_id;
 
   /* cheating way for importers to avoid slow updates */
   if (id->us > 0) {
@@ -226,7 +226,7 @@ static void rna_Mesh_update_data_edit_active_color(Main *bmain, Scene *scene, Po
 }
 static void rna_Mesh_update_select(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
 {
-  ID *id = ptr->id.data;
+  ID *id = ptr->owner_id;
   /* cheating way for importers to avoid slow updates */
   if (id->us > 0) {
     WM_main_add_notifier(NC_GEOM | ND_SELECT, id);
@@ -235,7 +235,7 @@ static void rna_Mesh_update_select(Main *UNUSED(bmain), Scene *UNUSED(scene), Po
 
 void rna_Mesh_update_draw(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
 {
-  ID *id = ptr->id.data;
+  ID *id = ptr->owner_id;
   /* cheating way for importers to avoid slow updates */
   if (id->us > 0) {
     WM_main_add_notifier(NC_GEOM | ND_DATA, id);
@@ -403,7 +403,7 @@ static void rna_MeshPolygon_center_get(PointerRNA *ptr, float *values)
 
 static float rna_MeshPolygon_area_get(PointerRNA *ptr)
 {
-  Mesh *me = (Mesh *)ptr->id.data;
+  Mesh *me = (Mesh *)ptr->owner_id;
   MPoly *mp = (MPoly *)ptr->data;
 
   return BKE_mesh_calc_poly_area(mp, me->mloop + mp->loopstart, me->mvert);
@@ -571,7 +571,7 @@ static int rna_CustomDataLayer_clone_get(PointerRNA *ptr, CustomData *data, int
 static void rna_CustomDataLayer_active_set(
     PointerRNA *ptr, CustomData *data, int value, int type, int render)
 {
-  Mesh *me = ptr->id.data;
+  Mesh *me = (Mesh *)ptr->owner_id;
   int n = (((CustomDataLayer *)ptr->data) - data->layers) - CustomData_get_layer_index(data, type);
 
   if (value == 0) {
index 743bac2b70959a90c35bb84fd40faf18d4db142d..451bdda45f57b75367d30aa1ec7c02e889c1486b 100644 (file)
@@ -89,7 +89,7 @@ static void rna_Meta_texspace_size_set(PointerRNA *ptr, const float *values)
 
 static void rna_MetaBall_update_data(Main *bmain, Scene *scene, PointerRNA *ptr)
 {
-  MetaBall *mb = ptr->id.data;
+  MetaBall *mb = (MetaBall *)ptr->owner_id;
   Object *ob;
 
   /* cheating way for importers to avoid slow updates */
@@ -158,13 +158,13 @@ static void rna_MetaBall_elements_clear(MetaBall *mb)
 
 static bool rna_Meta_is_editmode_get(PointerRNA *ptr)
 {
-  MetaBall *mb = ptr->id.data;
+  MetaBall *mb = (MetaBall *)ptr->owner_id;
   return (mb->editelems != NULL);
 }
 
 static char *rna_MetaElement_path(PointerRNA *ptr)
 {
-  MetaBall *mb = ptr->id.data;
+  MetaBall *mb = (MetaBall *)ptr->owner_id;
   MetaElem *ml = ptr->data;
   int index = -1;
 
index 4287a13822eb3c5fb300b7726b043e2d71d28a0e..26bb83fe6e8e8c0a710def914d24e073313e36ae 100644 (file)
@@ -595,8 +595,8 @@ static void rna_Modifier_name_set(PointerRNA *ptr, const char *value)
   BLI_strncpy_utf8(md->name, value, sizeof(md->name));
 
   /* make sure the name is truly unique */
-  if (ptr->id.data) {
-    Object *ob = ptr->id.data;
+  if (ptr->owner_id) {
+    Object *ob = (Object *)ptr->owner_id;
     modifier_unique_name(&ob->modifiers, md);
   }
 
@@ -615,8 +615,8 @@ static char *rna_Modifier_path(PointerRNA *ptr)
 
 static void rna_Modifier_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
 {
-  DEG_id_tag_update(ptr->id.data, ID_RECALC_GEOMETRY);
-  WM_main_add_notifier(NC_OBJECT | ND_MODIFIER, ptr->id.data);
+  DEG_id_tag_update(ptr->owner_id, ID_RECALC_GEOMETRY);
+  WM_main_add_notifier(NC_OBJECT | ND_MODIFIER, ptr->owner_id);
 }
 
 static void rna_Modifier_dependency_update(Main *bmain, Scene *scene, PointerRNA *ptr)
@@ -723,7 +723,7 @@ static void modifier_object_set(Object *self, Object **ob_p, int type, PointerRN
         PointerRNA *ptr, PointerRNA value, struct ReportList *UNUSED(reports)) \
     { \
       _type##ModifierData *tmd = (_type##ModifierData *)ptr->data; \
-      modifier_object_set(ptr->id.data, &tmd->_prop, _obtype, value); \
+      modifier_object_set((Object *)ptr->owner_id, &tmd->_prop, _obtype, value); \
     }
 
 RNA_MOD_OBJECT_SET(Armature, object, OB_ARMATURE);
@@ -746,7 +746,7 @@ static void rna_HookModifier_object_set(PointerRNA *ptr,
                                         PointerRNA value,
                                         struct ReportList *UNUSED(reports))
 {
-  Object *owner = (Object *)ptr->id.data;
+  Object *owner = (Object *)ptr->owner_id;
   HookModifierData *hmd = ptr->data;
   Object *ob = (Object *)value.data;
 
@@ -757,7 +757,7 @@ static void rna_HookModifier_object_set(PointerRNA *ptr,
 
 static void rna_HookModifier_subtarget_set(PointerRNA *ptr, const char *value)
 {
-  Object *owner = (Object *)ptr->id.data;
+  Object *owner = (Object *)ptr->owner_id;
   HookModifierData *hmd = ptr->data;
 
   BLI_strncpy(hmd->subtarget, value, sizeof(hmd->subtarget));
@@ -844,7 +844,7 @@ static void rna_UVProjector_object_set(PointerRNA *ptr,
 static void rna_Smoke_set_type(Main *bmain, Scene *scene, PointerRNA *ptr)
 {
   SmokeModifierData *smd = (SmokeModifierData *)ptr->data;
-  Object *ob = (Object *)ptr->id.data;
+  Object *ob = (Object *)ptr->owner_id;
 
   /* nothing changed */
   if ((smd->type & MOD_SMOKE_TYPE_DOMAIN) && smd->domain) {
@@ -871,7 +871,7 @@ static void rna_Smoke_set_type(Main *bmain, Scene *scene, PointerRNA *ptr)
 
 static void rna_MultiresModifier_type_set(PointerRNA *ptr, int value)
 {
-  Object *ob = (Object *)ptr->id.data;
+  Object *ob = (Object *)ptr->owner_id;
   MultiresModifierData *mmd = (MultiresModifierData *)ptr->data;
 
   multires_force_update(ob);
@@ -889,7 +889,7 @@ static void rna_MultiresModifier_level_range(
 
 static bool rna_MultiresModifier_external_get(PointerRNA *ptr)
 {
-  Object *ob = (Object *)ptr->id.data;
+  Object *ob = (Object *)ptr->owner_id;
   Mesh *me = ob->data;
 
   return CustomData_external_test(&me->ldata, CD_MDISPS);
@@ -897,7 +897,7 @@ static bool rna_MultiresModifier_external_get(PointerRNA *ptr)
 
 static void rna_MultiresModifier_filepath_get(PointerRNA *ptr, char *value)
 {
-  Object *ob = (Object *)ptr->id.data;
+  Object *ob = (Object *)ptr->owner_id;
   CustomDataExternal *external = ((Mesh *)ob->data)->ldata.external;
 
   BLI_strncpy(value, (external) ? external->filename : "", sizeof(external->filename));
@@ -905,7 +905,7 @@ static void rna_MultiresModifier_filepath_get(PointerRNA *ptr, char *value)
 
 static void rna_MultiresModifier_filepath_set(PointerRNA *ptr, const char *value)
 {
-  Object *ob = (Object *)ptr->id.data;
+  Object *ob = (Object *)ptr->owner_id;
   CustomDataExternal *external = ((Mesh *)ob->data)->ldata.external;
 
   if (external && !STREQ(external->filename, value)) {
@@ -916,7 +916,7 @@ static void rna_MultiresModifier_filepath_set(PointerRNA *ptr, const char *value
 
 static int rna_MultiresModifier_filepath_length(PointerRNA *ptr)
 {
-  Object *ob = (Object *)ptr->id.data;
+  Object *ob = (Object *)ptr->owner_id;
   CustomDataExternal *external = ((Mesh *)ob->data)->ldata.external;
 
   return strlen((external) ? external->filename : "");
@@ -941,19 +941,19 @@ static bool rna_MeshDeformModifier_is_bound_get(PointerRNA *ptr)
 
 static PointerRNA rna_SoftBodyModifier_settings_get(PointerRNA *ptr)
 {
-  Object *ob = (Object *)ptr->id.data;
+  Object *ob = (Object *)ptr->owner_id;
   return rna_pointer_inherit_refine(ptr, &RNA_SoftBodySettings, ob->soft);
 }
 
 static PointerRNA rna_SoftBodyModifier_point_cache_get(PointerRNA *ptr)
 {
-  Object *ob = (Object *)ptr->id.data;
+  Object *ob = (Object *)ptr->owner_id;
   return rna_pointer_inherit_refine(ptr, &RNA_PointCache, ob->soft->shared->pointcache);
 }
 
 static PointerRNA rna_CollisionModifier_settings_get(PointerRNA *ptr)
 {
-  Object *ob = (Object *)ptr->id.data;
+  Object *ob = (Object *)ptr->owner_id;
   return rna_pointer_inherit_refine(ptr, &RNA_CollisionSettings, ob->pd);
 }
 
index 10e19b92ddacf49fcd02c4ed51b7b2a76a61e730..9bfa93ceba573770120848bfef2304883fde05f0 100644 (file)
 
 static void rna_MovieClip_reload_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
 {
-  MovieClip *clip = (MovieClip *)ptr->id.data;
+  MovieClip *clip = (MovieClip *)ptr->owner_id;
 
   DEG_id_tag_update(&clip->id, ID_RECALC_SOURCE);
 }
 
 static void rna_MovieClip_size_get(PointerRNA *ptr, int *values)
 {
-  MovieClip *clip = (MovieClip *)ptr->id.data;
+  MovieClip *clip = (MovieClip *)ptr->owner_id;
 
   values[0] = clip->lastsize[0];
   values[1] = clip->lastsize[1];
@@ -68,13 +68,13 @@ static void rna_MovieClip_size_get(PointerRNA *ptr, int *values)
 
 static float rna_MovieClip_fps_get(PointerRNA *ptr)
 {
-  MovieClip *clip = (MovieClip *)ptr->id.data;
+  MovieClip *clip = (MovieClip *)ptr->owner_id;
   return BKE_movieclip_get_fps(clip);
 }
 
 static void rna_MovieClip_use_proxy_update(Main *bmain, Scene *UNUSED(scene), PointerRNA *ptr)
 {
-  MovieClip *clip = (MovieClip *)ptr->id.data;
+  MovieClip *clip = (MovieClip *)ptr->owner_id;
   BKE_movieclip_clear_cache(clip);
   BKE_sequence_invalidate_movieclip_strips(bmain, clip);
 }
@@ -83,7 +83,7 @@ static void rna_MovieClipUser_proxy_render_settings_update(Main *bmain,
                                                            Scene *UNUSED(scene),
                                                            PointerRNA *ptr)
 {
-  ID *id = (ID *)ptr->id.data;
+  ID *id = ptr->owner_id;
   MovieClipUser *user = (MovieClipUser *)ptr->data;
 
   /* when changing render settings of space clip user
index 6f55fb4e24c122f8653d7a58e28cf6ca84a5bfa6..97cab783aedd91c9769f3a7f23e2de9a501547f3 100644 (file)
@@ -65,8 +65,8 @@ static void rna_NlaStrip_name_set(PointerRNA *ptr, const char *value)
   BLI_strncpy_utf8(data->name, value, sizeof(data->name));
 
   /* validate if there's enough info to do so */
-  if (ptr->id.data) {
-    AnimData *adt = BKE_animdata_from_id(ptr->id.data);
+  if (ptr->owner_id) {
+    AnimData *adt = BKE_animdata_from_id(ptr->owner_id);
     BKE_nlastrip_validate_name(adt, data);
   }
 }
@@ -74,7 +74,7 @@ static void rna_NlaStrip_name_set(PointerRNA *ptr, const char *value)
 static char *rna_NlaStrip_path(PointerRNA *ptr)
 {
   NlaStrip *strip = (NlaStrip *)ptr->data;
-  AnimData *adt = BKE_animdata_from_id(ptr->id.data);
+  AnimData *adt = BKE_animdata_from_id(ptr->owner_id);
 
   /* if we're attached to AnimData, try to resolve path back to AnimData */
   if (adt) {
@@ -103,7 +103,7 @@ static char *rna_NlaStrip_path(PointerRNA *ptr)
 
 static void rna_NlaStrip_update(Main *bmain, Scene *UNUSED(scene), PointerRNA *ptr)
 {
-  ID *id = ptr->id.data;
+  ID *id = ptr->owner_id;
 
   ANIM_id_update(bmain, id);
 }
@@ -122,9 +122,9 @@ static void rna_NlaStrip_transform_update(Main *bmain, Scene *scene, PointerRNA
   BKE_nlameta_flush_transforms(strip);
 
   /* set the flag */
-  if ((strip->flag & NLASTRIP_FLAG_AUTO_BLENDS) && ptr->id.data) {
+  if ((strip->flag & NLASTRIP_FLAG_AUTO_BLENDS) && ptr->owner_id) {
     /* validate state to ensure that auto-blend gets applied immediately */
-    IdAdtTemplate *iat = (IdAdtTemplate *)ptr->id.data;
+    IdAdtTemplate *iat = (IdAdtTemplate *)ptr->owner_id;
 
     if (iat->adt) {
       BKE_nla_validate_state(iat->adt);
@@ -274,8 +274,8 @@ static void rna_NlaStrip_use_auto_blend_set(PointerRNA *ptr, bool value)
     data->flag |= NLASTRIP_FLAG_AUTO_BLENDS;
 
     /* validate state to ensure that auto-blend gets applied immediately */
-    if (ptr->id.data) {
-      IdAdtTemplate *iat = (IdAdtTemplate *)ptr->id.data;
+    if (ptr->owner_id) {
+      IdAdtTemplate *iat = (IdAdtTemplate *)ptr->owner_id;
 
       if (iat->adt) {
         BKE_nla_validate_state(iat->adt);
@@ -298,8 +298,8 @@ static int rna_NlaStrip_action_editable(PointerRNA *ptr, const char **UNUSED(r_i
   NlaStrip *strip = (NlaStrip *)ptr->data;
 
   /* strip actions shouldn't be editable if NLA tweakmode is on */
-  if (ptr->id.data) {
-    AnimData *adt = BKE_animdata_from_id(ptr->id.data);
+  if (ptr->owner_id) {
+    AnimData *adt = BKE_animdata_from_id(ptr->owner_id);
 
     if (adt) {
       /* active action is only editable when it is not a tweaking strip */
@@ -475,7 +475,7 @@ static void rna_NlaStrip_remove(
 static void rna_NlaTrack_solo_set(PointerRNA *ptr, bool value)
 {
   NlaTrack *data = (NlaTrack *)ptr->data;
-  AnimData *adt = BKE_animdata_from_id(ptr->id.data);
+  AnimData *adt = BKE_animdata_from_id(ptr->owner_id);
   NlaTrack *nt;
 
   if (data == NULL) {
index a3db0a556d6bdce7e6cfd29cd383d2207a971d91..98bb9df78ae5240ebc4f9b0fc796fb6e504babe2 100644 (file)
@@ -760,7 +760,7 @@ static bool rna_NodeTree_check(bNodeTree *ntree, ReportList *reports)
 
 static void rna_NodeTree_update(Main *bmain, Scene *UNUSED(scene), PointerRNA *ptr)
 {
-  bNodeTree *ntree = (bNodeTree *)ptr->id.data;
+  bNodeTree *ntree = (bNodeTree *)ptr->owner_id;
   bNode *node = (bNode *)ptr->data;
 
   WM_main_add_notifier(NC_NODE | NA_EDITED, NULL);
@@ -1241,7 +1241,7 @@ static char *rna_Node_path(PointerRNA *ptr)
 
 char *rna_Node_ImageUser_path(PointerRNA *ptr)
 {
-  bNodeTree *ntree = (bNodeTree *)ptr->id.data;
+  bNodeTree *ntree = (bNodeTree *)ptr->owner_id;
   bNode *node;
   char name_esc[sizeof(node->name) * 2];
 
@@ -1746,7 +1746,7 @@ static bool rna_Node_parent_poll(PointerRNA *ptr, PointerRNA value)
 
 static void rna_Node_update(Main *bmain, Scene *UNUSED(scene), PointerRNA *ptr)
 {
-  bNodeTree *ntree = (bNodeTree *)ptr->id.data;
+  bNodeTree *ntree = (bNodeTree *)ptr->owner_id;
   bNode *node = (bNode *)ptr->data;
   ED_node_tag_update_nodetree(bmain, ntree, node);
 }
@@ -1770,7 +1770,7 @@ static void rna_Node_select_set(PointerRNA *ptr, bool value)
 
 static void rna_Node_name_set(PointerRNA *ptr, const char *value)
 {
-  bNodeTree *ntree = (bNodeTree *)ptr->id.data;
+  bNodeTree *ntree = (bNodeTree *)ptr->owner_id;
   bNode *node = (bNode *)ptr->data;
   char oldname[sizeof(node->name)];
 
@@ -2122,7 +2122,7 @@ static StructRNA *rna_NodeSocket_refine(PointerRNA *ptr)
 
 static char *rna_NodeSocket_path(PointerRNA *ptr)
 {
-  bNodeTree *ntree = (bNodeTree *)ptr->id.data;
+  bNodeTree *ntree = (bNodeTree *)ptr->owner_id;
   bNodeSocket *sock = (bNodeSocket *)ptr->data;
   bNode *node;
   int socketindex;
@@ -2156,7 +2156,7 @@ static IDProperty *rna_NodeSocket_idprops(PointerRNA *ptr, bool create)
 
 static PointerRNA rna_NodeSocket_node_get(PointerRNA *ptr)
 {
-  bNodeTree *ntree = (bNodeTree *)ptr->id.data;
+  bNodeTree *ntree = (bNodeTree *)ptr->owner_id;
   bNodeSocket *sock = (bNodeSocket *)ptr->data;
   bNode *node;
   PointerRNA r_ptr;
@@ -2169,7 +2169,7 @@ static PointerRNA rna_NodeSocket_node_get(PointerRNA *ptr)
 
 static void rna_NodeSocket_type_set(PointerRNA *ptr, int value)
 {
-  bNodeTree *ntree = (bNodeTree *)ptr->id.data;
+  bNodeTree *ntree = (bNodeTree *)ptr->owner_id;
   bNodeSocket *sock = (bNodeSocket *)ptr->data;
   bNode *node;
   nodeFindNode(ntree, sock, &node, NULL);
@@ -2178,7 +2178,7 @@ static void rna_NodeSocket_type_set(PointerRNA *ptr, int value)
 
 static void rna_NodeSocket_update(Main *bmain, Scene *UNUSED(scene), PointerRNA *ptr)
 {
-  bNodeTree *ntree = (bNodeTree *)ptr->id.data;
+  bNodeTree *ntree = (bNodeTree *)ptr->owner_id;
   bNodeSocket *sock = (bNodeSocket *)ptr->data;
   bNode *node;
   if (nodeFindNode(ntree, sock, &node, NULL)) {
@@ -2438,7 +2438,7 @@ static StructRNA *rna_NodeSocketInterface_refine(PointerRNA *ptr)
 
 static char *rna_NodeSocketInterface_path(PointerRNA *ptr)
 {
-  bNodeTree *ntree = (bNodeTree *)ptr->id.data;
+  bNodeTree *ntree = (bNodeTree *)ptr->owner_id;
   bNodeSocket *sock = (bNodeSocket *)ptr->data;
   int socketindex;
 
@@ -2469,7 +2469,7 @@ static IDProperty *rna_NodeSocketInterface_idprops(PointerRNA *ptr, bool create)
 
 static void rna_NodeSocketInterface_update(Main *bmain, Scene *UNUSED(scene), PointerRNA *ptr)
 {
-  bNodeTree *ntree = ptr->id.data;
+  bNodeTree *ntree = (bNodeTree *)ptr->owner_id;
   bNodeSocket *stemp = ptr->data;
 
   if (!stemp->typeinfo) {
@@ -2585,7 +2585,7 @@ static void rna_NodeSocketStandard_value_update(struct bContext *C, PointerRNA *
   /* try to use node from context, faster */
   node = CTX_data_pointer_get(C, "node").data;
   if (!node) {
-    bNodeTree *ntree = ptr->id.data;
+    bNodeTree *ntree = (bNodeTree *)ptr->owner_id;
     bNodeSocket *sock = ptr->data;
 
     /* fall back to searching node in the tree */
@@ -2803,7 +2803,7 @@ static void rna_CompositorNode_tag_need_exec(bNode *node)
 
 static void rna_Node_tex_image_update(Main *bmain, Scene *UNUSED(scene), PointerRNA *ptr)
 {
-  bNodeTree *ntree = (bNodeTree *)ptr->id.data;
+  bNodeTree *ntree = (bNodeTree *)ptr->owner_id;
   bNode *node = (bNode *)ptr->data;
 
   ED_node_tag_update_nodetree(bmain, ntree, node);
@@ -2812,7 +2812,7 @@ static void rna_Node_tex_image_update(Main *bmain, Scene *UNUSED(scene), Pointer
 
 static void rna_NodeGroup_update(Main *bmain, Scene *UNUSED(scene), PointerRNA *ptr)
 {
-  bNodeTree *ntree = (bNodeTree *)ptr->id.data;
+  bNodeTree *ntree = (bNodeTree *)ptr->owner_id;
   bNode *node = (bNode *)ptr->data;
 
   if (node->id) {
@@ -2826,7 +2826,7 @@ static void rna_NodeGroup_node_tree_set(PointerRNA *ptr,
                                         const PointerRNA value,
                                         struct ReportList *UNUSED(reports))
 {
-  bNodeTree *ntree = ptr->id.data;
+  bNodeTree *ntree = (bNodeTree *)ptr->owner_id;
   bNode *node = ptr->data;
   bNodeTree *ngroup = value.data;
 
@@ -2844,7 +2844,7 @@ static void rna_NodeGroup_node_tree_set(PointerRNA *ptr,
 
 static bool rna_NodeGroup_node_tree_poll(PointerRNA *ptr, const PointerRNA value)
 {
-  bNodeTree *ntree = ptr->id.data;
+  bNodeTree *ntree = (bNodeTree *)ptr->owner_id;
   bNodeTree *ngroup = value.data;
 
   /* only allow node trees of the same type as the group node's tree */
@@ -2871,7 +2871,7 @@ static StructRNA *rna_NodeGroup_interface_typef(PointerRNA *ptr)
 
 static StructRNA *rna_NodeGroupInputOutput_interface_typef(PointerRNA *ptr)
 {
-  bNodeTree *ntree = ptr->id.data;
+  bNodeTree *ntree = (bNodeTree *)ptr->owner_id;
 
   if (ntree) {
     StructRNA *srna = ntreeInterfaceTypeGet(ntree, true);
@@ -3206,7 +3206,7 @@ static const EnumPropertyItem *rna_Node_channel_itemf(bContext *UNUSED(C),
 
 static void rna_Image_Node_update_id(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
 {
-  bNodeTree *ntree = (bNodeTree *)ptr->id.data;
+  bNodeTree *ntree = (bNodeTree *)ptr->owner_id;
   bNode *node = (bNode *)ptr->data;
 
   node->update |= NODE_UPDATE_ID;
@@ -3230,19 +3230,19 @@ static PointerRNA rna_NodeOutputFile_slot_file_get(CollectionPropertyIterator *i
 {
   PointerRNA ptr;
   bNodeSocket *sock = rna_iterator_listbase_get(iter);
-  RNA_pointer_create(iter->parent.id.data, &RNA_NodeOutputFileSlotFile, sock->storage, &ptr);
+  RNA_pointer_create(iter->parent.owner_id, &RNA_NodeOutputFileSlotFile, sock->storage, &ptr);
   return ptr;
 }
 
 static void rna_NodeColorBalance_update_lgg(Main *bmain, Scene *scene, PointerRNA *ptr)
 {
-  ntreeCompositColorBalanceSyncFromLGG(ptr->id.data, ptr->data);
+  ntreeCompositColorBalanceSyncFromLGG((bNodeTree *)ptr->owner_id, ptr->data);
   rna_Node_update(bmain, scene, ptr);
 }
 
 static void rna_NodeColorBalance_update_cdl(Main *bmain, Scene *scene, PointerRNA *ptr)
 {
-  ntreeCompositColorBalanceSyncFromCDL(ptr->id.data, ptr->data);
+  ntreeCompositColorBalanceSyncFromCDL((bNodeTree *)ptr->owner_id, ptr->data);
   rna_Node_update(bmain, scene, ptr);
 }
 
@@ -3281,13 +3281,13 @@ static void rna_NodeCryptomatte_matte_set(PointerRNA *ptr, const char *value)
 
 static void rna_NodeCryptomatte_update_add(Main *bmain, Scene *scene, PointerRNA *ptr)
 {
-  ntreeCompositCryptomatteSyncFromAdd(ptr->id.data, ptr->data);
+  ntreeCompositCryptomatteSyncFromAdd((bNodeTree *)ptr->owner_id, ptr->data);
   rna_Node_update(bmain, scene, ptr);
 }
 
 static void rna_NodeCryptomatte_update_remove(Main *bmain, Scene *scene, PointerRNA *ptr)
 {
-  ntreeCompositCryptomatteSyncFromRemove(ptr->id.data, ptr->data);
+  ntreeCompositCryptomatteSyncFromRemove((bNodeTree *)ptr->owner_id, ptr->data);
   rna_Node_update(bmain, scene, ptr);
 }
 
@@ -3297,7 +3297,7 @@ static PointerRNA rna_NodeOutputFile_slot_layer_get(CollectionPropertyIterator *
 {
   PointerRNA ptr;
   bNodeSocket *sock = rna_iterator_listbase_get(iter);
-  RNA_pointer_create(iter->parent.id.data, &RNA_NodeOutputFileSlotLayer, sock->storage, &ptr);
+  RNA_pointer_create(iter->parent.owner_id, &RNA_NodeOutputFileSlotLayer, sock->storage, &ptr);
   return ptr;
 }
 
@@ -3327,7 +3327,7 @@ static int rna_NodeOutputFileSocket_find_node(bNodeTree *ntree,
 
 static void rna_NodeOutputFileSlotFile_path_set(PointerRNA *ptr, const char *value)
 {
-  bNodeTree *ntree = ptr->id.data;
+  bNodeTree *ntree = (bNodeTree *)ptr->owner_id;
   NodeImageMultiFileSocket *sockdata = ptr->data;
   bNode *node;
   bNodeSocket *sock;
@@ -3339,7 +3339,7 @@ static void rna_NodeOutputFileSlotFile_path_set(PointerRNA *ptr, const char *val
 
 static void rna_NodeOutputFileSlotLayer_name_set(PointerRNA *ptr, const char *value)
 {
-  bNodeTree *ntree = ptr->id.data;
+  bNodeTree *ntree = (bNodeTree *)ptr->owner_id;
   NodeImageMultiFileSocket *sockdata = ptr->data;
   bNode *node;
   bNodeSocket *sock;
@@ -3460,7 +3460,7 @@ static void rna_ShaderNodeScript_bytecode_set(PointerRNA *ptr, const char *value
 
 static void rna_ShaderNodeScript_update(Main *bmain, Scene *scene, PointerRNA *ptr)
 {
-  bNodeTree *ntree = (bNodeTree *)ptr->id.data;
+  bNodeTree *ntree = (bNodeTree *)ptr->owner_id;
   bNode *node = (bNode *)ptr->data;
   RenderEngineType *engine_type = RE_engines_find(scene->r.engine);
 
@@ -3476,7 +3476,7 @@ static void rna_ShaderNodeScript_update(Main *bmain, Scene *scene, PointerRNA *p
 
 static void rna_ShaderNode_socket_update(Main *bmain, Scene *scene, PointerRNA *ptr)
 {
-  bNodeTree *ntree = (bNodeTree *)ptr->id.data;
+  bNodeTree *ntree = (bNodeTree *)ptr->owner_id;
   bNode *node = (bNode *)ptr->data;
 
   nodeUpdate(ntree, node);
@@ -3485,7 +3485,7 @@ static void rna_ShaderNode_socket_update(Main *bmain, Scene *scene, PointerRNA *
 
 static void rna_CompositorNodeScale_update(Main *bmain, Scene *scene, PointerRNA *ptr)
 {
-  bNodeTree *ntree = (bNodeTree *)ptr->id.data;
+  bNodeTree *ntree = (bNodeTree *)ptr->owner_id;
   bNode *node = (bNode *)ptr->data;
 
   nodeUpdate(ntree, node);
@@ -3516,7 +3516,7 @@ static void rna_ShaderNodePointDensity_psys_set(PointerRNA *ptr,
   NodeShaderTexPointDensity *shader_point_density = node->storage;
   Object *ob = (Object *)node->id;
 
-  if (ob && value.id.data == ob) {
+  if (ob && value.owner_id == &ob->id) {
     shader_point_density->particle_system = BLI_findindex(&ob->particlesystem, value.data) + 1;
   }
   else {
index 0a4016f3d4a0d30045a2414f513bb9b08aed61e8..e43fe912fc3ac3e1ae44dc4373c7c3e512446ca1 100644 (file)
@@ -299,27 +299,27 @@ const EnumPropertyItem rna_enum_object_axis_items[] = {
 
 static void rna_Object_internal_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
 {
-  DEG_id_tag_update(ptr->id.data, ID_RECALC_TRANSFORM);
+  DEG_id_tag_update(ptr->owner_id, ID_RECALC_TRANSFORM);
 }
 
 static void rna_Object_internal_update_draw(Main *UNUSED(bmain),
                                             Scene *UNUSED(scene),
                                             PointerRNA *ptr)
 {
-  DEG_id_tag_update(ptr->id.data, ID_RECALC_TRANSFORM);
-  WM_main_add_notifier(NC_OBJECT | ND_DRAW, ptr->id.data);
+  DEG_id_tag_update(ptr->owner_id, ID_RECALC_TRANSFORM);
+  WM_main_add_notifier(NC_OBJECT | ND_DRAW, ptr->owner_id);
 }
 
 static void rna_Object_matrix_world_update(Main *bmain, Scene *scene, PointerRNA *ptr)
 {
   /* don't use compat so we get predictable rotation */
-  BKE_object_apply_mat4(ptr->id.data, ((Object *)ptr->id.data)->obmat, false, true);
+  BKE_object_apply_mat4((Object *)ptr->owner_id, ((Object *)ptr->owner_id)->obmat, false, true);
   rna_Object_internal_update(bmain, scene, ptr);
 }
 
 static void rna_Object_hide_update(Main *bmain, Scene *UNUSED(scene), PointerRNA *ptr)
 {
-  Object *ob = ptr->id.data;
+  Object *ob = (Object *)ptr->owner_id;
   BKE_main_collection_sync_remap(bmain);
   DEG_id_tag_update(&ob->id, ID_RECALC_COPY_ON_WRITE);
   DEG_relations_tag_update(bmain);
@@ -328,7 +328,7 @@ static void rna_Object_hide_update(Main *bmain, Scene *UNUSED(scene), PointerRNA
 
 static void rna_MaterialIndex_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
 {
-  Object *ob = (Object *)ptr->id.data;
+  Object *ob = (Object *)ptr->owner_id;
   if (ob && ob->type == OB_GPENCIL) {
     /* notifying material property in topbar */
     WM_main_add_notifier(NC_SPACE | ND_SPACE_VIEW3D, NULL);
@@ -337,13 +337,13 @@ static void rna_MaterialIndex_update(Main *UNUSED(bmain), Scene *UNUSED(scene),
 
 static void rna_Object_matrix_local_get(PointerRNA *ptr, float values[16])
 {
-  Object *ob = ptr->id.data;
+  Object *ob = (Object *)ptr->owner_id;
   BKE_object_matrix_local_get(ob, (float(*)[4])values);
 }
 
 static void rna_Object_matrix_local_set(PointerRNA *ptr, const float values[16])
 {
-  Object *ob = ptr->id.data;
+  Object *ob = (Object *)ptr->owner_id;
   float local_mat[4][4];
 
   /* Localspace matrix is truly relative to the parent,
@@ -365,20 +365,20 @@ static void rna_Object_matrix_local_set(PointerRNA *ptr, const float values[16])
 
 static void rna_Object_matrix_basis_get(PointerRNA *ptr, float values[16])
 {
-  Object *ob = ptr->id.data;
+  Object *ob = (Object *)ptr->owner_id;
   BKE_object_to_mat4(ob, (float(*)[4])values);
 }
 
 static void rna_Object_matrix_basis_set(PointerRNA *ptr, const float values[16])
 {
-  Object *ob = ptr->id.data;
+  Object *ob = (Object *)ptr->owner_id;
   BKE_object_apply_mat4(ob, (float(*)[4])values, false, false);
 }
 
 void rna_Object_internal_update_data(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
 {
-  DEG_id_tag_update(ptr->id.data, ID_RECALC_GEOMETRY);
-  WM_main_add_notifier(NC_OBJECT | ND_DRAW, ptr->id.data);
+  DEG_id_tag_update(ptr->owner_id, ID_RECALC_GEOMETRY);
+  WM_main_add_notifier(NC_OBJECT | ND_DRAW, ptr->owner_id);
 }
 
 void rna_Object_internal_update_data_dependency(Main *bmain, Scene *scene, PointerRNA *ptr)
@@ -389,7 +389,7 @@ void rna_Object_internal_update_data_dependency(Main *bmain, Scene *scene, Point
 
 static void rna_Object_active_shape_update(bContext *C, PointerRNA *ptr)
 {
-  Object *ob = ptr->id.data;
+  Object *ob = (Object *)ptr->owner_id;
   Main *bmain = CTX_data_main(C);
   Scene *scene = CTX_data_scene(C);
 
@@ -422,9 +422,9 @@ static void rna_Object_active_shape_update(bContext *C, PointerRNA *ptr)
 
 static void rna_Object_dependency_update(Main *bmain, Scene *UNUSED(scene), PointerRNA *ptr)
 {
-  DEG_id_tag_update(ptr->id.data, ID_RECALC_TRANSFORM);
+  DEG_id_tag_update(ptr->owner_id, ID_RECALC_TRANSFORM);
   DEG_relations_tag_update(bmain);
-  WM_main_add_notifier(NC_OBJECT | ND_PARENT, ptr->id.data);
+  WM_main_add_notifier(NC_OBJECT | ND_PARENT, ptr->owner_id);
 }
 
 static void rna_Object_data_set(PointerRNA *ptr, PointerRNA value, struct ReportList *reports)
@@ -691,7 +691,7 @@ static void rna_Object_dup_collection_set(PointerRNA *ptr,
 
 static void rna_VertexGroup_name_set(PointerRNA *ptr, const char *value)
 {
-  Object *ob = (Object *)ptr->id.data;
+  Object *ob = (Object *)ptr->owner_id;
   bDeformGroup *dg = (bDeformGroup *)ptr->data;
   BLI_strncpy_utf8(dg->name, value, sizeof(dg->name));
   defgroup_unique_name(dg, ob);
@@ -699,34 +699,34 @@ static void rna_VertexGroup_name_set(PointerRNA *ptr, const char *value)
 
 static int rna_VertexGroup_index_get(PointerRNA *ptr)
 {
-  Object *ob = (Object *)ptr->id.data;
+  Object *ob = (Object *)ptr->owner_id;
 
   return BLI_findindex(&ob->defbase, ptr->data);
 }
 
 static PointerRNA rna_Object_active_vertex_group_get(PointerRNA *ptr)
 {
-  Object *ob = (Object *)ptr->id.data;
+  Object *ob = (Object *)ptr->owner_id;
   return rna_pointer_inherit_refine(
       ptr, &RNA_VertexGroup, BLI_findlink(&ob->defbase, ob->actdef - 1));
 }
 
 static int rna_Object_active_vertex_group_index_get(PointerRNA *ptr)
 {
-  Object *ob = (Object *)ptr->id.data;
+  Object *ob = (Object *)ptr->owner_id;
   return ob->actdef - 1;
 }
 
 static void rna_Object_active_vertex_group_index_set(PointerRNA *ptr, int value)
 {
-  Object *ob = (Object *)ptr->id.data;
+  Object *ob = (Object *)ptr->owner_id;
   ob->actdef = value + 1;
 }
 
 static void rna_Object_active_vertex_group_index_range(
     PointerRNA *ptr, int *min, int *max, int *UNUSED(softmin), int *UNUSED(softmax))
 {
-  Object *ob = (Object *)ptr->id.data;
+  Object *ob = (Object *)ptr->owner_id;
 
   *min = 0;
   *max = max_ii(0, BLI_listbase_count(&ob->defbase) - 1);
@@ -734,7 +734,7 @@ static void rna_Object_active_vertex_group_index_range(
 
 void rna_object_vgroup_name_index_get(PointerRNA *ptr, char *value, int index)
 {
-  Object *ob = (Object *)ptr->id.data;
+  Object *ob = (Object *)ptr->owner_id;
   bDeformGroup *dg;
 
   dg = BLI_findlink(&ob->defbase, index - 1);
@@ -749,7 +749,7 @@ void rna_object_vgroup_name_index_get(PointerRNA *ptr, char *value, int index)
 
 int rna_object_vgroup_name_index_length(PointerRNA *ptr, int index)
 {
-  Object *ob = (Object *)ptr->id.data;
+  Object *ob = (Object *)ptr->owner_id;
   bDeformGroup *dg;
 
   dg = BLI_findlink(&ob->defbase, index - 1);
@@ -758,13 +758,13 @@ int rna_object_vgroup_name_index_length(PointerRNA *ptr, int index)
 
 void rna_object_vgroup_name_index_set(PointerRNA *ptr, const char *value, short *index)
 {
-  Object *ob = (Object *)ptr->id.data;
+  Object *ob = (Object *)ptr->owner_id;
   *index = defgroup_name_index(ob, value) + 1;
 }
 
 void rna_object_vgroup_name_set(PointerRNA *ptr, const char *value, char *result, int maxlen)
 {
-  Object *ob = (Object *)ptr->id.data;
+  Object *ob = (Object *)ptr->owner_id;
   bDeformGroup *dg = defgroup_find_name(ob, value);
   if (dg) {
     /* No need for BLI_strncpy_utf8, since this matches an existing group. */
@@ -777,7 +777,7 @@ void rna_object_vgroup_name_set(PointerRNA *ptr, const char *value, char *result
 
 static void rna_FaceMap_name_set(PointerRNA *ptr, const char *value)
 {
-  Object *ob = (Object *)ptr->id.data;
+  Object *ob = (Object *)ptr->owner_id;
   bFaceMap *fmap = (bFaceMap *)ptr->data;
   BLI_strncpy_utf8(fmap->name, value, sizeof(fmap->name));
   BKE_object_facemap_unique_name(ob, fmap);
@@ -785,33 +785,33 @@ static void rna_FaceMap_name_set(PointerRNA *ptr, const char *value)
 
 static int rna_FaceMap_index_get(PointerRNA *ptr)
 {
-  Object *ob = (Object *)ptr->id.data;
+  Object *ob = (Object *)ptr->owner_id;
 
   return BLI_findindex(&ob->fmaps, ptr->data);
 }
 
 static PointerRNA rna_Object_active_face_map_get(PointerRNA *ptr)
 {
-  Object *ob = (Object *)ptr->id.data;
+  Object *ob = (Object *)ptr->owner_id;
   return rna_pointer_inherit_refine(ptr, &RNA_FaceMap, BLI_findlink(&ob->fmaps, ob->actfmap - 1));
 }
 
 static int rna_Object_active_face_map_index_get(PointerRNA *ptr)
 {
-  Object *ob = (Object *)ptr->id.data;
+  Object *ob = (Object *)ptr->owner_id;
   return ob->actfmap - 1;
 }
 
 static void rna_Object_active_face_map_index_set(PointerRNA *ptr, int value)
 {
-  Object *ob = (Object *)ptr->id.data;
+  Object *ob = (Object *)ptr->owner_id;
   ob->actfmap = value + 1;
 }
 
 static void rna_Object_active_face_map_index_range(
     PointerRNA *ptr, int *min, int *max, int *UNUSED(softmin), int *UNUSED(softmax))
 {
-  Object *ob = (Object *)ptr->id.data;
+  Object *ob = (Object *)ptr->owner_id;
 
   *min = 0;
   *max = max_ii(0, BLI_listbase_count(&ob->fmaps) - 1);
@@ -819,7 +819,7 @@ static void rna_Object_active_face_map_index_range(
 
 void rna_object_BKE_object_facemap_name_index_get(PointerRNA *ptr, char *value, int index)
 {
-  Object *ob = (Object *)ptr->id.data;
+  Object *ob = (Object *)ptr->owner_id;
   bFaceMap *fmap;
 
   fmap = BLI_findlink(&ob->fmaps, index - 1);
@@ -834,7 +834,7 @@ void rna_object_BKE_object_facemap_name_index_get(PointerRNA *ptr, char *value,
 
 int rna_object_BKE_object_facemap_name_index_length(PointerRNA *ptr, int index)
 {
-  Object *ob = (Object *)ptr->id.data;
+  Object *ob = (Object *)ptr->owner_id;
   bFaceMap *fmap;
 
   fmap = BLI_findlink(&ob->fmaps, index - 1);
@@ -843,13 +843,13 @@ int rna_object_BKE_object_facemap_name_index_length(PointerRNA *ptr, int index)
 
 void rna_object_BKE_object_facemap_name_index_set(PointerRNA *ptr, const char *value, short *index)
 {
-  Object *ob = (Object *)ptr->id.data;
+  Object *ob = (Object *)ptr->owner_id;
   *index = BKE_object_facemap_name_index(ob, value) + 1;
 }
 
 void rna_object_fmap_name_set(PointerRNA *ptr, const char *value, char *result, int maxlen)
 {
-  Object *ob = (Object *)ptr->id.data;
+  Object *ob = (Object *)ptr->owner_id;
   bFaceMap *fmap = BKE_object_facemap_find_name(ob, value);
   if (fmap) {
     /* No need for BLI_strncpy_utf8, since this matches an existing group. */
@@ -862,7 +862,7 @@ void rna_object_fmap_name_set(PointerRNA *ptr, const char *value, char *result,
 
 void rna_object_uvlayer_name_set(PointerRNA *ptr, const char *value, char *result, int maxlen)
 {
-  Object *ob = (Object *)ptr->id.data;
+  Object *ob = (Object *)ptr->owner_id;
   Mesh *me;
   CustomDataLayer *layer;
   int a;
@@ -885,7 +885,7 @@ void rna_object_uvlayer_name_set(PointerRNA *ptr, const char *value, char *resul
 
 void rna_object_vcollayer_name_set(PointerRNA *ptr, const char *value, char *result, int maxlen)
 {
-  Object *ob = (Object *)ptr->id.data;
+  Object *ob = (Object *)ptr->owner_id;
   Mesh *me;
   CustomDataLayer *layer;
   int a;
@@ -908,13 +908,13 @@ void rna_object_vcollayer_name_set(PointerRNA *ptr, const char *value, char *res
 
 static int rna_Object_active_material_index_get(PointerRNA *ptr)
 {
-  Object *ob = (Object *)ptr->id.data;
+  Object *ob = (Object *)ptr->owner_id;
   return MAX2(ob->actcol - 1, 0);
 }
 
 static void rna_Object_active_material_index_set(PointerRNA *ptr, int value)
 {
-  Object *ob = (Object *)ptr->id.data;
+  Object *ob = (Object *)ptr->owner_id;
   ob->actcol = value + 1;
 
   if (ob->type == OB_MESH) {
@@ -929,7 +929,7 @@ static void rna_Object_active_material_index_set(PointerRNA *ptr, int value)
 static void rna_Object_active_material_index_range(
     PointerRNA *ptr, int *min, int *max, int *UNUSED(softmin), int *UNUSED(softmax))
 {
-  Object *ob = (Object *)ptr->id.data;
+  Object *ob = (Object *)ptr->owner_id;
   *min = 0;
   *max = max_ii(ob->totcol - 1, 0);
 }
@@ -937,7 +937,7 @@ static void rna_Object_active_material_index_range(
 /* returns active base material */
 static PointerRNA rna_Object_active_material_get(PointerRNA *ptr)
 {
-  Object *ob = (Object *)ptr->id.data;
+  Object *ob = (Object *)ptr->owner_id;
   Material *ma;
 
   ma = (ob->totcol) ? give_current_material(ob, ob->actcol) : NULL;
@@ -948,7 +948,7 @@ static void rna_Object_active_material_set(PointerRNA *ptr,
                                            PointerRNA value,
                                            struct ReportList *UNUSED(reports))
 {
-  Object *ob = (Object *)ptr->id.data;
+  Object *ob = (Object *)ptr->owner_id;
 
   DEG_id_tag_update(value.data, 0);
   BLI_assert(BKE_id_is_in_global_main(&ob->id));
@@ -963,7 +963,7 @@ static void rna_Object_active_material_set(PointerRNA *ptr,
 
 static int rna_Object_active_material_editable(PointerRNA *ptr, const char **UNUSED(r_info))
 {
-  Object *ob = (Object *)ptr->id.data;
+  Object *ob = (Object *)ptr->owner_id;
   bool is_editable;
 
   if ((ob->matbits == NULL) || (ob->actcol == 0) || ob->matbits[ob->actcol - 1]) {
@@ -979,20 +979,20 @@ static int rna_Object_active_material_editable(PointerRNA *ptr, const char **UNU
 static void rna_Object_active_particle_system_index_range(
     PointerRNA *ptr, int *min, int *max, int *UNUSED(softmin), int *UNUSED(softmax))
 {
-  Object *ob = (Object *)ptr->id.data;
+  Object *ob = (Object *)ptr->owner_id;
   *min = 0;
   *max = max_ii(0, BLI_listbase_count(&ob->particlesystem) - 1);
 }
 
 static int rna_Object_active_particle_system_index_get(PointerRNA *ptr)
 {
-  Object *ob = (Object *)ptr->id.data;
+  Object *ob = (Object *)ptr->owner_id;
   return psys_get_current_num(ob);
 }
 
 static void rna_Object_active_particle_system_index_set(PointerRNA *ptr, int value)
 {
-  Object *ob = (Object *)ptr->id.data;
+  Object *ob = (Object *)ptr->owner_id;
   psys_set_current_num(ob, value);
 }
 
@@ -1000,7 +1000,7 @@ static void rna_Object_particle_update(Main *UNUSED(bmain), Scene *scene, Pointe
 {
   /* TODO: Disabled for now, because bContext is not available. */
 #  if 0
-  Object *ob = (Object *)ptr->id.data;
+  Object *ob = (Object *)ptr->owner_id;
   PE_current_changed(NULL, scene, ob);
 #  else
   (void)scene;
@@ -1137,7 +1137,7 @@ static int rna_Object_rotation_4d_editable(PointerRNA *ptr, int index)
 
 static int rna_MaterialSlot_material_editable(PointerRNA *ptr, const char **UNUSED(r_info))
 {
-  Object *ob = (Object *)ptr->id.data;
+  Object *ob = (Object *)ptr->owner_id;
   const int index = (Material **)ptr->data - ob->mat;
   bool is_editable;
 
@@ -1153,7 +1153,7 @@ static int rna_MaterialSlot_material_editable(PointerRNA *ptr, const char **UNUS
 
 static PointerRNA rna_MaterialSlot_material_get(PointerRNA *ptr)
 {
-  Object *ob = (Object *)ptr->id.data;
+  Object *ob = (Object *)ptr->owner_id;
   Material *ma;
   const int index = (Material **)ptr->data - ob->mat;
 
@@ -1165,7 +1165,7 @@ static void rna_MaterialSlot_material_set(PointerRNA *ptr,
                                           PointerRNA value,
                                           struct ReportList *UNUSED(reports))
 {
-  Object *ob = (Object *)ptr->id.data;
+  Object *ob = (Object *)ptr->owner_id;
   int index = (Material **)ptr->data - ob->mat;
 
   BLI_assert(BKE_id_is_in_global_main(&ob->id));
@@ -1175,7 +1175,7 @@ static void rna_MaterialSlot_material_set(PointerRNA *ptr,
 
 static bool rna_MaterialSlot_material_poll(PointerRNA *ptr, PointerRNA value)
 {
-  Object *ob = (Object *)ptr->id.data;
+  Object *ob = (Object *)ptr->owner_id;
   Material *ma = (Material *)value.data;
 
   if (ob->type == OB_GPENCIL) {
@@ -1190,7 +1190,7 @@ static bool rna_MaterialSlot_material_poll(PointerRNA *ptr, PointerRNA value)
 
 static int rna_MaterialSlot_link_get(PointerRNA *ptr)
 {
-  Object *ob = (Object *)ptr->id.data;
+  Object *ob = (Object *)ptr->owner_id;
   int index = (Material **)ptr->data - ob->mat;
 
   return ob->matbits[index] != 0;
@@ -1198,7 +1198,7 @@ static int rna_MaterialSlot_link_get(PointerRNA *ptr)
 
 static void rna_MaterialSlot_link_set(PointerRNA *ptr, int value)
 {
-  Object *ob = (Object *)ptr->id.data;
+  Object *ob = (Object *)ptr->owner_id;
   int index = (Material **)ptr->data - ob->mat;
 
   if (value) {
@@ -1213,7 +1213,7 @@ static void rna_MaterialSlot_link_set(PointerRNA *ptr, int value)
 
 static int rna_MaterialSlot_name_length(PointerRNA *ptr)
 {
-  Object *ob = (Object *)ptr->id.data;
+  Object *ob = (Object *)ptr->owner_id;
   Material *ma;
   int index = (Material **)ptr->data - ob->mat;
 
@@ -1228,7 +1228,7 @@ static int rna_MaterialSlot_name_length(PointerRNA *ptr)
 
 static void rna_MaterialSlot_name_get(PointerRNA *ptr, char *str)
 {
-  Object *ob = (Object *)ptr->id.data;
+  Object *ob = (Object *)ptr->owner_id;
   Material *ma;
   int index = (Material **)ptr->data - ob->mat;
 
@@ -1246,14 +1246,14 @@ static void rna_MaterialSlot_update(Main *bmain, Scene *scene, PointerRNA *ptr)
 {
   rna_Object_internal_update(bmain, scene, ptr);
 
-  WM_main_add_notifier(NC_OBJECT | ND_OB_SHADING, ptr->id.data);
+  WM_main_add_notifier(NC_OBJECT | ND_OB_SHADING, ptr->owner_id);
   WM_main_add_notifier(NC_MATERIAL | ND_SHADING_LINKS, NULL);
   DEG_relations_tag_update(bmain);
 }
 
 static char *rna_MaterialSlot_path(PointerRNA *ptr)
 {
-  Object *ob = (Object *)ptr->id.data;
+  Object *ob = (Object *)ptr->owner_id;
   int index = (Material **)ptr->data - ob->mat;
 
   return BLI_sprintfN("material_slots[%d]", index);
@@ -1271,7 +1271,7 @@ static char *rna_ObjectDisplay_path(PointerRNA *UNUSED(ptr))
 
 static PointerRNA rna_Object_active_particle_system_get(PointerRNA *ptr)
 {