From b5c89822ac4006a36c33eb796f4b6260afbfa99d Mon Sep 17 00:00:00 2001 From: Jacques Lucke Date: Wed, 6 Sep 2023 00:48:50 +0200 Subject: [PATCH] RNA: return PointerRNA from rna create functions There are a couple of functions that create rna pointers. For example `RNA_main_pointer_create` and `RNA_pointer_create`. Currently, those take an output parameter `r_ptr` as last argument. This patch changes it so that the functions actually return a` PointerRNA` instead of using the output parameters. This has a few benefits: * Output parameters should only be used when there is an actual benefit. Otherwise, one should default to returning the value. * It's simpler to use the API in the large majority of cases (note that this patch reduces the number of lines of code). * It allows the `PointerRNA` to be const on the call-site, if that is desired. No performance regression has been measured in production files. If one of these functions happened to be called in a hot loop where there is a regression, the solution should be to use an inline function there which allows the compiler to optimize it even better. Pull Request: https://projects.blender.org/blender/blender/pulls/111976 --- intern/cycles/blender/python.cpp | 82 ++++++++----------- intern/cycles/blender/sync.cpp | 3 +- source/blender/blenkernel/intern/action.cc | 7 +- source/blender/blenkernel/intern/anim_data.cc | 4 +- source/blender/blenkernel/intern/anim_sys.cc | 12 +-- .../blenkernel/intern/armature_pose.cc | 6 +- source/blender/blenkernel/intern/callbacks.cc | 12 +-- source/blender/blenkernel/intern/context.cc | 11 ++- source/blender/blenkernel/intern/fcurve.cc | 3 +- .../blenkernel/intern/fcurve_driver.cc | 10 +-- source/blender/blenkernel/intern/key.cc | 3 +- .../blender/blenkernel/intern/layer_test.cc | 3 +- source/blender/blenkernel/intern/lib_id.cc | 3 +- .../blender/blenkernel/intern/lib_override.cc | 50 +++++------ source/blender/blenkernel/intern/nla.cc | 4 +- source/blender/blenkernel/intern/node.cc | 9 +- .../blender/blenkernel/intern/object_dupli.cc | 6 +- source/blender/blenkernel/intern/scene.cc | 3 +- source/blender/compositor/intern/COM_Node.cc | 24 +++--- .../intern/builder/deg_builder_cache.cc | 2 +- .../intern/builder/deg_builder_key.cc | 3 +- .../intern/builder/deg_builder_nodes.cc | 6 +- .../intern/builder/deg_builder_relations.cc | 9 +- .../builder/deg_builder_relations_drivers.cc | 3 +- .../builder/deg_builder_relations_rig.cc | 3 +- .../depsgraph/intern/depsgraph_query.cc | 3 +- .../eval/deg_eval_runtime_backup_animation.cc | 5 +- .../animation/anim_channels_defines.cc | 46 +++++------ source/blender/editors/animation/anim_deps.cc | 4 +- source/blender/editors/animation/anim_draw.cc | 4 +- .../editors/animation/anim_ipo_utils.cc | 4 +- source/blender/editors/animation/drivers.cc | 20 ++--- .../blender/editors/animation/fmodifier_ui.cc | 7 +- .../editors/animation/keyframes_general.cc | 8 +- .../blender/editors/animation/keyframing.cc | 12 +-- .../blender/editors/animation/keyingsets.cc | 8 +- .../editors/animation/time_scrub_ui.cc | 3 +- source/blender/editors/armature/pose_edit.cc | 18 ++-- source/blender/editors/armature/pose_slide.cc | 3 +- .../editors/armature/pose_transform.cc | 3 +- source/blender/editors/armature/pose_utils.cc | 3 +- .../asset/intern/asset_shelf_asset_view.cc | 6 +- source/blender/editors/curve/editfont.cc | 6 +- .../editors/geometry/node_group_operator.cc | 3 +- .../editors/gpencil_legacy/gpencil_convert.cc | 3 +- .../gpencil_legacy/gpencil_interpolate.cc | 5 +- .../editors/gpencil_legacy/gpencil_utils.cc | 14 ++-- .../eyedroppers/eyedropper_datablock.cc | 7 +- .../interface/eyedroppers/eyedropper_depth.cc | 2 +- source/blender/editors/interface/interface.cc | 13 ++- .../interface/interface_context_menu.cc | 9 +- .../interface/interface_context_path.cc | 3 +- .../editors/interface/interface_handlers.cc | 3 +- .../editors/interface/interface_layout.cc | 5 +- .../editors/interface/interface_ops.cc | 19 ++--- .../interface/interface_region_menu_pie.cc | 3 +- .../interface_template_asset_view.cc | 13 ++- ...rface_template_grease_pencil_layer_tree.cc | 13 ++- .../interface_template_light_linking.cc | 14 +--- .../interface/interface_template_list.cc | 3 +- .../interface_template_search_menu.cc | 6 +- .../editors/interface/interface_templates.cc | 60 ++++++-------- .../editors/interface/interface_utils.cc | 3 +- source/blender/editors/io/io_cache.cc | 3 +- source/blender/editors/io/io_obj.cc | 6 +- source/blender/editors/io/io_ply_ops.cc | 3 +- source/blender/editors/mesh/editmesh_bevel.cc | 4 +- .../mesh/editmesh_extrude_spin_gizmo.cc | 3 +- source/blender/editors/mesh/editmesh_tools.cc | 12 +-- .../editors/object/object_constraint.cc | 3 +- .../editors/physics/rigidbody_object.cc | 8 +- .../blender/editors/render/render_shading.cc | 12 +-- source/blender/editors/screen/area.cc | 6 +- source/blender/editors/screen/screen_ops.cc | 20 ++--- .../editors/screen/screen_user_menu.cc | 3 +- source/blender/editors/screen/screendump.cc | 3 +- .../editors/sculpt_paint/sculpt_ops.cc | 4 +- source/blender/editors/sound/sound_ops.cc | 6 +- .../editors/space_action/action_data.cc | 12 ++- .../editors/space_action/space_action.cc | 13 +-- .../editors/space_buttons/buttons_context.cc | 34 ++++---- .../editors/space_buttons/buttons_ops.cc | 6 +- .../editors/space_buttons/buttons_texture.cc | 25 ++---- .../editors/space_buttons/space_buttons.cc | 2 +- .../editors/space_clip/clip_dopesheet_draw.cc | 4 +- source/blender/editors/space_clip/clip_ops.cc | 3 +- .../blender/editors/space_file/file_draw.cc | 3 +- .../blender/editors/space_file/file_panels.cc | 7 +- .../blender/editors/space_file/space_file.cc | 9 +- .../editors/space_graph/graph_buttons.cc | 78 ++++++------------ .../editors/space_graph/graph_slider_ops.cc | 3 +- .../editors/space_graph/space_graph.cc | 8 +- .../blender/editors/space_image/image_ops.cc | 15 ++-- .../blender/editors/space_nla/nla_buttons.cc | 12 ++- source/blender/editors/space_nla/nla_edit.cc | 4 +- source/blender/editors/space_nla/space_nla.cc | 13 +-- source/blender/editors/space_node/drawnode.cc | 33 +++----- source/blender/editors/space_node/node_add.cc | 4 +- .../blender/editors/space_node/node_draw.cc | 15 +--- .../blender/editors/space_node/node_gizmo.cc | 14 ++-- .../blender/editors/space_node/node_group.cc | 12 +-- .../editors/space_node/node_shader_preview.cc | 6 +- .../editors/space_node/node_templates.cc | 9 +- .../space_outliner/outliner_collections.cc | 3 +- .../editors/space_outliner/outliner_draw.cc | 46 +++++------ .../editors/space_outliner/outliner_select.cc | 28 +++---- .../editors/space_outliner/outliner_tools.cc | 6 +- .../space_outliner/tree/tree_display_data.cc | 3 +- .../tree/tree_element_overrides.cc | 6 +- .../editors/space_sequencer/sequencer_add.cc | 3 +- .../sequencer_channels_draw.cc | 10 +-- .../editors/space_sequencer/sequencer_edit.cc | 3 +- .../space_sequencer/space_sequencer.cc | 3 +- .../spreadsheet_dataset_draw.cc | 3 +- .../spreadsheet_row_filter_ui.cc | 4 +- source/blender/editors/space_text/text_ops.cc | 7 +- .../editors/space_view3d/view3d_buttons.cc | 26 ++---- .../editors/space_view3d/view3d_edit.cc | 2 +- .../space_view3d/view3d_gizmo_camera.cc | 9 +- .../space_view3d/view3d_gizmo_forcefield.cc | 3 +- .../space_view3d/view3d_gizmo_light.cc | 9 +- .../space_view3d/view3d_gizmo_tool_generic.cc | 4 +- .../editors/space_view3d/view3d_header.cc | 4 +- source/blender/editors/transform/transform.cc | 2 +- .../transform/transform_convert_nla.cc | 4 +- .../transform_convert_sequencer_image.cc | 3 +- .../editors/transform/transform_gizmo_2d.cc | 3 +- .../editors/transform/transform_gizmo_3d.cc | 17 ++-- .../transform/transform_gizmo_extrude_3d.cc | 4 +- .../BlenderStrokeRenderer.cpp | 20 ++--- .../freestyle/intern/python/BPy_Freestyle.cpp | 3 +- .../intern/MOD_gpencil_legacy_dash.cc | 7 +- .../intern/MOD_gpencil_legacy_time.cc | 8 +- .../intern/MOD_gpencil_legacy_ui_common.cc | 5 +- .../blender/io/collada/BCAnimationCurve.cpp | 10 +-- .../blender/io/collada/DocumentExporter.cpp | 4 +- .../blender/io/collada/DocumentImporter.cpp | 4 +- .../blender/io/collada/collada_internal.cpp | 4 +- source/blender/io/usd/intern/usd_hook.cc | 4 +- source/blender/makesrna/RNA_access.hh | 10 +-- source/blender/makesrna/intern/makesrna.cc | 4 +- source/blender/makesrna/intern/rna_ID.cc | 4 +- source/blender/makesrna/intern/rna_access.cc | 79 +++++++++--------- .../blender/makesrna/intern/rna_animation.cc | 12 +-- .../blender/makesrna/intern/rna_armature.cc | 2 +- .../blender/makesrna/intern/rna_attribute.cc | 9 +- source/blender/makesrna/intern/rna_color.cc | 9 +- source/blender/makesrna/intern/rna_context.cc | 27 +++--- .../blender/makesrna/intern/rna_depsgraph.cc | 12 +-- source/blender/makesrna/intern/rna_key.cc | 4 +- source/blender/makesrna/intern/rna_layer.cc | 4 +- source/blender/makesrna/intern/rna_mesh.cc | 6 +- .../blender/makesrna/intern/rna_modifier.cc | 3 +- .../blender/makesrna/intern/rna_movieclip.cc | 3 +- .../makesrna/intern/rna_node_socket.cc | 15 ++-- .../intern/rna_node_tree_interface.cc | 41 ++++------ .../blender/makesrna/intern/rna_nodetree.cc | 75 +++++++---------- source/blender/makesrna/intern/rna_object.cc | 26 +++--- .../blender/makesrna/intern/rna_object_api.cc | 4 +- source/blender/makesrna/intern/rna_path.cc | 9 +- source/blender/makesrna/intern/rna_pose.cc | 2 +- source/blender/makesrna/intern/rna_render.cc | 32 +++----- source/blender/makesrna/intern/rna_rna.cc | 4 +- source/blender/makesrna/intern/rna_screen.cc | 3 +- .../blender/makesrna/intern/rna_sequencer.cc | 5 +- source/blender/makesrna/intern/rna_space.cc | 8 +- source/blender/makesrna/intern/rna_texture.cc | 3 +- source/blender/makesrna/intern/rna_ui.cc | 57 +++++-------- source/blender/makesrna/intern/rna_usd.cc | 3 +- source/blender/makesrna/intern/rna_userdef.cc | 3 +- source/blender/makesrna/intern/rna_wm.cc | 48 ++++------- source/blender/makesrna/intern/rna_wm_api.cc | 23 ++---- .../blender/makesrna/intern/rna_wm_gizmo.cc | 48 ++++------- source/blender/modifiers/intern/MOD_nodes.cc | 3 +- .../blender/modifiers/intern/MOD_subsurf.cc | 3 +- .../blender/modifiers/intern/MOD_ui_common.cc | 5 +- .../nodes/node_composite_keyingscreen.cc | 4 +- .../nodes/node_composite_output_file.cc | 4 +- .../nodes/node_composite_planetrackdeform.cc | 9 +- .../nodes/node_composite_trackpos.cc | 9 +- source/blender/nodes/intern/node_util.cc | 18 ++-- .../nodes/node_shader_tex_pointdensity.cc | 8 +- source/blender/python/intern/bpy.cc | 7 +- source/blender/python/intern/bpy_driver.cc | 3 +- .../blender/python/intern/bpy_library_load.cc | 6 +- source/blender/python/intern/bpy_operator.cc | 6 +- .../python/intern/bpy_operator_wrap.cc | 7 +- source/blender/python/intern/bpy_props.cc | 3 +- source/blender/python/intern/bpy_rna.cc | 61 +++++--------- source/blender/python/intern/bpy_rna_anim.cc | 4 +- source/blender/python/intern/bpy_rna_data.cc | 3 +- .../python/intern/bpy_utils_previews.cc | 6 +- .../blender/shader_fx/intern/FX_ui_common.cc | 5 +- .../windowmanager/gizmo/intern/wm_gizmo.cc | 6 +- .../windowmanager/intern/wm_event_system.cc | 7 +- .../blender/windowmanager/intern/wm_files.cc | 8 +- .../blender/windowmanager/intern/wm_keymap.cc | 9 +- .../windowmanager/intern/wm_operators.cc | 10 +-- .../blender/windowmanager/intern/wm_stereo.cc | 4 +- .../windowmanager/intern/wm_toolsystem.cc | 4 +- .../message_bus/intern/wm_message_bus_rna.cc | 7 +- .../message_bus/wm_message_bus.hh | 4 +- 202 files changed, 841 insertions(+), 1358 deletions(-) diff --git a/intern/cycles/blender/python.cpp b/intern/cycles/blender/python.cpp index 18897fa8321..7e6ed085551 100644 --- a/intern/cycles/blender/python.cpp +++ b/intern/cycles/blender/python.cpp @@ -172,29 +172,27 @@ static PyObject *create_func(PyObject * /*self*/, PyObject *args) /* RNA */ ID *bScreen = (ID *)PyLong_AsVoidPtr(pyscreen); - PointerRNA engineptr; - RNA_pointer_create(NULL, &RNA_RenderEngine, (void *)PyLong_AsVoidPtr(pyengine), &engineptr); + PointerRNA engineptr = RNA_pointer_create( + NULL, &RNA_RenderEngine, (void *)PyLong_AsVoidPtr(pyengine)); BL::RenderEngine engine(engineptr); - PointerRNA preferencesptr; - RNA_pointer_create( - NULL, &RNA_Preferences, (void *)PyLong_AsVoidPtr(pypreferences), &preferencesptr); + PointerRNA preferencesptr = RNA_pointer_create( + NULL, &RNA_Preferences, (void *)PyLong_AsVoidPtr(pypreferences)); BL::Preferences preferences(preferencesptr); - PointerRNA dataptr; - RNA_main_pointer_create((Main *)PyLong_AsVoidPtr(pydata), &dataptr); + PointerRNA dataptr = RNA_main_pointer_create((Main *)PyLong_AsVoidPtr(pydata)); BL::BlendData data(dataptr); - PointerRNA regionptr; - RNA_pointer_create(bScreen, &RNA_Region, pylong_as_voidptr_typesafe(pyregion), ®ionptr); + PointerRNA regionptr = RNA_pointer_create( + bScreen, &RNA_Region, pylong_as_voidptr_typesafe(pyregion)); BL::Region region(regionptr); - PointerRNA v3dptr; - RNA_pointer_create(bScreen, &RNA_SpaceView3D, pylong_as_voidptr_typesafe(pyv3d), &v3dptr); + PointerRNA v3dptr = RNA_pointer_create( + bScreen, &RNA_SpaceView3D, pylong_as_voidptr_typesafe(pyv3d)); BL::SpaceView3D v3d(v3dptr); - PointerRNA rv3dptr; - RNA_pointer_create(bScreen, &RNA_RegionView3D, pylong_as_voidptr_typesafe(pyrv3d), &rv3dptr); + PointerRNA rv3dptr = RNA_pointer_create( + bScreen, &RNA_RegionView3D, pylong_as_voidptr_typesafe(pyrv3d)); BL::RegionView3D rv3d(rv3dptr); /* create session */ @@ -231,8 +229,8 @@ static PyObject *render_func(PyObject * /*self*/, PyObject *args) BlenderSession *session = (BlenderSession *)PyLong_AsVoidPtr(pysession); - PointerRNA depsgraphptr; - RNA_pointer_create(NULL, &RNA_Depsgraph, (ID *)PyLong_AsVoidPtr(pydepsgraph), &depsgraphptr); + PointerRNA depsgraphptr = RNA_pointer_create( + NULL, &RNA_Depsgraph, (ID *)PyLong_AsVoidPtr(pydepsgraph)); BL::Depsgraph b_depsgraph(depsgraphptr); /* Allow Blender to execute other Python scripts. */ @@ -277,11 +275,8 @@ static PyObject *draw_func(PyObject * /*self*/, PyObject *args) ID *b_screen = (ID *)PyLong_AsVoidPtr(py_screen); - PointerRNA b_space_image_ptr; - RNA_pointer_create(b_screen, - &RNA_SpaceImageEditor, - pylong_as_voidptr_typesafe(py_space_image), - &b_space_image_ptr); + PointerRNA b_space_image_ptr = RNA_pointer_create( + b_screen, &RNA_SpaceImageEditor, pylong_as_voidptr_typesafe(py_space_image)); BL::SpaceImageEditor b_space_image(b_space_image_ptr); session->draw(b_space_image); @@ -309,12 +304,11 @@ static PyObject *bake_func(PyObject * /*self*/, PyObject *args) BlenderSession *session = (BlenderSession *)PyLong_AsVoidPtr(pysession); - PointerRNA depsgraphptr; - RNA_pointer_create(NULL, &RNA_Depsgraph, PyLong_AsVoidPtr(pydepsgraph), &depsgraphptr); + PointerRNA depsgraphptr = RNA_pointer_create( + NULL, &RNA_Depsgraph, PyLong_AsVoidPtr(pydepsgraph)); BL::Depsgraph b_depsgraph(depsgraphptr); - PointerRNA objectptr; - RNA_id_pointer_create((ID *)PyLong_AsVoidPtr(pyobject), &objectptr); + PointerRNA objectptr = RNA_id_pointer_create((ID *)PyLong_AsVoidPtr(pyobject)); BL::Object b_object(objectptr); python_thread_state_save(&session->python_thread_state); @@ -355,12 +349,11 @@ static PyObject *reset_func(PyObject * /*self*/, PyObject *args) BlenderSession *session = (BlenderSession *)PyLong_AsVoidPtr(pysession); - PointerRNA dataptr; - RNA_main_pointer_create((Main *)PyLong_AsVoidPtr(pydata), &dataptr); + PointerRNA dataptr = RNA_main_pointer_create((Main *)PyLong_AsVoidPtr(pydata)); BL::BlendData b_data(dataptr); - PointerRNA depsgraphptr; - RNA_pointer_create(NULL, &RNA_Depsgraph, PyLong_AsVoidPtr(pydepsgraph), &depsgraphptr); + PointerRNA depsgraphptr = RNA_pointer_create( + NULL, &RNA_Depsgraph, PyLong_AsVoidPtr(pydepsgraph)); BL::Depsgraph b_depsgraph(depsgraphptr); python_thread_state_save(&session->python_thread_state); @@ -381,8 +374,8 @@ static PyObject *sync_func(PyObject * /*self*/, PyObject *args) BlenderSession *session = (BlenderSession *)PyLong_AsVoidPtr(pysession); - PointerRNA depsgraphptr; - RNA_pointer_create(NULL, &RNA_Depsgraph, PyLong_AsVoidPtr(pydepsgraph), &depsgraphptr); + PointerRNA depsgraphptr = RNA_pointer_create( + NULL, &RNA_Depsgraph, PyLong_AsVoidPtr(pydepsgraph)); BL::Depsgraph b_depsgraph(depsgraphptr); python_thread_state_save(&session->python_thread_state); @@ -439,15 +432,12 @@ static PyObject *osl_update_node_func(PyObject * /*self*/, PyObject *args) return NULL; /* RNA */ - PointerRNA dataptr; - RNA_main_pointer_create((Main *)PyLong_AsVoidPtr(pydata), &dataptr); + PointerRNA dataptr = RNA_main_pointer_create((Main *)PyLong_AsVoidPtr(pydata)); BL::BlendData b_data(dataptr); - PointerRNA nodeptr; - RNA_pointer_create((ID *)PyLong_AsVoidPtr(pynodegroup), - &RNA_ShaderNodeScript, - (void *)PyLong_AsVoidPtr(pynode), - &nodeptr); + PointerRNA nodeptr = RNA_pointer_create((ID *)PyLong_AsVoidPtr(pynodegroup), + &RNA_ShaderNodeScript, + (void *)PyLong_AsVoidPtr(pynode)); BL::ShaderNodeScript b_node(nodeptr); /* update bytecode hash */ @@ -747,23 +737,18 @@ static PyObject *denoise_func(PyObject * /*self*/, PyObject *args, PyObject *key } /* Get device specification from preferences and scene. */ - PointerRNA preferencesptr; - RNA_pointer_create( - NULL, &RNA_Preferences, (void *)PyLong_AsVoidPtr(pypreferences), &preferencesptr); + PointerRNA preferencesptr = RNA_pointer_create( + NULL, &RNA_Preferences, (void *)PyLong_AsVoidPtr(pypreferences)); BL::Preferences b_preferences(preferencesptr); - PointerRNA sceneptr; - RNA_id_pointer_create((ID *)PyLong_AsVoidPtr(pyscene), &sceneptr); + PointerRNA sceneptr = RNA_id_pointer_create((ID *)PyLong_AsVoidPtr(pyscene)); BL::Scene b_scene(sceneptr); DeviceInfo device = blender_device_info(b_preferences, b_scene, true, true); /* Get denoising parameters from view layer. */ - PointerRNA viewlayerptr; - RNA_pointer_create((ID *)PyLong_AsVoidPtr(pyscene), - &RNA_ViewLayer, - PyLong_AsVoidPtr(pyviewlayer), - &viewlayerptr); + PointerRNA viewlayerptr = RNA_pointer_create( + (ID *)PyLong_AsVoidPtr(pyscene), &RNA_ViewLayer, PyLong_AsVoidPtr(pyviewlayer)); BL::ViewLayer b_view_layer(viewlayerptr); DenoiseParams params = BlenderSync::get_denoise_params(b_scene, b_view_layer, true); @@ -851,8 +836,7 @@ static PyObject *debug_flags_update_func(PyObject * /*self*/, PyObject *args) return NULL; } - PointerRNA sceneptr; - RNA_id_pointer_create((ID *)PyLong_AsVoidPtr(pyscene), &sceneptr); + PointerRNA sceneptr = RNA_id_pointer_create((ID *)PyLong_AsVoidPtr(pyscene)); BL::Scene b_scene(sceneptr); debug_flags_sync_from_scene(b_scene); diff --git a/intern/cycles/blender/sync.cpp b/intern/cycles/blender/sync.cpp index 98a0c5e5384..674072d8f15 100644 --- a/intern/cycles/blender/sync.cpp +++ b/intern/cycles/blender/sync.cpp @@ -120,8 +120,7 @@ void BlenderSync::sync_recalc(BL::Depsgraph &b_depsgraph, BL::SpaceView3D &b_v3d if (geom->is_mesh()) { Mesh *mesh = static_cast(geom); if (mesh->get_subdivision_type() != Mesh::SUBDIVISION_NONE) { - PointerRNA id_ptr; - RNA_id_pointer_create((::ID *)iter.first.id, &id_ptr); + PointerRNA id_ptr = RNA_id_pointer_create((::ID *)iter.first.id); geometry_map.set_recalc(BL::ID(id_ptr)); } } diff --git a/source/blender/blenkernel/intern/action.cc b/source/blender/blenkernel/intern/action.cc index 5674c35fdeb..4bd54c0d8a9 100644 --- a/source/blender/blenkernel/intern/action.cc +++ b/source/blender/blenkernel/intern/action.cc @@ -1485,10 +1485,10 @@ eAction_TransformFlags BKE_action_get_item_transform_flags(bAction *act, /* build PointerRNA from provided data to obtain the paths to use */ if (pchan) { - RNA_pointer_create((ID *)ob, &RNA_PoseBone, pchan, &ptr); + ptr = RNA_pointer_create((ID *)ob, &RNA_PoseBone, pchan); } else if (ob) { - RNA_id_pointer_create((ID *)ob, &ptr); + ptr = RNA_id_pointer_create((ID *)ob); } else { return eAction_TransformFlags(0); @@ -1755,10 +1755,9 @@ void what_does_obaction(Object *ob, * (though a bit more dangerous). */ if (agrp) { /* specifically evaluate this group only */ - PointerRNA id_ptr; /* get RNA-pointer for the workob's ID */ - RNA_id_pointer_create(&workob->id, &id_ptr); + PointerRNA id_ptr = RNA_id_pointer_create(&workob->id); /* execute action for this group only */ animsys_evaluate_action_group(&id_ptr, act, agrp, anim_eval_context); diff --git a/source/blender/blenkernel/intern/anim_data.cc b/source/blender/blenkernel/intern/anim_data.cc index 30c5d324f9a..d7d4133f05a 100644 --- a/source/blender/blenkernel/intern/anim_data.cc +++ b/source/blender/blenkernel/intern/anim_data.cc @@ -698,11 +698,11 @@ void BKE_animdata_transfer_by_basepath(Main *bmain, ID *srcID, ID *dstID, ListBa * and seeing if we can resolve it. */ static bool check_rna_path_is_valid(ID *owner_id, const char *path) { - PointerRNA id_ptr, ptr; + PointerRNA ptr; PropertyRNA *prop = nullptr; /* make initial RNA pointer to start resolving from */ - RNA_id_pointer_create(owner_id, &id_ptr); + PointerRNA id_ptr = RNA_id_pointer_create(owner_id); /* try to resolve */ return RNA_path_resolve_property(&id_ptr, path, &ptr, &prop); diff --git a/source/blender/blenkernel/intern/anim_sys.cc b/source/blender/blenkernel/intern/anim_sys.cc index d6d589ca806..bafe5dbb039 100644 --- a/source/blender/blenkernel/intern/anim_sys.cc +++ b/source/blender/blenkernel/intern/anim_sys.cc @@ -912,10 +912,9 @@ static void nlastrip_evaluate_controls(NlaStrip *strip, { /* now strip's evaluate F-Curves for these settings (if applicable) */ if (strip->fcurves.first) { - PointerRNA strip_ptr; /* create RNA-pointer needed to set values */ - RNA_pointer_create(nullptr, &RNA_NlaStrip, strip, &strip_ptr); + PointerRNA strip_ptr = RNA_pointer_create(nullptr, &RNA_NlaStrip, strip); /* execute these settings as per normal */ animsys_evaluate_fcurves(&strip_ptr, &strip->fcurves, anim_eval_context, flush_to_original); @@ -3793,8 +3792,7 @@ void BKE_animsys_nla_remap_keyframe_values(NlaKeyframingContext *context, BLI_bitmap_copy_all(blended_necs->remap_domain.ptr, remap_domain, count); /* Need to send id_ptr instead of prop_ptr so fcurve RNA paths resolve properly. */ - PointerRNA id_ptr; - RNA_id_pointer_create(prop_ptr->owner_id, &id_ptr); + PointerRNA id_ptr = RNA_id_pointer_create(prop_ptr->owner_id); /* Per iteration, remove effect of upper strip which gives output of nla stack below it. */ LISTBASE_FOREACH_BACKWARD (NlaEvalStrip *, nes, &context->upper_estrips) { @@ -3896,7 +3894,6 @@ void BKE_animsys_evaluate_animdata(ID *id, eAnimData_Recalc recalc, const bool flush_to_original) { - PointerRNA id_ptr; /* sanity checks */ if (ELEM(nullptr, id, adt)) { @@ -3904,7 +3901,7 @@ void BKE_animsys_evaluate_animdata(ID *id, } /* get pointer to ID-block for RNA to use */ - RNA_id_pointer_create(id, &id_ptr); + PointerRNA id_ptr = RNA_id_pointer_create(id); /* recalculate keyframe data: * - NLA before Active Action, as Active Action behaves as 'tweaking track' @@ -4131,7 +4128,6 @@ void BKE_animsys_eval_driver(Depsgraph *depsgraph, ID *id, int driver_index, FCu BLI_assert(fcu_orig != nullptr); /* TODO(sergey): De-duplicate with BKE animsys. */ - PointerRNA id_ptr; bool ok = false; /* Lookup driver, accelerated with driver array map. */ @@ -4148,7 +4144,7 @@ void BKE_animsys_eval_driver(Depsgraph *depsgraph, ID *id, int driver_index, FCu DEG_debug_print_eval_subdata_index( depsgraph, __func__, id->name, id, "fcu", fcu->rna_path, fcu, fcu->array_index); - RNA_id_pointer_create(id, &id_ptr); + PointerRNA id_ptr = RNA_id_pointer_create(id); /* check if this driver's curve should be skipped */ if ((fcu->flag & (FCURVE_MUTED | FCURVE_DISABLED)) == 0) { diff --git a/source/blender/blenkernel/intern/armature_pose.cc b/source/blender/blenkernel/intern/armature_pose.cc index ddffb5f720a..2a481260f56 100644 --- a/source/blender/blenkernel/intern/armature_pose.cc +++ b/source/blender/blenkernel/intern/armature_pose.cc @@ -55,8 +55,7 @@ void BKE_pose_apply_action_all_bones(Object *ob, bAction *action, AnimationEvalContext *anim_eval_context) { - PointerRNA pose_owner_ptr; - RNA_id_pointer_create(&ob->id, &pose_owner_ptr); + PointerRNA pose_owner_ptr = RNA_id_pointer_create(&ob->id); animsys_evaluate_action(&pose_owner_ptr, action, anim_eval_context, false); } @@ -96,8 +95,7 @@ void pose_apply(Object *ob, } /* Apply the Action. */ - PointerRNA pose_owner_ptr; - RNA_id_pointer_create(&ob->id, &pose_owner_ptr); + PointerRNA pose_owner_ptr = RNA_id_pointer_create(&ob->id); applier(&pose_owner_ptr, action, anim_eval_context); diff --git a/source/blender/blenkernel/intern/callbacks.cc b/source/blender/blenkernel/intern/callbacks.cc index fa7aba5fae6..309b6124ce0 100644 --- a/source/blender/blenkernel/intern/callbacks.cc +++ b/source/blender/blenkernel/intern/callbacks.cc @@ -44,8 +44,7 @@ void BKE_callback_exec_null(Main *bmain, eCbEvent evt) void BKE_callback_exec_id(Main *bmain, ID *id, eCbEvent evt) { - PointerRNA id_ptr; - RNA_id_pointer_create(id, &id_ptr); + PointerRNA id_ptr = RNA_id_pointer_create(id); PointerRNA *pointers[1] = {&id_ptr}; @@ -54,11 +53,9 @@ void BKE_callback_exec_id(Main *bmain, ID *id, eCbEvent evt) void BKE_callback_exec_id_depsgraph(Main *bmain, ID *id, Depsgraph *depsgraph, eCbEvent evt) { - PointerRNA id_ptr; - RNA_id_pointer_create(id, &id_ptr); + PointerRNA id_ptr = RNA_id_pointer_create(id); - PointerRNA depsgraph_ptr; - RNA_pointer_create(nullptr, &RNA_Depsgraph, depsgraph, &depsgraph_ptr); + PointerRNA depsgraph_ptr = RNA_pointer_create(nullptr, &RNA_Depsgraph, depsgraph); PointerRNA *pointers[2] = {&id_ptr, &depsgraph_ptr}; @@ -67,10 +64,9 @@ void BKE_callback_exec_id_depsgraph(Main *bmain, ID *id, Depsgraph *depsgraph, e void BKE_callback_exec_string(Main *bmain, eCbEvent evt, const char *str) { - PointerRNA str_ptr; PrimitiveStringRNA data = {nullptr}; data.value = str; - RNA_pointer_create(nullptr, &RNA_PrimitiveString, &data, &str_ptr); + PointerRNA str_ptr = RNA_pointer_create(nullptr, &RNA_PrimitiveString, &data); PointerRNA *pointers[1] = {&str_ptr}; diff --git a/source/blender/blenkernel/intern/context.cc b/source/blender/blenkernel/intern/context.cc index 48cf1138650..0362368c2ab 100644 --- a/source/blender/blenkernel/intern/context.cc +++ b/source/blender/blenkernel/intern/context.cc @@ -554,8 +554,7 @@ ListBase CTX_data_dir_get_ex(const bContext *C, int namelen; PropertyRNA *iterprop; - PointerRNA ctx_ptr; - RNA_pointer_create(nullptr, &RNA_Context, (void *)C, &ctx_ptr); + PointerRNA ctx_ptr = RNA_pointer_create(nullptr, &RNA_Context, (void *)C); iterprop = RNA_struct_iterator_property(ctx_ptr.type); @@ -627,12 +626,12 @@ bool CTX_data_dir(const char *member) void CTX_data_id_pointer_set(bContextDataResult *result, ID *id) { - RNA_id_pointer_create(id, &result->ptr); + result->ptr = RNA_id_pointer_create(id); } void CTX_data_pointer_set(bContextDataResult *result, ID *id, StructRNA *type, void *data) { - RNA_pointer_create(id, type, data, &result->ptr); + result->ptr = RNA_pointer_create(id, type, data); } void CTX_data_pointer_set_ptr(bContextDataResult *result, const PointerRNA *ptr) @@ -643,7 +642,7 @@ void CTX_data_pointer_set_ptr(bContextDataResult *result, const PointerRNA *ptr) void CTX_data_id_list_add(bContextDataResult *result, ID *id) { CollectionPointerLink *link = MEM_cnew(__func__); - RNA_id_pointer_create(id, &link->ptr); + link->ptr = RNA_id_pointer_create(id); BLI_addtail(&result->list, link); } @@ -651,7 +650,7 @@ void CTX_data_id_list_add(bContextDataResult *result, ID *id) void CTX_data_list_add(bContextDataResult *result, ID *id, StructRNA *type, void *data) { CollectionPointerLink *link = MEM_cnew(__func__); - RNA_pointer_create(id, type, data, &link->ptr); + link->ptr = RNA_pointer_create(id, type, data); BLI_addtail(&result->list, link); } diff --git a/source/blender/blenkernel/intern/fcurve.cc b/source/blender/blenkernel/intern/fcurve.cc index 94a79f3cfed..8e20dd0802b 100644 --- a/source/blender/blenkernel/intern/fcurve.cc +++ b/source/blender/blenkernel/intern/fcurve.cc @@ -220,7 +220,6 @@ FCurve *id_data_find_fcurve( AnimData *adt = BKE_animdata_from_id(id); /* Rna vars */ - PointerRNA ptr; PropertyRNA *prop; if (r_driven) { @@ -232,7 +231,7 @@ FCurve *id_data_find_fcurve( return nullptr; } - RNA_pointer_create(id, type, data, &ptr); + PointerRNA ptr = RNA_pointer_create(id, type, data); prop = RNA_struct_find_property(&ptr, prop_name); if (prop == nullptr) { return nullptr; diff --git a/source/blender/blenkernel/intern/fcurve_driver.cc b/source/blender/blenkernel/intern/fcurve_driver.cc index bd2215834c1..513e6a2b299 100644 --- a/source/blender/blenkernel/intern/fcurve_driver.cc +++ b/source/blender/blenkernel/intern/fcurve_driver.cc @@ -104,14 +104,12 @@ static bool driver_get_target_context_property(const DriverTargetContext *driver { switch (dtar->context_property) { case DTAR_CONTEXT_PROPERTY_ACTIVE_SCENE: - RNA_id_pointer_create(&driver_target_context->scene->id, r_property_ptr); + *r_property_ptr = RNA_id_pointer_create(&driver_target_context->scene->id); return true; case DTAR_CONTEXT_PROPERTY_ACTIVE_VIEW_LAYER: { - RNA_pointer_create(&driver_target_context->scene->id, - &RNA_ViewLayer, - driver_target_context->view_layer, - r_property_ptr); + *r_property_ptr = RNA_pointer_create( + &driver_target_context->scene->id, &RNA_ViewLayer, driver_target_context->view_layer); return true; } } @@ -142,7 +140,7 @@ bool driver_get_target_property(const DriverTargetContext *driver_target_context return false; } - RNA_id_pointer_create(dtar->id, r_prop); + *r_prop = RNA_id_pointer_create(dtar->id); return true; } diff --git a/source/blender/blenkernel/intern/key.cc b/source/blender/blenkernel/intern/key.cc index 38b725f761d..af565301067 100644 --- a/source/blender/blenkernel/intern/key.cc +++ b/source/blender/blenkernel/intern/key.cc @@ -1954,7 +1954,6 @@ void BKE_keyblock_copy_settings(KeyBlock *kb_dst, const KeyBlock *kb_src) char *BKE_keyblock_curval_rnapath_get(const Key *key, const KeyBlock *kb) { - PointerRNA ptr; PropertyRNA *prop; /* sanity checks */ @@ -1963,7 +1962,7 @@ char *BKE_keyblock_curval_rnapath_get(const Key *key, const KeyBlock *kb) } /* create the RNA pointer */ - RNA_pointer_create((ID *)&key->id, &RNA_ShapeKey, (KeyBlock *)kb, &ptr); + PointerRNA ptr = RNA_pointer_create((ID *)&key->id, &RNA_ShapeKey, (KeyBlock *)kb); /* get pointer to the property too */ prop = RNA_struct_find_property(&ptr, "value"); diff --git a/source/blender/blenkernel/intern/layer_test.cc b/source/blender/blenkernel/intern/layer_test.cc index 9c002b3e584..0a84e47fc87 100644 --- a/source/blender/blenkernel/intern/layer_test.cc +++ b/source/blender/blenkernel/intern/layer_test.cc @@ -93,8 +93,7 @@ static void test_render_pass_conflict(Scene *scene, const char *render_pass_name, const char *rna_prop_name) { - PointerRNA ptr; - RNA_pointer_create(&scene->id, &RNA_ViewLayer, view_layer, &ptr); + PointerRNA ptr = RNA_pointer_create(&scene->id, &RNA_ViewLayer, view_layer); RNA_boolean_set(&ptr, rna_prop_name, false); /* Rename to Conflicting name */ diff --git a/source/blender/blenkernel/intern/lib_id.cc b/source/blender/blenkernel/intern/lib_id.cc index 697e8d9f025..55dfc0fe039 100644 --- a/source/blender/blenkernel/intern/lib_id.cc +++ b/source/blender/blenkernel/intern/lib_id.cc @@ -935,7 +935,6 @@ void BKE_lib_id_swap_full( bool id_single_user(bContext *C, ID *id, PointerRNA *ptr, PropertyRNA *prop) { ID *newid = nullptr; - PointerRNA idptr; if (id && (ID_REAL_USERS(id) > 1)) { /* If property isn't editable, @@ -950,7 +949,7 @@ bool id_single_user(bContext *C, ID *id, PointerRNA *ptr, PropertyRNA *prop) id_us_min(newid); /* assign copy */ - RNA_id_pointer_create(newid, &idptr); + PointerRNA idptr = RNA_id_pointer_create(newid); RNA_property_pointer_set(ptr, prop, idptr, nullptr); RNA_property_update(C, ptr, prop); diff --git a/source/blender/blenkernel/intern/lib_override.cc b/source/blender/blenkernel/intern/lib_override.cc index 9e8d3ab67c5..f552cc1c7e3 100644 --- a/source/blender/blenkernel/intern/lib_override.cc +++ b/source/blender/blenkernel/intern/lib_override.cc @@ -2294,9 +2294,8 @@ static bool lib_override_library_resync(Main *bmain, /* Apply rules on new override ID using old one as 'source' data. */ /* Note that since we already remapped ID pointers in old override IDs to new ones, we * can also apply ID pointer override rules safely here. */ - PointerRNA rnaptr_src, rnaptr_dst; - RNA_id_pointer_create(id_override_old, &rnaptr_src); - RNA_id_pointer_create(id_override_new, &rnaptr_dst); + PointerRNA rnaptr_src = RNA_id_pointer_create(id_override_old); + PointerRNA rnaptr_dst = RNA_id_pointer_create(id_override_new); /* In case the parent of the liboverride object matches hierarchy-wise the parent of its * linked reference, also enforce clearing any override of the other related parenting @@ -4099,9 +4098,8 @@ bool BKE_lib_override_library_status_check_local(Main *bmain, ID *local) /* Note that reference is assumed always valid, caller has to ensure that itself. */ - PointerRNA rnaptr_local, rnaptr_reference; - RNA_id_pointer_create(local, &rnaptr_local); - RNA_id_pointer_create(reference, &rnaptr_reference); + PointerRNA rnaptr_local = RNA_id_pointer_create(local); + PointerRNA rnaptr_reference = RNA_id_pointer_create(reference); if (!RNA_struct_override_matches( bmain, @@ -4158,9 +4156,8 @@ bool BKE_lib_override_library_status_check_reference(Main *bmain, ID *local) } } - PointerRNA rnaptr_local, rnaptr_reference; - RNA_id_pointer_create(local, &rnaptr_local); - RNA_id_pointer_create(reference, &rnaptr_reference); + PointerRNA rnaptr_local = RNA_id_pointer_create(local); + PointerRNA rnaptr_reference = RNA_id_pointer_create(reference); if (!RNA_struct_override_matches(bmain, &rnaptr_local, @@ -4209,9 +4206,8 @@ static void lib_override_library_operations_create(Main *bmain, } } - PointerRNA rnaptr_local, rnaptr_reference; - RNA_id_pointer_create(local, &rnaptr_local); - RNA_id_pointer_create(local->override_library->reference, &rnaptr_reference); + PointerRNA rnaptr_local = RNA_id_pointer_create(local); + PointerRNA rnaptr_reference = RNA_id_pointer_create(local->override_library->reference); eRNAOverrideMatchResult local_report_flags = RNA_OVERRIDE_MATCH_RESULT_INIT; RNA_struct_override_matches(bmain, @@ -4261,9 +4257,8 @@ void BKE_lib_override_library_operations_restore(Main *bmain, ID *local, int *r_ return; } - PointerRNA rnaptr_src, rnaptr_dst; - RNA_id_pointer_create(local, &rnaptr_dst); - RNA_id_pointer_create(local->override_library->reference, &rnaptr_src); + PointerRNA rnaptr_src = RNA_id_pointer_create(local); + PointerRNA rnaptr_dst = RNA_id_pointer_create(local->override_library->reference); RNA_struct_override_apply( bmain, &rnaptr_dst, @@ -4445,14 +4440,12 @@ static bool lib_override_library_id_reset_do(Main *bmain, bool do_op_delete = true; const bool is_collection = op->rna_prop_type == PROP_COLLECTION; if (is_collection || op->rna_prop_type == PROP_POINTER) { - PointerRNA ptr_root, ptr_root_lib, ptr, ptr_lib; + PointerRNA ptr, ptr_lib; PropertyRNA *prop, *prop_lib; - RNA_pointer_create(id_root, &RNA_ID, id_root, &ptr_root); - RNA_pointer_create(id_root->override_library->reference, - &RNA_ID, - id_root->override_library->reference, - &ptr_root_lib); + PointerRNA ptr_root = RNA_pointer_create(id_root, &RNA_ID, id_root); + PointerRNA ptr_root_lib = RNA_pointer_create( + id_root->override_library->reference, &RNA_ID, id_root->override_library->reference); bool prop_exists = RNA_path_resolve_property(&ptr_root, op->rna_path, &ptr, &prop); if (prop_exists) { @@ -4746,12 +4739,12 @@ void BKE_lib_override_library_update(Main *bmain, ID *local) STRNCPY(tmp_key->id.name, local_key->id.name); } - PointerRNA rnaptr_src, rnaptr_dst, rnaptr_storage_stack, *rnaptr_storage = nullptr; - RNA_id_pointer_create(local, &rnaptr_src); - RNA_id_pointer_create(tmp_id, &rnaptr_dst); + PointerRNA rnaptr_src = RNA_id_pointer_create(local); + PointerRNA rnaptr_dst = RNA_id_pointer_create(tmp_id); + PointerRNA rnaptr_storage_stack, *rnaptr_storage = nullptr; if (local->override_library->storage) { + rnaptr_storage_stack = RNA_id_pointer_create(local->override_library->storage); rnaptr_storage = &rnaptr_storage_stack; - RNA_id_pointer_create(local->override_library->storage, rnaptr_storage); } RNA_struct_override_apply(bmain, @@ -4961,10 +4954,9 @@ ID *BKE_lib_override_library_operations_store_start(Main *bmain, storage_id = BKE_id_copy(reinterpret_cast
(liboverride_storage), local); if (storage_id != nullptr) { - PointerRNA rnaptr_reference, rnaptr_final, rnaptr_storage; - RNA_id_pointer_create(local->override_library->reference, &rnaptr_reference); - RNA_id_pointer_create(local, &rnaptr_final); - RNA_id_pointer_create(storage_id, &rnaptr_storage); + PointerRNA rnaptr_reference = RNA_id_pointer_create(local->override_library->reference); + PointerRNA rnaptr_final = RNA_id_pointer_create(local); + PointerRNA rnaptr_storage = RNA_id_pointer_create(storage_id); if (!RNA_struct_override_store( bmain, &rnaptr_final, &rnaptr_reference, &rnaptr_storage, local->override_library)) diff --git a/source/blender/blenkernel/intern/nla.cc b/source/blender/blenkernel/intern/nla.cc index ea3c1ade6ae..1f473b8d3c6 100644 --- a/source/blender/blenkernel/intern/nla.cc +++ b/source/blender/blenkernel/intern/nla.cc @@ -1090,10 +1090,8 @@ void BKE_nlameta_flush_transforms(NlaStrip *mstrip) LISTBASE_FOREACH (NlaStrip *, strip, &mstrip->strips) { /* only if scale changed, need to perform RNA updates */ if (scaleChanged) { - PointerRNA ptr; - /* use RNA updates to compute scale properly */ - RNA_pointer_create(nullptr, &RNA_NlaStrip, strip, &ptr); + PointerRNA ptr = RNA_pointer_create(nullptr, &RNA_NlaStrip, strip); RNA_float_set(&ptr, "frame_start", strip->start); RNA_float_set(&ptr, "frame_end", strip->end); diff --git a/source/blender/blenkernel/intern/node.cc b/source/blender/blenkernel/intern/node.cc index 6d174c2ea4e..69f0937e7f3 100644 --- a/source/blender/blenkernel/intern/node.cc +++ b/source/blender/blenkernel/intern/node.cc @@ -1236,8 +1236,7 @@ static void node_init(const bContext *C, bNodeTree *ntree, bNode *node) } if (ntype->initfunc_api) { - PointerRNA ptr; - RNA_pointer_create(&ntree->id, &RNA_Node, node, &ptr); + PointerRNA ptr = RNA_pointer_create(&ntree->id, &RNA_Node, node); /* XXX WARNING: context can be nullptr in case nodes are added in do_versions. * Delayed init is not supported for nodes with context-based `initfunc_api` at the moment. */ @@ -2522,8 +2521,7 @@ bNode *node_copy_with_mapping(bNodeTree *dst_tree, /* Only call copy function when a copy is made for the main database, not * for cases like the dependency graph and localization. */ if (node_dst->typeinfo->copyfunc_api && !(flag & LIB_ID_CREATE_NO_MAIN)) { - PointerRNA ptr; - RNA_pointer_create(reinterpret_cast(dst_tree), &RNA_Node, node_dst, &ptr); + PointerRNA ptr = RNA_pointer_create(reinterpret_cast(dst_tree), &RNA_Node, node_dst); node_dst->typeinfo->copyfunc_api(&ptr, &node_src); } @@ -3309,8 +3307,7 @@ void nodeRemoveNode(Main *bmain, bNodeTree *ntree, bNode *node, const bool do_id if (do_id_user) { /* Free callback for NodeCustomGroup. */ if (node->typeinfo->freefunc_api) { - PointerRNA ptr; - RNA_pointer_create(&ntree->id, &RNA_Node, node, &ptr); + PointerRNA ptr = RNA_pointer_create(&ntree->id, &RNA_Node, node); node->typeinfo->freefunc_api(&ptr); } diff --git a/source/blender/blenkernel/intern/object_dupli.cc b/source/blender/blenkernel/intern/object_dupli.cc index 8ab9604cd25..c8e4859ee94 100644 --- a/source/blender/blenkernel/intern/object_dupli.cc +++ b/source/blender/blenkernel/intern/object_dupli.cc @@ -1935,8 +1935,7 @@ static bool find_rna_property_rgba(PointerRNA *id_ptr, const char *name, float r static bool find_rna_property_rgba(ID *id, const char *name, float r_data[4]) { - PointerRNA ptr; - RNA_id_pointer_create(id, &ptr); + PointerRNA ptr = RNA_id_pointer_create(id); return find_rna_property_rgba(&ptr, name, r_data); } @@ -1984,8 +1983,7 @@ bool BKE_view_layer_find_rgba_attribute(Scene *scene, float r_value[4]) { if (layer) { - PointerRNA layer_ptr; - RNA_pointer_create(&scene->id, &RNA_ViewLayer, layer, &layer_ptr); + PointerRNA layer_ptr = RNA_pointer_create(&scene->id, &RNA_ViewLayer, layer); if (find_rna_property_rgba(&layer_ptr, name, r_value)) { return true; diff --git a/source/blender/blenkernel/intern/scene.cc b/source/blender/blenkernel/intern/scene.cc index 65dcb55e1b2..c8b5c620d6d 100644 --- a/source/blender/blenkernel/intern/scene.cc +++ b/source/blender/blenkernel/intern/scene.cc @@ -2844,8 +2844,7 @@ enum eCyclesFeatureSet { bool BKE_scene_uses_cycles_experimental_features(Scene *scene) { BLI_assert(BKE_scene_uses_cycles(scene)); - PointerRNA scene_ptr; - RNA_id_pointer_create(&scene->id, &scene_ptr); + PointerRNA scene_ptr = RNA_id_pointer_create(&scene->id); PointerRNA cycles_ptr = RNA_pointer_get(&scene_ptr, "cycles"); if (RNA_pointer_is_null(&cycles_ptr)) { diff --git a/source/blender/compositor/intern/COM_Node.cc b/source/blender/compositor/intern/COM_Node.cc index e124a07c65a..4545d735874 100644 --- a/source/blender/compositor/intern/COM_Node.cc +++ b/source/blender/compositor/intern/COM_Node.cc @@ -135,22 +135,22 @@ void NodeInput::set_link(NodeOutput *link) float NodeInput::get_editor_value_float() const { - PointerRNA ptr; - RNA_pointer_create((ID *)get_node()->get_bnodetree(), &RNA_NodeSocket, get_bnode_socket(), &ptr); + PointerRNA ptr = RNA_pointer_create( + (ID *)get_node()->get_bnodetree(), &RNA_NodeSocket, get_bnode_socket()); return RNA_float_get(&ptr, "default_value"); } void NodeInput::get_editor_value_color(float *value) const { - PointerRNA ptr; - RNA_pointer_create((ID *)get_node()->get_bnodetree(), &RNA_NodeSocket, get_bnode_socket(), &ptr); + PointerRNA ptr = RNA_pointer_create( + (ID *)get_node()->get_bnodetree(), &RNA_NodeSocket, get_bnode_socket()); return RNA_float_get_array(&ptr, "default_value", value); } void NodeInput::get_editor_value_vector(float *value) const { - PointerRNA ptr; - RNA_pointer_create((ID *)get_node()->get_bnodetree(), &RNA_NodeSocket, get_bnode_socket(), &ptr); + PointerRNA ptr = RNA_pointer_create( + (ID *)get_node()->get_bnodetree(), &RNA_NodeSocket, get_bnode_socket()); return RNA_float_get_array(&ptr, "default_value", value); } @@ -165,22 +165,22 @@ NodeOutput::NodeOutput(Node *node, bNodeSocket *b_socket, DataType datatype) float NodeOutput::get_editor_value_float() { - PointerRNA ptr; - RNA_pointer_create((ID *)get_node()->get_bnodetree(), &RNA_NodeSocket, get_bnode_socket(), &ptr); + PointerRNA ptr = RNA_pointer_create( + (ID *)get_node()->get_bnodetree(), &RNA_NodeSocket, get_bnode_socket()); return RNA_float_get(&ptr, "default_value"); } void NodeOutput::get_editor_value_color(float *value) { - PointerRNA ptr; - RNA_pointer_create((ID *)get_node()->get_bnodetree(), &RNA_NodeSocket, get_bnode_socket(), &ptr); + PointerRNA ptr = RNA_pointer_create( + (ID *)get_node()->get_bnodetree(), &RNA_NodeSocket, get_bnode_socket()); return RNA_float_get_array(&ptr, "default_value", value); } void NodeOutput::get_editor_value_vector(float *value) { - PointerRNA ptr; - RNA_pointer_create((ID *)get_node()->get_bnodetree(), &RNA_NodeSocket, get_bnode_socket(), &ptr); + PointerRNA ptr = RNA_pointer_create( + (ID *)get_node()->get_bnodetree(), &RNA_NodeSocket, get_bnode_socket()); return RNA_float_get_array(&ptr, "default_value", value); } diff --git a/source/blender/depsgraph/intern/builder/deg_builder_cache.cc b/source/blender/depsgraph/intern/builder/deg_builder_cache.cc index 23b916f0d79..51fc299cf9a 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder_cache.cc +++ b/source/blender/depsgraph/intern/builder/deg_builder_cache.cc @@ -102,7 +102,7 @@ AnimatedPropertyStorage::AnimatedPropertyStorage() : is_fully_initialized(false) void AnimatedPropertyStorage::initializeFromID(DepsgraphBuilderCache *builder_cache, const ID *id) { AnimatedPropertyCallbackData data; - RNA_id_pointer_create(const_cast(id), &data.pointer_rna); + data.pointer_rna = RNA_id_pointer_create(const_cast(id)); data.animated_property_storage = this; data.builder_cache = builder_cache; BKE_fcurves_id_cb(const_cast(id), animated_property_cb, &data); diff --git a/source/blender/depsgraph/intern/builder/deg_builder_key.cc b/source/blender/depsgraph/intern/builder/deg_builder_key.cc index 810908c2d9a..72f3f1ebb00 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder_key.cc +++ b/source/blender/depsgraph/intern/builder/deg_builder_key.cc @@ -70,8 +70,7 @@ string OperationKey::identifier() const RNAPathKey::RNAPathKey(ID *id, const char *path, RNAPointerSource source) : id(id), source(source) { /* Create ID pointer for root of path lookup. */ - PointerRNA id_ptr; - RNA_id_pointer_create(id, &id_ptr); + PointerRNA id_ptr = RNA_id_pointer_create(id); /* Try to resolve path. */ int index; if (!RNA_path_resolve_full(&id_ptr, path, &ptr, &prop, &index)) { diff --git a/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc b/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc index e191b8b68f0..04f26ab6f30 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc +++ b/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc @@ -1276,8 +1276,7 @@ void DepsgraphNodeBuilder::build_driver(ID *id, FCurve *fcurve, int driver_index void DepsgraphNodeBuilder::build_driver_variables(ID *id, FCurve *fcurve) { - PointerRNA id_ptr; - RNA_id_pointer_create(id, &id_ptr); + PointerRNA id_ptr = RNA_id_pointer_create(id); build_driver_id_property(id_ptr, fcurve->rna_path); @@ -1321,8 +1320,7 @@ void DepsgraphNodeBuilder::build_driver_scene_camera_variable(Scene *scene, /* This skips scene->camera, which was already handled by the caller. */ LISTBASE_FOREACH (TimeMarker *, marker, &scene->markers) { if (!ELEM(marker->camera, nullptr, scene->camera)) { - PointerRNA camera_ptr; - RNA_id_pointer_create(&marker->camera->id, &camera_ptr); + PointerRNA camera_ptr = RNA_id_pointer_create(&marker->camera->id); build_driver_id_property(camera_ptr, camera_path); } } diff --git a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc index bd5978706c6..b91fb685cee 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc +++ b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc @@ -1576,8 +1576,7 @@ void DepsgraphRelationBuilder::build_animdata_curves_targets(ID *id, ListBase *curves) { /* Iterate over all curves and build relations. */ - PointerRNA id_ptr; - RNA_id_pointer_create(id, &id_ptr); + PointerRNA id_ptr = RNA_id_pointer_create(id); LISTBASE_FOREACH (FCurve *, fcu, curves) { PointerRNA ptr; PropertyRNA *prop; @@ -1833,9 +1832,8 @@ void DepsgraphRelationBuilder::build_driver_data(ID *id, FCurve *fcu) * data-block, which means driver execution should wait for that * data-block to be copied. */ { - PointerRNA id_ptr; + PointerRNA id_ptr = RNA_id_pointer_create(id); PointerRNA ptr; - RNA_id_pointer_create(id, &id_ptr); if (RNA_path_resolve_full(&id_ptr, fcu->rna_path, &ptr, nullptr, nullptr)) { if (id_ptr.owner_id != ptr.owner_id) { ComponentKey cow_key(ptr.owner_id, NodeType::COPY_ON_WRITE); @@ -1977,8 +1975,7 @@ void DepsgraphRelationBuilder::build_driver_scene_camera_variable(const Operatio LISTBASE_FOREACH (TimeMarker *, marker, &scene->markers) { if (!ELEM(marker->camera, nullptr, scene->camera)) { - PointerRNA camera_ptr; - RNA_id_pointer_create(&marker->camera->id, &camera_ptr); + PointerRNA camera_ptr = RNA_id_pointer_create(&marker->camera->id); build_driver_id_property(camera_ptr, rna_path); build_driver_rna_path_variable(driver_key, self_key, &scene->id, camera_ptr, rna_path); animated = true; diff --git a/source/blender/depsgraph/intern/builder/deg_builder_relations_drivers.cc b/source/blender/depsgraph/intern/builder/deg_builder_relations_drivers.cc index 5111861f584..31a31454cf1 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder_relations_drivers.cc +++ b/source/blender/depsgraph/intern/builder/deg_builder_relations_drivers.cc @@ -166,8 +166,7 @@ void DepsgraphRelationBuilder::build_driver_relations(IDNode *id_node) /* Mapping from RNA prefix -> set of driver descriptors: */ Map> driver_groups; - PointerRNA id_ptr; - RNA_id_pointer_create(id_orig, &id_ptr); + PointerRNA id_ptr = RNA_id_pointer_create(id_orig); LISTBASE_FOREACH (FCurve *, fcu, &adt->drivers) { if (fcu->rna_path == nullptr) { diff --git a/source/blender/depsgraph/intern/builder/deg_builder_relations_rig.cc b/source/blender/depsgraph/intern/builder/deg_builder_relations_rig.cc index 497fbdee278..fd096133623 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder_relations_rig.cc +++ b/source/blender/depsgraph/intern/builder/deg_builder_relations_rig.cc @@ -77,8 +77,7 @@ void DepsgraphRelationBuilder::build_ik_pose(Object *object, * one Init IK node per armature, this link has quite high risk of spurious dependency cycles. */ const bool is_itasc = (object->pose->iksolver == IKSOLVER_ITASC); - PointerRNA con_ptr; - RNA_pointer_create(&object->id, &RNA_Constraint, con, &con_ptr); + PointerRNA con_ptr = RNA_pointer_create(&object->id, &RNA_Constraint, con); if (is_itasc || cache_->isAnyPropertyAnimated(&con_ptr)) { add_relation(pchan_local_key, init_ik_key, "IK Constraint -> Init IK Tree"); } diff --git a/source/blender/depsgraph/intern/depsgraph_query.cc b/source/blender/depsgraph/intern/depsgraph_query.cc index 85b121e4b15..9c821c898e1 100644 --- a/source/blender/depsgraph/intern/depsgraph_query.cc +++ b/source/blender/depsgraph/intern/depsgraph_query.cc @@ -256,8 +256,7 @@ void DEG_get_evaluated_rna_pointer(const Depsgraph *depsgraph, * common types too above (e.g. modifiers) */ char *path = RNA_path_from_ID_to_struct(ptr); if (path) { - PointerRNA cow_id_ptr; - RNA_id_pointer_create(cow_id, &cow_id_ptr); + PointerRNA cow_id_ptr = RNA_id_pointer_create(cow_id); if (!RNA_path_resolve(&cow_id_ptr, path, r_ptr_eval, nullptr)) { /* Couldn't find COW copy of data */ fprintf(stderr, diff --git a/source/blender/depsgraph/intern/eval/deg_eval_runtime_backup_animation.cc b/source/blender/depsgraph/intern/eval/deg_eval_runtime_backup_animation.cc index 8d19a038965..5cb9ce1a36e 100644 --- a/source/blender/depsgraph/intern/eval/deg_eval_runtime_backup_animation.cc +++ b/source/blender/depsgraph/intern/eval/deg_eval_runtime_backup_animation.cc @@ -87,7 +87,7 @@ void AnimationBackup::init_from_id(ID *id) AnimatedPropertyStoreCalbackData data; data.backup = this; data.id = id; - RNA_id_pointer_create(id, &data.id_pointer_rna); + data.id_pointer_rna = RNA_id_pointer_create(id); BKE_fcurves_id_cb(id, animated_property_store_cb, &data); } @@ -95,8 +95,7 @@ void AnimationBackup::restore_to_id(ID *id) { return; - PointerRNA id_pointer_rna; - RNA_id_pointer_create(id, &id_pointer_rna); + PointerRNA id_pointer_rna = RNA_id_pointer_create(id); for (const AnimationValueBackup &value_backup : values_backup) { /* Resolve path to the property. * diff --git a/source/blender/editors/animation/anim_channels_defines.cc b/source/blender/editors/animation/anim_channels_defines.cc index c32355b04ad..7982381587e 100644 --- a/source/blender/editors/animation/anim_channels_defines.cc +++ b/source/blender/editors/animation/anim_channels_defines.cc @@ -375,7 +375,7 @@ static bool acf_generic_idblock_name_prop(bAnimListElem *ale, PointerRNA *r_ptr, PropertyRNA **r_prop) { - RNA_id_pointer_create(static_cast(ale->data), r_ptr); + *r_ptr = RNA_id_pointer_create(static_cast(ale->data)); *r_prop = RNA_struct_name_property(r_ptr->type); return (*r_prop != nullptr); @@ -387,7 +387,7 @@ static bool acf_generic_idfill_name_prop(bAnimListElem *ale, PropertyRNA **r_prop) { /* actual ID we're representing is stored in ale->data not ale->id, as id gives the owner */ - RNA_id_pointer_create(static_cast(ale->data), r_ptr); + *r_ptr = RNA_id_pointer_create(static_cast(ale->data)); *r_prop = RNA_struct_name_property(r_ptr->type); return (*r_prop != nullptr); @@ -706,7 +706,7 @@ static void acf_object_name(bAnimListElem *ale, char *name) /* name property for object */ static bool acf_object_name_prop(bAnimListElem *ale, PointerRNA *r_ptr, PropertyRNA **r_prop) { - RNA_id_pointer_create(ale->id, r_ptr); + *r_ptr = RNA_id_pointer_create(ale->id); *r_prop = RNA_struct_name_property(r_ptr->type); return (*r_prop != nullptr); @@ -893,7 +893,7 @@ static void acf_group_name(bAnimListElem *ale, char *name) /* name property for group entries */ static bool acf_group_name_prop(bAnimListElem *ale, PointerRNA *r_ptr, PropertyRNA **r_prop) { - RNA_pointer_create(ale->fcurve_owner_id, &RNA_ActionGroup, ale->data, r_ptr); + *r_ptr = RNA_pointer_create(ale->fcurve_owner_id, &RNA_ActionGroup, ale->data); *r_prop = RNA_struct_name_property(r_ptr->type); return (*r_prop != nullptr); @@ -1014,7 +1014,7 @@ static bool acf_fcurve_name_prop(bAnimListElem *ale, PointerRNA *r_ptr, Property * as our "name" so that user can perform quick fixes */ if (fcu->flag & FCURVE_DISABLED) { - RNA_pointer_create(ale->fcurve_owner_id, &RNA_FCurve, ale->data, r_ptr); + *r_ptr = RNA_pointer_create(ale->fcurve_owner_id, &RNA_FCurve, ale->data); *r_prop = RNA_struct_find_property(r_ptr, "data_path"); } else { @@ -3221,7 +3221,7 @@ static bool acf_shapekey_name_prop(bAnimListElem *ale, PointerRNA *r_ptr, Proper /* if the KeyBlock had a name, use it, otherwise use the index */ if (kb && kb->name[0]) { - RNA_pointer_create(ale->id, &RNA_ShapeKey, kb, r_ptr); + *r_ptr = RNA_pointer_create(ale->id, &RNA_ShapeKey, kb); *r_prop = RNA_struct_name_property(r_ptr->type); return (*r_prop != nullptr); @@ -3408,7 +3408,7 @@ static void acf_gpl_name_legacy(bAnimListElem *ale, char *name) static bool acf_gpl_name_prop_legacy(bAnimListElem *ale, PointerRNA *r_ptr, PropertyRNA **r_prop) { if (ale->data) { - RNA_pointer_create(ale->id, &RNA_GPencilLayer, ale->data, r_ptr); + *r_ptr = RNA_pointer_create(ale->id, &RNA_GPencilLayer, ale->data); *r_prop = RNA_struct_name_property(r_ptr->type); return (*r_prop != nullptr); @@ -3559,7 +3559,7 @@ static bool layer_name_prop(bAnimListElem *ale, PointerRNA *r_ptr, PropertyRNA * return false; } - RNA_pointer_create(ale->id, &RNA_GreasePencilLayer, ale->data, r_ptr); + *r_ptr = RNA_pointer_create(ale->id, &RNA_GreasePencilLayer, ale->data); *r_prop = RNA_struct_name_property(r_ptr->type); return (*r_prop != nullptr); @@ -3822,7 +3822,7 @@ static void acf_masklay_name(bAnimListElem *ale, char *name) static bool acf_masklay_name_prop(bAnimListElem *ale, PointerRNA *r_ptr, PropertyRNA **r_prop) { if (ale->data) { - RNA_pointer_create(ale->id, &RNA_MaskLayer, ale->data, r_ptr); + *r_ptr = RNA_pointer_create(ale->id, &RNA_MaskLayer, ale->data); *r_prop = RNA_struct_name_property(r_ptr->type); return (*r_prop != nullptr); @@ -3937,7 +3937,7 @@ static void acf_nlatrack_name(bAnimListElem *ale, char *name) static bool acf_nlatrack_name_prop(bAnimListElem *ale, PointerRNA *r_ptr, PropertyRNA **r_prop) { if (ale->data) { - RNA_pointer_create(ale->id, &RNA_NlaTrack, ale->data, r_ptr); + *r_ptr = RNA_pointer_create(ale->id, &RNA_NlaTrack, ale->data); *r_prop = RNA_struct_name_property(r_ptr->type); return (*r_prop != nullptr); @@ -4138,7 +4138,7 @@ static void acf_nlaaction_name(bAnimListElem *ale, char *name) static bool acf_nlaaction_name_prop(bAnimListElem *ale, PointerRNA *r_ptr, PropertyRNA **r_prop) { if (ale->data) { - RNA_pointer_create(ale->fcurve_owner_id, &RNA_Action, ale->data, r_ptr); + *r_ptr = RNA_pointer_create(ale->fcurve_owner_id, &RNA_Action, ale->data); *r_prop = RNA_struct_name_property(r_ptr->type); return (*r_prop != nullptr); @@ -4965,14 +4965,14 @@ static void achannel_setting_slider_cb(bContext *C, void *id_poin, void *fcu_poi Depsgraph *depsgraph = CTX_data_depsgraph_pointer(C); ToolSettings *ts = scene->toolsettings; ListBase nla_cache = {nullptr, nullptr}; - PointerRNA id_ptr, ptr; + PointerRNA ptr; PropertyRNA *prop; eInsertKeyFlags flag = INSERTKEY_NOFLAGS; bool done = false; float cfra; /* Get RNA pointer */ - RNA_id_pointer_create(id, &id_ptr); + PointerRNA id_ptr = RNA_id_pointer_create(id); /* Get NLA context for value remapping */ const AnimationEvalContext anim_eval_context = BKE_animsys_eval_context_construct( @@ -5028,13 +5028,13 @@ static void achannel_setting_slider_shapekey_cb(bContext *C, void *key_poin, voi Depsgraph *depsgraph = CTX_data_depsgraph_pointer(C); ToolSettings *ts = scene->toolsettings; ListBase nla_cache = {nullptr, nullptr}; - PointerRNA id_ptr, ptr; + PointerRNA ptr; PropertyRNA *prop; eInsertKeyFlags flag = INSERTKEY_NOFLAGS; bool done = false; /* Get RNA pointer */ - RNA_id_pointer_create((ID *)key, &id_ptr); + PointerRNA id_ptr = RNA_id_pointer_create((ID *)key); /* Get NLA context for value remapping */ const AnimationEvalContext anim_eval_context = BKE_animsys_eval_context_construct( @@ -5394,9 +5394,8 @@ static void draw_grease_pencil_layer_widgets(bAnimListElem *ale, offset += SLIDER_WIDTH; /* Create the RNA pointers. */ - PointerRNA ptr, id_ptr; - RNA_pointer_create(ale->id, &RNA_GreasePencilLayer, ale->data, &ptr); - RNA_id_pointer_create(ale->id, &id_ptr); + PointerRNA ptr = RNA_pointer_create(ale->id, &RNA_GreasePencilLayer, ale->data); + PointerRNA id_ptr = RNA_id_pointer_create(ale->id); /* Layer onion skinning switch. */ offset -= ICON_WIDTH; @@ -5705,11 +5704,10 @@ void ANIM_channel_draw_widgets(const bContext *C, if (ale->type == ANIMTYPE_NLACURVE) { NlaStrip *strip = (NlaStrip *)ale->owner; FCurve *fcu = (FCurve *)ale->data; - PointerRNA ptr; PropertyRNA *prop; /* create RNA pointers */ - RNA_pointer_create(ale->id, &RNA_NlaStrip, strip, &ptr); + PointerRNA ptr = RNA_pointer_create(ale->id, &RNA_NlaStrip, strip); prop = RNA_struct_find_property(&ptr, fcu->rna_path); /* create property slider */ @@ -5733,7 +5731,7 @@ void ANIM_channel_draw_widgets(const bContext *C, } } else if (ale->id) { /* Slider using RNA Access --------------- */ - PointerRNA id_ptr, ptr; + PointerRNA ptr; PropertyRNA *prop; char *rna_path = nullptr; int array_index = 0; @@ -5764,8 +5762,8 @@ void ANIM_channel_draw_widgets(const bContext *C, bGPDlayer *gpl = (bGPDlayer *)ale->data; /* Create the RNA pointers. */ - RNA_pointer_create(ale->id, &RNA_GPencilLayer, ale->data, &ptr); - RNA_id_pointer_create(ale->id, &id_ptr); + ptr = RNA_pointer_create(ale->id, &RNA_GPencilLayer, ale->data); + PointerRNA id_ptr = RNA_id_pointer_create(ale->id); int icon; /* Layer onion skinning switch. */ @@ -5842,7 +5840,7 @@ void ANIM_channel_draw_widgets(const bContext *C, /* Only if RNA-Path found. */ if (rna_path) { /* get RNA pointer, and resolve the path */ - RNA_id_pointer_create(ale->id, &id_ptr); + PointerRNA id_ptr = RNA_id_pointer_create(ale->id); /* try to resolve the path */ if (RNA_path_resolve_property(&id_ptr, rna_path, &ptr, &prop)) { diff --git a/source/blender/editors/animation/anim_deps.cc b/source/blender/editors/animation/anim_deps.cc index d7b65472611..5259aa86213 100644 --- a/source/blender/editors/animation/anim_deps.cc +++ b/source/blender/editors/animation/anim_deps.cc @@ -78,10 +78,10 @@ void ANIM_list_elem_update(Main *bmain, Scene *scene, bAnimListElem *ale) /* If we have an fcurve, call the update for the property we * are editing, this is then expected to do the proper redraws * and depsgraph updates. */ - PointerRNA id_ptr, ptr; + PointerRNA ptr; PropertyRNA *prop; - RNA_id_pointer_create(id, &id_ptr); + PointerRNA id_ptr = RNA_id_pointer_create(id); if (RNA_path_resolve_property(&id_ptr, fcu->rna_path, &ptr, &prop)) { RNA_property_update_main(bmain, scene, &ptr, prop); diff --git a/source/blender/editors/animation/anim_draw.cc b/source/blender/editors/animation/anim_draw.cc index a86e830f925..75bcefa147a 100644 --- a/source/blender/editors/animation/anim_draw.cc +++ b/source/blender/editors/animation/anim_draw.cc @@ -542,11 +542,11 @@ float ANIM_unit_mapping_get_factor(Scene *scene, ID *id, FCurve *fcu, short flag /* sanity checks */ if (id && fcu && fcu->rna_path) { - PointerRNA ptr, id_ptr; + PointerRNA ptr; PropertyRNA *prop; /* get RNA property that F-Curve affects */ - RNA_id_pointer_create(id, &id_ptr); + PointerRNA id_ptr = RNA_id_pointer_create(id); if (RNA_path_resolve_property(&id_ptr, fcu->rna_path, &ptr, &prop)) { /* rotations: radians <-> degrees? */ if (RNA_SUBTYPE_UNIT(RNA_property_subtype(prop)) == PROP_UNIT_ROTATION) { diff --git a/source/blender/editors/animation/anim_ipo_utils.cc b/source/blender/editors/animation/anim_ipo_utils.cc index a7b046db3c3..5069b903749 100644 --- a/source/blender/editors/animation/anim_ipo_utils.cc +++ b/source/blender/editors/animation/anim_ipo_utils.cc @@ -56,11 +56,11 @@ int getname_anim_fcurve(char *name, ID *id, FCurve *fcu) } } else { - PointerRNA id_ptr, ptr; + PointerRNA ptr; PropertyRNA *prop; /* get RNA pointer, and resolve the path */ - RNA_id_pointer_create(id, &id_ptr); + PointerRNA id_ptr = RNA_id_pointer_create(id); /* try to resolve the path */ if (RNA_path_resolve_property(&id_ptr, fcu->rna_path, &ptr, &prop)) { diff --git a/source/blender/editors/animation/drivers.cc b/source/blender/editors/animation/drivers.cc index 5ae6e35d7f0..7006fd10755 100644 --- a/source/blender/editors/animation/drivers.cc +++ b/source/blender/editors/animation/drivers.cc @@ -294,15 +294,15 @@ int ANIM_add_driver_with_target(ReportList *reports, int driver_type, short mapping_type) { - PointerRNA id_ptr, ptr; + PointerRNA ptr; PropertyRNA *prop; - PointerRNA id_ptr2, ptr2; + PointerRNA ptr2; PropertyRNA *prop2; int done_tot = 0; /* validate pointers first - exit if failure */ - RNA_id_pointer_create(dst_id, &id_ptr); + PointerRNA id_ptr = RNA_id_pointer_create(dst_id); if (RNA_path_resolve_property(&id_ptr, dst_path, &ptr, &prop) == false) { BKE_reportf( reports, @@ -313,7 +313,7 @@ int ANIM_add_driver_with_target(ReportList *reports, return 0; } - RNA_id_pointer_create(src_id, &id_ptr2); + PointerRNA id_ptr2 = RNA_id_pointer_create(src_id); if ((RNA_path_resolve_property(&id_ptr2, src_path, &ptr2, &prop2) == false) || (mapping_type == CREATEDRIVER_MAPPING_NONE)) { @@ -400,14 +400,14 @@ int ANIM_add_driver_with_target(ReportList *reports, int ANIM_add_driver( ReportList *reports, ID *id, const char rna_path[], int array_index, short flag, int type) { - PointerRNA id_ptr, ptr; + PointerRNA ptr; PropertyRNA *prop; FCurve *fcu; int array_index_max; int done_tot = 0; /* validate pointer first - exit if failure */ - RNA_id_pointer_create(id, &id_ptr); + PointerRNA id_ptr = RNA_id_pointer_create(id); if (RNA_path_resolve_property(&id_ptr, rna_path, &ptr, &prop) == false) { BKE_reportf( reports, @@ -591,12 +591,12 @@ bool ANIM_driver_can_paste() bool ANIM_copy_driver( ReportList *reports, ID *id, const char rna_path[], int array_index, short /*flag*/) { - PointerRNA id_ptr, ptr; + PointerRNA ptr; PropertyRNA *prop; FCurve *fcu; /* validate pointer first - exit if failure */ - RNA_id_pointer_create(id, &id_ptr); + PointerRNA id_ptr = RNA_id_pointer_create(id); if (RNA_path_resolve_property(&id_ptr, rna_path, &ptr, &prop) == false) { BKE_reportf(reports, RPT_ERROR, @@ -639,12 +639,12 @@ bool ANIM_copy_driver( bool ANIM_paste_driver( ReportList *reports, ID *id, const char rna_path[], int array_index, short /*flag*/) { - PointerRNA id_ptr, ptr; + PointerRNA ptr; PropertyRNA *prop; FCurve *fcu; /* validate pointer first - exit if failure */ - RNA_id_pointer_create(id, &id_ptr); + PointerRNA id_ptr = RNA_id_pointer_create(id); if (RNA_path_resolve_property(&id_ptr, rna_path, &ptr, &prop) == false) { BKE_reportf( reports, diff --git a/source/blender/editors/animation/fmodifier_ui.cc b/source/blender/editors/animation/fmodifier_ui.cc index 927b7c6474c..abc339455e7 100644 --- a/source/blender/editors/animation/fmodifier_ui.cc +++ b/source/blender/editors/animation/fmodifier_ui.cc @@ -705,8 +705,7 @@ static void envelope_panel_draw(const bContext *C, Panel *panel) FCM_EnvelopeData *fed = env->data; for (int i = 0; i < env->totvert; i++, fed++) { - PointerRNA ctrl_ptr; - RNA_pointer_create(owner_id, &RNA_FModifierEnvelopeControlPoint, fed, &ctrl_ptr); + PointerRNA ctrl_ptr = RNA_pointer_create(owner_id, &RNA_FModifierEnvelopeControlPoint, fed); /* get a new row to operate on */ row = uiLayoutRow(col, true); @@ -890,7 +889,7 @@ void ANIM_fmodifier_panels(const bContext *C, PointerRNA *fcm_ptr = static_cast( MEM_mallocN(sizeof(PointerRNA), "panel customdata")); - RNA_pointer_create(owner_id, &RNA_FModifier, fcm, fcm_ptr); + *fcm_ptr = RNA_pointer_create(owner_id, &RNA_FModifier, fcm); UI_panel_add_instanced(C, region, ®ion->panels, panel_idname, fcm_ptr); } @@ -909,7 +908,7 @@ void ANIM_fmodifier_panels(const bContext *C, PointerRNA *fcm_ptr = static_cast( MEM_mallocN(sizeof(PointerRNA), "panel customdata")); - RNA_pointer_create(owner_id, &RNA_FModifier, fcm, fcm_ptr); + *fcm_ptr = RNA_pointer_create(owner_id, &RNA_FModifier, fcm); UI_panel_custom_data_set(panel, fcm_ptr); panel = panel->next; diff --git a/source/blender/editors/animation/keyframes_general.cc b/source/blender/editors/animation/keyframes_general.cc index dc463ed31a0..cf464a757b8 100644 --- a/source/blender/editors/animation/keyframes_general.cc +++ b/source/blender/editors/animation/keyframes_general.cc @@ -206,9 +206,9 @@ void clean_fcurve(bAnimContext *ac, bAnimListElem *ale, float thresh, bool clear * the default value and if is, remove fcurve completely. */ if (cleardefault && fcu->totvert == 1) { float default_value = 0.0f; - PointerRNA id_ptr, ptr; + PointerRNA ptr; PropertyRNA *prop; - RNA_id_pointer_create(ale->id, &id_ptr); + PointerRNA id_ptr = RNA_id_pointer_create(ale->id); /* get property to read from, and get value as appropriate */ if (RNA_path_resolve_property(&id_ptr, fcu->rna_path, &ptr, &prop)) { @@ -1476,10 +1476,10 @@ static tAnimCopybufItem *pastebuf_match_path_property(Main *bmain, printf("paste_animedit_keys: error ID has been removed!\n"); } else { - PointerRNA id_ptr, rptr; + PointerRNA rptr; PropertyRNA *prop; - RNA_id_pointer_create(aci->id, &id_ptr); + PointerRNA id_ptr = RNA_id_pointer_create(aci->id); if (RNA_path_resolve_property(&id_ptr, aci->rna_path, &rptr, &prop)) { const char *identifier = RNA_property_identifier(prop); diff --git a/source/blender/editors/animation/keyframing.cc b/source/blender/editors/animation/keyframing.cc index d9b1a5656ec..7ee65933505 100644 --- a/source/blender/editors/animation/keyframing.cc +++ b/source/blender/editors/animation/keyframing.cc @@ -1479,7 +1479,7 @@ int insert_keyframe(Main *bmain, ListBase *nla_cache, eInsertKeyFlags flag) { - PointerRNA id_ptr, ptr; + PointerRNA ptr; PropertyRNA *prop = nullptr; AnimData *adt; ListBase tmp_nla_cache = {nullptr, nullptr}; @@ -1497,7 +1497,7 @@ int insert_keyframe(Main *bmain, return 0; } - RNA_id_pointer_create(id, &id_ptr); + PointerRNA id_ptr = RNA_id_pointer_create(id); if (RNA_path_resolve_property(&id_ptr, rna_path, &ptr, &prop) == false) { BKE_reportf( reports, @@ -1749,7 +1749,7 @@ int delete_keyframe(Main *bmain, float cfra) { AnimData *adt = BKE_animdata_from_id(id); - PointerRNA id_ptr, ptr; + PointerRNA ptr; PropertyRNA *prop; int array_index_max = array_index + 1; int ret = 0; @@ -1761,7 +1761,7 @@ int delete_keyframe(Main *bmain, } /* validate pointer first - exit if failure */ - RNA_id_pointer_create(id, &id_ptr); + PointerRNA id_ptr = RNA_id_pointer_create(id); if (RNA_path_resolve_property(&id_ptr, rna_path, &ptr, &prop) == false) { BKE_reportf( reports, @@ -1856,7 +1856,7 @@ static int clear_keyframe(Main *bmain, eInsertKeyFlags /*flag*/) { AnimData *adt = BKE_animdata_from_id(id); - PointerRNA id_ptr, ptr; + PointerRNA ptr; PropertyRNA *prop; int array_index_max = array_index + 1; int ret = 0; @@ -1868,7 +1868,7 @@ static int clear_keyframe(Main *bmain, } /* validate pointer first - exit if failure */ - RNA_id_pointer_create(id, &id_ptr); + PointerRNA id_ptr = RNA_id_pointer_create(id); if (RNA_path_resolve_property(&id_ptr, rna_path, &ptr, &prop) == false) { BKE_reportf( reports, diff --git a/source/blender/editors/animation/keyingsets.cc b/source/blender/editors/animation/keyingsets.cc index 0e1d6de0354..1faf930b63c 100644 --- a/source/blender/editors/animation/keyingsets.cc +++ b/source/blender/editors/animation/keyingsets.cc @@ -946,10 +946,10 @@ void ANIM_relative_keyingset_add_source(ListBase *dsources, ID *id, StructRNA *s /* depending on what data we have, create using ID or full pointer call */ if (srna && data) { - RNA_pointer_create(id, srna, data, &ds->ptr); + ds->ptr = RNA_pointer_create(id, srna, data); } else { - RNA_id_pointer_create(id, &ds->ptr); + ds->ptr = RNA_id_pointer_create(id); } } @@ -1117,10 +1117,10 @@ int ANIM_apply_keyingset( /* get length of array if whole array option is enabled */ if (ksp->flag & KSP_FLAG_WHOLE_ARRAY) { - PointerRNA id_ptr, ptr; + PointerRNA ptr; PropertyRNA *prop; - RNA_id_pointer_create(ksp->id, &id_ptr); + PointerRNA id_ptr = RNA_id_pointer_create(ksp->id); if (RNA_path_resolve_property(&id_ptr, ksp->rna_path, &ptr, &prop)) { arraylen = RNA_property_array_length(&ptr, prop); /* start from start of array, instead of the previously specified index - #48020 */ diff --git a/source/blender/editors/animation/time_scrub_ui.cc b/source/blender/editors/animation/time_scrub_ui.cc index d576fd0c695..f50ca97a1ba 100644 --- a/source/blender/editors/animation/time_scrub_ui.cc +++ b/source/blender/editors/animation/time_scrub_ui.cc @@ -207,8 +207,7 @@ void ED_time_scrub_channel_search_draw(const bContext *C, ARegion *region, bDope immRectf(pos, rect.xmin, rect.ymin, rect.xmax, rect.ymax); immUnbindProgram(); - PointerRNA ptr; - RNA_pointer_create(&CTX_wm_screen(C)->id, &RNA_DopeSheet, dopesheet, &ptr); + PointerRNA ptr = RNA_pointer_create(&CTX_wm_screen(C)->id, &RNA_DopeSheet, dopesheet); const uiStyle *style = UI_style_get_dpi(); const float padding_x = 2 * UI_SCALE_FAC; diff --git a/source/blender/editors/armature/pose_edit.cc b/source/blender/editors/armature/pose_edit.cc index d800732f8f9..f10da89a796 100644 --- a/source/blender/editors/armature/pose_edit.cc +++ b/source/blender/editors/armature/pose_edit.cc @@ -225,9 +225,8 @@ static int pose_calculate_paths_invoke(bContext *C, wmOperator *op, const wmEven /* set default settings from existing/stored settings */ { bAnimVizSettings *avs = &ob->pose->avs; - PointerRNA avs_ptr; - RNA_pointer_create(nullptr, &RNA_AnimVizMotionPaths, avs, &avs_ptr); + PointerRNA avs_ptr = RNA_pointer_create(nullptr, &RNA_AnimVizMotionPaths, avs); RNA_enum_set(op->ptr, "display_type", RNA_enum_get(&avs_ptr, "type")); RNA_enum_set(op->ptr, "range", RNA_enum_get(&avs_ptr, "range")); RNA_enum_set(op->ptr, "bake_location", RNA_enum_get(&avs_ptr, "bake_location")); @@ -254,13 +253,12 @@ static int pose_calculate_paths_exec(bContext *C, wmOperator *op) /* grab baking settings from operator settings */ { bAnimVizSettings *avs = &ob->pose->avs; - PointerRNA avs_ptr; avs->path_type = RNA_enum_get(op->ptr, "display_type"); avs->path_range = RNA_enum_get(op->ptr, "range"); animviz_motionpath_compute_range(ob, scene); - RNA_pointer_create(nullptr, &RNA_AnimVizMotionPaths, avs, &avs_ptr); + PointerRNA avs_ptr = RNA_pointer_create(nullptr, &RNA_AnimVizMotionPaths, avs); RNA_enum_set(&avs_ptr, "bake_location", RNA_enum_get(op->ptr, "bake_location")); } @@ -700,7 +698,6 @@ static int pose_armature_layers_showall_exec(bContext *C, wmOperator *op) { Object *ob = CTX_data_active_object(C); bArmature *arm = armature_layers_get_data(&ob); - PointerRNA ptr; int maxLayers = RNA_boolean_get(op->ptr, "all") ? 32 : 16; /* hardcoded for now - we can only have 32 armature layers, so this should be fine... */ bool layers[32] = {false}; @@ -714,7 +711,7 @@ static int pose_armature_layers_showall_exec(bContext *C, wmOperator *op) * although it would be faster to just set directly using bitflags, we still * need to setup a RNA pointer so that we get the "update" callbacks for free... */ - RNA_id_pointer_create(&arm->id, &ptr); + PointerRNA ptr = RNA_id_pointer_create(&arm->id); for (int i = 0; i < maxLayers; i++) { layers[i] = true; @@ -756,7 +753,6 @@ static int armature_layers_invoke(bContext *C, wmOperator *op, const wmEvent *ev { Object *ob = CTX_data_active_object(C); bArmature *arm = armature_layers_get_data(&ob); - PointerRNA ptr; /* hardcoded for now - we can only have 32 armature layers, so this should be fine... */ bool layers[32]; @@ -767,7 +763,7 @@ static int armature_layers_invoke(bContext *C, wmOperator *op, const wmEvent *ev /* Get RNA pointer to armature data to use that to retrieve the layers as ints * to init the operator. */ - RNA_id_pointer_create((ID *)arm, &ptr); + PointerRNA ptr = RNA_id_pointer_create((ID *)arm); RNA_boolean_get_array(&ptr, "layers", layers); RNA_boolean_set_array(op->ptr, "layers", layers); @@ -780,7 +776,6 @@ static int armature_layers_exec(bContext *C, wmOperator *op) { Object *ob = CTX_data_active_object(C); bArmature *arm = armature_layers_get_data(&ob); - PointerRNA ptr; /* hardcoded for now - we can only have 32 armature layers, so this should be fine... */ bool layers[32]; @@ -792,7 +787,7 @@ static int armature_layers_exec(bContext *C, wmOperator *op) RNA_boolean_get_array(op->ptr, "layers", layers); /* get pointer for armature, and write data there... */ - RNA_id_pointer_create((ID *)arm, &ptr); + PointerRNA ptr = RNA_id_pointer_create((ID *)arm); RNA_boolean_set_array(&ptr, "layers", layers); /* NOTE: notifier might evolve. */ @@ -851,7 +846,6 @@ static int pose_bone_layers_invoke(bContext *C, wmOperator *op, const wmEvent *e /* Set the visible layers for the active armature (edit and pose modes) */ static int pose_bone_layers_exec(bContext *C, wmOperator *op) { - PointerRNA ptr; /* hardcoded for now - we can only have 32 armature layers, so this should be fine... */ bool layers[32]; @@ -878,7 +872,7 @@ static int pose_bone_layers_exec(bContext *C, wmOperator *op) /* set layers of pchans based on the values set in the operator props */ CTX_DATA_BEGIN_WITH_ID (C, bPoseChannel *, pchan, selected_pose_bones, Object *, ob) { /* get pointer for pchan, and write flags this way */ - RNA_pointer_create((ID *)ob->data, &RNA_Bone, pchan->bone, &ptr); + PointerRNA ptr = RNA_pointer_create((ID *)ob->data, &RNA_Bone, pchan->bone); RNA_boolean_set_array(&ptr, "layers", layers); if (prev_ob != ob) { diff --git a/source/blender/editors/armature/pose_slide.cc b/source/blender/editors/armature/pose_slide.cc index 357693a4614..07b604deef9 100644 --- a/source/blender/editors/armature/pose_slide.cc +++ b/source/blender/editors/armature/pose_slide.cc @@ -476,11 +476,10 @@ static void pose_slide_apply_props(tPoseSlideOp *pso, tPChanFCurveLink *pfl, const char prop_prefix[]) { - PointerRNA ptr = {nullptr}; int len = strlen(pfl->pchan_path); /* Setup pointer RNA for resolving paths. */ - RNA_pointer_create(nullptr, &RNA_PoseBone, pfl->pchan, &ptr); + PointerRNA ptr = RNA_pointer_create(nullptr, &RNA_PoseBone, pfl->pchan); /* - custom properties are just denoted using ["..."][etc.] after the end of the base path, * so just check for opening pair after the end of the path diff --git a/source/blender/editors/armature/pose_transform.cc b/source/blender/editors/armature/pose_transform.cc index 0b4cb38e952..a37cbff6c95 100644 --- a/source/blender/editors/armature/pose_transform.cc +++ b/source/blender/editors/armature/pose_transform.cc @@ -471,9 +471,8 @@ static void apply_armature_pose2bones_ui(bContext *C, wmOperator *op) { uiLayout *layout = op->layout; wmWindowManager *wm = CTX_wm_manager(C); - PointerRNA ptr; - RNA_pointer_create(&wm->id, op->type->srna, op->properties, &ptr); + PointerRNA ptr = RNA_pointer_create(&wm->id, op->type->srna, op->properties); uiItemR(layout, &ptr, "selected", UI_ITEM_NONE, nullptr, ICON_NONE); } diff --git a/source/blender/editors/armature/pose_utils.cc b/source/blender/editors/armature/pose_utils.cc index cf457e39da0..0768300f69e 100644 --- a/source/blender/editors/armature/pose_utils.cc +++ b/source/blender/editors/armature/pose_utils.cc @@ -67,14 +67,13 @@ static void fcurves_to_pchan_links_get(ListBase *pfLinks, /* make new linkage data */ tPChanFCurveLink *pfl = static_cast( MEM_callocN(sizeof(tPChanFCurveLink), "tPChanFCurveLink")); - PointerRNA ptr; pfl->ob = ob; pfl->fcurves = curves; pfl->pchan = pchan; /* get the RNA path to this pchan - this needs to be freed! */ - RNA_pointer_create((ID *)ob, &RNA_PoseBone, pchan, &ptr); + PointerRNA ptr = RNA_pointer_create((ID *)ob, &RNA_PoseBone, pchan); pfl->pchan_path = RNA_path_from_ID_to_struct(&ptr); /* add linkage data to operator data */ diff --git a/source/blender/editors/asset/intern/asset_shelf_asset_view.cc b/source/blender/editors/asset/intern/asset_shelf_asset_view.cc index f70d2928107..8b2f7349e9a 100644 --- a/source/blender/editors/asset/intern/asset_shelf_asset_view.cc +++ b/source/blender/editors/asset/intern/asset_shelf_asset_view.cc @@ -196,13 +196,11 @@ void AssetViewItem::disable_asset_drag() void AssetViewItem::build_grid_tile(uiLayout &layout) const { - PointerRNA file_ptr; - RNA_pointer_create( + PointerRNA file_ptr = RNA_pointer_create( nullptr, &RNA_FileSelectEntry, /* XXX passing file pointer here, should be asset handle or asset representation. */ - const_cast(asset_.file_data), - &file_ptr); + const_cast(asset_.file_data)); uiBlock *block = uiLayoutGetBlock(&layout); UI_but_context_ptr_set( diff --git a/source/blender/editors/curve/editfont.cc b/source/blender/editors/curve/editfont.cc index 55170891cd4..dff6f7b2af6 100644 --- a/source/blender/editors/curve/editfont.cc +++ b/source/blender/editors/curve/editfont.cc @@ -2245,7 +2245,6 @@ static int font_open_exec(bContext *C, wmOperator *op) Main *bmain = CTX_data_main(C); VFont *font; PropertyPointerRNA *pprop; - PointerRNA idptr; char filepath[FILE_MAX]; RNA_string_get(op->ptr, "filepath", filepath); @@ -2270,7 +2269,7 @@ static int font_open_exec(bContext *C, wmOperator *op) * pointer use also increases user, so this compensates it */ id_us_min(&font->id); - RNA_id_pointer_create(&font->id, &idptr); + PointerRNA idptr = RNA_id_pointer_create(&font->id); RNA_property_pointer_set(&pprop->ptr, pprop->prop, idptr, nullptr); RNA_property_update(C, &pprop->ptr, pprop->prop); } @@ -2353,7 +2352,6 @@ static int font_unlink_exec(bContext *C, wmOperator *op) { VFont *builtin_font; - PointerRNA idptr; PropertyPointerRNA pprop; UI_context_active_but_prop_get_templateID(C, &pprop.ptr, &pprop.prop); @@ -2365,7 +2363,7 @@ static int font_unlink_exec(bContext *C, wmOperator *op) builtin_font = BKE_vfont_builtin_get(); - RNA_id_pointer_create(&builtin_font->id, &idptr); + PointerRNA idptr = RNA_id_pointer_create(&builtin_font->id); RNA_property_pointer_set(&pprop.ptr, pprop.prop, idptr, nullptr); RNA_property_update(C, &pprop.ptr, pprop.prop); diff --git a/source/blender/editors/geometry/node_group_operator.cc b/source/blender/editors/geometry/node_group_operator.cc index 14ea9848014..ca402385cd9 100644 --- a/source/blender/editors/geometry/node_group_operator.cc +++ b/source/blender/editors/geometry/node_group_operator.cc @@ -422,8 +422,7 @@ static void run_node_group_ui(bContext *C, wmOperator *op) uiLayoutSetPropSep(layout, true); uiLayoutSetPropDecorate(layout, false); Main *bmain = CTX_data_main(C); - PointerRNA bmain_ptr; - RNA_main_pointer_create(bmain, &bmain_ptr); + PointerRNA bmain_ptr = RNA_main_pointer_create(bmain); const bNodeTree *node_tree = get_node_group(*C, *op->ptr, nullptr); if (!node_tree) { diff --git a/source/blender/editors/gpencil_legacy/gpencil_convert.cc b/source/blender/editors/gpencil_legacy/gpencil_convert.cc index e78779c9a97..05f489b8cb0 100644 --- a/source/blender/editors/gpencil_legacy/gpencil_convert.cc +++ b/source/blender/editors/gpencil_legacy/gpencil_convert.cc @@ -501,7 +501,6 @@ static void gpencil_stroke_path_animation(bContext *C, Depsgraph *depsgraph = CTX_data_depsgraph_pointer(C); bAction *act; FCurve *fcu; - PointerRNA ptr; PropertyRNA *prop = nullptr; int gaps_count = 0; @@ -518,7 +517,7 @@ static void gpencil_stroke_path_animation(bContext *C, cu->pathlen = gtd->frame_range; /* Get RNA pointer to read/write path time values */ - RNA_id_pointer_create((ID *)cu, &ptr); + PointerRNA ptr = RNA_id_pointer_create((ID *)cu); prop = RNA_struct_find_property(&ptr, "eval_time"); /* Ensure we have an F-Curve to add keyframes to */ diff --git a/source/blender/editors/gpencil_legacy/gpencil_interpolate.cc b/source/blender/editors/gpencil_legacy/gpencil_interpolate.cc index d8885198d3d..1ab0a9654a1 100644 --- a/source/blender/editors/gpencil_legacy/gpencil_interpolate.cc +++ b/source/blender/editors/gpencil_legacy/gpencil_interpolate.cc @@ -1475,9 +1475,8 @@ static void gpencil_interpolate_seq_ui(bContext *C, wmOperator *op) /* Get an RNA pointer to ToolSettings to give to the custom curve. */ Scene *scene = CTX_data_scene(C); ToolSettings *ts = scene->toolsettings; - PointerRNA gpsettings_ptr; - RNA_pointer_create( - &scene->id, &RNA_GPencilInterpolateSettings, &ts->gp_interpolate, &gpsettings_ptr); + PointerRNA gpsettings_ptr = RNA_pointer_create( + &scene->id, &RNA_GPencilInterpolateSettings, &ts->gp_interpolate); uiTemplateCurveMapping( layout, &gpsettings_ptr, "interpolation_curve", 0, false, true, true, false); } diff --git a/source/blender/editors/gpencil_legacy/gpencil_utils.cc b/source/blender/editors/gpencil_legacy/gpencil_utils.cc index 6b71e498631..cd99d778a38 100644 --- a/source/blender/editors/gpencil_legacy/gpencil_utils.cc +++ b/source/blender/editors/gpencil_legacy/gpencil_utils.cc @@ -99,7 +99,7 @@ bGPdata **ED_gpencil_data_get_pointers_direct(ScrArea *area, Object *ob, Pointer if (ob && (ob->type == OB_GPENCIL_LEGACY)) { /* GP Object. */ if (r_ptr) { - RNA_id_pointer_create(&ob->id, r_ptr); + *r_ptr = RNA_id_pointer_create(&ob->id); } return (bGPdata **)&ob->data; } @@ -134,7 +134,7 @@ bGPdata **ED_annotation_data_get_pointers_direct(ID *screen_id, case SPACE_VIEW3D: /* 3D-View */ { if (r_ptr) { - RNA_id_pointer_create(&scene->id, r_ptr); + *r_ptr = RNA_id_pointer_create(&scene->id); } return &scene->gpd; @@ -149,7 +149,7 @@ bGPdata **ED_annotation_data_get_pointers_direct(ID *screen_id, /* for now, as long as there's an active node tree, * default to using that in the Nodes Editor */ if (r_ptr) { - RNA_id_pointer_create(&snode->nodetree->id, r_ptr); + *r_ptr = RNA_id_pointer_create(&snode->nodetree->id); } return &snode->nodetree->gpd; } @@ -164,7 +164,7 @@ bGPdata **ED_annotation_data_get_pointers_direct(ID *screen_id, /* For now, Grease Pencil data is associated with the space * (actually preview region only). */ if (r_ptr) { - RNA_pointer_create(screen_id, &RNA_SpaceSequenceEditor, sseq, r_ptr); + *r_ptr = RNA_pointer_create(screen_id, &RNA_SpaceSequenceEditor, sseq); } return &sseq->gpd; } @@ -174,7 +174,7 @@ bGPdata **ED_annotation_data_get_pointers_direct(ID *screen_id, /* For now, Grease Pencil data is associated with the space... */ if (r_ptr) { - RNA_pointer_create(screen_id, &RNA_SpaceImageEditor, sima, r_ptr); + *r_ptr = RNA_pointer_create(screen_id, &RNA_SpaceImageEditor, sima); } return &sima->gpd; } @@ -194,12 +194,12 @@ bGPdata **ED_annotation_data_get_pointers_direct(ID *screen_id, } if (r_ptr) { - RNA_pointer_create(&clip->id, &RNA_MovieTrackingTrack, track, r_ptr); + *r_ptr = RNA_pointer_create(&clip->id, &RNA_MovieTrackingTrack, track); } return &track->gpd; } if (r_ptr) { - RNA_id_pointer_create(&clip->id, r_ptr); + *r_ptr = RNA_id_pointer_create(&clip->id); } return &clip->gpd; } diff --git a/source/blender/editors/interface/eyedroppers/eyedropper_datablock.cc b/source/blender/editors/interface/eyedroppers/eyedropper_datablock.cc index e6613d90de9..4b715f50272 100644 --- a/source/blender/editors/interface/eyedroppers/eyedropper_datablock.cc +++ b/source/blender/editors/interface/eyedroppers/eyedropper_datablock.cc @@ -181,8 +181,7 @@ static void datadropper_id_sample_pt( } } - PointerRNA idptr; - RNA_id_pointer_create(id, &idptr); + PointerRNA idptr = RNA_id_pointer_create(id); if (id && RNA_property_pointer_poll(&ddr->ptr, ddr->prop, &idptr)) { SNPRINTF(ddr->name, "%s: %s", ddr->idcode_name, id->name + 2); @@ -203,9 +202,7 @@ static void datadropper_id_sample_pt( /* sets the ID, returns success */ static bool datadropper_id_set(bContext *C, DataDropper *ddr, ID *id) { - PointerRNA ptr_value; - - RNA_id_pointer_create(id, &ptr_value); + PointerRNA ptr_value = RNA_id_pointer_create(id); RNA_property_pointer_set(&ddr->ptr, ddr->prop, ptr_value, nullptr); diff --git a/source/blender/editors/interface/eyedroppers/eyedropper_depth.cc b/source/blender/editors/interface/eyedroppers/eyedropper_depth.cc index 5e78a2d588d..0a71a38b7ab 100644 --- a/source/blender/editors/interface/eyedroppers/eyedropper_depth.cc +++ b/source/blender/editors/interface/eyedroppers/eyedropper_depth.cc @@ -92,7 +92,7 @@ static int depthdropper_init(bContext *C, wmOperator *op) BKE_id_is_editable(CTX_data_main(C), static_cast(v3d->camera->data))) { Camera *camera = (Camera *)v3d->camera->data; - RNA_pointer_create(&camera->id, &RNA_CameraDOFSettings, &camera->dof, &ddr->ptr); + ddr->ptr = RNA_pointer_create(&camera->id, &RNA_CameraDOFSettings, &camera->dof); ddr->prop = RNA_struct_find_property(&ddr->ptr, "focus_distance"); ddr->is_undo = true; } diff --git a/source/blender/editors/interface/interface.cc b/source/blender/editors/interface/interface.cc index ed4cb54e6ce..9086f80eecb 100644 --- a/source/blender/editors/interface/interface.cc +++ b/source/blender/editors/interface/interface.cc @@ -2846,11 +2846,10 @@ void ui_but_string_get_ex(uiBut *but, const char *buf = nullptr; if ((but->type == UI_BTYPE_TAB) && (but->custom_data)) { StructRNA *ptr_type = RNA_property_pointer_type(&but->rnapoin, but->rnaprop); - PointerRNA ptr; /* 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.owner_id, ptr_type, but->custom_data, &ptr); + PointerRNA ptr = RNA_pointer_create(but->rnapoin.owner_id, ptr_type, but->custom_data); buf = RNA_struct_name_get_alloc(&ptr, str, str_maxncpy, &buf_len); } else if (type == PROP_STRING) { @@ -3183,10 +3182,9 @@ bool ui_but_string_set(bContext *C, uiBut *but, const char *str) RNA_property_pointer_set(&but->rnapoin, but->rnaprop, rptr, nullptr); } else if (search_but->item_active != nullptr) { - RNA_pointer_create(nullptr, - RNA_property_pointer_type(&but->rnapoin, but->rnaprop), - search_but->item_active, - &rptr); + rptr = RNA_pointer_create(nullptr, + RNA_property_pointer_type(&but->rnapoin, but->rnaprop), + search_but->item_active); RNA_property_pointer_set(&but->rnapoin, but->rnaprop, rptr, nullptr); } @@ -3212,12 +3210,11 @@ bool ui_but_string_set(bContext *C, uiBut *but, const char *str) else if (but->type == UI_BTYPE_TAB) { if (but->rnaprop && but->custom_data) { StructRNA *ptr_type = RNA_property_pointer_type(&but->rnapoin, but->rnaprop); - PointerRNA ptr; PropertyRNA *prop; /* 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.owner_id, ptr_type, but->custom_data, &ptr); + PointerRNA ptr = RNA_pointer_create(but->rnapoin.owner_id, ptr_type, but->custom_data); prop = RNA_struct_name_property(ptr_type); if (RNA_property_editable(&ptr, prop)) { RNA_property_string_set(&ptr, prop, str); diff --git a/source/blender/editors/interface/interface_context_menu.cc b/source/blender/editors/interface/interface_context_menu.cc index 8ee0ad0c88c..80f9cbe615e 100644 --- a/source/blender/editors/interface/interface_context_menu.cc +++ b/source/blender/editors/interface/interface_context_menu.cc @@ -147,7 +147,6 @@ static uiBlock *menu_change_shortcut(bContext *C, ARegion *region, void *arg) { wmWindowManager *wm = CTX_wm_manager(C); uiBut *but = (uiBut *)arg; - PointerRNA ptr; const uiStyle *style = UI_style_get_dpi(); IDProperty *prop; const char *idname = shortcut_get_operator_property(C, but, &prop); @@ -164,7 +163,7 @@ static uiBlock *menu_change_shortcut(bContext *C, ARegion *region, void *arg) BLI_assert(kmi != nullptr); - RNA_pointer_create(&wm->id, &RNA_KeyMapItem, kmi, &ptr); + PointerRNA ptr = RNA_pointer_create(&wm->id, &RNA_KeyMapItem, kmi); uiBlock *block = UI_block_begin(C, region, "_popup", UI_EMBOSS); UI_block_func_handle_set(block, but_shortcut_name_func, but); @@ -200,7 +199,6 @@ static uiBlock *menu_add_shortcut(bContext *C, ARegion *region, void *arg) { wmWindowManager *wm = CTX_wm_manager(C); uiBut *but = (uiBut *)arg; - PointerRNA ptr; const uiStyle *style = UI_style_get_dpi(); IDProperty *prop; const char *idname = shortcut_get_operator_property(C, but, &prop); @@ -226,7 +224,7 @@ static uiBlock *menu_add_shortcut(bContext *C, ARegion *region, void *arg) km = WM_keymap_guess_opname(C, idname); kmi = WM_keymap_item_find_id(km, kmi_id); - RNA_pointer_create(&wm->id, &RNA_KeyMapItem, kmi, &ptr); + PointerRNA ptr = RNA_pointer_create(&wm->id, &RNA_KeyMapItem, kmi); uiBlock *block = UI_block_begin(C, region, "_popup", UI_EMBOSS); UI_block_func_handle_set(block, but_shortcut_name_func, but); @@ -1307,8 +1305,7 @@ void ui_popup_context_menu_for_panel(bContext *C, ARegion *region, Panel *panel) return; } - PointerRNA ptr; - RNA_pointer_create(&screen->id, &RNA_Panel, panel, &ptr); + PointerRNA ptr = RNA_pointer_create(&screen->id, &RNA_Panel, panel); uiPopupMenu *pup = UI_popup_menu_begin(C, IFACE_("Panel"), ICON_NONE); uiLayout *layout = UI_popup_menu_layout(pup); diff --git a/source/blender/editors/interface/interface_context_path.cc b/source/blender/editors/interface/interface_context_path.cc index 770d39a8f16..cae3eb96b91 100644 --- a/source/blender/editors/interface/interface_context_path.cc +++ b/source/blender/editors/interface/interface_context_path.cc @@ -33,8 +33,7 @@ void context_path_add_generic(Vector &path, return; } - PointerRNA rna_ptr; - RNA_pointer_create(nullptr, &rna_type, ptr, &rna_ptr); + PointerRNA rna_ptr = RNA_pointer_create(nullptr, &rna_type, ptr); char name[128]; RNA_struct_name_get_alloc(&rna_ptr, name, sizeof(name), nullptr); diff --git a/source/blender/editors/interface/interface_handlers.cc b/source/blender/editors/interface/interface_handlers.cc index e9d9797b61a..e07368d335f 100644 --- a/source/blender/editors/interface/interface_handlers.cc +++ b/source/blender/editors/interface/interface_handlers.cc @@ -6369,10 +6369,9 @@ static int ui_do_but_COLOR(bContext *C, uiBut *but, uiHandleButtonData *data, co } if (updated) { - PointerRNA brush_ptr; PropertyRNA *brush_color_prop; - RNA_id_pointer_create(&brush->id, &brush_ptr); + PointerRNA brush_ptr = RNA_id_pointer_create(&brush->id); brush_color_prop = RNA_struct_find_property(&brush_ptr, "color"); RNA_property_update(C, &brush_ptr, brush_color_prop); } diff --git a/source/blender/editors/interface/interface_layout.cc b/source/blender/editors/interface/interface_layout.cc index 8e87f693a9a..68b7b89814f 100644 --- a/source/blender/editors/interface/interface_layout.cc +++ b/source/blender/editors/interface/interface_layout.cc @@ -2742,7 +2742,7 @@ static void search_id_collection(StructRNA *ptype, PointerRNA *r_ptr, PropertyRN { /* look for collection property in Main */ /* NOTE: using global Main is OK-ish here, UI shall not access other Mains anyway. */ - RNA_main_pointer_create(G_MAIN, r_ptr); + *r_ptr = RNA_main_pointer_create(G_MAIN); *r_prop = nullptr; @@ -5869,8 +5869,7 @@ void uiLayoutSetContextFromBut(uiLayout *layout, uiBut *but) if (but->rnapoin.data && but->rnaprop) { /* TODO: index could be supported as well */ - PointerRNA ptr_prop; - RNA_pointer_create(nullptr, &RNA_Property, but->rnaprop, &ptr_prop); + PointerRNA ptr_prop = RNA_pointer_create(nullptr, &RNA_Property, but->rnaprop); uiLayoutSetContextPointer(layout, "button_prop", &ptr_prop); uiLayoutSetContextPointer(layout, "button_pointer", &but->rnapoin); } diff --git a/source/blender/editors/interface/interface_ops.cc b/source/blender/editors/interface/interface_ops.cc index c0d450ba57c..6a24aee5206 100644 --- a/source/blender/editors/interface/interface_ops.cc +++ b/source/blender/editors/interface/interface_ops.cc @@ -670,7 +670,7 @@ static bool override_remove_button_poll(bContext *C) static int override_remove_button_exec(bContext *C, wmOperator *op) { Main *bmain = CTX_data_main(C); - PointerRNA ptr, id_refptr, src; + PointerRNA ptr, src; PropertyRNA *prop; int index; const bool all = RNA_boolean_get(op->ptr, "all"); @@ -689,7 +689,7 @@ static int override_remove_button_exec(bContext *C, wmOperator *op) * If this is an override template, we obviously do not need to restore anything. */ if (!is_template) { PropertyRNA *src_prop; - RNA_id_pointer_create(id->override_library->reference, &id_refptr); + PointerRNA id_refptr = RNA_id_pointer_create(id->override_library->reference); if (!RNA_path_resolve_property(&id_refptr, oprop->rna_path, &src, &src_prop)) { BLI_assert_msg(0, "Failed to create matching source (linked data) RNA pointer"); } @@ -828,7 +828,6 @@ static int override_idtemplate_make_exec(bContext *C, wmOperator * /*op*/) return OPERATOR_CANCELLED; } - PointerRNA idptr; /* `idptr` is re-assigned to owner property to ensure proper updates etc. Here we also use it * to ensure remapping of the owner property from the linked data to the newly created * liboverride (note that in theory this remapping has already been done by code above), but @@ -837,7 +836,7 @@ static int override_idtemplate_make_exec(bContext *C, wmOperator * /*op*/) * Otherwise, owner ID will also have been overridden, and remapped already to use it's * override of the data too. */ if (!ID_IS_LINKED(owner_id)) { - RNA_id_pointer_create(id_override, &idptr); + PointerRNA idptr = RNA_id_pointer_create(id_override); RNA_property_pointer_set(&owner_ptr, prop, idptr, nullptr); } RNA_property_update(C, &owner_ptr, prop); @@ -890,9 +889,8 @@ static int override_idtemplate_reset_exec(bContext *C, wmOperator * /*op*/) BKE_lib_override_library_id_reset(CTX_data_main(C), id, false); - PointerRNA idptr; /* `idptr` is re-assigned to owner property to ensure proper updates etc. */ - RNA_id_pointer_create(id, &idptr); + PointerRNA idptr = RNA_id_pointer_create(id); RNA_property_pointer_set(&owner_ptr, prop, idptr, nullptr); RNA_property_update(C, &owner_ptr, prop); @@ -1050,7 +1048,7 @@ static void ui_context_selected_bones_via_pose(bContext *C, ListBase *r_lb) if (!BLI_listbase_is_empty(&lb)) { LISTBASE_FOREACH (CollectionPointerLink *, link, &lb) { bPoseChannel *pchan = static_cast(link->ptr.data); - RNA_pointer_create(link->ptr.owner_id, &RNA_Bone, pchan->bone, &link->ptr); + link->ptr = RNA_pointer_create(link->ptr.owner_id, &RNA_Bone, pchan->bone); } } @@ -1093,7 +1091,7 @@ bool UI_context_copy_to_selected_list(bContext *C, } else { bPoseChannel *pchan = static_cast(owner_ptr.data); - RNA_pointer_create(owner_ptr.owner_id, &RNA_Bone, pchan->bone, &owner_ptr); + owner_ptr = RNA_pointer_create(owner_ptr.owner_id, &RNA_Bone, pchan->bone); if (NOT_NULL(idpath = RNA_path_from_struct_to_idproperty( &owner_ptr, static_cast(ptr->data)))) @@ -1280,7 +1278,7 @@ bool UI_context_copy_to_selected_list(bContext *C, } else { /* Avoid prepending 'data' to the path. */ - RNA_id_pointer_create(id_data, &link->ptr); + link->ptr = RNA_id_pointer_create(id_data); } if (id_data) { @@ -1340,7 +1338,6 @@ bool UI_context_copy_to_selected_check(PointerRNA *ptr, PointerRNA *r_ptr, PropertyRNA **r_prop) { - PointerRNA idptr; PropertyRNA *lprop; PointerRNA lptr; @@ -1351,7 +1348,7 @@ bool UI_context_copy_to_selected_check(PointerRNA *ptr, if (use_path_from_id) { /* Path relative to ID. */ lprop = nullptr; - RNA_id_pointer_create(ptr_link->owner_id, &idptr); + PointerRNA idptr = RNA_id_pointer_create(ptr_link->owner_id); RNA_path_resolve_property(&idptr, path, &lptr, &lprop); } else if (path) { diff --git a/source/blender/editors/interface/interface_region_menu_pie.cc b/source/blender/editors/interface/interface_region_menu_pie.cc index 6ebbcbab802..dd4b59490a6 100644 --- a/source/blender/editors/interface/interface_region_menu_pie.cc +++ b/source/blender/editors/interface/interface_region_menu_pie.cc @@ -255,13 +255,12 @@ int UI_pie_menu_invoke_from_rna_enum(bContext *C, const char *path, const wmEvent *event) { - PointerRNA ctx_ptr; PointerRNA r_ptr; PropertyRNA *r_prop; uiPieMenu *pie; uiLayout *layout; - RNA_pointer_create(nullptr, &RNA_Context, C, &ctx_ptr); + PointerRNA ctx_ptr = RNA_pointer_create(nullptr, &RNA_Context, C); if (!RNA_path_resolve(&ctx_ptr, path, &r_ptr, &r_prop)) { return OPERATOR_CANCELLED; diff --git a/source/blender/editors/interface/interface_template_asset_view.cc b/source/blender/editors/interface/interface_template_asset_view.cc index 81148643363..a848c882a5f 100644 --- a/source/blender/editors/interface/interface_template_asset_view.cc +++ b/source/blender/editors/interface/interface_template_asset_view.cc @@ -78,11 +78,9 @@ static void asset_view_draw_item(uiList *ui_list, AssetHandle asset_handle = ED_assetlist_asset_handle_get_by_index(&list_data->asset_library_ref, index); - PointerRNA file_ptr; - RNA_pointer_create(&list_data->screen->id, - &RNA_FileSelectEntry, - const_cast(asset_handle.file_data), - &file_ptr); + PointerRNA file_ptr = RNA_pointer_create(&list_data->screen->id, + &RNA_FileSelectEntry, + const_cast(asset_handle.file_data)); uiLayoutSetContextPointer(layout, "active_file", &file_ptr); uiBlock *block = uiLayoutGetBlock(layout); @@ -204,10 +202,9 @@ static void populate_asset_collection(const AssetLibraryReference &asset_library * because the #FileDirEntry may be freed while iterating, there's a cache for them with a * maximum size. Further code will query as needed it using the collection index. */ - PointerRNA itemptr, fileptr; + PointerRNA itemptr; RNA_property_collection_add(&assets_dataptr, assets_prop, &itemptr); - - RNA_pointer_create(nullptr, &RNA_FileSelectEntry, nullptr, &fileptr); + PointerRNA fileptr = RNA_pointer_create(nullptr, &RNA_FileSelectEntry, nullptr); RNA_pointer_set(&itemptr, "file_data", fileptr); return true; diff --git a/source/blender/editors/interface/interface_template_grease_pencil_layer_tree.cc b/source/blender/editors/interface/interface_template_grease_pencil_layer_tree.cc index 226e65d8b44..a7e8073f010 100644 --- a/source/blender/editors/interface/interface_template_grease_pencil_layer_tree.cc +++ b/source/blender/editors/interface/interface_template_grease_pencil_layer_tree.cc @@ -183,9 +183,9 @@ class LayerViewItem : public AbstractTreeViewItem { void on_activate(bContext &C) override { - PointerRNA grease_pencil_ptr, value_ptr; - RNA_pointer_create(&grease_pencil_.id, &RNA_GreasePencilv3Layers, nullptr, &grease_pencil_ptr); - RNA_pointer_create(&grease_pencil_.id, &RNA_GreasePencilLayer, &layer_, &value_ptr); + PointerRNA grease_pencil_ptr = RNA_pointer_create( + &grease_pencil_.id, &RNA_GreasePencilv3Layers, nullptr); + PointerRNA value_ptr = RNA_pointer_create(&grease_pencil_.id, &RNA_GreasePencilLayer, &layer_); PropertyRNA *prop = RNA_struct_find_property(&grease_pencil_ptr, "active"); @@ -239,8 +239,7 @@ class LayerViewItem : public AbstractTreeViewItem { void build_layer_buttons(uiLayout &row) { uiBut *but; - PointerRNA layer_ptr; - RNA_pointer_create(&grease_pencil_.id, &RNA_GreasePencilLayer, &layer_, &layer_ptr); + PointerRNA layer_ptr = RNA_pointer_create(&grease_pencil_.id, &RNA_GreasePencilLayer, &layer_); uiBlock *block = uiLayoutGetBlock(&row); but = uiDefIconButR(block, @@ -341,8 +340,8 @@ class LayerGroupViewItem : public AbstractTreeViewItem { void build_layer_group_buttons(uiLayout &row) { - PointerRNA group_ptr; - RNA_pointer_create(&grease_pencil_.id, &RNA_GreasePencilLayerGroup, &group_, &group_ptr); + PointerRNA group_ptr = RNA_pointer_create( + &grease_pencil_.id, &RNA_GreasePencilLayerGroup, &group_); uiItemR(&row, &group_ptr, "hide", UI_ITEM_R_ICON_ONLY, nullptr, ICON_NONE); uiItemR(&row, &group_ptr, "lock", UI_ITEM_R_ICON_ONLY, nullptr, ICON_NONE); diff --git a/source/blender/editors/interface/interface_template_light_linking.cc b/source/blender/editors/interface/interface_template_light_linking.cc index ccd3842eee4..565632440c7 100644 --- a/source/blender/editors/interface/interface_template_light_linking.cc +++ b/source/blender/editors/interface/interface_template_light_linking.cc @@ -150,11 +150,8 @@ class CollectionViewItem : public BasicTreeViewItem { uiBlock *block = uiLayoutGetBlock(&row); const int icon = get_state_icon(); - PointerRNA collection_light_linking_ptr; - RNA_pointer_create(&collection_.id, - &RNA_CollectionLightLinking, - &collection_light_linking_, - &collection_light_linking_ptr); + PointerRNA collection_light_linking_ptr = RNA_pointer_create( + &collection_.id, &RNA_CollectionLightLinking, &collection_light_linking_); uiBut *button = uiDefIconButR(block, UI_BTYPE_BUT, @@ -178,11 +175,8 @@ class CollectionViewItem : public BasicTreeViewItem { void build_remove_button(uiLayout &row) { - PointerRNA id_ptr; - RNA_id_pointer_create(id_, &id_ptr); - - PointerRNA collection_ptr; - RNA_id_pointer_create(&collection_.id, &collection_ptr); + PointerRNA id_ptr = RNA_id_pointer_create(id_); + PointerRNA collection_ptr = RNA_id_pointer_create(&collection_.id); uiLayoutSetContextPointer(&row, "id", &id_ptr); uiLayoutSetContextPointer(&row, "collection", &collection_ptr); diff --git a/source/blender/editors/interface/interface_template_list.cc b/source/blender/editors/interface/interface_template_list.cc index dabbb00abeb..ee9dcf34d9b 100644 --- a/source/blender/editors/interface/interface_template_list.cc +++ b/source/blender/editors/interface/interface_template_list.cc @@ -121,8 +121,7 @@ static void uilist_draw_item_default(uiList *ui_list, static void uilist_draw_filter_default(uiList *ui_list, const bContext * /*C*/, uiLayout *layout) { - PointerRNA listptr; - RNA_pointer_create(nullptr, &RNA_UIList, ui_list, &listptr); + PointerRNA listptr = RNA_pointer_create(nullptr, &RNA_UIList, ui_list); uiLayout *row = uiLayoutRow(layout, false); diff --git a/source/blender/editors/interface/interface_template_search_menu.cc b/source/blender/editors/interface/interface_template_search_menu.cc index d747aba02f6..55313aa6f23 100644 --- a/source/blender/editors/interface/interface_template_search_menu.cc +++ b/source/blender/editors/interface/interface_template_search_menu.cc @@ -513,8 +513,7 @@ static MenuSearch_Data *menu_items_from_ui_create( /* Anything besides #SPACE_EMPTY is fine, * as this value is only included in the enum when set. */ area_dummy.spacetype = SPACE_TOPBAR; - PointerRNA ptr; - RNA_pointer_create(&screen->id, &RNA_Area, &area_dummy, &ptr); + PointerRNA ptr = RNA_pointer_create(&screen->id, &RNA_Area, &area_dummy); prop_ui_type = RNA_struct_find_property(&ptr, "ui_type"); RNA_property_enum_items(C, &ptr, @@ -533,8 +532,7 @@ static MenuSearch_Data *menu_items_from_ui_create( LISTBASE_FOREACH (ScrArea *, area, &screen->areabase) { ARegion *region = BKE_area_find_region_type(area, RGN_TYPE_WINDOW); if (region != nullptr) { - PointerRNA ptr; - RNA_pointer_create(&screen->id, &RNA_Area, area, &ptr); + PointerRNA ptr = RNA_pointer_create(&screen->id, &RNA_Area, area); const int space_type_ui = RNA_property_enum_get(&ptr, prop_ui_type); const int space_type_ui_index = RNA_enum_from_value(space_type_ui_items, space_type_ui); diff --git a/source/blender/editors/interface/interface_templates.cc b/source/blender/editors/interface/interface_templates.cc index e06c6ab9fab..f6bb95a251b 100644 --- a/source/blender/editors/interface/interface_templates.cc +++ b/source/blender/editors/interface/interface_templates.cc @@ -348,9 +348,7 @@ static void template_ID_set_property_exec_fn(bContext *C, void *arg_template, vo /* ID */ if (item) { - PointerRNA idptr; - - RNA_id_pointer_create(static_cast(item), &idptr); + PointerRNA idptr = RNA_id_pointer_create(static_cast(item)); RNA_property_pointer_set(&template_ui->ptr, template_ui->prop, idptr, nullptr); RNA_property_update(C, &template_ui->ptr, template_ui->prop); } @@ -367,8 +365,7 @@ static bool id_search_allows_id(TemplateID *template_ui, const int flag, ID *id, /* Use filter. */ if (RNA_property_type(template_ui->prop) == PROP_POINTER) { - PointerRNA ptr; - RNA_id_pointer_create(id, &ptr); + PointerRNA ptr = RNA_id_pointer_create(id); if (RNA_property_pointer_poll(&template_ui->ptr, template_ui->prop, &ptr) == 0) { return false; } @@ -931,7 +928,7 @@ static void template_id_liboverride_hierarchy_make(bContext *C, * Otherwise, owner ID will also have been overridden, and remapped already to use it's * override of the data too. */ if (!ID_IS_LINKED(owner_id)) { - RNA_id_pointer_create(id_override, idptr); + *idptr = RNA_id_pointer_create(id_override); } } else { @@ -2024,9 +2021,8 @@ static void template_search_exec_fn(bContext *C, void *arg_template, void *item) TemplateSearch *template_search = static_cast(arg_template); uiRNACollectionSearch *coll_search = &template_search->search_data; StructRNA *type = RNA_property_pointer_type(&coll_search->target_ptr, coll_search->target_prop); - PointerRNA item_ptr; - RNA_pointer_create(nullptr, type, item, &item_ptr); + PointerRNA item_ptr = RNA_pointer_create(nullptr, type, item); RNA_property_pointer_set(&coll_search->target_ptr, coll_search->target_prop, item_ptr, nullptr); RNA_property_update(C, &coll_search->target_ptr, coll_search->target_prop); } @@ -2311,7 +2307,7 @@ void uiTemplateModifiers(uiLayout * /*layout*/, bContext *C) /* Create custom data RNA pointer. */ PointerRNA *md_ptr = static_cast(MEM_mallocN(sizeof(PointerRNA), __func__)); - RNA_pointer_create(&ob->id, &RNA_Modifier, md, md_ptr); + *md_ptr = RNA_pointer_create(&ob->id, &RNA_Modifier, md); UI_panel_add_instanced(C, region, ®ion->panels, panel_idname, md_ptr); } @@ -2333,7 +2329,7 @@ void uiTemplateModifiers(uiLayout * /*layout*/, bContext *C) } PointerRNA *md_ptr = static_cast(MEM_mallocN(sizeof(PointerRNA), __func__)); - RNA_pointer_create(&ob->id, &RNA_Modifier, md, md_ptr); + *md_ptr = RNA_pointer_create(&ob->id, &RNA_Modifier, md); UI_panel_custom_data_set(panel, md_ptr); panel = panel->next; @@ -2477,7 +2473,7 @@ void uiTemplateConstraints(uiLayout * /*layout*/, bContext *C, bool use_bone_con /* Create custom data RNA pointer. */ PointerRNA *con_ptr = static_cast(MEM_mallocN(sizeof(PointerRNA), __func__)); - RNA_pointer_create(&ob->id, &RNA_Constraint, con, con_ptr); + *con_ptr = RNA_pointer_create(&ob->id, &RNA_Constraint, con); Panel *new_panel = UI_panel_add_instanced(C, region, ®ion->panels, panel_idname, con_ptr); @@ -2512,7 +2508,7 @@ void uiTemplateConstraints(uiLayout * /*layout*/, bContext *C, bool use_bone_con } PointerRNA *con_ptr = static_cast(MEM_mallocN(sizeof(PointerRNA), __func__)); - RNA_pointer_create(&ob->id, &RNA_Constraint, con, con_ptr); + *con_ptr = RNA_pointer_create(&ob->id, &RNA_Constraint, con); UI_panel_custom_data_set(panel, con_ptr); panel = panel->next; @@ -2561,7 +2557,7 @@ void uiTemplateGpencilModifiers(uiLayout * /*layout*/, bContext *C) /* Create custom data RNA pointer. */ PointerRNA *md_ptr = static_cast(MEM_mallocN(sizeof(PointerRNA), __func__)); - RNA_pointer_create(&ob->id, &RNA_GpencilModifier, md, md_ptr); + *md_ptr = RNA_pointer_create(&ob->id, &RNA_GpencilModifier, md); UI_panel_add_instanced(C, region, ®ion->panels, panel_idname, md_ptr); } @@ -2584,7 +2580,7 @@ void uiTemplateGpencilModifiers(uiLayout * /*layout*/, bContext *C) } PointerRNA *md_ptr = static_cast(MEM_mallocN(sizeof(PointerRNA), __func__)); - RNA_pointer_create(&ob->id, &RNA_GpencilModifier, md, md_ptr); + *md_ptr = RNA_pointer_create(&ob->id, &RNA_GpencilModifier, md); UI_panel_custom_data_set(panel, md_ptr); panel = panel->next; @@ -2628,7 +2624,7 @@ void uiTemplateShaderFx(uiLayout * /*layout*/, bContext *C) /* Create custom data RNA pointer. */ PointerRNA *fx_ptr = static_cast(MEM_mallocN(sizeof(PointerRNA), __func__)); - RNA_pointer_create(&ob->id, &RNA_ShaderFx, fx, fx_ptr); + *fx_ptr = RNA_pointer_create(&ob->id, &RNA_ShaderFx, fx); UI_panel_add_instanced(C, region, ®ion->panels, panel_idname, fx_ptr); } @@ -2650,7 +2646,7 @@ void uiTemplateShaderFx(uiLayout * /*layout*/, bContext *C) } PointerRNA *fx_ptr = static_cast(MEM_mallocN(sizeof(PointerRNA), __func__)); - RNA_pointer_create(&ob->id, &RNA_ShaderFx, fx, fx_ptr); + *fx_ptr = RNA_pointer_create(&ob->id, &RNA_ShaderFx, fx); UI_panel_custom_data_set(panel, fx_ptr); panel = panel->next; @@ -2759,8 +2755,7 @@ static eAutoPropButsReturn template_operator_property_buts_draw_single( user_data.flag = layout_flags; const bool use_prop_split = (layout_flags & UI_TEMPLATE_OP_PROPS_NO_SPLIT_LAYOUT) == 0; - PointerRNA ptr; - RNA_pointer_create(&wm->id, op->type->srna, op->properties, &ptr); + PointerRNA ptr = RNA_pointer_create(&wm->id, op->type->srna, op->properties); uiLayoutSetPropSep(layout, use_prop_split); uiLayoutSetPropDecorate(layout, false); @@ -2878,9 +2873,8 @@ static bool ui_layout_operator_properties_only_booleans(const bContext *C, user_data.C = C; user_data.op = op; user_data.flag = layout_flags; - PointerRNA ptr; - RNA_pointer_create(&wm->id, op->type->srna, op->properties, &ptr); + PointerRNA ptr = RNA_pointer_create(&wm->id, op->type->srna, op->properties); RNA_STRUCT_BEGIN (&ptr, prop) { if (RNA_property_flag(prop) & PROP_HIDDEN) { @@ -2977,10 +2971,9 @@ static void constraint_ops_extra_draw(bContext *C, uiLayout *layout, void *con_v uiLayout *row; bConstraint *con = (bConstraint *)con_v; - PointerRNA ptr; Object *ob = ED_object_active_context(C); - RNA_pointer_create(&ob->id, &RNA_Constraint, con, &ptr); + PointerRNA ptr = RNA_pointer_create(&ob->id, &RNA_Constraint, con); uiLayoutSetContextPointer(layout, "constraint", &ptr); uiLayoutSetOperatorContext(layout, WM_OP_INVOKE_DEFAULT); @@ -3043,8 +3036,7 @@ static void draw_constraint_header(uiLayout *layout, Object *ob, bConstraint *co uiBlock *block = uiLayoutGetBlock(layout); UI_block_func_set(block, constraint_active_func, ob, con); - PointerRNA ptr; - RNA_pointer_create(&ob->id, &RNA_Constraint, con, &ptr); + PointerRNA ptr = RNA_pointer_create(&ob->id, &RNA_Constraint, con); if (block->panel) { UI_panel_context_pointer_set(block->panel, "constraint", &ptr); @@ -3137,8 +3129,6 @@ void uiTemplatePreview(uiLayout *layout, Material *ma = nullptr; Tex *tex = (Tex *)id; short *pr_texture = nullptr; - PointerRNA material_ptr; - PointerRNA texture_ptr; char _preview_id[UI_MAX_NAME_STR]; @@ -3250,7 +3240,7 @@ void uiTemplatePreview(uiLayout *layout, } /* Create RNA Pointer */ - RNA_pointer_create(&ma->id, &RNA_Material, ma, &material_ptr); + PointerRNA material_ptr = RNA_pointer_create(&ma->id, &RNA_Material, ma); col = uiLayoutColumn(row, true); uiLayoutSetScaleX(col, 1.5); @@ -3266,7 +3256,7 @@ void uiTemplatePreview(uiLayout *layout, if (pr_texture) { /* Create RNA Pointer */ - RNA_pointer_create(id, &RNA_Texture, tex, &texture_ptr); + PointerRNA texture_ptr = RNA_pointer_create(id, &RNA_Texture, tex); uiLayoutRow(layout, true); uiDefButS(block, @@ -3474,8 +3464,7 @@ static uiBlock *colorband_tools_func(bContext *C, ARegion *region, void *coba_v) style); UI_block_layout_set_current(block, layout); { - PointerRNA coba_ptr; - RNA_pointer_create(nullptr, &RNA_ColorRamp, coba, &coba_ptr); + PointerRNA coba_ptr = RNA_pointer_create(nullptr, &RNA_ColorRamp, coba); uiLayoutSetContextPointer(layout, "color_ramp", &coba_ptr); } @@ -3606,8 +3595,7 @@ static void colorband_buttons_layout(uiLayout *layout, const float xs = butr->xmin; const float ys = butr->ymin; - PointerRNA ptr; - RNA_pointer_create(cb->ptr.owner_id, &RNA_ColorRamp, coba, &ptr); + PointerRNA ptr = RNA_pointer_create(cb->ptr.owner_id, &RNA_ColorRamp, coba); uiLayout *split = uiLayoutSplit(layout, 0.4f, false); @@ -3699,7 +3687,7 @@ static void colorband_buttons_layout(uiLayout *layout, if (coba->tot) { CBData *cbd = coba->data + coba->cur; - RNA_pointer_create(cb->ptr.owner_id, &RNA_ColorRampElement, cbd, &ptr); + ptr = RNA_pointer_create(cb->ptr.owner_id, &RNA_ColorRampElement, cbd); if (!expand) { split = uiLayoutSplit(layout, 0.3f, false); @@ -5490,8 +5478,7 @@ static void CurveProfile_buttons_layout(uiLayout *layout, PointerRNA *ptr, RNAUp row = uiLayoutRow(layout, true); - PointerRNA point_ptr; - RNA_pointer_create(ptr->owner_id, &RNA_CurveProfilePoint, point, &point_ptr); + PointerRNA point_ptr = RNA_pointer_create(ptr->owner_id, &RNA_CurveProfilePoint, point); PropertyRNA *prop_handle_type = RNA_struct_find_property(&point_ptr, "handle_type_1"); uiItemFullR(row, &point_ptr, @@ -5923,8 +5910,7 @@ void uiTemplatePalette(uiLayout *layout, PointerRNA *ptr, const char *propname, row_cols = 0; } - PointerRNA color_ptr; - RNA_pointer_create(&palette->id, &RNA_PaletteColor, color, &color_ptr); + PointerRNA color_ptr = RNA_pointer_create(&palette->id, &RNA_PaletteColor, color); uiButColor *color_but = (uiButColor *)uiDefButR(block, UI_BTYPE_COLOR, 0, diff --git a/source/blender/editors/interface/interface_utils.cc b/source/blender/editors/interface/interface_utils.cc index 2ee37ee5fe6..d8bbf5ff05a 100644 --- a/source/blender/editors/interface/interface_utils.cc +++ b/source/blender/editors/interface/interface_utils.cc @@ -693,8 +693,7 @@ int UI_icon_from_id(const ID *id) /* otherwise get it through RNA, creating the pointer * will set the right type, also with subclassing */ - PointerRNA ptr; - RNA_id_pointer_create((ID *)id, &ptr); + PointerRNA ptr = RNA_id_pointer_create((ID *)id); return (ptr.type) ? RNA_struct_ui_icon(ptr.type) : ICON_NONE; } diff --git a/source/blender/editors/io/io_cache.cc b/source/blender/editors/io/io_cache.cc index d1f266421dd..07e5fab187e 100644 --- a/source/blender/editors/io/io_cache.cc +++ b/source/blender/editors/io/io_cache.cc @@ -97,8 +97,7 @@ static int cachefile_open_exec(bContext *C, wmOperator *op) * pointer see also increases user, so this compensates it. */ id_us_min(&cache_file->id); - PointerRNA idptr; - RNA_id_pointer_create(&cache_file->id, &idptr); + PointerRNA idptr = RNA_id_pointer_create(&cache_file->id); RNA_property_pointer_set(&pprop->ptr, pprop->prop, idptr, nullptr); RNA_property_update(C, &pprop->ptr, pprop->prop); } diff --git a/source/blender/editors/io/io_obj.cc b/source/blender/editors/io/io_obj.cc index 6e76e821b33..87d28c61c35 100644 --- a/source/blender/editors/io/io_obj.cc +++ b/source/blender/editors/io/io_obj.cc @@ -193,8 +193,7 @@ static void ui_obj_export_settings(uiLayout *layout, PointerRNA *imfptr) static void wm_obj_export_draw(bContext * /*C*/, wmOperator *op) { - PointerRNA ptr; - RNA_pointer_create(nullptr, op->type->srna, op->properties, &ptr); + PointerRNA ptr = RNA_pointer_create(nullptr, op->type->srna, op->properties); ui_obj_export_settings(op->layout, &ptr); } @@ -470,9 +469,8 @@ static void ui_obj_import_settings(uiLayout *layout, PointerRNA *imfptr) static void wm_obj_import_draw(bContext *C, wmOperator *op) { - PointerRNA ptr; wmWindowManager *wm = CTX_wm_manager(C); - RNA_pointer_create(&wm->id, op->type->srna, op->properties, &ptr); + PointerRNA ptr = RNA_pointer_create(&wm->id, op->type->srna, op->properties); ui_obj_import_settings(op->layout, &ptr); } diff --git a/source/blender/editors/io/io_ply_ops.cc b/source/blender/editors/io/io_ply_ops.cc index 34a023a69e2..e633706423f 100644 --- a/source/blender/editors/io/io_ply_ops.cc +++ b/source/blender/editors/io/io_ply_ops.cc @@ -130,8 +130,7 @@ static void ui_ply_export_settings(uiLayout *layout, PointerRNA *imfptr) static void wm_ply_export_draw(bContext * /*C*/, wmOperator *op) { - PointerRNA ptr; - RNA_pointer_create(nullptr, op->type->srna, op->properties, &ptr); + PointerRNA ptr = RNA_pointer_create(nullptr, op->type->srna, op->properties); ui_ply_export_settings(op->layout, &ptr); } diff --git a/source/blender/editors/mesh/editmesh_bevel.cc b/source/blender/editors/mesh/editmesh_bevel.cc index a29e9e8a8ac..1669483eb66 100644 --- a/source/blender/editors/mesh/editmesh_bevel.cc +++ b/source/blender/editors/mesh/editmesh_bevel.cc @@ -901,7 +901,6 @@ static void edbm_bevel_ui(bContext *C, wmOperator *op) { uiLayout *layout = op->layout; uiLayout *col, *row; - PointerRNA toolsettings_ptr; int profile_type = RNA_enum_get(op->ptr, "profile_type"); int offset_type = RNA_enum_get(op->ptr, "offset_type"); @@ -970,7 +969,8 @@ static void edbm_bevel_ui(bContext *C, wmOperator *op) if (profile_type == BEVEL_PROFILE_CUSTOM) { /* Get an RNA pointer to ToolSettings to give to the curve profile template code. */ Scene *scene = CTX_data_scene(C); - RNA_pointer_create(&scene->id, &RNA_ToolSettings, scene->toolsettings, &toolsettings_ptr); + PointerRNA toolsettings_ptr = RNA_pointer_create( + &scene->id, &RNA_ToolSettings, scene->toolsettings); uiTemplateCurveProfile(layout, &toolsettings_ptr, "custom_bevel_profile_preset"); } } diff --git a/source/blender/editors/mesh/editmesh_extrude_spin_gizmo.cc b/source/blender/editors/mesh/editmesh_extrude_spin_gizmo.cc index 7483fa561ea..75feaa2b803 100644 --- a/source/blender/editors/mesh/editmesh_extrude_spin_gizmo.cc +++ b/source/blender/editors/mesh/editmesh_extrude_spin_gizmo.cc @@ -429,8 +429,7 @@ static void gizmo_mesh_spin_init_message_subscribe(const bContext *C, msg_sub_value_gz_tag_refresh.user_data = gzgroup->parent_gzmap; msg_sub_value_gz_tag_refresh.notify = WM_gizmo_do_msg_notify_tag_refresh; - PointerRNA cursor_ptr; - RNA_pointer_create(&scene->id, &RNA_View3DCursor, &scene->cursor, &cursor_ptr); + PointerRNA cursor_ptr = RNA_pointer_create(&scene->id, &RNA_View3DCursor, &scene->cursor); /* All cursor properties. */ WM_msg_subscribe_rna(mbus, &cursor_ptr, nullptr, &msg_sub_value_gz_tag_refresh, __func__); diff --git a/source/blender/editors/mesh/editmesh_tools.cc b/source/blender/editors/mesh/editmesh_tools.cc index 261860d2695..3167c1ff340 100644 --- a/source/blender/editors/mesh/editmesh_tools.cc +++ b/source/blender/editors/mesh/editmesh_tools.cc @@ -3967,9 +3967,8 @@ static void edbm_blend_from_shape_ui(bContext *C, wmOperator *op) uiLayout *layout = op->layout; Object *obedit = CTX_data_edit_object(C); Mesh *me = static_cast(obedit->data); - PointerRNA ptr_key; - RNA_id_pointer_create((ID *)me->key, &ptr_key); + PointerRNA ptr_key = RNA_id_pointer_create((ID *)me->key); uiLayoutSetPropSep(layout, true); uiLayoutSetPropDecorate(layout, false); @@ -8866,9 +8865,8 @@ static void edbm_point_normals_ui(bContext *C, wmOperator *op) { uiLayout *layout = op->layout; wmWindowManager *wm = CTX_wm_manager(C); - PointerRNA ptr; - RNA_pointer_create(&wm->id, op->type->srna, op->properties, &ptr); + PointerRNA ptr = RNA_pointer_create(&wm->id, op->type->srna, op->properties); uiLayoutSetPropSep(layout, true); @@ -9361,9 +9359,8 @@ static void edbm_average_normals_ui(bContext *C, wmOperator *op) { uiLayout *layout = op->layout; wmWindowManager *wm = CTX_wm_manager(C); - PointerRNA ptr; - RNA_pointer_create(&wm->id, op->type->srna, op->properties, &ptr); + PointerRNA ptr = RNA_pointer_create(&wm->id, op->type->srna, op->properties); uiLayoutSetPropSep(layout, true); @@ -9619,9 +9616,8 @@ static void edbm_normals_tools_ui(bContext *C, wmOperator *op) { uiLayout *layout = op->layout; wmWindowManager *wm = CTX_wm_manager(C); - PointerRNA ptr; - RNA_pointer_create(&wm->id, op->type->srna, op->properties, &ptr); + PointerRNA ptr = RNA_pointer_create(&wm->id, op->type->srna, op->properties); /* Main auto-draw call */ uiDefAutoButsRNA(layout, diff --git a/source/blender/editors/object/object_constraint.cc b/source/blender/editors/object/object_constraint.cc index 58462f2c4b3..30766bc4b0d 100644 --- a/source/blender/editors/object/object_constraint.cc +++ b/source/blender/editors/object/object_constraint.cc @@ -1084,12 +1084,11 @@ static int followpath_path_animate_exec(bContext *C, wmOperator *op) } else { /* animate constraint's "fixed offset" */ - PointerRNA ptr; PropertyRNA *prop; char *path; /* get RNA pointer to constraint's "offset_factor" property - to build RNA path */ - RNA_pointer_create(&ob->id, &RNA_FollowPathConstraint, con, &ptr); + PointerRNA ptr = RNA_pointer_create(&ob->id, &RNA_FollowPathConstraint, con); prop = RNA_struct_find_property(&ptr, "offset_factor"); path = RNA_path_from_ID_to_property(&ptr, prop); diff --git a/source/blender/editors/physics/rigidbody_object.cc b/source/blender/editors/physics/rigidbody_object.cc index df74c8728c5..6ec222a13ec 100644 --- a/source/blender/editors/physics/rigidbody_object.cc +++ b/source/blender/editors/physics/rigidbody_object.cc @@ -303,10 +303,8 @@ static int rigidbody_objects_shape_change_exec(bContext *C, wmOperator *op) /* apply this to all selected objects... */ CTX_DATA_BEGIN (C, Object *, ob, selected_objects) { if (ob->rigidbody_object) { - PointerRNA ptr; - /* use RNA-system to change the property and perform all necessary changes */ - RNA_pointer_create(&ob->id, &RNA_RigidBodyObject, ob->rigidbody_object, &ptr); + PointerRNA ptr = RNA_pointer_create(&ob->id, &RNA_RigidBodyObject, ob->rigidbody_object); RNA_enum_set(&ptr, "collision_shape", shape); DEG_id_tag_update(&ob->id, ID_RECALC_TRANSFORM); @@ -481,8 +479,6 @@ static int rigidbody_objects_calc_mass_exec(bContext *C, wmOperator *op) /* Apply this to all selected objects (with rigid-bodies). */ CTX_DATA_BEGIN (C, Object *, ob, selected_objects) { if (ob->rigidbody_object) { - PointerRNA ptr; - float volume; /* m^3 */ float mass; /* kg */ @@ -494,7 +490,7 @@ static int rigidbody_objects_calc_mass_exec(bContext *C, wmOperator *op) mass = volume * density; /* use RNA-system to change the property and perform all necessary changes */ - RNA_pointer_create(&ob->id, &RNA_RigidBodyObject, ob->rigidbody_object, &ptr); + PointerRNA ptr = RNA_pointer_create(&ob->id, &RNA_RigidBodyObject, ob->rigidbody_object); RNA_float_set(&ptr, "mass", mass); DEG_id_tag_update(&ob->id, ID_RECALC_TRANSFORM); diff --git a/source/blender/editors/render/render_shading.cc b/source/blender/editors/render/render_shading.cc index 373a59a4046..60469cb9836 100644 --- a/source/blender/editors/render/render_shading.cc +++ b/source/blender/editors/render/render_shading.cc @@ -756,7 +756,7 @@ static int new_material_exec(bContext *C, wmOperator * /*op*/) Material *ma = static_cast( CTX_data_pointer_get_type(C, "material", &RNA_Material).data); Main *bmain = CTX_data_main(C); - PointerRNA ptr, idptr; + PointerRNA ptr; PropertyRNA *prop; /* hook into UI */ @@ -796,7 +796,7 @@ static int new_material_exec(bContext *C, wmOperator * /*op*/) * pointer use also increases user, so this compensates it */ id_us_min(&ma->id); - RNA_id_pointer_create(&ma->id, &idptr); + PointerRNA idptr = RNA_id_pointer_create(&ma->id); RNA_property_pointer_set(&ptr, prop, idptr, nullptr); RNA_property_update(C, &ptr, prop); } @@ -831,7 +831,7 @@ static int new_texture_exec(bContext *C, wmOperator * /*op*/) { Tex *tex = static_cast(CTX_data_pointer_get_type(C, "texture", &RNA_Texture).data); Main *bmain = CTX_data_main(C); - PointerRNA ptr, idptr; + PointerRNA ptr; PropertyRNA *prop; /* add or copy texture */ @@ -850,7 +850,7 @@ static int new_texture_exec(bContext *C, wmOperator * /*op*/) * pointer use also increases user, so this compensates it */ id_us_min(&tex->id); - RNA_id_pointer_create(&tex->id, &idptr); + PointerRNA idptr = RNA_id_pointer_create(&tex->id); RNA_property_pointer_set(&ptr, prop, idptr, nullptr); RNA_property_update(C, &ptr, prop); } @@ -884,7 +884,7 @@ static int new_world_exec(bContext *C, wmOperator * /*op*/) { World *wo = static_cast(CTX_data_pointer_get_type(C, "world", &RNA_World).data); Main *bmain = CTX_data_main(C); - PointerRNA ptr, idptr; + PointerRNA ptr; PropertyRNA *prop; /* add or copy world */ @@ -907,7 +907,7 @@ static int new_world_exec(bContext *C, wmOperator * /*op*/) * pointer use also increases user, so this compensates it */ id_us_min(&wo->id); - RNA_id_pointer_create(&wo->id, &idptr); + PointerRNA idptr = RNA_id_pointer_create(&wo->id); RNA_property_pointer_set(&ptr, prop, idptr, nullptr); RNA_property_update(C, &ptr, prop); } diff --git a/source/blender/editors/screen/area.cc b/source/blender/editors/screen/area.cc index b6ef633041b..1939f444636 100644 --- a/source/blender/editors/screen/area.cc +++ b/source/blender/editors/screen/area.cc @@ -608,8 +608,7 @@ void ED_region_do_draw(bContext *C, ARegion *region) { SpaceLink *sl = static_cast(area->spacedata.first); - PointerRNA ptr; - RNA_pointer_create(&screen->id, &RNA_Space, sl, &ptr); + PointerRNA ptr = RNA_pointer_create(&screen->id, &RNA_Space, sl); /* All properties for this space type. */ wmMsgSubscribeValue msg_sub_value_region_tag_redraw{}; @@ -2718,10 +2717,9 @@ int ED_area_header_switchbutton(const bContext *C, uiBlock *block, int yco) { ScrArea *area = CTX_wm_area(C); bScreen *screen = CTX_wm_screen(C); - PointerRNA areaptr; int xco = 0.4 * U.widget_unit; - RNA_pointer_create(&(screen->id), &RNA_Area, area, &areaptr); + PointerRNA areaptr = RNA_pointer_create(&(screen->id), &RNA_Area, area); uiDefButR(block, UI_BTYPE_MENU, diff --git a/source/blender/editors/screen/screen_ops.cc b/source/blender/editors/screen/screen_ops.cc index a082ba86415..45963d78af6 100644 --- a/source/blender/editors/screen/screen_ops.cc +++ b/source/blender/editors/screen/screen_ops.cc @@ -4370,8 +4370,7 @@ void ED_screens_header_tools_menu_create(bContext *C, uiLayout *layout, void * / { ScrArea *area = CTX_wm_area(C); { - PointerRNA ptr; - RNA_pointer_create((ID *)CTX_wm_screen(C), &RNA_Space, area->spacedata.first, &ptr); + PointerRNA ptr = RNA_pointer_create((ID *)CTX_wm_screen(C), &RNA_Space, area->spacedata.first); if (!ELEM(area->spacetype, SPACE_TOPBAR)) { uiItemR(layout, &ptr, "show_region_header", UI_ITEM_NONE, IFACE_("Show Header"), ICON_NONE); } @@ -4408,8 +4407,7 @@ void ED_screens_footer_tools_menu_create(bContext *C, uiLayout *layout, void * / ScrArea *area = CTX_wm_area(C); { - PointerRNA ptr; - RNA_pointer_create((ID *)CTX_wm_screen(C), &RNA_Space, area->spacedata.first, &ptr); + PointerRNA ptr = RNA_pointer_create((ID *)CTX_wm_screen(C), &RNA_Space, area->spacedata.first); uiItemR(layout, &ptr, "show_region_footer", UI_ITEM_NONE, IFACE_("Show Footer"), ICON_NONE); } @@ -4435,9 +4433,7 @@ void ED_screens_region_flip_menu_create(bContext *C, uiLayout *layout, void * /* static void ed_screens_statusbar_menu_create(uiLayout *layout, void * /*arg*/) { - PointerRNA ptr; - - RNA_pointer_create(nullptr, &RNA_PreferencesView, &U, &ptr); + PointerRNA ptr = RNA_pointer_create(nullptr, &RNA_PreferencesView, &U); uiItemR( layout, &ptr, "show_statusbar_stats", UI_ITEM_NONE, IFACE_("Scene Statistics"), ICON_NONE); uiItemR(layout, @@ -5183,8 +5179,7 @@ static int userpref_show_exec(bContext *C, wmOperator *op) if (prop && RNA_property_is_set(op->ptr, prop)) { /* Set active section via RNA, so it can fail properly. */ - PointerRNA pref_ptr; - RNA_pointer_create(nullptr, &RNA_Preferences, &U, &pref_ptr); + PointerRNA pref_ptr = RNA_pointer_create(nullptr, &RNA_Preferences, &U); PropertyRNA *active_section_prop = RNA_struct_find_property(&pref_ptr, "active_section"); RNA_property_enum_set(&pref_ptr, active_section_prop, RNA_property_enum_get(op->ptr, prop)); @@ -5617,9 +5612,8 @@ static int space_type_set_or_cycle_exec(bContext *C, wmOperator *op) { const int space_type = RNA_enum_get(op->ptr, "space_type"); - PointerRNA ptr; ScrArea *area = CTX_wm_area(C); - RNA_pointer_create((ID *)CTX_wm_screen(C), &RNA_Area, area, &ptr); + PointerRNA ptr = RNA_pointer_create((ID *)CTX_wm_screen(C), &RNA_Area, area); PropertyRNA *prop_type = RNA_struct_find_property(&ptr, "type"); PropertyRNA *prop_ui_type = RNA_struct_find_property(&ptr, "ui_type"); @@ -5700,11 +5694,11 @@ static void context_cycle_prop_get(bScreen *screen, switch (area->spacetype) { case SPACE_PROPERTIES: - RNA_pointer_create(&screen->id, &RNA_SpaceProperties, area->spacedata.first, r_ptr); + *r_ptr = RNA_pointer_create(&screen->id, &RNA_SpaceProperties, area->spacedata.first); propname = "context"; break; case SPACE_USERPREF: - RNA_pointer_create(nullptr, &RNA_Preferences, &U, r_ptr); + *r_ptr = RNA_pointer_create(nullptr, &RNA_Preferences, &U); propname = "active_section"; break; default: diff --git a/source/blender/editors/screen/screen_user_menu.cc b/source/blender/editors/screen/screen_user_menu.cc index 052c3ee3cff..f8b566f4b28 100644 --- a/source/blender/editors/screen/screen_user_menu.cc +++ b/source/blender/editors/screen/screen_user_menu.cc @@ -278,8 +278,7 @@ static void screen_user_menu_draw(const bContext *C, Menu *menu) } PointerRNA ptr = CTX_data_pointer_get(C, umi_pr->context_data_path); if (ptr.type == nullptr) { - PointerRNA ctx_ptr; - RNA_pointer_create(nullptr, &RNA_Context, (void *)C, &ctx_ptr); + PointerRNA ctx_ptr = RNA_pointer_create(nullptr, &RNA_Context, (void *)C); if (!RNA_path_resolve_full(&ctx_ptr, umi_pr->context_data_path, &ptr, nullptr, nullptr)) { ptr.type = nullptr; diff --git a/source/blender/editors/screen/screendump.cc b/source/blender/editors/screen/screendump.cc index c0383c09616..1954d70a407 100644 --- a/source/blender/editors/screen/screendump.cc +++ b/source/blender/editors/screen/screendump.cc @@ -217,8 +217,7 @@ static void screenshot_draw(bContext * /*C*/, wmOperator *op) uiLayoutSetPropDecorate(layout, false); /* image template */ - PointerRNA ptr; - RNA_pointer_create(nullptr, &RNA_ImageFormatSettings, &scd->im_format, &ptr); + PointerRNA ptr = RNA_pointer_create(nullptr, &RNA_ImageFormatSettings, &scd->im_format); uiTemplateImageSettings(layout, &ptr, false); /* main draw call */ diff --git a/source/blender/editors/sculpt_paint/sculpt_ops.cc b/source/blender/editors/sculpt_paint/sculpt_ops.cc index fd9d07500e7..11a84841d7b 100644 --- a/source/blender/editors/sculpt_paint/sculpt_ops.cc +++ b/source/blender/editors/sculpt_paint/sculpt_ops.cc @@ -1166,9 +1166,7 @@ static void cavity_bake_ui(bContext *C, wmOperator *op) uiItemR(layout, op->ptr, "use_curve", UI_ITEM_NONE, nullptr, ICON_NONE); if (sd && RNA_boolean_get(op->ptr, "use_curve")) { - PointerRNA sculpt_ptr; - - RNA_pointer_create(&scene->id, &RNA_Sculpt, sd, &sculpt_ptr); + PointerRNA sculpt_ptr = RNA_pointer_create(&scene->id, &RNA_Sculpt, sd); uiTemplateCurveMapping( layout, &sculpt_ptr, "automasking_cavity_curve_op", 'v', false, false, false, false); } diff --git a/source/blender/editors/sound/sound_ops.cc b/source/blender/editors/sound/sound_ops.cc index b26d8592033..ff1885889bc 100644 --- a/source/blender/editors/sound/sound_ops.cc +++ b/source/blender/editors/sound/sound_ops.cc @@ -77,7 +77,6 @@ static int sound_open_exec(bContext *C, wmOperator *op) char filepath[FILE_MAX]; bSound *sound; PropertyPointerRNA *pprop; - PointerRNA idptr; Main *bmain = CTX_data_main(C); RNA_string_get(op->ptr, "filepath", filepath); @@ -103,7 +102,7 @@ static int sound_open_exec(bContext *C, wmOperator *op) * pointer use also increases user, so this compensates it */ id_us_min(&sound->id); - RNA_id_pointer_create(&sound->id, &idptr); + PointerRNA idptr = RNA_id_pointer_create(&sound->id); RNA_property_pointer_set(&pprop->ptr, pprop->prop, idptr, nullptr); RNA_property_update(C, &pprop->ptr, pprop->prop); } @@ -550,7 +549,6 @@ static void sound_mixdown_draw(bContext *C, wmOperator *op) uiLayout *layout = op->layout; wmWindowManager *wm = CTX_wm_manager(C); - PointerRNA ptr; PropertyRNA *prop_format; PropertyRNA *prop_codec; PropertyRNA *prop_bitrate; @@ -648,7 +646,7 @@ static void sound_mixdown_draw(bContext *C, wmOperator *op) break; } - RNA_pointer_create(&wm->id, op->type->srna, op->properties, &ptr); + PointerRNA ptr = RNA_pointer_create(&wm->id, op->type->srna, op->properties); /* main draw call */ uiDefAutoButsRNA(layout, diff --git a/source/blender/editors/space_action/action_data.cc b/source/blender/editors/space_action/action_data.cc index 65f098aa72b..cc783f6d284 100644 --- a/source/blender/editors/space_action/action_data.cc +++ b/source/blender/editors/space_action/action_data.cc @@ -140,15 +140,14 @@ static void actedit_change_action(bContext *C, bAction *act) bScreen *screen = CTX_wm_screen(C); SpaceAction *saction = (SpaceAction *)CTX_wm_space_data(C); - PointerRNA ptr, idptr; PropertyRNA *prop; /* create RNA pointers and get the property */ - RNA_pointer_create(&screen->id, &RNA_SpaceDopeSheetEditor, saction, &ptr); + PointerRNA ptr = RNA_pointer_create(&screen->id, &RNA_SpaceDopeSheetEditor, saction); prop = RNA_struct_find_property(&ptr, "action"); /* NOTE: act may be nullptr here, so better to just use a cast here */ - RNA_id_pointer_create((ID *)act, &idptr); + PointerRNA idptr = RNA_id_pointer_create((ID *)act); /* set the new pointer, and force a refresh */ RNA_property_pointer_set(&ptr, prop, idptr, nullptr); @@ -208,7 +207,7 @@ static bool action_new_poll(bContext *C) static int action_new_exec(bContext *C, wmOperator * /*op*/) { - PointerRNA ptr, idptr; + PointerRNA ptr; PropertyRNA *prop; bAction *oldact = nullptr; @@ -272,7 +271,7 @@ static int action_new_exec(bContext *C, wmOperator * /*op*/) /* set this new action * NOTE: we can't use actedit_change_action, as this function is also called from the NLA */ - RNA_id_pointer_create(&action->id, &idptr); + PointerRNA idptr = RNA_id_pointer_create(&action->id); RNA_property_pointer_set(&ptr, prop, idptr, nullptr); RNA_property_update(C, &ptr, prop); } @@ -641,11 +640,10 @@ void ED_animedit_unlink_action( } else { /* clear AnimData -> action */ - PointerRNA ptr; PropertyRNA *prop; /* create AnimData RNA pointers */ - RNA_pointer_create(id, &RNA_AnimData, adt, &ptr); + PointerRNA ptr = RNA_pointer_create(id, &RNA_AnimData, adt); prop = RNA_struct_find_property(&ptr, "action"); /* clear... */ diff --git a/source/blender/editors/space_action/space_action.cc b/source/blender/editors/space_action/space_action.cc index 6179a799d8d..f48d597f524 100644 --- a/source/blender/editors/space_action/space_action.cc +++ b/source/blender/editors/space_action/space_action.cc @@ -365,13 +365,8 @@ static void action_channel_region_listener(const wmRegionListenerParams *params) static void saction_channel_region_message_subscribe(const wmRegionMessageSubscribeParams *params) { wmMsgBus *mbus = params->message_bus; - bScreen *screen = params->screen; - ScrArea *area = params->area; ARegion *region = params->region; - PointerRNA ptr; - RNA_pointer_create(&screen->id, &RNA_SpaceDopeSheetEditor, area->spacedata.first, &ptr); - wmMsgSubscribeValue msg_sub_value_region_tag_redraw{}; msg_sub_value_region_tag_redraw.owner = region; msg_sub_value_region_tag_redraw.user_data = region; @@ -467,13 +462,8 @@ static void saction_main_region_message_subscribe(const wmRegionMessageSubscribe { wmMsgBus *mbus = params->message_bus; Scene *scene = params->scene; - bScreen *screen = params->screen; - ScrArea *area = params->area; ARegion *region = params->region; - PointerRNA ptr; - RNA_pointer_create(&screen->id, &RNA_SpaceDopeSheetEditor, area->spacedata.first, &ptr); - wmMsgSubscribeValue msg_sub_value_region_tag_redraw{}; msg_sub_value_region_tag_redraw.owner = region; msg_sub_value_region_tag_redraw.user_data = region; @@ -489,8 +479,7 @@ static void saction_main_region_message_subscribe(const wmRegionMessageSubscribe &rna_Scene_frame_current, }; - PointerRNA idptr; - RNA_id_pointer_create(&scene->id, &idptr); + PointerRNA idptr = RNA_id_pointer_create(&scene->id); for (int i = 0; i < ARRAY_SIZE(props); i++) { WM_msg_subscribe_rna(mbus, &idptr, props[i], &msg_sub_value_region_tag_redraw, __func__); diff --git a/source/blender/editors/space_buttons/buttons_context.cc b/source/blender/editors/space_buttons/buttons_context.cc index 1bcca746323..14389cc61a4 100644 --- a/source/blender/editors/space_buttons/buttons_context.cc +++ b/source/blender/editors/space_buttons/buttons_context.cc @@ -105,7 +105,7 @@ static bool buttons_context_path_view_layer(ButsContextPath *path, wmWindow *win ViewLayer *view_layer = (win->scene == scene) ? WM_window_get_active_view_layer(win) : BKE_view_layer_default_view(scene); - RNA_pointer_create(&scene->id, &RNA_ViewLayer, view_layer, &path->ptr[path->len]); + path->ptr[path->len] = RNA_pointer_create(&scene->id, &RNA_ViewLayer, view_layer); path->len++; return true; } @@ -129,7 +129,7 @@ static bool buttons_context_path_world(ButsContextPath *path) World *world = scene->world; if (world) { - RNA_id_pointer_create(&scene->world->id, &path->ptr[path->len]); + path->ptr[path->len] = RNA_id_pointer_create(&scene->world->id); path->len++; return true; } @@ -166,7 +166,7 @@ static bool buttons_context_path_collection(const bContext *C, } if (c) { - RNA_id_pointer_create(&c->id, &path->ptr[path->len]); + path->ptr[path->len] = RNA_id_pointer_create(&c->id); path->len++; return true; } @@ -189,7 +189,7 @@ static bool buttons_context_path_linestyle(ButsContextPath *path, wmWindow *wind ViewLayer *view_layer = static_cast(path->ptr[path->len - 1].data); FreestyleLineStyle *linestyle = BKE_linestyle_active_from_view_layer(view_layer); if (linestyle) { - RNA_id_pointer_create(&linestyle->id, &path->ptr[path->len]); + path->ptr[path->len] = RNA_id_pointer_create(&linestyle->id); path->len++; return true; } @@ -215,7 +215,7 @@ static bool buttons_context_path_object(ButsContextPath *path) Object *ob = BKE_view_layer_active_object_get(view_layer); if (ob) { - RNA_id_pointer_create(&ob->id, &path->ptr[path->len]); + path->ptr[path->len] = RNA_id_pointer_create(&ob->id); path->len++; return true; @@ -281,7 +281,7 @@ static bool buttons_context_path_data(ButsContextPath *path, int type) Object *ob = static_cast(path->ptr[path->len - 1].data); if (ob && ELEM(type, -1, ob->type)) { - RNA_id_pointer_create(static_cast(ob->data), &path->ptr[path->len]); + path->ptr[path->len] = RNA_id_pointer_create(static_cast(ob->data)); path->len++; return true; @@ -311,7 +311,7 @@ static bool buttons_context_path_modifier(ButsContextPath *path) { ModifierData *md = BKE_object_active_modifier(ob); if (md != nullptr) { - RNA_pointer_create(&ob->id, &RNA_Modifier, md, &path->ptr[path->len]); + path->ptr[path->len] = RNA_pointer_create(&ob->id, &RNA_Modifier, md); path->len++; } @@ -350,7 +350,7 @@ static bool buttons_context_path_material(ButsContextPath *path) if (ob && OB_TYPE_SUPPORT_MATERIAL(ob->type)) { Material *ma = BKE_object_material_get(ob, ob->actcol); if (ma != nullptr) { - RNA_id_pointer_create(&ma->id, &path->ptr[path->len]); + path->ptr[path->len] = RNA_id_pointer_create(&ma->id); path->len++; } return true; @@ -370,14 +370,14 @@ static bool buttons_context_path_bone(ButsContextPath *path) if (arm->edbo) { if (arm->act_edbone) { EditBone *edbo = arm->act_edbone; - RNA_pointer_create(&arm->id, &RNA_EditBone, edbo, &path->ptr[path->len]); + path->ptr[path->len] = RNA_pointer_create(&arm->id, &RNA_EditBone, edbo); path->len++; return true; } } else { if (arm->act_bone) { - RNA_pointer_create(&arm->id, &RNA_Bone, arm->act_bone, &path->ptr[path->len]); + path->ptr[path->len] = RNA_pointer_create(&arm->id, &RNA_Bone, arm->act_bone); path->len++; return true; } @@ -410,7 +410,7 @@ static bool buttons_context_path_pose_bone(ButsContextPath *path) if (arm->act_bone) { bPoseChannel *pchan = BKE_pose_channel_find_name(ob->pose, arm->act_bone->name); if (pchan) { - RNA_pointer_create(&ob->id, &RNA_PoseBone, pchan, &path->ptr[path->len]); + path->ptr[path->len] = RNA_pointer_create(&ob->id, &RNA_PoseBone, pchan); path->len++; return true; } @@ -436,7 +436,7 @@ static bool buttons_context_path_particle(ButsContextPath *path) if (ob && ob->type == OB_MESH) { ParticleSystem *psys = psys_get_current(ob); - RNA_pointer_create(&ob->id, &RNA_ParticleSystem, psys, &path->ptr[path->len]); + path->ptr[path->len] = RNA_pointer_create(&ob->id, &RNA_ParticleSystem, psys); path->len++; return true; } @@ -466,7 +466,7 @@ static bool buttons_context_path_brush(const bContext *C, ButsContextPath *path) } if (br) { - RNA_id_pointer_create((ID *)br, &path->ptr[path->len]); + path->ptr[path->len] = RNA_id_pointer_create((ID *)br); path->len++; return true; @@ -514,7 +514,7 @@ static bool buttons_context_path_texture(const bContext *C, } if (ct->texture) { - RNA_id_pointer_create(&ct->texture->id, &path->ptr[path->len]); + path->ptr[path->len] = RNA_id_pointer_create(&ct->texture->id); path->len++; } @@ -561,12 +561,12 @@ static bool buttons_context_path( if (sbuts->pinid) { ID *id = sbuts->pinid; - RNA_id_pointer_create(id, &path->ptr[0]); + path->ptr[0] = RNA_id_pointer_create(id); path->len++; } /* No pinned root, use scene as initial root. */ else if (mainb != BCONTEXT_TOOL) { - RNA_id_pointer_create(&scene->id, &path->ptr[0]); + path->ptr[0] = RNA_id_pointer_create(&scene->id); path->len++; if (!ELEM(mainb, @@ -576,7 +576,7 @@ static bool buttons_context_path( BCONTEXT_VIEW_LAYER, BCONTEXT_WORLD)) { - RNA_pointer_create(nullptr, &RNA_ViewLayer, view_layer, &path->ptr[path->len]); + path->ptr[path->len] = RNA_pointer_create(nullptr, &RNA_ViewLayer, view_layer); path->len++; } } diff --git a/source/blender/editors/space_buttons/buttons_ops.cc b/source/blender/editors/space_buttons/buttons_ops.cc index 42c9223069d..d78f7b7257c 100644 --- a/source/blender/editors/space_buttons/buttons_ops.cc +++ b/source/blender/editors/space_buttons/buttons_ops.cc @@ -106,15 +106,13 @@ static int toggle_pin_exec(bContext *C, wmOperator * /*op*/) sbuts->flag ^= SB_PIN_CONTEXT; /* Create the properties space pointer. */ - PointerRNA sbuts_ptr; bScreen *screen = CTX_wm_screen(C); - RNA_pointer_create(&screen->id, &RNA_SpaceProperties, sbuts, &sbuts_ptr); + PointerRNA sbuts_ptr = RNA_pointer_create(&screen->id, &RNA_SpaceProperties, sbuts); /* Create the new ID pointer and set the pin ID with RNA * so we can use the property's RNA update functionality. */ ID *new_id = (sbuts->flag & SB_PIN_CONTEXT) ? buttons_context_id_path(C) : nullptr; - PointerRNA new_id_ptr; - RNA_id_pointer_create(new_id, &new_id_ptr); + PointerRNA new_id_ptr = RNA_id_pointer_create(new_id); RNA_pointer_set(&sbuts_ptr, "pin_id", new_id_ptr); ED_area_tag_redraw(CTX_wm_area(C)); diff --git a/source/blender/editors/space_buttons/buttons_texture.cc b/source/blender/editors/space_buttons/buttons_texture.cc index 4fdb9a56637..56dce0379a0 100644 --- a/source/blender/editors/space_buttons/buttons_texture.cc +++ b/source/blender/editors/space_buttons/buttons_texture.cc @@ -137,10 +137,8 @@ static void buttons_texture_users_find_nodetree(ListBase *users, if (ntree) { LISTBASE_FOREACH (bNode *, node, &ntree->nodes) { if (node->typeinfo->nclass == NODE_CLASS_TEXTURE) { - PointerRNA ptr; + PointerRNA ptr = RNA_pointer_create(&ntree->id, &RNA_Node, node); // PropertyRNA *prop; /* UNUSED */ - - RNA_pointer_create(&ntree->id, &RNA_Node, node, &ptr); // prop = RNA_struct_find_property(&ptr, "texture"); /* UNUSED */ buttons_texture_user_node_add( @@ -160,7 +158,6 @@ static void buttons_texture_modifier_geonodes_users_add( ListBase *users, blender::Set &handled_groups) { - PointerRNA ptr; PropertyRNA *prop; for (bNode *node : node_tree->all_nodes()) { @@ -178,7 +175,7 @@ static void buttons_texture_modifier_geonodes_users_add( if (socket->type != SOCK_TEXTURE) { continue; } - RNA_pointer_create(&node_tree->id, &RNA_NodeSocket, socket, &ptr); + PointerRNA ptr = RNA_pointer_create(&node_tree->id, &RNA_NodeSocket, socket); prop = RNA_struct_find_property(&ptr, "default_value"); PointerRNA texptr = RNA_property_pointer_get(&ptr, prop); @@ -214,10 +211,9 @@ static void buttons_texture_modifier_foreach(void *user_data, } } else { - PointerRNA ptr; PropertyRNA *prop; - RNA_pointer_create(&ob->id, &RNA_Modifier, md, &ptr); + PointerRNA ptr = RNA_pointer_create(&ob->id, &RNA_Modifier, md); prop = RNA_struct_find_property(&ptr, propname); buttons_texture_user_property_add( @@ -230,11 +226,10 @@ static void buttons_texture_modifier_gpencil_foreach(void *user_data, GpencilModifierData *md, const char *propname) { - PointerRNA ptr; PropertyRNA *prop; ListBase *users = static_cast(user_data); - RNA_pointer_create(&ob->id, &RNA_GpencilModifier, md, &ptr); + PointerRNA ptr = RNA_pointer_create(&ob->id, &RNA_GpencilModifier, md); prop = RNA_struct_find_property(&ptr, propname); buttons_texture_user_property_add(users, @@ -314,10 +309,10 @@ static void buttons_texture_users_from_context(ListBase *users, mtex = psys->part->mtex[a]; if (mtex) { - PointerRNA ptr; PropertyRNA *prop; - RNA_pointer_create(&psys->part->id, &RNA_ParticleSettingsTextureSlot, mtex, &ptr); + PointerRNA ptr = RNA_pointer_create( + &psys->part->id, &RNA_ParticleSettingsTextureSlot, mtex); prop = RNA_struct_find_property(&ptr, "texture"); buttons_texture_user_property_add(users, @@ -333,10 +328,9 @@ static void buttons_texture_users_from_context(ListBase *users, /* field */ if (ob->pd && ob->pd->forcefield == PFIELD_TEXTURE) { - PointerRNA ptr; PropertyRNA *prop; - RNA_pointer_create(&ob->id, &RNA_FieldSettings, ob->pd, &ptr); + PointerRNA ptr = RNA_pointer_create(&ob->id, &RNA_FieldSettings, ob->pd); prop = RNA_struct_find_property(&ptr, "texture"); buttons_texture_user_property_add( @@ -346,18 +340,17 @@ static void buttons_texture_users_from_context(ListBase *users, /* brush */ if (brush) { - PointerRNA ptr; PropertyRNA *prop; /* texture */ - RNA_pointer_create(&brush->id, &RNA_BrushTextureSlot, &brush->mtex, &ptr); + PointerRNA ptr = RNA_pointer_create(&brush->id, &RNA_BrushTextureSlot, &brush->mtex); prop = RNA_struct_find_property(&ptr, "texture"); buttons_texture_user_property_add( users, &brush->id, ptr, prop, N_("Brush"), ICON_BRUSH_DATA, IFACE_("Brush")); /* mask texture */ - RNA_pointer_create(&brush->id, &RNA_BrushTextureSlot, &brush->mask_mtex, &ptr); + ptr = RNA_pointer_create(&brush->id, &RNA_BrushTextureSlot, &brush->mask_mtex); prop = RNA_struct_find_property(&ptr, "texture"); buttons_texture_user_property_add( diff --git a/source/blender/editors/space_buttons/space_buttons.cc b/source/blender/editors/space_buttons/space_buttons.cc index b3edadd4976..bbf7de3b968 100644 --- a/source/blender/editors/space_buttons/space_buttons.cc +++ b/source/blender/editors/space_buttons/space_buttons.cc @@ -878,7 +878,7 @@ static void buttons_id_remap(ScrArea * /*area*/, SpaceLink *slink, const IDRemap break; } case ID_REMAP_RESULT_SOURCE_REMAPPED: { - RNA_id_pointer_create(path->ptr[i].owner_id, &path->ptr[i]); + path->ptr[i] = RNA_id_pointer_create(path->ptr[i].owner_id); /* There is no easy way to check/make path downwards valid, just nullify it. * Next redraw will rebuild this anyway. */ i++; diff --git a/source/blender/editors/space_clip/clip_dopesheet_draw.cc b/source/blender/editors/space_clip/clip_dopesheet_draw.cc index c323091f8c3..1fc20c4118c 100644 --- a/source/blender/editors/space_clip/clip_dopesheet_draw.cc +++ b/source/blender/editors/space_clip/clip_dopesheet_draw.cc @@ -382,9 +382,7 @@ void clip_draw_dopesheet_channels(const bContext *C, ARegion *region) IN_RANGE(ymaxc, v2d->cur.ymin, v2d->cur.ymax)) { MovieTrackingTrack *track = channel->track; const int icon = (track->flag & TRACK_LOCKED) ? ICON_LOCKED : ICON_UNLOCKED; - PointerRNA ptr; - - RNA_pointer_create(&clip->id, &RNA_MovieTrackingTrack, track, &ptr); + PointerRNA ptr = RNA_pointer_create(&clip->id, &RNA_MovieTrackingTrack, track); UI_block_emboss_set(block, UI_EMBOSS_NONE); uiDefIconButR_prop(block, diff --git a/source/blender/editors/space_clip/clip_ops.cc b/source/blender/editors/space_clip/clip_ops.cc index 35f93340454..d43ec36f656 100644 --- a/source/blender/editors/space_clip/clip_ops.cc +++ b/source/blender/editors/space_clip/clip_ops.cc @@ -183,7 +183,6 @@ static int open_exec(bContext *C, wmOperator *op) bScreen *screen = CTX_wm_screen(C); Main *bmain = CTX_data_main(C); PropertyPointerRNA *pprop; - PointerRNA idptr; MovieClip *clip = nullptr; char filepath[FILE_MAX]; @@ -242,7 +241,7 @@ static int open_exec(bContext *C, wmOperator *op) * pointer use also increases user, so this compensates it */ id_us_min(&clip->id); - RNA_id_pointer_create(&clip->id, &idptr); + PointerRNA idptr = RNA_id_pointer_create(&clip->id); RNA_property_pointer_set(&pprop->ptr, pprop->prop, idptr, nullptr); RNA_property_update(C, &pprop->ptr, pprop->prop); } diff --git a/source/blender/editors/space_file/file_draw.cc b/source/blender/editors/space_file/file_draw.cc index ef9849c2006..d51f45b074d 100644 --- a/source/blender/editors/space_file/file_draw.cc +++ b/source/blender/editors/space_file/file_draw.cc @@ -65,13 +65,12 @@ void ED_file_path_button(bScreen *screen, FileSelectParams *params, uiBlock *block) { - PointerRNA params_rna_ptr; uiBut *but; BLI_assert_msg(params != nullptr, "File select parameters not set. The caller is expected to check this."); - RNA_pointer_create(&screen->id, &RNA_FileSelectParams, params, ¶ms_rna_ptr); + PointerRNA params_rna_ptr = RNA_pointer_create(&screen->id, &RNA_FileSelectParams, params); /* callbacks for operator check functions */ UI_block_func_set(block, file_draw_check_cb, nullptr, nullptr); diff --git a/source/blender/editors/space_file/file_panels.cc b/source/blender/editors/space_file/file_panels.cc index 0d531e820e8..bd377285838 100644 --- a/source/blender/editors/space_file/file_panels.cc +++ b/source/blender/editors/space_file/file_panels.cc @@ -131,7 +131,7 @@ static void file_panel_execution_buttons_draw(const bContext *C, Panel *panel) uiBlock *block = uiLayoutGetBlock(panel->layout); uiBut *but; uiLayout *row; - PointerRNA params_rna_ptr, *but_extra_rna_ptr; + PointerRNA *but_extra_rna_ptr; const bool overwrite_alert = file_draw_check_exists(sfile); const bool windows_layout = @@ -141,7 +141,7 @@ static void file_panel_execution_buttons_draw(const bContext *C, Panel *panel) false; #endif - RNA_pointer_create(&screen->id, &RNA_FileSelectParams, params, ¶ms_rna_ptr); + PointerRNA params_rna_ptr = RNA_pointer_create(&screen->id, &RNA_FileSelectParams, params); row = uiLayoutRow(panel->layout, false); uiLayoutSetScaleY(row, 1.3f); @@ -231,8 +231,7 @@ static void file_panel_asset_catalog_buttons_draw(const bContext *C, Panel *pane uiLayout *col = uiLayoutColumn(panel->layout, false); uiLayout *row = uiLayoutRow(col, true); - PointerRNA params_ptr; - RNA_pointer_create(&screen->id, &RNA_FileAssetSelectParams, params, ¶ms_ptr); + PointerRNA params_ptr = RNA_pointer_create(&screen->id, &RNA_FileAssetSelectParams, params); uiItemR(row, ¶ms_ptr, "asset_library_ref", UI_ITEM_NONE, "", ICON_NONE); if (params->asset_library_ref.type == ASSET_LIBRARY_LOCAL) { diff --git a/source/blender/editors/space_file/space_file.cc b/source/blender/editors/space_file/space_file.cc index 258f55d64e5..96f713c8583 100644 --- a/source/blender/editors/space_file/space_file.cc +++ b/source/blender/editors/space_file/space_file.cc @@ -488,8 +488,7 @@ static void file_main_region_message_subscribe(const wmRegionMessageSubscribePar /* SpaceFile itself. */ { - PointerRNA ptr; - RNA_pointer_create(&screen->id, &RNA_SpaceFileBrowser, sfile, &ptr); + PointerRNA ptr = RNA_pointer_create(&screen->id, &RNA_SpaceFileBrowser, sfile); /* All properties for this space type. */ WM_msg_subscribe_rna(mbus, &ptr, nullptr, &msg_sub_value_area_tag_refresh, __func__); @@ -497,8 +496,7 @@ static void file_main_region_message_subscribe(const wmRegionMessageSubscribePar /* FileSelectParams */ { - PointerRNA ptr; - RNA_pointer_create(&screen->id, &RNA_FileSelectParams, file_params, &ptr); + PointerRNA ptr = RNA_pointer_create(&screen->id, &RNA_FileSelectParams, file_params); /* All properties for this space type. */ WM_msg_subscribe_rna(mbus, &ptr, nullptr, &msg_sub_value_area_tag_refresh, __func__); @@ -506,8 +504,7 @@ static void file_main_region_message_subscribe(const wmRegionMessageSubscribePar /* Experimental Asset Browser features option. */ { - PointerRNA ptr; - RNA_pointer_create(nullptr, &RNA_PreferencesExperimental, &U.experimental, &ptr); + PointerRNA ptr = RNA_pointer_create(nullptr, &RNA_PreferencesExperimental, &U.experimental); PropertyRNA *prop = RNA_struct_find_property(&ptr, "use_extended_asset_browser"); /* All properties for this space type. */ diff --git a/source/blender/editors/space_graph/graph_buttons.cc b/source/blender/editors/space_graph/graph_buttons.cc index 6e2d03ae4a8..84d6a2a42e5 100644 --- a/source/blender/editors/space_graph/graph_buttons.cc +++ b/source/blender/editors/space_graph/graph_buttons.cc @@ -119,13 +119,10 @@ static void graph_panel_cursor_header(const bContext *C, Panel *panel) { bScreen *screen = CTX_wm_screen(C); SpaceGraph *sipo = CTX_wm_space_graph(C); - Scene *scene = CTX_data_scene(C); - PointerRNA spaceptr, sceneptr; uiLayout *col; /* get RNA pointers for use when creating the UI elements */ - RNA_id_pointer_create(&scene->id, &sceneptr); - RNA_pointer_create(&screen->id, &RNA_SpaceGraphEditor, sipo, &spaceptr); + PointerRNA spaceptr = RNA_pointer_create(&screen->id, &RNA_SpaceGraphEditor, sipo); /* 2D-Cursor */ col = uiLayoutColumn(panel->layout, false); @@ -137,13 +134,12 @@ static void graph_panel_cursor(const bContext *C, Panel *panel) bScreen *screen = CTX_wm_screen(C); SpaceGraph *sipo = CTX_wm_space_graph(C); Scene *scene = CTX_data_scene(C); - PointerRNA spaceptr, sceneptr; uiLayout *layout = panel->layout; uiLayout *col, *sub; /* get RNA pointers for use when creating the UI elements */ - RNA_id_pointer_create(&scene->id, &sceneptr); - RNA_pointer_create(&screen->id, &RNA_SpaceGraphEditor, sipo, &spaceptr); + PointerRNA sceneptr = RNA_id_pointer_create(&scene->id); + PointerRNA spaceptr = RNA_pointer_create(&screen->id, &RNA_SpaceGraphEditor, sipo); uiLayoutSetPropSep(layout, true); uiLayoutSetPropDecorate(layout, false); @@ -177,7 +173,6 @@ static void graph_panel_properties(const bContext *C, Panel *panel) { bAnimListElem *ale; FCurve *fcu; - PointerRNA fcu_ptr; uiLayout *layout = panel->layout; uiLayout *col; char name[256]; @@ -188,7 +183,7 @@ static void graph_panel_properties(const bContext *C, Panel *panel) } /* F-Curve pointer */ - RNA_pointer_create(ale->fcurve_owner_id, &RNA_FCurve, fcu, &fcu_ptr); + PointerRNA fcu_ptr = RNA_pointer_create(ale->fcurve_owner_id, &RNA_FCurve, fcu); /* user-friendly 'name' for F-Curve */ col = uiLayoutColumn(layout, false); @@ -369,16 +364,16 @@ static void graph_panel_key_properties(const bContext *C, Panel *panel) /* only show this info if there are keyframes to edit */ if (get_active_fcurve_keyframe_edit(fcu, &bezt, &prevbezt)) { - PointerRNA bezt_ptr, id_ptr, fcu_prop_ptr; + PointerRNA fcu_prop_ptr; PropertyRNA *fcu_prop = nullptr; uiBut *but; int unit = B_UNIT_NONE; /* RNA pointer to keyframe, to allow editing */ - RNA_pointer_create(ale->fcurve_owner_id, &RNA_Keyframe, bezt, &bezt_ptr); + PointerRNA bezt_ptr = RNA_pointer_create(ale->fcurve_owner_id, &RNA_Keyframe, bezt); /* get property that F-Curve affects, for some unit-conversion magic */ - RNA_id_pointer_create(ale->id, &id_ptr); + PointerRNA id_ptr = RNA_id_pointer_create(ale->id); if (RNA_path_resolve_property(&id_ptr, fcu->rna_path, &fcu_prop_ptr, &fcu_prop)) { /* determine the unit for this property */ unit = RNA_SUBTYPE_UNIT(RNA_property_subtype(fcu_prop)); @@ -749,11 +744,10 @@ static bool graph_panel_drivers_poll(const bContext *C, PanelType * /*pt*/) static void graph_panel_driverVar__singleProp(uiLayout *layout, ID *id, DriverVar *dvar) { DriverTarget *dtar = &dvar->targets[0]; - PointerRNA dtar_ptr; uiLayout *row, *col; /* initialize RNA pointer to the target */ - RNA_pointer_create(id, &RNA_DriverTarget, dtar, &dtar_ptr); + PointerRNA dtar_ptr = RNA_pointer_create(id, &RNA_DriverTarget, dtar); /* Target ID */ row = uiLayoutRow(layout, false); @@ -762,10 +756,8 @@ static void graph_panel_driverVar__singleProp(uiLayout *layout, ID *id, DriverVa /* Target Property */ if (dtar->id) { - PointerRNA root_ptr; - /* get pointer for resolving the property selected */ - RNA_id_pointer_create(dtar->id, &root_ptr); + PointerRNA root_ptr = RNA_id_pointer_create(dtar->id); /* rna path */ col = uiLayoutColumn(layout, true); @@ -786,12 +778,11 @@ static void graph_panel_driverVar__rotDiff(uiLayout *layout, ID *id, DriverVar * DriverTarget *dtar2 = &dvar->targets[1]; Object *ob1 = (Object *)dtar->id; Object *ob2 = (Object *)dtar2->id; - PointerRNA dtar_ptr, dtar2_ptr; uiLayout *col; /* initialize RNA pointer to the target */ - RNA_pointer_create(id, &RNA_DriverTarget, dtar, &dtar_ptr); - RNA_pointer_create(id, &RNA_DriverTarget, dtar2, &dtar2_ptr); + PointerRNA dtar_ptr = RNA_pointer_create(id, &RNA_DriverTarget, dtar); + PointerRNA dtar2_ptr = RNA_pointer_create(id, &RNA_DriverTarget, dtar2); /* Object 1 */ col = uiLayoutColumn(layout, true); @@ -799,9 +790,7 @@ static void graph_panel_driverVar__rotDiff(uiLayout *layout, ID *id, DriverVar * uiItemR(col, &dtar_ptr, "id", UI_ITEM_NONE, IFACE_("Object 1"), ICON_NONE); if (dtar->id && GS(dtar->id->name) == ID_OB && ob1->pose) { - PointerRNA tar_ptr; - - RNA_pointer_create(dtar->id, &RNA_Pose, ob1->pose, &tar_ptr); + PointerRNA tar_ptr = RNA_pointer_create(dtar->id, &RNA_Pose, ob1->pose); uiItemPointerR(col, &dtar_ptr, "bone_target", &tar_ptr, "bones", "", ICON_BONE_DATA); } @@ -811,9 +800,7 @@ static void graph_panel_driverVar__rotDiff(uiLayout *layout, ID *id, DriverVar * uiItemR(col, &dtar2_ptr, "id", UI_ITEM_NONE, IFACE_("Object 2"), ICON_NONE); if (dtar2->id && GS(dtar2->id->name) == ID_OB && ob2->pose) { - PointerRNA tar_ptr; - - RNA_pointer_create(dtar2->id, &RNA_Pose, ob2->pose, &tar_ptr); + PointerRNA tar_ptr = RNA_pointer_create(dtar2->id, &RNA_Pose, ob2->pose); uiItemPointerR(col, &dtar2_ptr, "bone_target", &tar_ptr, "bones", "", ICON_BONE_DATA); } } @@ -825,12 +812,11 @@ static void graph_panel_driverVar__locDiff(uiLayout *layout, ID *id, DriverVar * DriverTarget *dtar2 = &dvar->targets[1]; Object *ob1 = (Object *)dtar->id; Object *ob2 = (Object *)dtar2->id; - PointerRNA dtar_ptr, dtar2_ptr; uiLayout *col; /* initialize RNA pointer to the target */ - RNA_pointer_create(id, &RNA_DriverTarget, dtar, &dtar_ptr); - RNA_pointer_create(id, &RNA_DriverTarget, dtar2, &dtar2_ptr); + PointerRNA dtar_ptr = RNA_pointer_create(id, &RNA_DriverTarget, dtar); + PointerRNA dtar2_ptr = RNA_pointer_create(id, &RNA_DriverTarget, dtar2); /* Object 1 */ col = uiLayoutColumn(layout, true); @@ -838,9 +824,7 @@ static void graph_panel_driverVar__locDiff(uiLayout *layout, ID *id, DriverVar * uiItemR(col, &dtar_ptr, "id", UI_ITEM_NONE, IFACE_("Object 1"), ICON_NONE); if (dtar->id && GS(dtar->id->name) == ID_OB && ob1->pose) { - PointerRNA tar_ptr; - - RNA_pointer_create(dtar->id, &RNA_Pose, ob1->pose, &tar_ptr); + PointerRNA tar_ptr = RNA_pointer_create(dtar->id, &RNA_Pose, ob1->pose); uiItemPointerR( col, &dtar_ptr, "bone_target", &tar_ptr, "bones", IFACE_("Bone"), ICON_BONE_DATA); } @@ -856,9 +840,7 @@ static void graph_panel_driverVar__locDiff(uiLayout *layout, ID *id, DriverVar * uiItemR(col, &dtar2_ptr, "id", UI_ITEM_NONE, IFACE_("Object 2"), ICON_NONE); if (dtar2->id && GS(dtar2->id->name) == ID_OB && ob2->pose) { - PointerRNA tar_ptr; - - RNA_pointer_create(dtar2->id, &RNA_Pose, ob2->pose, &tar_ptr); + PointerRNA tar_ptr = RNA_pointer_create(dtar2->id, &RNA_Pose, ob2->pose); uiItemPointerR( col, &dtar2_ptr, "bone_target", &tar_ptr, "bones", IFACE_("Bone"), ICON_BONE_DATA); } @@ -874,11 +856,10 @@ static void graph_panel_driverVar__transChan(uiLayout *layout, ID *id, DriverVar { DriverTarget *dtar = &dvar->targets[0]; Object *ob = (Object *)dtar->id; - PointerRNA dtar_ptr; uiLayout *col, *sub; /* initialize RNA pointer to the target */ - RNA_pointer_create(id, &RNA_DriverTarget, dtar, &dtar_ptr); + PointerRNA dtar_ptr = RNA_pointer_create(id, &RNA_DriverTarget, dtar); /* properties */ col = uiLayoutColumn(layout, true); @@ -886,9 +867,7 @@ static void graph_panel_driverVar__transChan(uiLayout *layout, ID *id, DriverVar uiItemR(col, &dtar_ptr, "id", UI_ITEM_NONE, IFACE_("Object"), ICON_NONE); if (dtar->id && GS(dtar->id->name) == ID_OB && ob->pose) { - PointerRNA tar_ptr; - - RNA_pointer_create(dtar->id, &RNA_Pose, ob->pose, &tar_ptr); + PointerRNA tar_ptr = RNA_pointer_create(dtar->id, &RNA_Pose, ob->pose); uiItemPointerR( col, &dtar_ptr, "bone_target", &tar_ptr, "bones", IFACE_("Bone"), ICON_BONE_DATA); } @@ -914,8 +893,7 @@ static void graph_panel_driverVar__contextProp(uiLayout *layout, ID *id, DriverV DriverTarget *dtar = &dvar->targets[0]; /* Initialize RNA pointer to the target. */ - PointerRNA dtar_ptr; - RNA_pointer_create(id, &RNA_DriverTarget, dtar, &dtar_ptr); + PointerRNA dtar_ptr = RNA_pointer_create(id, &RNA_DriverTarget, dtar); /* Target Property. */ { @@ -944,8 +922,7 @@ static void graph_draw_driven_property_enabled_btn(uiLayout *layout, FCurve *fcu, const char *label) { - PointerRNA fcurve_ptr; - RNA_pointer_create(id, &RNA_FCurve, fcu, &fcurve_ptr); + PointerRNA fcurve_ptr = RNA_pointer_create(id, &RNA_FCurve, fcu); uiBlock *block = uiLayoutGetBlock(layout); uiDefButR(block, @@ -980,14 +957,10 @@ static void graph_panel_drivers_header(const bContext *C, Panel *panel) static void graph_draw_driven_property_panel(uiLayout *layout, ID *id, FCurve *fcu) { - PointerRNA fcu_ptr; uiLayout *row; char name[256]; int icon = 0; - /* F-Curve pointer */ - RNA_pointer_create(id, &RNA_FCurve, fcu, &fcu_ptr); - /* get user-friendly 'name' for F-Curve */ icon = getname_anim_fcurve(name, id, fcu); @@ -1013,7 +986,6 @@ static void graph_draw_driver_settings_panel(uiLayout *layout, { ChannelDriver *driver = fcu->driver; - PointerRNA driver_ptr; uiLayout *col, *row, *row_outer; uiBlock *block; uiBut *but; @@ -1023,7 +995,7 @@ static void graph_draw_driver_settings_panel(uiLayout *layout, UI_block_func_handle_set(block, do_graph_region_driver_buttons, id); /* driver-level settings - type, expressions, and errors */ - RNA_pointer_create(id, &RNA_Driver, driver, &driver_ptr); + PointerRNA driver_ptr = RNA_pointer_create(id, &RNA_Driver, driver); col = uiLayoutColumn(layout, true); block = uiLayoutGetBlock(col); @@ -1153,7 +1125,6 @@ static void graph_draw_driver_settings_panel(uiLayout *layout, /* loop over targets, drawing them */ LISTBASE_FOREACH (DriverVar *, dvar, &driver->variables) { - PointerRNA dvar_ptr; uiLayout *box; uiLayout *subrow, *sub; @@ -1162,7 +1133,7 @@ static void graph_draw_driver_settings_panel(uiLayout *layout, /* 1) header panel */ box = uiLayoutBox(col); - RNA_pointer_create(id, &RNA_DriverVariable, dvar, &dvar_ptr); + PointerRNA dvar_ptr = RNA_pointer_create(id, &RNA_DriverVariable, dvar); row = uiLayoutRow(box, false); block = uiLayoutGetBlock(row); @@ -1380,8 +1351,7 @@ static void graph_panel_drivers_popover(const bContext *C, Panel *panel) if (fcu && fcu->driver) { ID *id = ptr.owner_id; - PointerRNA ptr_fcurve; - RNA_pointer_create(id, &RNA_FCurve, fcu, &ptr_fcurve); + PointerRNA ptr_fcurve = RNA_pointer_create(id, &RNA_FCurve, fcu); uiLayoutSetContextPointer(layout, "active_editable_fcurve", &ptr_fcurve); /* Driven Property Settings */ diff --git a/source/blender/editors/space_graph/graph_slider_ops.cc b/source/blender/editors/space_graph/graph_slider_ops.cc index 6e4f4433cd6..6de37b91c7d 100644 --- a/source/blender/editors/space_graph/graph_slider_ops.cc +++ b/source/blender/editors/space_graph/graph_slider_ops.cc @@ -807,8 +807,7 @@ static void blend_to_default_graph_keys(bAnimContext *ac, const float factor) continue; } - PointerRNA id_ptr; - RNA_id_pointer_create(ale->id, &id_ptr); + PointerRNA id_ptr = RNA_id_pointer_create(ale->id); blend_to_default_fcurve(&id_ptr, fcu, factor); ale->update |= ANIM_UPDATE_DEFAULT; diff --git a/source/blender/editors/space_graph/space_graph.cc b/source/blender/editors/space_graph/space_graph.cc index e4ede92c454..ccdb941235a 100644 --- a/source/blender/editors/space_graph/space_graph.cc +++ b/source/blender/editors/space_graph/space_graph.cc @@ -489,13 +489,8 @@ static void graph_region_message_subscribe(const wmRegionMessageSubscribeParams { wmMsgBus *mbus = params->message_bus; Scene *scene = params->scene; - bScreen *screen = params->screen; - ScrArea *area = params->area; ARegion *region = params->region; - PointerRNA ptr; - RNA_pointer_create(&screen->id, &RNA_SpaceGraphEditor, area->spacedata.first, &ptr); - wmMsgSubscribeValue msg_sub_value_region_tag_redraw{}; msg_sub_value_region_tag_redraw.owner = region; msg_sub_value_region_tag_redraw.user_data = region; @@ -511,8 +506,7 @@ static void graph_region_message_subscribe(const wmRegionMessageSubscribeParams &rna_Scene_frame_current, }; - PointerRNA idptr; - RNA_id_pointer_create(&scene->id, &idptr); + PointerRNA idptr = RNA_id_pointer_create(&scene->id); for (int i = 0; i < ARRAY_SIZE(props); i++) { WM_msg_subscribe_rna(mbus, &idptr, props[i], &msg_sub_value_region_tag_redraw, __func__); diff --git a/source/blender/editors/space_image/image_ops.cc b/source/blender/editors/space_image/image_ops.cc index d010e5baab6..31215276e6c 100644 --- a/source/blender/editors/space_image/image_ops.cc +++ b/source/blender/editors/space_image/image_ops.cc @@ -1373,8 +1373,7 @@ static int image_open_exec(bContext *C, wmOperator *op) * pointer use also increases user, so this compensates it */ id_us_min(&ima->id); - PointerRNA imaptr; - RNA_id_pointer_create(&ima->id, &imaptr); + PointerRNA imaptr = RNA_id_pointer_create(&ima->id); RNA_property_pointer_set(&iod->pprop.ptr, iod->pprop.prop, imaptr, nullptr); RNA_property_update(C, &iod->pprop.ptr, iod->pprop.prop); } @@ -1506,7 +1505,6 @@ static void image_open_draw(bContext * /*C*/, wmOperator *op) uiLayout *layout = op->layout; ImageOpenData *iod = static_cast(op->customdata); ImageFormatData *imf = &iod->im_format; - PointerRNA imf_ptr; /* main draw call */ uiDefAutoButsRNA(layout, @@ -1518,7 +1516,7 @@ static void image_open_draw(bContext * /*C*/, wmOperator *op) false); /* image template */ - RNA_pointer_create(nullptr, &RNA_ImageFormatSettings, imf, &imf_ptr); + PointerRNA imf_ptr = RNA_pointer_create(nullptr, &RNA_ImageFormatSettings, imf); /* multiview template */ if (RNA_boolean_get(op->ptr, "show_multiview")) { @@ -1594,9 +1592,8 @@ static int image_file_browse_exec(bContext *C, wmOperator *op) BKE_image_ensure_tile_token(filepath, sizeof(filepath)); } - PointerRNA imaptr; PropertyRNA *imaprop; - RNA_id_pointer_create(&ima->id, &imaptr); + PointerRNA imaptr = RNA_id_pointer_create(&ima->id); imaprop = RNA_struct_find_property(&imaptr, "filepath"); RNA_property_string_set(&imaptr, imaprop, filepath); @@ -1996,7 +1993,6 @@ static void image_save_as_draw(bContext * /*C*/, wmOperator *op) { uiLayout *layout = op->layout; ImageSaveData *isd = static_cast(op->customdata); - PointerRNA imf_ptr; const bool is_multiview = RNA_boolean_get(op->ptr, "show_multiview"); const bool save_as_render = RNA_boolean_get(op->ptr, "save_as_render"); @@ -2015,7 +2011,7 @@ static void image_save_as_draw(bContext * /*C*/, wmOperator *op) uiItemS(layout); /* Image format settings. */ - RNA_pointer_create(nullptr, &RNA_ImageFormatSettings, &isd->opts.im_format, &imf_ptr); + PointerRNA imf_ptr = RNA_pointer_create(nullptr, &RNA_ImageFormatSettings, &isd->opts.im_format); uiTemplateImageSettings(layout, &imf_ptr, save_as_render); if (!save_as_render) { @@ -2601,8 +2597,7 @@ static int image_new_exec(bContext *C, wmOperator *op) * pointer use also increases user, so this compensates it */ id_us_min(&ima->id); - PointerRNA imaptr; - RNA_id_pointer_create(&ima->id, &imaptr); + PointerRNA imaptr = RNA_id_pointer_create(&ima->id); RNA_property_pointer_set(&data->pprop.ptr, data->pprop.prop, imaptr, nullptr); RNA_property_update(C, &data->pprop.ptr, data->pprop.prop); } diff --git a/source/blender/editors/space_nla/nla_buttons.cc b/source/blender/editors/space_nla/nla_buttons.cc index b6e64436e0f..fb24b089afa 100644 --- a/source/blender/editors/space_nla/nla_buttons.cc +++ b/source/blender/editors/space_nla/nla_buttons.cc @@ -92,16 +92,16 @@ bool nla_panel_context(const bContext *C, /* found it, now set the pointers */ if (adt_ptr) { /* AnimData pointer */ - RNA_pointer_create(ale->id, &RNA_AnimData, adt, adt_ptr); + *adt_ptr = RNA_pointer_create(ale->id, &RNA_AnimData, adt); } if (nlt_ptr) { /* NLA-Track pointer */ - RNA_pointer_create(ale->id, &RNA_NlaTrack, nlt, nlt_ptr); + *nlt_ptr = RNA_pointer_create(ale->id, &RNA_NlaTrack, nlt); } if (strip_ptr) { /* NLA-Strip pointer */ NlaStrip *strip = BKE_nlastrip_find_active(nlt); - RNA_pointer_create(ale->id, &RNA_NlaStrip, strip, strip_ptr); + *strip_ptr = RNA_pointer_create(ale->id, &RNA_NlaStrip, strip); } found = 1; @@ -146,7 +146,7 @@ bool nla_panel_context(const bContext *C, /* AnimData pointer */ if (adt_ptr) { - RNA_pointer_create(id, &RNA_AnimData, ale->adt, adt_ptr); + *adt_ptr = RNA_pointer_create(id, &RNA_AnimData, ale->adt); } /* set found status to -1, since setting to 1 would break the loop @@ -293,9 +293,7 @@ static void nla_panel_animdata(const bContext *C, Panel *panel) */ if (adt_ptr.owner_id) { ID *id = adt_ptr.owner_id; - PointerRNA id_ptr; - - RNA_id_pointer_create(id, &id_ptr); + PointerRNA id_ptr = RNA_id_pointer_create(id); /* ID-block name > AnimData */ row = uiLayoutRow(layout, true); diff --git a/source/blender/editors/space_nla/nla_edit.cc b/source/blender/editors/space_nla/nla_edit.cc index 3da110504ca..8a9f12a7231 100644 --- a/source/blender/editors/space_nla/nla_edit.cc +++ b/source/blender/editors/space_nla/nla_edit.cc @@ -2271,9 +2271,7 @@ static int nlaedit_clear_scale_exec(bContext *C, wmOperator * /*op*/) /* strip must be selected, and must be action-clip only * (transitions don't have scale) */ if ((strip->flag & NLASTRIP_FLAG_SELECT) && (strip->type == NLASTRIP_TYPE_CLIP)) { - PointerRNA strip_ptr; - - RNA_pointer_create(nullptr, &RNA_NlaStrip, strip, &strip_ptr); + PointerRNA strip_ptr = RNA_pointer_create(nullptr, &RNA_NlaStrip, strip); RNA_float_set(&strip_ptr, "scale", 1.0f); } } diff --git a/source/blender/editors/space_nla/space_nla.cc b/source/blender/editors/space_nla/space_nla.cc index 2150b7fcc5d..e284a7d4288 100644 --- a/source/blender/editors/space_nla/space_nla.cc +++ b/source/blender/editors/space_nla/space_nla.cc @@ -405,13 +405,8 @@ static void nla_main_region_message_subscribe(const wmRegionMessageSubscribePara { wmMsgBus *mbus = params->message_bus; Scene *scene = params->scene; - bScreen *screen = params->screen; - ScrArea *area = params->area; ARegion *region = params->region; - PointerRNA ptr; - RNA_pointer_create(&screen->id, &RNA_SpaceNLA, area->spacedata.first, &ptr); - wmMsgSubscribeValue msg_sub_value_region_tag_redraw = {}; msg_sub_value_region_tag_redraw.owner = region; msg_sub_value_region_tag_redraw.user_data = region; @@ -427,8 +422,7 @@ static void nla_main_region_message_subscribe(const wmRegionMessageSubscribePara &rna_Scene_frame_current, }; - PointerRNA idptr; - RNA_id_pointer_create(&scene->id, &idptr); + PointerRNA idptr = RNA_id_pointer_create(&scene->id); for (int i = 0; i < ARRAY_SIZE(props); i++) { WM_msg_subscribe_rna(mbus, &idptr, props[i], &msg_sub_value_region_tag_redraw, __func__); @@ -487,13 +481,8 @@ static void nla_channel_region_listener(const wmRegionListenerParams *params) static void nla_channel_region_message_subscribe(const wmRegionMessageSubscribeParams *params) { wmMsgBus *mbus = params->message_bus; - bScreen *screen = params->screen; - ScrArea *area = params->area; ARegion *region = params->region; - PointerRNA ptr; - RNA_pointer_create(&screen->id, &RNA_SpaceNLA, area->spacedata.first, &ptr); - wmMsgSubscribeValue msg_sub_value_region_tag_redraw = {}; msg_sub_value_region_tag_redraw.owner = region; msg_sub_value_region_tag_redraw.user_data = region; diff --git a/source/blender/editors/space_node/drawnode.cc b/source/blender/editors/space_node/drawnode.cc index 1a05f9f07e4..bce6ba535d0 100644 --- a/source/blender/editors/space_node/drawnode.cc +++ b/source/blender/editors/space_node/drawnode.cc @@ -91,8 +91,7 @@ static void node_buts_value(uiLayout *layout, bContext * /*C*/, PointerRNA *ptr) bNode *node = (bNode *)ptr->data; /* first output stores value */ bNodeSocket *output = (bNodeSocket *)node->outputs.first; - PointerRNA sockptr; - RNA_pointer_create(ptr->owner_id, &RNA_NodeSocket, output, &sockptr); + PointerRNA sockptr = RNA_pointer_create(ptr->owner_id, &RNA_NodeSocket, output); uiItemR(layout, &sockptr, "default_value", DEFAULT_FLAGS, "", ICON_NONE); } @@ -102,9 +101,8 @@ static void node_buts_rgb(uiLayout *layout, bContext * /*C*/, PointerRNA *ptr) bNode *node = (bNode *)ptr->data; /* first output stores value */ bNodeSocket *output = (bNodeSocket *)node->outputs.first; - PointerRNA sockptr; uiLayout *col; - RNA_pointer_create(ptr->owner_id, &RNA_NodeSocket, output, &sockptr); + PointerRNA sockptr = RNA_pointer_create(ptr->owner_id, &RNA_NodeSocket, output); col = uiLayoutColumn(layout, false); uiTemplateColorPicker(col, &sockptr, "default_value", true, false, false, false); @@ -190,8 +188,7 @@ static void node_buts_normal(uiLayout *layout, bContext * /*C*/, PointerRNA *ptr bNode *node = (bNode *)ptr->data; /* first output stores normal */ bNodeSocket *output = (bNodeSocket *)node->outputs.first; - PointerRNA sockptr; - RNA_pointer_create(ptr->owner_id, &RNA_NodeSocket, output, &sockptr); + PointerRNA sockptr = RNA_pointer_create(ptr->owner_id, &RNA_NodeSocket, output); uiItemR(layout, &sockptr, "default_value", DEFAULT_FLAGS, "", ICON_NONE); } @@ -550,8 +547,7 @@ static void node_composit_buts_image(uiLayout *layout, bContext *C, PointerRNA * { bNode *node = (bNode *)ptr->data; - PointerRNA iuserptr; - RNA_pointer_create(ptr->owner_id, &RNA_ImageUser, node->storage, &iuserptr); + PointerRNA iuserptr = RNA_pointer_create(ptr->owner_id, &RNA_ImageUser, node->storage); uiLayoutSetContextPointer(layout, "image_user", &iuserptr); uiTemplateID(layout, C, @@ -578,8 +574,7 @@ static void node_composit_buts_image_ex(uiLayout *layout, bContext *C, PointerRN { bNode *node = (bNode *)ptr->data; - PointerRNA iuserptr; - RNA_pointer_create(ptr->owner_id, &RNA_ImageUser, node->storage, &iuserptr); + PointerRNA iuserptr = RNA_pointer_create(ptr->owner_id, &RNA_ImageUser, node->storage); uiLayoutSetContextPointer(layout, "image_user", &iuserptr); uiTemplateImage(layout, C, ptr, "image", &iuserptr, false, true); } @@ -792,8 +787,7 @@ static void node_composit_buts_cryptomatte(uiLayout *layout, bContext *C, Pointe NodeCryptomatte *crypto = (NodeCryptomatte *)node->storage; PointerRNA imaptr = RNA_pointer_get(ptr, "image"); - PointerRNA iuserptr; - RNA_pointer_create((ID *)ptr->owner_id, &RNA_ImageUser, &crypto->iuser, &iuserptr); + PointerRNA iuserptr = RNA_pointer_create((ID *)ptr->owner_id, &RNA_ImageUser, &crypto->iuser); uiLayoutSetContextPointer(layout, "image_user", &iuserptr); node_buts_image_user(col, C, ptr, &imaptr, &iuserptr, false, false); @@ -892,13 +886,12 @@ static void node_texture_buts_bricks(uiLayout *layout, bContext * /*C*/, Pointer static void node_texture_buts_proc(uiLayout *layout, bContext * /*C*/, PointerRNA *ptr) { - PointerRNA tex_ptr; bNode *node = (bNode *)ptr->data; ID *id = ptr->owner_id; Tex *tex = (Tex *)node->storage; uiLayout *col, *row; - RNA_pointer_create(id, &RNA_Texture, tex, &tex_ptr); + PointerRNA tex_ptr = RNA_pointer_create(id, &RNA_Texture, tex); col = uiLayoutColumn(layout, false); @@ -995,9 +988,7 @@ static void node_texture_buts_image(uiLayout *layout, bContext *C, PointerRNA *p static void node_texture_buts_image_ex(uiLayout *layout, bContext *C, PointerRNA *ptr) { bNode *node = (bNode *)ptr->data; - PointerRNA iuserptr; - - RNA_pointer_create(ptr->owner_id, &RNA_ImageUser, node->storage, &iuserptr); + PointerRNA iuserptr = RNA_pointer_create(ptr->owner_id, &RNA_ImageUser, node->storage); uiTemplateImage(layout, C, ptr, "image", &iuserptr, false, false); } @@ -1262,14 +1253,14 @@ static void node_file_output_socket_draw(bContext *C, if (imtype == R_IMF_IMTYPE_MULTILAYER) { NodeImageMultiFileSocket *input = (NodeImageMultiFileSocket *)sock->storage; - RNA_pointer_create(&ntree->id, &RNA_NodeOutputFileSlotLayer, input, &inputptr); + inputptr = RNA_pointer_create(&ntree->id, &RNA_NodeOutputFileSlotLayer, input); uiItemL(row, input->layer, ICON_NONE); } else { NodeImageMultiFileSocket *input = (NodeImageMultiFileSocket *)sock->storage; uiBlock *block; - RNA_pointer_create(&ntree->id, &RNA_NodeOutputFileSlotFile, input, &inputptr); + inputptr = RNA_pointer_create(&ntree->id, &RNA_NodeOutputFileSlotFile, input); uiItemL(row, input->path, ICON_NONE); @@ -1457,9 +1448,7 @@ static void std_node_socket_interface_draw(ID *id, bContext * /*C*/, uiLayout *layout) { - PointerRNA ptr, tree_ptr; - RNA_pointer_create(id, &RNA_NodeTreeInterfaceSocket, interface_socket, &ptr); - RNA_id_pointer_create(id, &tree_ptr); + PointerRNA ptr = RNA_pointer_create(id, &RNA_NodeTreeInterfaceSocket, interface_socket); const bNodeSocketType *typeinfo = interface_socket->socket_typeinfo(); BLI_assert(typeinfo != nullptr); diff --git a/source/blender/editors/space_node/node_add.cc b/source/blender/editors/space_node/node_add.cc index 4032d3b29d8..2f0c5a2c182 100644 --- a/source/blender/editors/space_node/node_add.cc +++ b/source/blender/editors/space_node/node_add.cc @@ -932,7 +932,7 @@ static int new_node_tree_exec(bContext *C, wmOperator *op) SpaceNode *snode = CTX_wm_space_node(C); Main *bmain = CTX_data_main(C); bNodeTree *ntree; - PointerRNA ptr, idptr; + PointerRNA ptr; PropertyRNA *prop; const char *idname; char treename_buf[MAX_ID_NAME - 2]; @@ -973,7 +973,7 @@ static int new_node_tree_exec(bContext *C, wmOperator *op) * user. */ id_us_min(&ntree->id); - RNA_id_pointer_create(&ntree->id, &idptr); + PointerRNA idptr = RNA_id_pointer_create(&ntree->id); RNA_property_pointer_set(&ptr, prop, idptr, nullptr); RNA_property_update(C, &ptr, prop); } diff --git a/source/blender/editors/space_node/node_draw.cc b/source/blender/editors/space_node/node_draw.cc index 159afff434b..3d37088e856 100644 --- a/source/blender/editors/space_node/node_draw.cc +++ b/source/blender/editors/space_node/node_draw.cc @@ -362,8 +362,7 @@ static bool node_update_basis_buttons( return false; } - PointerRNA nodeptr; - RNA_pointer_create(&ntree.id, &RNA_Node, &node, &nodeptr); + PointerRNA nodeptr = RNA_pointer_create(&ntree.id, &RNA_Node, &node); /* Get "global" coordinates. */ float2 loc = node_to_view(node, float2(0)); @@ -412,9 +411,8 @@ static bool node_update_basis_socket(const bContext &C, } const int topy = locy; - PointerRNA nodeptr, sockptr; - RNA_pointer_create(&ntree.id, &RNA_Node, &node, &nodeptr); - RNA_pointer_create(&ntree.id, &RNA_NodeSocket, &socket, &sockptr); + PointerRNA nodeptr = RNA_pointer_create(&ntree.id, &RNA_Node, &node); + PointerRNA sockptr = RNA_pointer_create(&ntree.id, &RNA_NodeSocket, &socket); const eNodeSocketInOut in_out = eNodeSocketInOut(socket.in_out); @@ -659,9 +657,6 @@ static void node_update_basis(const bContext &C, bNode &node, uiBlock &block) { - PointerRNA nodeptr; - RNA_pointer_create(&ntree.id, &RNA_Node, &node, &nodeptr); - /* Get "global" coordinates. */ float2 loc = node_to_view(node, float2(0)); /* Round the node origin because text contents are always pixel-aligned. */ @@ -1565,10 +1560,6 @@ static void node_draw_sockets(const View2D &v2d, return; } - PointerRNA node_ptr; - RNA_pointer_create( - &const_cast(ntree.id), &RNA_Node, &const_cast(node), &node_ptr); - bool selected = false; GPUVertFormat *format = immVertexFormat(); diff --git a/source/blender/editors/space_node/node_gizmo.cc b/source/blender/editors/space_node/node_gizmo.cc index 5a29d87c1b7..3490c9218a5 100644 --- a/source/blender/editors/space_node/node_gizmo.cc +++ b/source/blender/editors/space_node/node_gizmo.cc @@ -149,8 +149,7 @@ static void WIDGETGROUP_node_transform_refresh(const bContext *C, wmGizmoGroup * /* Need to set property here for undo. TODO: would prefer to do this in _init. */ SpaceNode *snode = CTX_wm_space_node(C); #if 0 - PointerRNA nodeptr; - RNA_pointer_create(snode->id, &RNA_SpaceNodeEditor, snode, &nodeptr); + PointerRNA nodeptr = RNA_pointer_create(snode->id, &RNA_SpaceNodeEditor, snode); WM_gizmo_target_property_def_rna(cage, "offset", &nodeptr, "backdrop_offset", -1); WM_gizmo_target_property_def_rna(cage, "scale", &nodeptr, "backdrop_zoom", -1); #endif @@ -361,8 +360,8 @@ static void WIDGETGROUP_node_crop_refresh(const bContext *C, wmGizmoGroup *gzgro bNode *node = nodeGetActive(snode->edittree); crop_group->update_data.context = (bContext *)C; - RNA_pointer_create( - (ID *)snode->edittree, &RNA_CompositorNodeCrop, node, &crop_group->update_data.ptr); + crop_group->update_data.ptr = RNA_pointer_create( + (ID *)snode->edittree, &RNA_CompositorNodeCrop, node); crop_group->update_data.prop = RNA_struct_find_property(&crop_group->update_data.ptr, "relative"); @@ -472,8 +471,8 @@ static void WIDGETGROUP_node_sbeam_refresh(const bContext *C, wmGizmoGroup *gzgr bNode *node = nodeGetActive(snode->edittree); /* Need to set property here for undo. TODO: would prefer to do this in _init. */ - PointerRNA nodeptr; - RNA_pointer_create((ID *)snode->edittree, &RNA_CompositorNodeSunBeams, node, &nodeptr); + PointerRNA nodeptr = RNA_pointer_create( + (ID *)snode->edittree, &RNA_CompositorNodeSunBeams, node); WM_gizmo_target_property_def_rna(gz, "offset", &nodeptr, "source", -1); WM_gizmo_set_flag(gz, WM_GIZMO_DRAW_MODAL, true); @@ -589,8 +588,7 @@ static void WIDGETGROUP_node_corner_pin_refresh(const bContext *C, wmGizmoGroup if (sock->type == SOCK_VECTOR) { wmGizmo *gz = cpin_group->gizmos[i++]; - PointerRNA sockptr; - RNA_pointer_create((ID *)snode->edittree, &RNA_NodeSocket, sock, &sockptr); + PointerRNA sockptr = RNA_pointer_create((ID *)snode->edittree, &RNA_NodeSocket, sock); WM_gizmo_target_property_def_rna(gz, "offset", &sockptr, "default_value", -1); WM_gizmo_set_flag(gz, WM_GIZMO_DRAW_MODAL, true); diff --git a/source/blender/editors/space_node/node_group.cc b/source/blender/editors/space_node/node_group.cc index 1680f5762da..0da0d528ddf 100644 --- a/source/blender/editors/space_node/node_group.cc +++ b/source/blender/editors/space_node/node_group.cc @@ -314,8 +314,7 @@ static bool node_group_ungroup(Main *bmain, bNodeTree *ntree, bNode *gnode) * if the old node-tree has animation data which potentially covers this node. */ const char *old_animation_basepath = nullptr; if (wgroup->adt) { - PointerRNA ptr; - RNA_pointer_create(&wgroup->id, &RNA_Node, node, &ptr); + PointerRNA ptr = RNA_pointer_create(&wgroup->id, &RNA_Node, node); old_animation_basepath = RNA_path_from_ID_to_struct(&ptr); } @@ -330,8 +329,7 @@ static bool node_group_ungroup(Main *bmain, bNodeTree *ntree, bNode *gnode) BKE_ntree_update_tag_node_new(ntree, node); if (wgroup->adt) { - PointerRNA ptr; - RNA_pointer_create(&ntree->id, &RNA_Node, node, &ptr); + PointerRNA ptr = RNA_pointer_create(&ntree->id, &RNA_Node, node); const char *new_animation_basepath = RNA_path_from_ID_to_struct(&ptr); BLI_addtail(&anim_basepaths, animation_basepath_change_new(old_animation_basepath, new_animation_basepath)); @@ -554,10 +552,9 @@ static bool node_group_separate_selected( /* Keep track of this node's RNA "base" path (the part of the path identifying the node) * if the old node-tree has animation data which potentially covers this node. */ if (ngroup.adt) { - PointerRNA ptr; char *path; - RNA_pointer_create(&ngroup.id, &RNA_Node, newnode, &ptr); + PointerRNA ptr = RNA_pointer_create(&ngroup.id, &RNA_Node, newnode); path = RNA_path_from_ID_to_struct(&ptr); if (path) { @@ -1123,8 +1120,7 @@ static void node_group_make_insert_selected(const bContext &C, if (ntree.adt) { ListBase anim_basepaths = {nullptr, nullptr}; for (bNode *node : nodes_to_move) { - PointerRNA ptr; - RNA_pointer_create(&ntree.id, &RNA_Node, node, &ptr); + PointerRNA ptr = RNA_pointer_create(&ntree.id, &RNA_Node, node); if (char *path = RNA_path_from_ID_to_struct(&ptr)) { BLI_addtail(&anim_basepaths, animation_basepath_change_new(path, path)); } diff --git a/source/blender/editors/space_node/node_shader_preview.cc b/source/blender/editors/space_node/node_shader_preview.cc index e2fad213bfa..9a4552f76bf 100644 --- a/source/blender/editors/space_node/node_shader_preview.cc +++ b/source/blender/editors/space_node/node_shader_preview.cc @@ -475,18 +475,18 @@ static void connect_nodes_to_aovs(const Span treepath, PointerRNA ptr; switch (socket_preview->type) { case SOCK_FLOAT: - RNA_pointer_create((ID *)active_nt, &RNA_NodeSocket, socket_preview, &ptr); + ptr = RNA_pointer_create((ID *)active_nt, &RNA_NodeSocket, socket_preview); vec[0] = RNA_float_get(&ptr, "default_value"); vec[1] = vec[0]; vec[2] = vec[0]; break; case SOCK_VECTOR: case SOCK_RGBA: - RNA_pointer_create((ID *)active_nt, &RNA_NodeSocket, socket_preview, &ptr); + ptr = RNA_pointer_create((ID *)active_nt, &RNA_NodeSocket, socket_preview); RNA_float_get_array(&ptr, "default_value", vec); break; } - RNA_pointer_create((ID *)active_nt, &RNA_NodeSocket, aov_socket, &ptr); + ptr = RNA_pointer_create((ID *)active_nt, &RNA_NodeSocket, aov_socket); RNA_float_set_array(&ptr, "default_value", vec); continue; } diff --git a/source/blender/editors/space_node/node_templates.cc b/source/blender/editors/space_node/node_templates.cc index 8ac623e25bb..5917cfa6c52 100644 --- a/source/blender/editors/space_node/node_templates.cc +++ b/source/blender/editors/space_node/node_templates.cc @@ -763,9 +763,7 @@ static void ui_node_draw_input( static void ui_node_draw_node( uiLayout &layout, bContext &C, bNodeTree &ntree, bNode &node, int depth) { - PointerRNA nodeptr; - - RNA_pointer_create(&ntree.id, &RNA_Node, &node, &nodeptr); + PointerRNA nodeptr = RNA_pointer_create(&ntree.id, &RNA_Node, &node); if (node.typeinfo->draw_buttons) { if (node.type != NODE_GROUP) { @@ -782,7 +780,6 @@ static void ui_node_draw_node( static void ui_node_draw_input( uiLayout &layout, bContext &C, bNodeTree &ntree, bNode &node, bNodeSocket &input, int depth) { - PointerRNA inputptr, nodeptr; uiBlock *block = uiLayoutGetBlock(&layout); uiLayout *row = nullptr; bool dependency_loop; @@ -801,8 +798,8 @@ static void ui_node_draw_input( } /* socket RNA pointer */ - RNA_pointer_create(&ntree.id, &RNA_NodeSocket, &input, &inputptr); - RNA_pointer_create(&ntree.id, &RNA_Node, &node, &nodeptr); + PointerRNA inputptr = RNA_pointer_create(&ntree.id, &RNA_NodeSocket, &input); + PointerRNA nodeptr = RNA_pointer_create(&ntree.id, &RNA_Node, &node); row = uiLayoutRow(&layout, true); /* Decorations are added manually here. */ diff --git a/source/blender/editors/space_outliner/outliner_collections.cc b/source/blender/editors/space_outliner/outliner_collections.cc index c9ad56b20f7..84b69c4c3fb 100644 --- a/source/blender/editors/space_outliner/outliner_collections.cc +++ b/source/blender/editors/space_outliner/outliner_collections.cc @@ -1098,9 +1098,8 @@ static int collection_isolate_exec(bContext *C, wmOperator *op) BKE_layer_collection_isolate_global(scene, view_layer, layer_collection, true); } else { - PointerRNA ptr; PropertyRNA *prop = RNA_struct_type_find_property(&RNA_LayerCollection, "hide_viewport"); - RNA_pointer_create(&scene->id, &RNA_LayerCollection, layer_collection, &ptr); + PointerRNA ptr = RNA_pointer_create(&scene->id, &RNA_LayerCollection, layer_collection); /* We need to flip the value because the isolate flag routine was designed to work from the * outliner as a callback. That means the collection visibility was set before the callback diff --git a/source/blender/editors/space_outliner/outliner_draw.cc b/source/blender/editors/space_outliner/outliner_draw.cc index fb81b6da849..7c807dd339a 100644 --- a/source/blender/editors/space_outliner/outliner_draw.cc +++ b/source/blender/editors/space_outliner/outliner_draw.cc @@ -260,7 +260,6 @@ static void outliner_object_set_flag_recursive_fn(bContext *C, wmWindow *win = CTX_wm_window(C); Scene *scene = CTX_data_scene(C); ViewLayer *view_layer = CTX_data_view_layer(C); - PointerRNA ptr; bool extend = (win->eventstate->modifier & KM_SHIFT); @@ -273,7 +272,7 @@ static void outliner_object_set_flag_recursive_fn(bContext *C, StructRNA *struct_rna = ob ? &RNA_Object : &RNA_ObjectBase; void *data = ob ? (void *)ob : (void *)base; - RNA_pointer_create(id, struct_rna, data, &ptr); + PointerRNA ptr = RNA_pointer_create(id, struct_rna, data); PropertyRNA *base_or_object_prop = RNA_struct_type_find_property(struct_rna, propname); const bool value = RNA_property_boolean_get(&ptr, base_or_object_prop); @@ -284,7 +283,7 @@ static void outliner_object_set_flag_recursive_fn(bContext *C, { if (BKE_object_is_child_recursive(ob_parent, ob_iter)) { if (ob) { - RNA_id_pointer_create(&ob_iter->id, &ptr); + ptr = RNA_id_pointer_create(&ob_iter->id); DEG_id_tag_update(&ob_iter->id, ID_RECALC_COPY_ON_WRITE); } else { @@ -294,7 +293,7 @@ static void outliner_object_set_flag_recursive_fn(bContext *C, if (base_iter == nullptr) { continue; } - RNA_pointer_create(&scene->id, &RNA_ObjectBase, base_iter, &ptr); + ptr = RNA_pointer_create(&scene->id, &RNA_ObjectBase, base_iter); } RNA_property_boolean_set(&ptr, base_or_object_prop, value); } @@ -338,10 +337,10 @@ static void outliner_layer_or_collection_pointer_create(Scene *scene, PointerRNA *ptr) { if (collection) { - RNA_id_pointer_create(&collection->id, ptr); + *ptr = RNA_id_pointer_create(&collection->id); } else { - RNA_pointer_create(&scene->id, &RNA_LayerCollection, layer_collection, ptr); + *ptr = RNA_pointer_create(&scene->id, &RNA_LayerCollection, layer_collection); } } @@ -350,12 +349,12 @@ static void outliner_base_or_object_pointer_create( Scene *scene, ViewLayer *view_layer, Collection *collection, Object *ob, PointerRNA *ptr) { if (collection) { - RNA_id_pointer_create(&ob->id, ptr); + *ptr = RNA_id_pointer_create(&ob->id); } else { BKE_view_layer_synced_ensure(scene, view_layer); Base *base = BKE_view_layer_base_find(view_layer, ob); - RNA_pointer_create(&scene->id, &RNA_ObjectBase, base, ptr); + *ptr = RNA_pointer_create(&scene->id, &RNA_ObjectBase, base); } } @@ -570,7 +569,7 @@ void outliner_collection_isolate_flag(Scene *scene, if (parent->collection->flag & COLLECTION_IS_MASTER) { break; } - RNA_id_pointer_create(&parent->collection->id, &ptr); + ptr = RNA_id_pointer_create(&parent->collection->id); RNA_property_boolean_set(&ptr, layer_or_collection_prop, !is_hide); child = parent->collection; } @@ -586,7 +585,6 @@ static void outliner_collection_set_flag_recursive_fn(bContext *C, wmWindow *win = CTX_wm_window(C); Scene *scene = CTX_data_scene(C); ViewLayer *view_layer = CTX_data_view_layer(C); - PointerRNA ptr; bool do_isolate = (win->eventstate->modifier & KM_CTRL); bool extend = (win->eventstate->modifier & KM_SHIFT); @@ -600,7 +598,7 @@ static void outliner_collection_set_flag_recursive_fn(bContext *C, StructRNA *struct_rna = collection ? &RNA_Collection : &RNA_LayerCollection; void *data = collection ? (void *)collection : (void *)layer_collection; - RNA_pointer_create(id, struct_rna, data, &ptr); + PointerRNA ptr = RNA_pointer_create(id, struct_rna, data); outliner_layer_or_collection_pointer_create(scene, layer_collection, collection, &ptr); PropertyRNA *layer_or_collection_prop = RNA_struct_type_find_property(struct_rna, propname); const bool value = RNA_property_boolean_get(&ptr, layer_or_collection_prop); @@ -1036,9 +1034,9 @@ static bool outliner_restrict_properties_collection_set(Scene *scene, } /* Create the PointerRNA. */ - RNA_id_pointer_create(&collection->id, collection_ptr); + *collection_ptr = RNA_id_pointer_create(&collection->id); if (layer_collection != nullptr) { - RNA_pointer_create(&scene->id, &RNA_LayerCollection, layer_collection, layer_collection_ptr); + *layer_collection_ptr = RNA_pointer_create(&scene->id, &RNA_LayerCollection, layer_collection); } /* Update the restriction column values for the collection children. */ @@ -1170,17 +1168,15 @@ static void outliner_draw_restrictbuts(uiBlock *block, /* Don't show restrict columns for children that are not directly inside the collection. */ } else if ((tselem->type == TSE_SOME_ID) && (te->idcode == ID_OB)) { - PointerRNA ptr; Object *ob = (Object *)tselem->id; - RNA_id_pointer_create(&ob->id, &ptr); + PointerRNA ptr = RNA_id_pointer_create(&ob->id); if (space_outliner->show_restrict_flags & SO_RESTRICT_HIDE) { BKE_view_layer_synced_ensure(scene, view_layer); Base *base = (te->directdata) ? (Base *)te->directdata : BKE_view_layer_base_find(view_layer, ob); if (base) { - PointerRNA base_ptr; - RNA_pointer_create(&scene->id, &RNA_ObjectBase, base, &base_ptr); + PointerRNA base_ptr = RNA_pointer_create(&scene->id, &RNA_ObjectBase, base); bt = uiDefIconButR_prop(block, UI_BTYPE_ICON_TOGGLE, 0, @@ -1285,8 +1281,7 @@ static void outliner_draw_restrictbuts(uiBlock *block, else if (tselem->type == TSE_CONSTRAINT) { bConstraint *con = (bConstraint *)te->directdata; - PointerRNA ptr; - RNA_pointer_create(tselem->id, &RNA_Constraint, con, &ptr); + PointerRNA ptr = RNA_pointer_create(tselem->id, &RNA_Constraint, con); if (space_outliner->show_restrict_flags & SO_RESTRICT_HIDE) { bt = uiDefIconButR_prop(block, @@ -1314,8 +1309,7 @@ static void outliner_draw_restrictbuts(uiBlock *block, else if (tselem->type == TSE_MODIFIER) { ModifierData *md = (ModifierData *)te->directdata; - PointerRNA ptr; - RNA_pointer_create(tselem->id, &RNA_Modifier, md, &ptr); + PointerRNA ptr = RNA_pointer_create(tselem->id, &RNA_Modifier, md); if (space_outliner->show_restrict_flags & SO_RESTRICT_VIEWPORT) { bt = uiDefIconButR_prop(block, @@ -1364,13 +1358,12 @@ static void outliner_draw_restrictbuts(uiBlock *block, } } else if (tselem->type == TSE_POSE_CHANNEL) { - PointerRNA ptr; bPoseChannel *pchan = (bPoseChannel *)te->directdata; Bone *bone = pchan->bone; Object *ob = (Object *)tselem->id; bArmature *arm = static_cast(ob->data); - RNA_pointer_create(&arm->id, &RNA_Bone, bone, &ptr); + PointerRNA ptr = RNA_pointer_create(&arm->id, &RNA_Bone, bone); if (space_outliner->show_restrict_flags & SO_RESTRICT_VIEWPORT) { bt = uiDefIconButR_prop(block, @@ -1516,11 +1509,11 @@ static void outliner_draw_restrictbuts(uiBlock *block, PointerRNA ptr; PropertyRNA *hide_prop; if (node.is_layer()) { - RNA_pointer_create(tselem->id, &RNA_GreasePencilLayer, &node, &ptr); + ptr = RNA_pointer_create(tselem->id, &RNA_GreasePencilLayer, &node); hide_prop = RNA_struct_type_find_property(&RNA_GreasePencilLayer, "hide"); } else if (node.is_group()) { - RNA_pointer_create(tselem->id, &RNA_GreasePencilLayerGroup, &node, &ptr); + ptr = RNA_pointer_create(tselem->id, &RNA_GreasePencilLayerGroup, &node); hide_prop = RNA_struct_type_find_property(&RNA_GreasePencilLayerGroup, "hide"); } @@ -2014,8 +2007,7 @@ static void outliner_draw_overrides_restrictbuts(Main *bmain, UI_UNIT_X, UI_UNIT_Y, ""); - PointerRNA idptr; - RNA_id_pointer_create(&id, &idptr); + PointerRNA idptr = RNA_id_pointer_create(&id); UI_but_context_ptr_set(block, but, "id", &idptr); UI_but_func_identity_compare_set(but, outliner_but_identity_cmp_context_id_fn); UI_but_flag_enable(but, UI_BUT_DRAG_LOCK); diff --git a/source/blender/editors/space_outliner/outliner_select.cc b/source/blender/editors/space_outliner/outliner_select.cc index 7ce47575d2b..0d334db6696 100644 --- a/source/blender/editors/space_outliner/outliner_select.cc +++ b/source/blender/editors/space_outliner/outliner_select.cc @@ -1243,7 +1243,7 @@ static void outliner_set_properties_tab(bContext *C, TreeElement *te, TreeStoreE /* ID Types */ if (tselem->type == TSE_SOME_ID) { - RNA_id_pointer_create(tselem->id, &ptr); + ptr = RNA_id_pointer_create(tselem->id); switch (te->idcode) { case ID_SCE: @@ -1281,7 +1281,7 @@ static void outliner_set_properties_tab(bContext *C, TreeElement *te, TreeStoreE switch (tselem->type) { case TSE_DEFGROUP_BASE: case TSE_DEFGROUP: - RNA_id_pointer_create(tselem->id, &ptr); + ptr = RNA_id_pointer_create(tselem->id); context = BCONTEXT_DATA; break; case TSE_CONSTRAINT_BASE: @@ -1290,11 +1290,11 @@ static void outliner_set_properties_tab(bContext *C, TreeElement *te, TreeStoreE bPoseChannel *pchan = outliner_find_parent_bone(te, &bone_te); if (pchan) { - RNA_pointer_create(TREESTORE(bone_te)->id, &RNA_PoseBone, pchan, &ptr); + ptr = RNA_pointer_create(TREESTORE(bone_te)->id, &RNA_PoseBone, pchan); context = BCONTEXT_BONE_CONSTRAINT; } else { - RNA_id_pointer_create(tselem->id, &ptr); + ptr = RNA_id_pointer_create(tselem->id); context = BCONTEXT_CONSTRAINT; } @@ -1306,7 +1306,7 @@ static void outliner_set_properties_tab(bContext *C, TreeElement *te, TreeStoreE } case TSE_MODIFIER_BASE: case TSE_MODIFIER: - RNA_id_pointer_create(tselem->id, &ptr); + ptr = RNA_id_pointer_create(tselem->id); context = BCONTEXT_MODIFIER; if (tselem->type != TSE_MODIFIER_BASE) { @@ -1342,7 +1342,7 @@ static void outliner_set_properties_tab(bContext *C, TreeElement *te, TreeStoreE break; case TSE_GPENCIL_EFFECT_BASE: case TSE_GPENCIL_EFFECT: - RNA_id_pointer_create(tselem->id, &ptr); + ptr = RNA_id_pointer_create(tselem->id); context = BCONTEXT_SHADERFX; if (tselem->type != TSE_GPENCIL_EFFECT_BASE) { @@ -1353,7 +1353,7 @@ static void outliner_set_properties_tab(bContext *C, TreeElement *te, TreeStoreE bArmature *arm = (bArmature *)tselem->id; Bone *bone = static_cast(te->directdata); - RNA_pointer_create(&arm->id, &RNA_Bone, bone, &ptr); + ptr = RNA_pointer_create(&arm->id, &RNA_Bone, bone); context = BCONTEXT_BONE; break; } @@ -1361,7 +1361,7 @@ static void outliner_set_properties_tab(bContext *C, TreeElement *te, TreeStoreE bArmature *arm = (bArmature *)tselem->id; EditBone *ebone = static_cast(te->directdata); - RNA_pointer_create(&arm->id, &RNA_EditBone, ebone, &ptr); + ptr = RNA_pointer_create(&arm->id, &RNA_EditBone, ebone); context = BCONTEXT_BONE; break; } @@ -1370,7 +1370,7 @@ static void outliner_set_properties_tab(bContext *C, TreeElement *te, TreeStoreE bArmature *arm = static_cast(ob->data); bPoseChannel *pchan = static_cast(te->directdata); - RNA_pointer_create(&arm->id, &RNA_PoseBone, pchan, &ptr); + ptr = RNA_pointer_create(&arm->id, &RNA_PoseBone, pchan); context = BCONTEXT_BONE; break; } @@ -1378,14 +1378,14 @@ static void outliner_set_properties_tab(bContext *C, TreeElement *te, TreeStoreE Object *ob = (Object *)tselem->id; bArmature *arm = static_cast(ob->data); - RNA_pointer_create(&arm->id, &RNA_Armature, arm, &ptr); + ptr = RNA_pointer_create(&arm->id, &RNA_Armature, arm); context = BCONTEXT_DATA; break; } case TSE_R_LAYER: { ViewLayer *view_layer = static_cast(te->directdata); - RNA_pointer_create(tselem->id, &RNA_ViewLayer, view_layer, &ptr); + ptr = RNA_pointer_create(tselem->id, &RNA_ViewLayer, view_layer); context = BCONTEXT_VIEW_LAYER; break; } @@ -1394,7 +1394,7 @@ static void outliner_set_properties_tab(bContext *C, TreeElement *te, TreeStoreE Object *ob = (Object *)tselem->id; bArmature *arm = static_cast(ob->data); - RNA_pointer_create(&arm->id, &RNA_Armature, arm, &ptr); + ptr = RNA_pointer_create(&arm->id, &RNA_Armature, arm); context = BCONTEXT_DATA; break; } @@ -1402,13 +1402,13 @@ static void outliner_set_properties_tab(bContext *C, TreeElement *te, TreeStoreE Object *ob = (Object *)tselem->id; ParticleSystem *psys = psys_get_current(ob); - RNA_pointer_create(&ob->id, &RNA_ParticleSystem, psys, &ptr); + ptr = RNA_pointer_create(&ob->id, &RNA_ParticleSystem, psys); context = BCONTEXT_PARTICLE; break; } case TSE_GP_LAYER: case TSE_GREASE_PENCIL_NODE: - RNA_id_pointer_create(tselem->id, &ptr); + ptr = RNA_id_pointer_create(tselem->id); context = BCONTEXT_DATA; break; } diff --git a/source/blender/editors/space_outliner/outliner_tools.cc b/source/blender/editors/space_outliner/outliner_tools.cc index a574619825b..01540ed3f7e 100644 --- a/source/blender/editors/space_outliner/outliner_tools.cc +++ b/source/blender/editors/space_outliner/outliner_tools.cc @@ -1682,10 +1682,9 @@ static void singleuser_action_fn(bContext *C, if (id) { IdAdtTemplate *iat = (IdAdtTemplate *)tsep->id; - PointerRNA ptr = {nullptr}; PropertyRNA *prop; - RNA_pointer_create(&iat->id, &RNA_AnimData, iat->adt, &ptr); + PointerRNA ptr = RNA_pointer_create(&iat->id, &RNA_AnimData, iat->adt); prop = RNA_struct_find_property(&ptr, "action"); id_single_user(C, id, &ptr, prop); @@ -1705,10 +1704,9 @@ static void singleuser_world_fn(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 = {nullptr}; PropertyRNA *prop; - RNA_id_pointer_create(&parscene->id, &ptr); + PointerRNA ptr = RNA_id_pointer_create(&parscene->id); prop = RNA_struct_find_property(&ptr, "world"); id_single_user(C, id, &ptr, prop); diff --git a/source/blender/editors/space_outliner/tree/tree_display_data.cc b/source/blender/editors/space_outliner/tree/tree_display_data.cc index eabb56b9832..3103cf95c14 100644 --- a/source/blender/editors/space_outliner/tree/tree_display_data.cc +++ b/source/blender/editors/space_outliner/tree/tree_display_data.cc @@ -28,8 +28,7 @@ ListBase TreeDisplayDataAPI::build_tree(const TreeSourceData &source_data) { ListBase tree = {nullptr}; - PointerRNA mainptr; - RNA_main_pointer_create(source_data.bmain, &mainptr); + PointerRNA mainptr = RNA_main_pointer_create(source_data.bmain); TreeElement *te = add_element(&tree, nullptr, (void *)&mainptr, nullptr, TSE_RNA_STRUCT, -1); diff --git a/source/blender/editors/space_outliner/tree/tree_element_overrides.cc b/source/blender/editors/space_outliner/tree/tree_element_overrides.cc index 56dd4777d79..ddf1999d48e 100644 --- a/source/blender/editors/space_outliner/tree/tree_element_overrides.cc +++ b/source/blender/editors/space_outliner/tree/tree_element_overrides.cc @@ -94,8 +94,7 @@ static void iterate_properties_to_display(ID &id, PointerRNA override_rna_ptr; PropertyRNA *override_rna_prop; - PointerRNA idpoin; - RNA_id_pointer_create(&id, &idpoin); + PointerRNA idpoin = RNA_id_pointer_create(&id); for (IDOverrideLibraryProperty *override_prop : ListBaseWrapper(id.override_library->properties)) @@ -313,8 +312,7 @@ void OverrideRNAPathTreeBuilder::build_path(TreeElement &parent, TreeElementOverridesData &override_data, short &index) { - PointerRNA idpoin; - RNA_id_pointer_create(&override_data.id, &idpoin); + PointerRNA idpoin = RNA_id_pointer_create(&override_data.id); ListBase path_elems = {nullptr}; if (!RNA_path_resolve_elements(&idpoin, override_data.override_property.rna_path, &path_elems)) { diff --git a/source/blender/editors/space_sequencer/sequencer_add.cc b/source/blender/editors/space_sequencer/sequencer_add.cc index bbe73f169b3..0fb6ea6f772 100644 --- a/source/blender/editors/space_sequencer/sequencer_add.cc +++ b/source/blender/editors/space_sequencer/sequencer_add.cc @@ -1023,7 +1023,6 @@ static void sequencer_add_draw(bContext * /*C*/, wmOperator *op) uiLayout *layout = op->layout; SequencerAddData *sad = static_cast(op->customdata); ImageFormatData *imf = &sad->im_format; - PointerRNA imf_ptr; /* Main draw call. */ uiDefAutoButsRNA(layout, @@ -1035,7 +1034,7 @@ static void sequencer_add_draw(bContext * /*C*/, wmOperator *op) false); /* Image template. */ - RNA_pointer_create(nullptr, &RNA_ImageFormatSettings, imf, &imf_ptr); + PointerRNA imf_ptr = RNA_pointer_create(nullptr, &RNA_ImageFormatSettings, imf); /* Multiview template. */ if (RNA_boolean_get(op->ptr, "show_multiview")) { diff --git a/source/blender/editors/space_sequencer/sequencer_channels_draw.cc b/source/blender/editors/space_sequencer/sequencer_channels_draw.cc index a9767f8536f..97af472a66a 100644 --- a/source/blender/editors/space_sequencer/sequencer_channels_draw.cc +++ b/source/blender/editors/space_sequencer/sequencer_channels_draw.cc @@ -109,8 +109,7 @@ static float draw_channel_widget_mute(const SeqChannelDrawContext *context, SeqTimelineChannel *channel = SEQ_channel_get_by_index(context->channels, channel_index); const int icon = SEQ_channel_is_muted(channel) ? ICON_CHECKBOX_DEHLT : ICON_CHECKBOX_HLT; - PointerRNA ptr; - RNA_pointer_create(&context->scene->id, &RNA_SequenceTimelineChannel, channel, &ptr); + PointerRNA ptr = RNA_pointer_create(&context->scene->id, &RNA_SequenceTimelineChannel, channel); PropertyRNA *hide_prop = RNA_struct_type_find_property(&RNA_SequenceTimelineChannel, "mute"); UI_block_emboss_set(block, UI_EMBOSS_NONE); @@ -150,8 +149,7 @@ static float draw_channel_widget_lock(const SeqChannelDrawContext *context, SeqTimelineChannel *channel = SEQ_channel_get_by_index(context->channels, channel_index); const int icon = SEQ_channel_is_locked(channel) ? ICON_LOCKED : ICON_UNLOCKED; - PointerRNA ptr; - RNA_pointer_create(&context->scene->id, &RNA_SequenceTimelineChannel, channel, &ptr); + PointerRNA ptr = RNA_pointer_create(&context->scene->id, &RNA_SequenceTimelineChannel, channel); PropertyRNA *hide_prop = RNA_struct_type_find_property(&RNA_SequenceTimelineChannel, "lock"); UI_block_emboss_set(block, UI_EMBOSS_NONE); @@ -228,8 +226,8 @@ static void draw_channel_labels(const SeqChannelDrawContext *context, if (channel_is_being_renamed(sseq, channel_index)) { SeqTimelineChannel *channel = SEQ_channel_get_by_index(context->channels, channel_index); - PointerRNA ptr = {nullptr}; - RNA_pointer_create(&context->scene->id, &RNA_SequenceTimelineChannel, channel, &ptr); + PointerRNA ptr = RNA_pointer_create( + &context->scene->id, &RNA_SequenceTimelineChannel, channel); PropertyRNA *prop = RNA_struct_name_property(ptr.type); UI_block_emboss_set(block, UI_EMBOSS); diff --git a/source/blender/editors/space_sequencer/sequencer_edit.cc b/source/blender/editors/space_sequencer/sequencer_edit.cc index 95e19276993..f57d1b1f593 100644 --- a/source/blender/editors/space_sequencer/sequencer_edit.cc +++ b/source/blender/editors/space_sequencer/sequencer_edit.cc @@ -2981,11 +2981,10 @@ static int sequencer_change_path_exec(bContext *C, wmOperator *op) } else { /* Lame, set rna filepath. */ - PointerRNA seq_ptr; PropertyRNA *prop; char filepath[FILE_MAX]; - RNA_pointer_create(&scene->id, &RNA_Sequence, seq, &seq_ptr); + PointerRNA seq_ptr = RNA_pointer_create(&scene->id, &RNA_Sequence, seq); RNA_string_get(op->ptr, "filepath", filepath); prop = RNA_struct_find_property(&seq_ptr, "filepath"); diff --git a/source/blender/editors/space_sequencer/space_sequencer.cc b/source/blender/editors/space_sequencer/space_sequencer.cc index 04f9ba57739..02e8b01dab8 100644 --- a/source/blender/editors/space_sequencer/space_sequencer.cc +++ b/source/blender/editors/space_sequencer/space_sequencer.cc @@ -643,8 +643,7 @@ static void sequencer_main_region_message_subscribe(const wmRegionMessageSubscri &rna_Scene_frame_current, }; - PointerRNA idptr; - RNA_id_pointer_create(&scene->id, &idptr); + PointerRNA idptr = RNA_id_pointer_create(&scene->id); for (int i = 0; i < ARRAY_SIZE(props); i++) { WM_msg_subscribe_rna(mbus, &idptr, props[i], &msg_sub_value_region_tag_redraw, __func__); diff --git a/source/blender/editors/space_spreadsheet/spreadsheet_dataset_draw.cc b/source/blender/editors/space_spreadsheet/spreadsheet_dataset_draw.cc index 6ec10078421..e9a4c36a63b 100644 --- a/source/blender/editors/space_spreadsheet/spreadsheet_dataset_draw.cc +++ b/source/blender/editors/space_spreadsheet/spreadsheet_dataset_draw.cc @@ -136,8 +136,7 @@ void GeometryDataSetTreeViewItem::on_activate(bContext &C) if (domain_) { tree_view.sspreadsheet_.attribute_domain = *domain_; } - PointerRNA ptr; - RNA_pointer_create(&tree_view.screen_.id, &RNA_SpaceSpreadsheet, &sspreadsheet, &ptr); + PointerRNA ptr = RNA_pointer_create(&tree_view.screen_.id, &RNA_SpaceSpreadsheet, &sspreadsheet); RNA_property_update(&C, &ptr, RNA_struct_find_property(&ptr, "attribute_domain")); RNA_property_update(&C, &ptr, RNA_struct_find_property(&ptr, "geometry_component_type")); } diff --git a/source/blender/editors/space_spreadsheet/spreadsheet_row_filter_ui.cc b/source/blender/editors/space_spreadsheet/spreadsheet_row_filter_ui.cc index 6421f9ff750..80c07fb748e 100644 --- a/source/blender/editors/space_spreadsheet/spreadsheet_row_filter_ui.cc +++ b/source/blender/editors/space_spreadsheet/spreadsheet_row_filter_ui.cc @@ -282,7 +282,7 @@ static void spreadsheet_row_filters_layout(const bContext *C, Panel *panel) filter_panel_id_fn(row_filter, panel_idname); PointerRNA *filter_ptr = (PointerRNA *)MEM_mallocN(sizeof(PointerRNA), "panel customdata"); - RNA_pointer_create(&screen->id, &RNA_SpreadsheetRowFilter, row_filter, filter_ptr); + *filter_ptr = RNA_pointer_create(&screen->id, &RNA_SpreadsheetRowFilter, row_filter); UI_panel_add_instanced(C, region, ®ion->panels, panel_idname, filter_ptr); } @@ -299,7 +299,7 @@ static void spreadsheet_row_filters_layout(const bContext *C, Panel *panel) } PointerRNA *filter_ptr = (PointerRNA *)MEM_mallocN(sizeof(PointerRNA), "panel customdata"); - RNA_pointer_create(&screen->id, &RNA_SpreadsheetRowFilter, row_filter, filter_ptr); + *filter_ptr = RNA_pointer_create(&screen->id, &RNA_SpreadsheetRowFilter, row_filter); UI_panel_custom_data_set(panel_iter, filter_ptr); panel_iter = panel_iter->next; diff --git a/source/blender/editors/space_text/text_ops.cc b/source/blender/editors/space_text/text_ops.cc index c7fef8c66f6..1e811bbab44 100644 --- a/source/blender/editors/space_text/text_ops.cc +++ b/source/blender/editors/space_text/text_ops.cc @@ -286,7 +286,7 @@ static int text_new_exec(bContext *C, wmOperator * /*op*/) SpaceText *st = CTX_wm_space_text(C); Main *bmain = CTX_data_main(C); Text *text; - PointerRNA ptr, idptr; + PointerRNA ptr; PropertyRNA *prop; text = BKE_text_add(bmain, DATA_("Text")); @@ -295,7 +295,7 @@ static int text_new_exec(bContext *C, wmOperator * /*op*/) UI_context_active_but_prop_get_templateID(C, &ptr, &prop); if (prop) { - RNA_id_pointer_create(&text->id, &idptr); + PointerRNA idptr = RNA_id_pointer_create(&text->id); RNA_property_pointer_set(&ptr, prop, idptr, nullptr); RNA_property_update(C, &ptr, prop); } @@ -354,7 +354,6 @@ static int text_open_exec(bContext *C, wmOperator *op) Main *bmain = CTX_data_main(C); Text *text; PropertyPointerRNA *pprop; - PointerRNA idptr; char filepath[FILE_MAX]; const bool internal = RNA_boolean_get(op->ptr, "internal"); @@ -377,7 +376,7 @@ static int text_open_exec(bContext *C, wmOperator *op) pprop = static_cast(op->customdata); if (pprop->prop) { - RNA_id_pointer_create(&text->id, &idptr); + PointerRNA idptr = RNA_id_pointer_create(&text->id); RNA_property_pointer_set(&pprop->ptr, pprop->prop, idptr, nullptr); RNA_property_update(C, &pprop->ptr, pprop->prop); } diff --git a/source/blender/editors/space_view3d/view3d_buttons.cc b/source/blender/editors/space_view3d/view3d_buttons.cc index 0ed11b83c99..dac9f21ee02 100644 --- a/source/blender/editors/space_view3d/view3d_buttons.cc +++ b/source/blender/editors/space_view3d/view3d_buttons.cc @@ -436,7 +436,7 @@ static void v3d_editvertex_buts(uiLayout *layout, View3D *v3d, Object *ob, float } if (totcurvedata == 1) { - RNA_pointer_create(&cu->id, seltype, selp, &data_ptr); + data_ptr = RNA_pointer_create(&cu->id, seltype, selp); } } else if (ob->type == OB_LATTICE) { @@ -464,7 +464,7 @@ static void v3d_editvertex_buts(uiLayout *layout, View3D *v3d, Object *ob, float } if (totlattdata == 1) { - RNA_pointer_create(<->id, seltype, selp, &data_ptr); + data_ptr = RNA_pointer_create(<->id, seltype, selp); } } @@ -1291,8 +1291,7 @@ static void v3d_object_dimension_buts(bContext *C, uiLayout *layout, View3D *v3d BKE_object_dimensions_set_ex( ob, tfp->ob_dims, axis_mask, tfp->ob_scale_orig, tfp->ob_obmat_orig); - PointerRNA obptr; - RNA_id_pointer_create(&ob->id, &obptr); + PointerRNA obptr = RNA_id_pointer_create(&ob->id); PropertyRNA *prop = RNA_struct_find_property(&obptr, "scale"); RNA_property_update(C, &obptr, prop); } @@ -1362,7 +1361,7 @@ static void view3d_panel_vgroup(const bContext *C, Panel *panel) ToolSettings *ts = scene->toolsettings; wmOperatorType *ot; - PointerRNA op_ptr, tools_ptr; + PointerRNA op_ptr; PointerRNA *but_ptr; uiLayout *col, *bcol; @@ -1381,7 +1380,7 @@ static void view3d_panel_vgroup(const bContext *C, Panel *panel) bcol = uiLayoutColumn(panel->layout, true); row = uiLayoutRow(bcol, true); /* The filter button row */ - RNA_pointer_create(nullptr, &RNA_ToolSettings, ts, &tools_ptr); + PointerRNA tools_ptr = RNA_pointer_create(nullptr, &RNA_ToolSettings, ts); uiItemR(row, &tools_ptr, "vertex_group_subset", UI_ITEM_R_EXPAND, nullptr, ICON_NONE); col = uiLayoutColumn(bcol, true); @@ -1632,7 +1631,6 @@ static void v3d_transform_butsR(uiLayout *layout, PointerRNA *ptr) static void v3d_posearmature_buts(uiLayout *layout, Object *ob) { bPoseChannel *pchan; - PointerRNA pchanptr; uiLayout *col; pchan = BKE_pose_channel_active_if_bonecoll_visible(ob); @@ -1642,7 +1640,7 @@ static void v3d_posearmature_buts(uiLayout *layout, Object *ob) return; } - RNA_pointer_create(&ob->id, &RNA_PoseBone, pchan, &pchanptr); + PointerRNA pchanptr = RNA_pointer_create(&ob->id, &RNA_PoseBone, pchan); col = uiLayoutColumn(layout, false); @@ -1657,7 +1655,6 @@ static void v3d_editarmature_buts(uiLayout *layout, Object *ob) bArmature *arm = static_cast(ob->data); EditBone *ebone; uiLayout *col; - PointerRNA eboneptr; ebone = arm->act_edbone; @@ -1666,7 +1663,7 @@ static void v3d_editarmature_buts(uiLayout *layout, Object *ob) return; } - RNA_pointer_create(&arm->id, &RNA_EditBone, ebone, &eboneptr); + PointerRNA eboneptr = RNA_pointer_create(&arm->id, &RNA_EditBone, ebone); col = uiLayoutColumn(layout, false); uiItemR(col, &eboneptr, "head", UI_ITEM_NONE, nullptr, ICON_NONE); @@ -1688,7 +1685,6 @@ static void v3d_editarmature_buts(uiLayout *layout, Object *ob) static void v3d_editmetaball_buts(uiLayout *layout, Object *ob) { - PointerRNA mbptr, ptr; MetaBall *mball = static_cast(ob->data); uiLayout *col; @@ -1697,9 +1693,7 @@ static void v3d_editmetaball_buts(uiLayout *layout, Object *ob) return; } - RNA_pointer_create(&mball->id, &RNA_MetaBall, mball, &mbptr); - - RNA_pointer_create(&mball->id, &RNA_MetaElement, mball->lastelem, &ptr); + PointerRNA ptr = RNA_pointer_create(&mball->id, &RNA_MetaElement, mball->lastelem); col = uiLayoutColumn(layout, false); uiItemR(col, &ptr, "co", UI_ITEM_NONE, nullptr, ICON_NONE); @@ -1807,9 +1801,7 @@ static void view3d_panel_transform(const bContext *C, Panel *panel) v3d_posearmature_buts(col, ob); } else { - PointerRNA obptr; - - RNA_id_pointer_create(&ob->id, &obptr); + PointerRNA obptr = RNA_id_pointer_create(&ob->id); v3d_transform_butsR(col, &obptr); /* Dimensions and editmode are mostly the same check. */ diff --git a/source/blender/editors/space_view3d/view3d_edit.cc b/source/blender/editors/space_view3d/view3d_edit.cc index 5cf3e2281f2..5acc1929682 100644 --- a/source/blender/editors/space_view3d/view3d_edit.cc +++ b/source/blender/editors/space_view3d/view3d_edit.cc @@ -1053,7 +1053,7 @@ void ED_view3d_cursor3d_update(bContext *C, { wmMsgBus *mbus = CTX_wm_message_bus(C); wmMsgParams_RNA msg_key_params = {{nullptr}}; - RNA_pointer_create(&scene->id, &RNA_View3DCursor, &scene->cursor, &msg_key_params.ptr); + msg_key_params.ptr = RNA_pointer_create(&scene->id, &RNA_View3DCursor, &scene->cursor); WM_msg_publish_rna_params(mbus, &msg_key_params); } diff --git a/source/blender/editors/space_view3d/view3d_gizmo_camera.cc b/source/blender/editors/space_view3d/view3d_gizmo_camera.cc index a03196be721..965c6a88279 100644 --- a/source/blender/editors/space_view3d/view3d_gizmo_camera.cc +++ b/source/blender/editors/space_view3d/view3d_gizmo_camera.cc @@ -138,10 +138,9 @@ static void WIDGETGROUP_camera_refresh(const bContext *C, wmGizmoGroup *gzgroup) BKE_view_layer_synced_ensure(scene, view_layer); Object *ob = BKE_view_layer_active_object_get(view_layer); Camera *ca = static_cast(ob->data); - PointerRNA camera_ptr; float dir[3]; - RNA_pointer_create(&ca->id, &RNA_Camera, ca, &camera_ptr); + PointerRNA camera_ptr = RNA_pointer_create(&ca->id, &RNA_Camera, ca); negate_v3_v3(dir, ob->object_to_world[2]); @@ -152,8 +151,7 @@ static void WIDGETGROUP_camera_refresh(const bContext *C, wmGizmoGroup *gzgroup) WM_gizmo_set_flag(cagzgroup->dop_dist, WM_GIZMO_HIDDEN, false); /* Need to set property here for undo. TODO: would prefer to do this in _init. */ - PointerRNA camera_dof_ptr; - RNA_pointer_create(&ca->id, &RNA_CameraDOFSettings, &ca->dof, &camera_dof_ptr); + PointerRNA camera_dof_ptr = RNA_pointer_create(&ca->id, &RNA_CameraDOFSettings, &ca->dof); WM_gizmo_target_property_def_rna( cagzgroup->dop_dist, "offset", &camera_dof_ptr, "focus_distance", -1); } @@ -276,8 +274,7 @@ static void WIDGETGROUP_camera_message_subscribe(const bContext *C, &rna_Camera_lens, }; - PointerRNA idptr; - RNA_id_pointer_create(&ca->id, &idptr); + PointerRNA idptr = RNA_id_pointer_create(&ca->id); for (int i = 0; i < ARRAY_SIZE(props); i++) { WM_msg_subscribe_rna(mbus, &idptr, props[i], &msg_sub_value_gz_tag_refresh, __func__); diff --git a/source/blender/editors/space_view3d/view3d_gizmo_forcefield.cc b/source/blender/editors/space_view3d/view3d_gizmo_forcefield.cc index 62c96b61d32..e2371a5527c 100644 --- a/source/blender/editors/space_view3d/view3d_gizmo_forcefield.cc +++ b/source/blender/editors/space_view3d/view3d_gizmo_forcefield.cc @@ -87,9 +87,8 @@ static void WIDGETGROUP_forcefield_refresh(const bContext *C, wmGizmoGroup *gzgr if (pd->forcefield == PFIELD_WIND) { const float size = (ob->type == OB_EMPTY) ? ob->empty_drawsize : 1.0f; const float ofs[3] = {0.0f, -size, 0.0f}; - PointerRNA field_ptr; - RNA_pointer_create(&ob->id, &RNA_FieldSettings, pd, &field_ptr); + PointerRNA field_ptr = RNA_pointer_create(&ob->id, &RNA_FieldSettings, pd); WM_gizmo_set_matrix_location(gz, ob->object_to_world[3]); WM_gizmo_set_matrix_rotation_from_z_axis(gz, ob->object_to_world[2]); WM_gizmo_set_matrix_offset_location(gz, ofs); diff --git a/source/blender/editors/space_view3d/view3d_gizmo_light.cc b/source/blender/editors/space_view3d/view3d_gizmo_light.cc index 56792f8878a..301d430ccd8 100644 --- a/source/blender/editors/space_view3d/view3d_gizmo_light.cc +++ b/source/blender/editors/space_view3d/view3d_gizmo_light.cc @@ -90,8 +90,7 @@ static void gizmo_spot_blend_prop_matrix_set(const wmGizmo * /*gz*/, float spot_blend = safe_divide(clamp_f(c - a, 0.0f, 1.0f - a), 1.0f - a); - PointerRNA light_ptr; - RNA_pointer_create(&la->id, &RNA_Light, la, &light_ptr); + PointerRNA light_ptr = RNA_pointer_create(&la->id, &RNA_Light, la); PropertyRNA *spot_blend_prop = RNA_struct_find_property(&light_ptr, "spot_blend"); RNA_property_float_set(&light_ptr, spot_blend_prop, spot_blend); @@ -131,8 +130,7 @@ static void gizmo_light_radius_prop_matrix_set(const wmGizmo * /*gz*/, const float radius = 0.5f * len_v3(matrix[0]); - PointerRNA light_ptr; - RNA_pointer_create(&la->id, &RNA_Light, la, &light_ptr); + PointerRNA light_ptr = RNA_pointer_create(&la->id, &RNA_Light, la); PropertyRNA *radius_prop = RNA_struct_find_property(&light_ptr, "shadow_soft_size"); RNA_property_float_set(&light_ptr, radius_prop, radius); @@ -231,8 +229,7 @@ static void WIDGETGROUP_light_spot_refresh(const bContext *C, wmGizmoGroup *gzgr /* Spot angle gizmo. */ { - PointerRNA lamp_ptr; - RNA_pointer_create(&la->id, &RNA_Light, la, &lamp_ptr); + PointerRNA lamp_ptr = RNA_pointer_create(&la->id, &RNA_Light, la); wmGizmo *gz = ls_gzgroup->spot_angle; float dir[3]; diff --git a/source/blender/editors/space_view3d/view3d_gizmo_tool_generic.cc b/source/blender/editors/space_view3d/view3d_gizmo_tool_generic.cc index b31e98e4071..f23cc8e9d76 100644 --- a/source/blender/editors/space_view3d/view3d_gizmo_tool_generic.cc +++ b/source/blender/editors/space_view3d/view3d_gizmo_tool_generic.cc @@ -178,8 +178,8 @@ static void WIDGETGROUP_gizmo_message_subscribe(const bContext *C, }; Scene *scene = CTX_data_scene(C); - PointerRNA toolsettings_ptr; - RNA_pointer_create(&scene->id, &RNA_ToolSettings, scene->toolsettings, &toolsettings_ptr); + PointerRNA toolsettings_ptr = RNA_pointer_create( + &scene->id, &RNA_ToolSettings, scene->toolsettings); for (int i = 0; i < ARRAY_SIZE(props); i++) { WM_msg_subscribe_rna( diff --git a/source/blender/editors/space_view3d/view3d_header.cc b/source/blender/editors/space_view3d/view3d_header.cc index c453a66a4f9..a47249fcc57 100644 --- a/source/blender/editors/space_view3d/view3d_header.cc +++ b/source/blender/editors/space_view3d/view3d_header.cc @@ -130,9 +130,7 @@ static void uiTemplatePaintModeSelection(uiLayout *layout, bContext *C) /* Gizmos aren't used in paint modes */ if (!ELEM(ob->mode, OB_MODE_SCULPT, OB_MODE_PARTICLE_EDIT)) { /* masks aren't used for sculpt and particle painting */ - PointerRNA meshptr; - - RNA_pointer_create(static_cast(ob->data), &RNA_Mesh, ob->data, &meshptr); + PointerRNA meshptr = RNA_pointer_create(static_cast(ob->data), &RNA_Mesh, ob->data); if (ob->mode & OB_MODE_TEXTURE_PAINT) { uiItemR(layout, &meshptr, "use_paint_mask", UI_ITEM_R_ICON_ONLY, "", ICON_NONE); } diff --git a/source/blender/editors/transform/transform.cc b/source/blender/editors/transform/transform.cc index 2c93f5884e6..a721f8404ab 100644 --- a/source/blender/editors/transform/transform.cc +++ b/source/blender/editors/transform/transform.cc @@ -1717,7 +1717,7 @@ void saveTransform(bContext *C, TransInfo *t, wmOperator *op) short *snap_flag_ptr; wmMsgParams_RNA msg_key_params = {{nullptr}}; - RNA_pointer_create(&t->scene->id, &RNA_ToolSettings, ts, &msg_key_params.ptr); + msg_key_params.ptr = RNA_pointer_create(&t->scene->id, &RNA_ToolSettings, ts); if (t->spacetype == SPACE_NODE) { snap_flag_ptr = &ts->snap_flag_node; diff --git a/source/blender/editors/transform/transform_convert_nla.cc b/source/blender/editors/transform/transform_convert_nla.cc index 33536269504..44cc337140d 100644 --- a/source/blender/editors/transform/transform_convert_nla.cc +++ b/source/blender/editors/transform/transform_convert_nla.cc @@ -368,8 +368,6 @@ static void nlastrip_fix_overlapping(TransInfo *t, TransDataNla *tdn, NlaStrip * NlaStrip *prev = BKE_nlastrip_prev_in_track(strip, true); NlaStrip *next = BKE_nlastrip_next_in_track(strip, true); - PointerRNA strip_ptr; - for (short iter = 0; iter <= iter_max; iter++) { const bool p_exceeded = (prev != nullptr) && (tdn->h1[0] < prev->end); const bool n_exceeded = (next != nullptr) && (tdn->h2[0] > next->start); @@ -410,7 +408,7 @@ static void nlastrip_fix_overlapping(TransInfo *t, TransDataNla *tdn, NlaStrip * /* Use RNA to write the values to ensure that constraints on these are obeyed * (e.g. for transition strips, the values are taken from the neighbors). */ - RNA_pointer_create(nullptr, &RNA_NlaStrip, strip, &strip_ptr); + PointerRNA strip_ptr = RNA_pointer_create(nullptr, &RNA_NlaStrip, strip); switch (t->mode) { case TFM_TIME_EXTEND: diff --git a/source/blender/editors/transform/transform_convert_sequencer_image.cc b/source/blender/editors/transform/transform_convert_sequencer_image.cc index 5f47549efab..58f34dcc509 100644 --- a/source/blender/editors/transform/transform_convert_sequencer_image.cc +++ b/source/blender/editors/transform/transform_convert_sequencer_image.cc @@ -165,9 +165,8 @@ static bool autokeyframe_sequencer_image(bContext *C, StripTransform *transform, const int tmode) { - PointerRNA ptr; PropertyRNA *prop; - RNA_pointer_create(&scene->id, &RNA_SequenceTransform, transform, &ptr); + PointerRNA ptr = RNA_pointer_create(&scene->id, &RNA_SequenceTransform, transform); const bool around_cursor = scene->toolsettings->sequencer_tool_settings->pivot_point == V3D_AROUND_CURSOR; diff --git a/source/blender/editors/transform/transform_gizmo_2d.cc b/source/blender/editors/transform/transform_gizmo_2d.cc index 8c3d3fc8293..5b56cbb658f 100644 --- a/source/blender/editors/transform/transform_gizmo_2d.cc +++ b/source/blender/editors/transform/transform_gizmo_2d.cc @@ -118,8 +118,7 @@ static void gizmo2d_pivot_point_message_subscribe(wmGizmoGroup *gzgroup, switch (area->spacetype) { case SPACE_IMAGE: { SpaceImage *sima = static_cast(area->spacedata.first); - PointerRNA ptr; - RNA_pointer_create(&screen->id, &RNA_SpaceImageEditor, sima, &ptr); + PointerRNA ptr = RNA_pointer_create(&screen->id, &RNA_SpaceImageEditor, sima); { const PropertyRNA *props[] = { &rna_SpaceImageEditor_pivot_point, diff --git a/source/blender/editors/transform/transform_gizmo_3d.cc b/source/blender/editors/transform/transform_gizmo_3d.cc index b0eab61c9ae..e3ad16e2738 100644 --- a/source/blender/editors/transform/transform_gizmo_3d.cc +++ b/source/blender/editors/transform/transform_gizmo_3d.cc @@ -1180,12 +1180,11 @@ void gizmo_xform_message_subscribe(wmGizmoGroup *gzgroup, } TransformOrientationSlot *orient_slot = BKE_scene_orientation_slot_get_from_flag(scene, orient_flag); - PointerRNA orient_ref_ptr; - RNA_pointer_create(&scene->id, &RNA_TransformOrientationSlot, orient_slot, &orient_ref_ptr); + PointerRNA orient_ref_ptr = RNA_pointer_create( + &scene->id, &RNA_TransformOrientationSlot, orient_slot); const ToolSettings *ts = scene->toolsettings; - PointerRNA scene_ptr; - RNA_id_pointer_create(&scene->id, &scene_ptr); + PointerRNA scene_ptr = RNA_id_pointer_create(&scene->id); { const PropertyRNA *props[] = { &rna_Scene_transform_orientation_slots, @@ -1198,8 +1197,7 @@ void gizmo_xform_message_subscribe(wmGizmoGroup *gzgroup, if ((ts->transform_pivot_point == V3D_AROUND_CURSOR) || (orient_slot->type == V3D_ORIENT_CURSOR)) { /* We could be more specific here, for now subscribe to any cursor change. */ - PointerRNA cursor_ptr; - RNA_pointer_create(&scene->id, &RNA_View3DCursor, &scene->cursor, &cursor_ptr); + PointerRNA cursor_ptr = RNA_pointer_create(&scene->id, &RNA_View3DCursor, &scene->cursor); WM_msg_subscribe_rna(mbus, &cursor_ptr, nullptr, &msg_sub_value_gz_tag_refresh, __func__); } @@ -1216,8 +1214,8 @@ void gizmo_xform_message_subscribe(wmGizmoGroup *gzgroup, } } - PointerRNA toolsettings_ptr; - RNA_pointer_create(&scene->id, &RNA_ToolSettings, scene->toolsettings, &toolsettings_ptr); + PointerRNA toolsettings_ptr = RNA_pointer_create( + &scene->id, &RNA_ToolSettings, scene->toolsettings); if (ELEM(type_fn, VIEW3D_GGT_xform_gizmo, VIEW3D_GGT_xform_shear)) { const PropertyRNA *props[] = { @@ -1239,8 +1237,7 @@ void gizmo_xform_message_subscribe(wmGizmoGroup *gzgroup, } } - PointerRNA view3d_ptr; - RNA_pointer_create(&screen->id, &RNA_SpaceView3D, area->spacedata.first, &view3d_ptr); + PointerRNA view3d_ptr = RNA_pointer_create(&screen->id, &RNA_SpaceView3D, area->spacedata.first); if (type_fn == VIEW3D_GGT_xform_gizmo) { GizmoGroup *ggd = static_cast(gzgroup->customdata); diff --git a/source/blender/editors/transform/transform_gizmo_extrude_3d.cc b/source/blender/editors/transform/transform_gizmo_extrude_3d.cc index 21256af1177..fa5daebc0de 100644 --- a/source/blender/editors/transform/transform_gizmo_extrude_3d.cc +++ b/source/blender/editors/transform/transform_gizmo_extrude_3d.cc @@ -477,8 +477,8 @@ static void gizmo_mesh_extrude_message_subscribe(const bContext *C, { Scene *scene = CTX_data_scene(C); - PointerRNA toolsettings_ptr; - RNA_pointer_create(&scene->id, &RNA_ToolSettings, scene->toolsettings, &toolsettings_ptr); + PointerRNA toolsettings_ptr = RNA_pointer_create( + &scene->id, &RNA_ToolSettings, scene->toolsettings); const PropertyRNA *props[] = { &rna_ToolSettings_workspace_tool_type, }; diff --git a/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp b/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp index b9f3931d9c8..84a10b5507e 100644 --- a/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp +++ b/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp @@ -245,7 +245,7 @@ Material *BlenderStrokeRenderer::GetStrokeShader(Main *bmain, mix_rgb_color->locx = 200.0f; mix_rgb_color->locy = -200.0f; tosock = (bNodeSocket *)BLI_findlink(&mix_rgb_color->inputs, 0); // Fac - RNA_pointer_create((ID *)ntree, &RNA_NodeSocket, tosock, &toptr); + toptr = RNA_pointer_create((ID *)ntree, &RNA_NodeSocket, tosock); RNA_float_set(&toptr, "default_value", 0.0f); bNode *input_attr_alpha = nodeAddStaticNode(nullptr, ntree, SH_NODE_ATTRIBUTE); @@ -259,7 +259,7 @@ Material *BlenderStrokeRenderer::GetStrokeShader(Main *bmain, mix_rgb_alpha->locx = 600.0f; mix_rgb_alpha->locy = 300.0f; tosock = (bNodeSocket *)BLI_findlink(&mix_rgb_alpha->inputs, 0); // Fac - RNA_pointer_create((ID *)ntree, &RNA_NodeSocket, tosock, &toptr); + toptr = RNA_pointer_create((ID *)ntree, &RNA_NodeSocket, tosock); RNA_float_set(&toptr, "default_value", 0.0f); bNode *shader_emission = nodeAddStaticNode(nullptr, ntree, SH_NODE_EMISSION); @@ -337,8 +337,8 @@ Material *BlenderStrokeRenderer::GetStrokeShader(Main *bmain, } else { float color[4]; - RNA_pointer_create((ID *)ntree, &RNA_NodeSocket, outsock, &fromptr); - RNA_pointer_create((ID *)ntree, &RNA_NodeSocket, tosock, &toptr); + fromptr = RNA_pointer_create((ID *)ntree, &RNA_NodeSocket, outsock); + toptr = RNA_pointer_create((ID *)ntree, &RNA_NodeSocket, tosock); RNA_float_get_array(&fromptr, "default_value", color); RNA_float_set_array(&toptr, "default_value", color); } @@ -350,8 +350,8 @@ Material *BlenderStrokeRenderer::GetStrokeShader(Main *bmain, nodeAddLink(ntree, link->fromnode, link->fromsock, mix_rgb_color, tosock); } else { - RNA_pointer_create((ID *)ntree, &RNA_NodeSocket, outsock, &fromptr); - RNA_pointer_create((ID *)ntree, &RNA_NodeSocket, tosock, &toptr); + fromptr = RNA_pointer_create((ID *)ntree, &RNA_NodeSocket, outsock); + toptr = RNA_pointer_create((ID *)ntree, &RNA_NodeSocket, tosock); RNA_float_set(&toptr, "default_value", RNA_float_get(&fromptr, "default_value")); } @@ -363,8 +363,8 @@ Material *BlenderStrokeRenderer::GetStrokeShader(Main *bmain, } else { float color[4]; - RNA_pointer_create((ID *)ntree, &RNA_NodeSocket, outsock, &fromptr); - RNA_pointer_create((ID *)ntree, &RNA_NodeSocket, tosock, &toptr); + fromptr = RNA_pointer_create((ID *)ntree, &RNA_NodeSocket, outsock); + toptr = RNA_pointer_create((ID *)ntree, &RNA_NodeSocket, tosock); color[0] = color[1] = color[2] = RNA_float_get(&fromptr, "default_value"); color[3] = 1.0f; RNA_float_set_array(&toptr, "default_value", color); @@ -377,8 +377,8 @@ Material *BlenderStrokeRenderer::GetStrokeShader(Main *bmain, nodeAddLink(ntree, link->fromnode, link->fromsock, mix_rgb_alpha, tosock); } else { - RNA_pointer_create((ID *)ntree, &RNA_NodeSocket, outsock, &fromptr); - RNA_pointer_create((ID *)ntree, &RNA_NodeSocket, tosock, &toptr); + fromptr = RNA_pointer_create((ID *)ntree, &RNA_NodeSocket, outsock); + toptr = RNA_pointer_create((ID *)ntree, &RNA_NodeSocket, tosock); RNA_float_set(&toptr, "default_value", RNA_float_get(&fromptr, "default_value")); } diff --git a/source/blender/freestyle/intern/python/BPy_Freestyle.cpp b/source/blender/freestyle/intern/python/BPy_Freestyle.cpp index ba134f6bbfa..6a5910b02c8 100644 --- a/source/blender/freestyle/intern/python/BPy_Freestyle.cpp +++ b/source/blender/freestyle/intern/python/BPy_Freestyle.cpp @@ -65,8 +65,7 @@ static PyObject *Freestyle_getCurrentScene(PyObject * /*self*/) PyErr_SetString(PyExc_TypeError, "current scene not available"); return nullptr; } - PointerRNA ptr_scene; - RNA_pointer_create(&scene->id, &RNA_Scene, scene, &ptr_scene); + PointerRNA ptr_scene = RNA_pointer_create(&scene->id, &RNA_Scene, scene); return pyrna_struct_CreatePyObject(&ptr_scene); } diff --git a/source/blender/gpencil_modifiers_legacy/intern/MOD_gpencil_legacy_dash.cc b/source/blender/gpencil_modifiers_legacy/intern/MOD_gpencil_legacy_dash.cc index e3293cf7ec3..70f0ed96549 100644 --- a/source/blender/gpencil_modifiers_legacy/intern/MOD_gpencil_legacy_dash.cc +++ b/source/blender/gpencil_modifiers_legacy/intern/MOD_gpencil_legacy_dash.cc @@ -332,11 +332,8 @@ static void panel_draw(const bContext *C, Panel *panel) DashGpencilModifierData *dmd = static_cast(ptr->data); if (dmd->segment_active_index >= 0 && dmd->segment_active_index < dmd->segments_len) { - PointerRNA ds_ptr; - RNA_pointer_create(ptr->owner_id, - &RNA_DashGpencilModifierSegment, - &dmd->segments[dmd->segment_active_index], - &ds_ptr); + PointerRNA ds_ptr = RNA_pointer_create( + ptr->owner_id, &RNA_DashGpencilModifierSegment, &dmd->segments[dmd->segment_active_index]); sub = uiLayoutColumn(layout, true); uiItemR(sub, &ds_ptr, "dash", UI_ITEM_NONE, nullptr, ICON_NONE); diff --git a/source/blender/gpencil_modifiers_legacy/intern/MOD_gpencil_legacy_time.cc b/source/blender/gpencil_modifiers_legacy/intern/MOD_gpencil_legacy_time.cc index 8569c3c0937..fdc66c150d4 100644 --- a/source/blender/gpencil_modifiers_legacy/intern/MOD_gpencil_legacy_time.cc +++ b/source/blender/gpencil_modifiers_legacy/intern/MOD_gpencil_legacy_time.cc @@ -346,11 +346,9 @@ static void panel_draw(const bContext *C, Panel *panel) TimeGpencilModifierData *gpmd = static_cast(ptr->data); if (gpmd->segment_active_index >= 0 && gpmd->segment_active_index < gpmd->segments_len) { - PointerRNA ds_ptr; - RNA_pointer_create(ptr->owner_id, - &RNA_TimeGpencilModifierSegment, - &gpmd->segments[gpmd->segment_active_index], - &ds_ptr); + PointerRNA ds_ptr = RNA_pointer_create(ptr->owner_id, + &RNA_TimeGpencilModifierSegment, + &gpmd->segments[gpmd->segment_active_index]); sub = uiLayoutColumn(layout, true); uiItemR(sub, &ds_ptr, "seg_mode", UI_ITEM_NONE, nullptr, ICON_NONE); diff --git a/source/blender/gpencil_modifiers_legacy/intern/MOD_gpencil_legacy_ui_common.cc b/source/blender/gpencil_modifiers_legacy/intern/MOD_gpencil_legacy_ui_common.cc index 614f4d1fa42..64b89b22518 100644 --- a/source/blender/gpencil_modifiers_legacy/intern/MOD_gpencil_legacy_ui_common.cc +++ b/source/blender/gpencil_modifiers_legacy/intern/MOD_gpencil_legacy_ui_common.cc @@ -212,7 +212,7 @@ PointerRNA *gpencil_modifier_panel_get_property_pointers(Panel *panel, PointerRN BLI_assert(RNA_struct_is_a(ptr->type, &RNA_GpencilModifier)); if (r_ob_ptr != nullptr) { - RNA_pointer_create(ptr->owner_id, &RNA_Object, ptr->owner_id, r_ob_ptr); + *r_ob_ptr = RNA_pointer_create(ptr->owner_id, &RNA_Object, ptr->owner_id); } uiBlock *block = uiLayoutGetBlock(panel->layout); @@ -232,9 +232,8 @@ static void gpencil_modifier_ops_extra_draw(bContext *C, uiLayout *layout, void const GpencilModifierTypeInfo *mti = BKE_gpencil_modifier_get_info( GpencilModifierType(md->type)); - PointerRNA ptr; Object *ob = ED_object_active_context(C); - RNA_pointer_create(&ob->id, &RNA_GpencilModifier, md, &ptr); + PointerRNA ptr = RNA_pointer_create(&ob->id, &RNA_GpencilModifier, md); uiLayoutSetContextPointer(layout, "modifier", &ptr); uiLayoutSetOperatorContext(layout, WM_OP_INVOKE_DEFAULT); diff --git a/source/blender/io/collada/BCAnimationCurve.cpp b/source/blender/io/collada/BCAnimationCurve.cpp index 33639f8aae1..ca3268fcc0e 100644 --- a/source/blender/io/collada/BCAnimationCurve.cpp +++ b/source/blender/io/collada/BCAnimationCurve.cpp @@ -50,22 +50,22 @@ void BCAnimationCurve::init_pointer_rna(Object *ob) switch (this->curve_key.get_animation_type()) { case BC_ANIMATION_TYPE_BONE: { bArmature *arm = (bArmature *)ob->data; - RNA_id_pointer_create(&arm->id, &id_ptr); + id_ptr = RNA_id_pointer_create(&arm->id); } break; case BC_ANIMATION_TYPE_OBJECT: { - RNA_id_pointer_create(&ob->id, &id_ptr); + id_ptr = RNA_id_pointer_create(&ob->id); } break; case BC_ANIMATION_TYPE_MATERIAL: { Material *ma = BKE_object_material_get(ob, curve_key.get_subindex() + 1); - RNA_id_pointer_create(&ma->id, &id_ptr); + id_ptr = RNA_id_pointer_create(&ma->id); } break; case BC_ANIMATION_TYPE_CAMERA: { Camera *camera = (Camera *)ob->data; - RNA_id_pointer_create(&camera->id, &id_ptr); + id_ptr = RNA_id_pointer_create(&camera->id); } break; case BC_ANIMATION_TYPE_LIGHT: { Light *lamp = (Light *)ob->data; - RNA_id_pointer_create(&lamp->id, &id_ptr); + id_ptr = RNA_id_pointer_create(&lamp->id); } break; default: fprintf( diff --git a/source/blender/io/collada/DocumentExporter.cpp b/source/blender/io/collada/DocumentExporter.cpp index 36fdb5657fb..1e971bb37aa 100644 --- a/source/blender/io/collada/DocumentExporter.cpp +++ b/source/blender/io/collada/DocumentExporter.cpp @@ -166,7 +166,7 @@ int DocumentExporter::exportCurrentScene() Scene *sce = blender_context.get_scene(); bContext *C = blender_context.get_context(); - PointerRNA sceneptr, unit_settings; + PointerRNA unit_settings; PropertyRNA *system; /* unused, *scale; */ clear_global_id_map(); @@ -180,7 +180,7 @@ int DocumentExporter::exportCurrentScene() /* */ COLLADASW::Asset asset(writer); - RNA_id_pointer_create(&(sce->id), &sceneptr); + PointerRNA sceneptr = RNA_id_pointer_create(&sce->id); unit_settings = RNA_pointer_get(&sceneptr, "unit_settings"); system = RNA_struct_find_property(&unit_settings, "system"); // scale = RNA_struct_find_property(&unit_settings, "scale_length"); diff --git a/source/blender/io/collada/DocumentImporter.cpp b/source/blender/io/collada/DocumentImporter.cpp index dbdc66ea01d..ed0680ac568 100644 --- a/source/blender/io/collada/DocumentImporter.cpp +++ b/source/blender/io/collada/DocumentImporter.cpp @@ -182,12 +182,12 @@ void DocumentImporter::finish() /** TODO: Break up and put into 2-pass parsing of DAE. */ std::vector::iterator sit; for (sit = vscenes.begin(); sit != vscenes.end(); sit++) { - PointerRNA sceneptr, unit_settings; + PointerRNA unit_settings; PropertyRNA *system, *scale; /* for scene unit settings: system, scale_length */ - RNA_id_pointer_create(&sce->id, &sceneptr); + PointerRNA sceneptr = RNA_id_pointer_create(&sce->id); unit_settings = RNA_pointer_get(&sceneptr, "unit_settings"); system = RNA_struct_find_property(&unit_settings, "system"); scale = RNA_struct_find_property(&unit_settings, "scale_length"); diff --git a/source/blender/io/collada/collada_internal.cpp b/source/blender/io/collada/collada_internal.cpp index 55db900a554..5ed83cf2da5 100644 --- a/source/blender/io/collada/collada_internal.cpp +++ b/source/blender/io/collada/collada_internal.cpp @@ -113,9 +113,9 @@ float (&UnitConverter::get_scale())[4][4] void UnitConverter::calculate_scale(Scene &sce) { - PointerRNA scene_ptr, unit_settings; + PointerRNA unit_settings; PropertyRNA *system_ptr, *scale_ptr; - RNA_id_pointer_create(&sce.id, &scene_ptr); + PointerRNA scene_ptr = RNA_id_pointer_create(&sce.id); unit_settings = RNA_pointer_get(&scene_ptr, "unit_settings"); system_ptr = RNA_struct_find_property(&unit_settings, "system"); diff --git a/source/blender/io/usd/intern/usd_hook.cc b/source/blender/io/usd/intern/usd_hook.cc index dcfb32a19a7..a60ecf679ae 100644 --- a/source/blender/io/usd/intern/usd_hook.cc +++ b/source/blender/io/usd/intern/usd_hook.cc @@ -83,7 +83,7 @@ struct USDSceneExportContext { USDSceneExportContext(pxr::UsdStageRefPtr in_stage, Depsgraph *depsgraph) : stage(in_stage) { - RNA_pointer_create(nullptr, &RNA_Depsgraph, depsgraph, &depsgraph_ptr); + depsgraph_ptr = RNA_pointer_create(nullptr, &RNA_Depsgraph, depsgraph); } pxr::UsdStageRefPtr get_stage() @@ -261,7 +261,7 @@ class OnMaterialExportInvoker : public USDHookInvoker { pxr::UsdShadeMaterial &usd_material) : hook_context_(stage), usd_material_(usd_material) { - RNA_pointer_create(nullptr, &RNA_Material, material, &material_ptr_); + material_ptr_ = RNA_pointer_create(nullptr, &RNA_Material, material); } protected: diff --git a/source/blender/makesrna/RNA_access.hh b/source/blender/makesrna/RNA_access.hh index 5873770c134..61ae29d3dc8 100644 --- a/source/blender/makesrna/RNA_access.hh +++ b/source/blender/makesrna/RNA_access.hh @@ -41,9 +41,9 @@ extern BlenderRNA BLENDER_RNA; * There is also a way to get a pointer with the information about all structs. */ -void RNA_main_pointer_create(struct Main *main, PointerRNA *r_ptr); -void RNA_id_pointer_create(struct ID *id, PointerRNA *r_ptr); -void RNA_pointer_create(struct ID *id, StructRNA *type, void *data, PointerRNA *r_ptr); +PointerRNA RNA_main_pointer_create(struct Main *main); +PointerRNA RNA_id_pointer_create(struct ID *id); +PointerRNA RNA_pointer_create(struct ID *id, StructRNA *type, void *data); bool RNA_pointer_is_null(const PointerRNA *ptr); bool RNA_path_resolved_create(PointerRNA *ptr, @@ -51,8 +51,8 @@ bool RNA_path_resolved_create(PointerRNA *ptr, int prop_index, PathResolvedRNA *r_anim_rna); -void RNA_blender_rna_pointer_create(PointerRNA *r_ptr); -void RNA_pointer_recast(PointerRNA *ptr, PointerRNA *r_ptr); +PointerRNA RNA_blender_rna_pointer_create(); +PointerRNA RNA_pointer_recast(PointerRNA *ptr); extern const PointerRNA PointerRNA_NULL; diff --git a/source/blender/makesrna/intern/makesrna.cc b/source/blender/makesrna/intern/makesrna.cc index fee7a7a7250..172f9104f09 100644 --- a/source/blender/makesrna/intern/makesrna.cc +++ b/source/blender/makesrna/intern/makesrna.cc @@ -2969,11 +2969,11 @@ static void rna_def_struct_function_impl_cpp(FILE *f, StructRNA *srna, FunctionD fprintf(f, "\t\t::%s *retdata = ", rna_parameter_type_name(dp->prop)); rna_def_struct_function_call_impl_cpp(f, srna, dfunc); if (ret_srna->flag & STRUCT_ID) { - fprintf(f, "\t\tRNA_id_pointer_create((::ID *) retdata, &result);\n"); + fprintf(f, "\t\tresult = RNA_id_pointer_create((::ID *) retdata);\n"); } else { fprintf(f, - "\t\tRNA_pointer_create((::ID *) ptr.owner_id, &RNA_%s, retdata, &result);\n", + "\t\tresult = RNA_pointer_create((::ID *) ptr.owner_id, &RNA_%s, retdata);\n", (const char *)pprop->type); } } diff --git a/source/blender/makesrna/intern/rna_ID.cc b/source/blender/makesrna/intern/rna_ID.cc index 2da06ccfcb2..8ee7f23d13a 100644 --- a/source/blender/makesrna/intern/rna_ID.cc +++ b/source/blender/makesrna/intern/rna_ID.cc @@ -642,10 +642,8 @@ StructRNA *rna_PropertyGroup_register(Main * /*bmain*/, StructCallbackFunc /*call*/, StructFreeFunc /*free*/) { - PointerRNA dummy_ptr; - /* create dummy pointer */ - RNA_pointer_create(nullptr, &RNA_PropertyGroup, nullptr, &dummy_ptr); + PointerRNA dummy_ptr = RNA_pointer_create(nullptr, &RNA_PropertyGroup, nullptr); /* validate the python class */ if (validate(&dummy_ptr, data, nullptr) != 0) { diff --git a/source/blender/makesrna/intern/rna_access.cc b/source/blender/makesrna/intern/rna_access.cc index cf48a46976d..8703f8ccc82 100644 --- a/source/blender/makesrna/intern/rna_access.cc +++ b/source/blender/makesrna/intern/rna_access.cc @@ -106,14 +106,16 @@ void RNA_exit() /* Pointer */ -void RNA_main_pointer_create(Main *main, PointerRNA *r_ptr) +PointerRNA RNA_main_pointer_create(Main *main) { - r_ptr->owner_id = nullptr; - r_ptr->type = &RNA_BlendData; - r_ptr->data = main; + PointerRNA ptr; + ptr.owner_id = nullptr; + ptr.type = &RNA_BlendData; + ptr.data = main; + return ptr; } -void RNA_id_pointer_create(ID *id, PointerRNA *r_ptr) +PointerRNA RNA_id_pointer_create(ID *id) { StructRNA *type, *idtype = nullptr; @@ -132,12 +134,14 @@ void RNA_id_pointer_create(ID *id, PointerRNA *r_ptr) } } - r_ptr->owner_id = id; - r_ptr->type = idtype; - r_ptr->data = id; + PointerRNA ptr; + ptr.owner_id = id; + ptr.type = idtype; + ptr.data = id; + return ptr; } -void RNA_pointer_create(ID *id, StructRNA *type, void *data, PointerRNA *r_ptr) +PointerRNA RNA_pointer_create(ID *id, StructRNA *type, void *data) { #if 0 /* UNUSED */ StructRNA *idtype = nullptr; @@ -149,20 +153,23 @@ void RNA_pointer_create(ID *id, StructRNA *type, void *data, PointerRNA *r_ptr) } #endif - r_ptr->owner_id = id; - r_ptr->type = type; - r_ptr->data = data; + PointerRNA ptr; + ptr.owner_id = id; + ptr.type = type; + ptr.data = data; if (data) { - while (r_ptr->type && r_ptr->type->refine) { - StructRNA *rtype = r_ptr->type->refine(r_ptr); + while (ptr.type && ptr.type->refine) { + StructRNA *rtype = ptr.type->refine(&ptr); - if (rtype == r_ptr->type) { + if (rtype == ptr.type) { break; } - r_ptr->type = rtype; + ptr.type = rtype; } } + + return ptr; } bool RNA_pointer_is_null(const PointerRNA *ptr) @@ -180,11 +187,13 @@ static void rna_pointer_inherit_id(StructRNA *type, PointerRNA *parent, PointerR } } -void RNA_blender_rna_pointer_create(PointerRNA *r_ptr) +PointerRNA RNA_blender_rna_pointer_create() { - r_ptr->owner_id = nullptr; - r_ptr->type = &RNA_BlenderRNA; - r_ptr->data = &BLENDER_RNA; + PointerRNA ptr; + ptr.owner_id = nullptr; + ptr.type = &RNA_BlenderRNA; + ptr.data = &BLENDER_RNA; + return ptr; } PointerRNA rna_pointer_inherit_refine(PointerRNA *ptr, StructRNA *type, void *data) @@ -208,26 +217,28 @@ PointerRNA rna_pointer_inherit_refine(PointerRNA *ptr, StructRNA *type, void *da return PointerRNA_NULL; } -void RNA_pointer_recast(PointerRNA *ptr, PointerRNA *r_ptr) +PointerRNA RNA_pointer_recast(PointerRNA *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->owner_id, r_ptr); + *r_ptr = RNA_id_pointer_create(ptr->owner_id); } else #endif { + PointerRNA r_ptr; StructRNA *base; PointerRNA t_ptr; - *r_ptr = *ptr; /* initialize as the same in case can't recast */ + r_ptr = *ptr; /* initialize as the same in case can't recast */ for (base = ptr->type->base; base; base = base->base) { t_ptr = rna_pointer_inherit_refine(ptr, base, ptr->data); if (t_ptr.type && t_ptr.type != ptr->type) { - *r_ptr = t_ptr; + r_ptr = t_ptr; } } + return r_ptr; } } @@ -793,10 +804,9 @@ bool RNA_struct_contains_property(PointerRNA *ptr, PropertyRNA *prop_test) uint RNA_struct_count_properties(StructRNA *srna) { - PointerRNA struct_ptr; uint counter = 0; - RNA_pointer_create(nullptr, srna, nullptr, &struct_ptr); + PointerRNA struct_ptr = RNA_pointer_create(nullptr, srna, nullptr); RNA_STRUCT_BEGIN (&struct_ptr, prop) { counter++; @@ -844,11 +854,10 @@ FunctionRNA *RNA_struct_find_function(StructRNA *srna, const char *identifier) /* functional but slow */ #else - PointerRNA tptr; PropertyRNA *iterprop; FunctionRNA *func; - RNA_pointer_create(nullptr, &RNA_Struct, srna, &tptr); + PointerRNA tptr = RNA_pointer_create(nullptr, &RNA_Struct, srna); iterprop = RNA_struct_find_property(&tptr, "functions"); func = nullptr; @@ -2078,11 +2087,10 @@ bool RNA_property_path_from_ID_check(PointerRNA *ptr, PropertyRNA *prop) bool ret = false; if (path) { - PointerRNA id_ptr; PointerRNA r_ptr; PropertyRNA *r_prop; - RNA_id_pointer_create(ptr->owner_id, &id_ptr); + PointerRNA id_ptr = RNA_id_pointer_create(ptr->owner_id); if (RNA_path_resolve(&id_ptr, path, &r_ptr, &r_prop) == true) { ret = (prop == r_prop); } @@ -4542,7 +4550,6 @@ static int rna_raw_access(ReportList *reports, int set) { StructRNA *ptype; - PointerRNA itemptr_base; PropertyRNA *itemprop, *iprop; PropertyType itemtype = PropertyType(0); RawArray in; @@ -4557,7 +4564,7 @@ static int rna_raw_access(ReportList *reports, ptype = RNA_property_pointer_type(ptr, prop); /* try to get item property pointer */ - RNA_pointer_create(nullptr, ptype, nullptr, &itemptr_base); + PointerRNA itemptr_base = RNA_pointer_create(nullptr, ptype, nullptr); itemprop = RNA_struct_find_property(&itemptr_base, propname); if (itemprop) { @@ -5658,10 +5665,9 @@ char *RNA_function_as_string_keywords(bContext *C, const bool all_args, const int max_prop_length) { - PointerRNA funcptr; PropertyRNA *iterprop; - RNA_pointer_create(nullptr, &RNA_Function, func, &funcptr); + PointerRNA funcptr = RNA_pointer_create(nullptr, &RNA_Function, func); iterprop = RNA_struct_find_property(&funcptr, "parameters"); @@ -6571,7 +6577,7 @@ static int rna_function_parameter_parse(PointerRNA *ptr, LISTBASE_FOREACH (Link *, link, lb) { clink = MEM_cnew(__func__); - RNA_pointer_create(nullptr, srna, link, &clink->ptr); + clink->ptr = RNA_pointer_create(nullptr, srna, link); BLI_addtail(clb, clink); } @@ -6599,7 +6605,6 @@ int RNA_function_call_direct_va(bContext *C, const char *format, va_list args) { - PointerRNA funcptr; ParameterList parms; ParameterIterator iter; PropertyRNA *pret, *parm; @@ -6609,7 +6614,7 @@ int RNA_function_call_direct_va(bContext *C, char ftype; void **retdata = nullptr; - RNA_pointer_create(nullptr, &RNA_Function, func, &funcptr); + PointerRNA funcptr = RNA_pointer_create(nullptr, &RNA_Function, func); tid = RNA_struct_identifier(ptr->type); fid = RNA_function_identifier(func); diff --git a/source/blender/makesrna/intern/rna_animation.cc b/source/blender/makesrna/intern/rna_animation.cc index b4e068ff2aa..38a844de266 100644 --- a/source/blender/makesrna/intern/rna_animation.cc +++ b/source/blender/makesrna/intern/rna_animation.cc @@ -197,13 +197,12 @@ static bool RKS_POLL_rna_internal(KeyingSetInfo *ksi, bContext *C) { extern FunctionRNA rna_KeyingSetInfo_poll_func; - PointerRNA ptr; ParameterList list; FunctionRNA *func; void *ret; int ok; - RNA_pointer_create(nullptr, ksi->rna_ext.srna, ksi, &ptr); + PointerRNA ptr = RNA_pointer_create(nullptr, ksi->rna_ext.srna, ksi); func = &rna_KeyingSetInfo_poll_func; /* RNA_struct_find_function(&ptr, "poll"); */ RNA_parameter_list_create(&list, &ptr, func); @@ -229,11 +228,10 @@ static void RKS_ITER_rna_internal(KeyingSetInfo *ksi, bContext *C, KeyingSet *ks { extern FunctionRNA rna_KeyingSetInfo_iterator_func; - PointerRNA ptr; ParameterList list; FunctionRNA *func; - RNA_pointer_create(nullptr, ksi->rna_ext.srna, ksi, &ptr); + PointerRNA ptr = RNA_pointer_create(nullptr, ksi->rna_ext.srna, ksi); func = &rna_KeyingSetInfo_iterator_func; /* RNA_struct_find_function(&ptr, "poll"); */ RNA_parameter_list_create(&list, &ptr, func); @@ -254,11 +252,10 @@ static void RKS_GEN_rna_internal(KeyingSetInfo *ksi, bContext *C, KeyingSet *ks, { extern FunctionRNA rna_KeyingSetInfo_generate_func; - PointerRNA ptr; ParameterList list; FunctionRNA *func; - RNA_pointer_create(nullptr, ksi->rna_ext.srna, ksi, &ptr); + PointerRNA ptr = RNA_pointer_create(nullptr, ksi->rna_ext.srna, ksi); func = &rna_KeyingSetInfo_generate_func; /* RNA_struct_find_generate(&ptr, "poll"); */ RNA_parameter_list_create(&list, &ptr, func); @@ -315,13 +312,12 @@ static StructRNA *rna_KeyingSetInfo_register(Main *bmain, const char *error_prefix = "Registering keying set info class:"; KeyingSetInfo dummy_ksi = {nullptr}; KeyingSetInfo *ksi; - PointerRNA dummy_ksi_ptr = {nullptr}; bool have_function[3]; /* setup dummy type info to store static properties in */ /* TODO: perhaps we want to get users to register * as if they're using 'KeyingSet' directly instead? */ - RNA_pointer_create(nullptr, &RNA_KeyingSetInfo, &dummy_ksi, &dummy_ksi_ptr); + PointerRNA dummy_ksi_ptr = RNA_pointer_create(nullptr, &RNA_KeyingSetInfo, &dummy_ksi); /* validate the python class */ if (validate(&dummy_ksi_ptr, data, have_function) != 0) { diff --git a/source/blender/makesrna/intern/rna_armature.cc b/source/blender/makesrna/intern/rna_armature.cc index b98938f7eb0..ebde3aacfa7 100644 --- a/source/blender/makesrna/intern/rna_armature.cc +++ b/source/blender/makesrna/intern/rna_armature.cc @@ -825,7 +825,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->owner_id, &RNA_Bone, bone, r_ptr); + *r_ptr = RNA_pointer_create(ptr->owner_id, &RNA_Bone, bone); return true; } else { diff --git a/source/blender/makesrna/intern/rna_attribute.cc b/source/blender/makesrna/intern/rna_attribute.cc index 251b3881772..071adb69d19 100644 --- a/source/blender/makesrna/intern/rna_attribute.cc +++ b/source/blender/makesrna/intern/rna_attribute.cc @@ -392,8 +392,7 @@ static PointerRNA rna_AttributeGroup_new( DEG_id_tag_update(id, ID_RECALC_GEOMETRY); WM_main_add_notifier(NC_GEOM | ND_DATA, id); - PointerRNA ptr; - RNA_pointer_create(id, &RNA_Attribute, layer, &ptr); + PointerRNA ptr = RNA_pointer_create(id, &RNA_Attribute, layer); return ptr; } @@ -521,8 +520,7 @@ static PointerRNA rna_AttributeGroup_active_get(PointerRNA *ptr) ID *id = ptr->owner_id; CustomDataLayer *layer = BKE_id_attributes_active_get(id); - PointerRNA attribute_ptr; - RNA_pointer_create(id, &RNA_Attribute, layer, &attribute_ptr); + PointerRNA attribute_ptr = RNA_pointer_create(id, &RNA_Attribute, layer); return attribute_ptr; } @@ -563,8 +561,7 @@ static PointerRNA rna_AttributeGroup_active_color_get(PointerRNA *ptr) CD_MASK_COLOR_ALL, ATTR_DOMAIN_MASK_COLOR); - PointerRNA attribute_ptr; - RNA_pointer_create(id, &RNA_Attribute, layer, &attribute_ptr); + PointerRNA attribute_ptr = RNA_pointer_create(id, &RNA_Attribute, layer); return attribute_ptr; } diff --git a/source/blender/makesrna/intern/rna_color.cc b/source/blender/makesrna/intern/rna_color.cc index 451b48f1c24..9b66d0b35d7 100644 --- a/source/blender/makesrna/intern/rna_color.cc +++ b/source/blender/makesrna/intern/rna_color.cc @@ -181,7 +181,6 @@ static char *rna_ColorRamp_path(const PointerRNA *ptr) case ID_NT: { bNodeTree *ntree = (bNodeTree *)id; bNode *node; - PointerRNA node_ptr; char *node_path; for (node = static_cast(ntree->nodes.first); node; node = node->next) { @@ -190,7 +189,7 @@ static char *rna_ColorRamp_path(const PointerRNA *ptr) /* all node color ramp properties called 'color_ramp' * prepend path from ID to the node */ - RNA_pointer_create(id, &RNA_Node, node, &node_ptr); + PointerRNA node_ptr = RNA_pointer_create(id, &RNA_Node, node); node_path = RNA_path_from_ID_to_struct(&node_ptr); path = BLI_sprintfN("%s.color_ramp", node_path); MEM_freeN(node_path); @@ -257,7 +256,7 @@ static char *rna_ColorRampElement_path(const PointerRNA *ptr) for (node = static_cast(ntree->nodes.first); node; node = node->next) { if (ELEM(node->type, SH_NODE_VALTORGB, CMP_NODE_VALTORGB, TEX_NODE_VALTORGB)) { - RNA_pointer_create(id, &RNA_ColorRamp, node->storage, &ramp_ptr); + ramp_ptr = RNA_pointer_create(id, &RNA_ColorRamp, node->storage); COLRAMP_GETPATH; } } @@ -269,7 +268,7 @@ static char *rna_ColorRampElement_path(const PointerRNA *ptr) BKE_linestyle_modifier_list_color_ramps((FreestyleLineStyle *)id, &listbase); for (link = (LinkData *)listbase.first; link; link = link->next) { - RNA_pointer_create(id, &RNA_ColorRamp, link->data, &ramp_ptr); + ramp_ptr = RNA_pointer_create(id, &RNA_ColorRamp, link->data); COLRAMP_GETPATH; } BLI_freelistN(&listbase); @@ -279,7 +278,7 @@ static char *rna_ColorRampElement_path(const PointerRNA *ptr) default: /* everything else should have a "color_ramp" property */ { /* create pointer to the ID block, and try to resolve "color_ramp" pointer */ - RNA_id_pointer_create(id, &ramp_ptr); + ramp_ptr = RNA_id_pointer_create(id); if (RNA_path_resolve(&ramp_ptr, "color_ramp", &ramp_ptr, &prop)) { COLRAMP_GETPATH; } diff --git a/source/blender/makesrna/intern/rna_context.cc b/source/blender/makesrna/intern/rna_context.cc index 1f04aece6dc..4dc1339cba7 100644 --- a/source/blender/makesrna/intern/rna_context.cc +++ b/source/blender/makesrna/intern/rna_context.cc @@ -86,24 +86,21 @@ static PointerRNA rna_Context_screen_get(PointerRNA *ptr) static PointerRNA rna_Context_area_get(PointerRNA *ptr) { bContext *C = (bContext *)ptr->data; - PointerRNA newptr; - RNA_pointer_create((ID *)CTX_wm_screen(C), &RNA_Area, CTX_wm_area(C), &newptr); + PointerRNA newptr = RNA_pointer_create((ID *)CTX_wm_screen(C), &RNA_Area, CTX_wm_area(C)); return newptr; } static PointerRNA rna_Context_space_data_get(PointerRNA *ptr) { bContext *C = (bContext *)ptr->data; - PointerRNA newptr; - RNA_pointer_create((ID *)CTX_wm_screen(C), &RNA_Space, CTX_wm_space_data(C), &newptr); + PointerRNA newptr = RNA_pointer_create((ID *)CTX_wm_screen(C), &RNA_Space, CTX_wm_space_data(C)); return newptr; } static PointerRNA rna_Context_region_get(PointerRNA *ptr) { bContext *C = (bContext *)ptr->data; - PointerRNA newptr; - RNA_pointer_create((ID *)CTX_wm_screen(C), &RNA_Region, CTX_wm_region(C), &newptr); + PointerRNA newptr = RNA_pointer_create((ID *)CTX_wm_screen(C), &RNA_Region, CTX_wm_region(C)); return newptr; } @@ -113,8 +110,8 @@ static PointerRNA rna_Context_region_data_get(PointerRNA *ptr) /* only exists for one space still, no generic system yet */ if (CTX_wm_view3d(C)) { - PointerRNA newptr; - RNA_pointer_create((ID *)CTX_wm_screen(C), &RNA_RegionView3D, CTX_wm_region_data(C), &newptr); + PointerRNA newptr = RNA_pointer_create( + (ID *)CTX_wm_screen(C), &RNA_RegionView3D, CTX_wm_region_data(C)); return newptr; } @@ -124,8 +121,7 @@ static PointerRNA rna_Context_region_data_get(PointerRNA *ptr) static PointerRNA rna_Context_gizmo_group_get(PointerRNA *ptr) { bContext *C = (bContext *)ptr->data; - PointerRNA newptr; - RNA_pointer_create(nullptr, &RNA_GizmoGroup, CTX_wm_gizmo_group(C), &newptr); + PointerRNA newptr = RNA_pointer_create(nullptr, &RNA_GizmoGroup, CTX_wm_gizmo_group(C)); return newptr; } @@ -138,10 +134,9 @@ static PointerRNA rna_Context_asset_file_handle_get(PointerRNA *ptr) return PointerRNA_NULL; } - PointerRNA newptr; /* Have to cast away const, but the file entry API doesn't allow modifications anyway. */ - RNA_pointer_create( - nullptr, &RNA_FileSelectEntry, (FileDirEntry *)asset_handle.file_data, &newptr); + PointerRNA newptr = RNA_pointer_create( + nullptr, &RNA_FileSelectEntry, (FileDirEntry *)asset_handle.file_data); return newptr; } @@ -161,9 +156,8 @@ static PointerRNA rna_Context_view_layer_get(PointerRNA *ptr) { bContext *C = (bContext *)ptr->data; Scene *scene = CTX_data_scene(C); - PointerRNA scene_ptr; - RNA_id_pointer_create(&scene->id, &scene_ptr); + PointerRNA scene_ptr = RNA_id_pointer_create(&scene->id); return rna_pointer_inherit_refine(&scene_ptr, &RNA_ViewLayer, CTX_data_view_layer(C)); } @@ -203,8 +197,7 @@ static PointerRNA rna_Context_tool_settings_get(PointerRNA *ptr) static PointerRNA rna_Context_preferences_get(PointerRNA * /*ptr*/) { - PointerRNA newptr; - RNA_pointer_create(nullptr, &RNA_Preferences, &U, &newptr); + PointerRNA newptr = RNA_pointer_create(nullptr, &RNA_Preferences, &U); return newptr; } diff --git a/source/blender/makesrna/intern/rna_depsgraph.cc b/source/blender/makesrna/intern/rna_depsgraph.cc index d91dd516c2e..43cc3fa7ef0 100644 --- a/source/blender/makesrna/intern/rna_depsgraph.cc +++ b/source/blender/makesrna/intern/rna_depsgraph.cc @@ -513,8 +513,7 @@ static PointerRNA rna_Depsgraph_scene_get(PointerRNA *ptr) { Depsgraph *depsgraph = (Depsgraph *)ptr->data; Scene *scene = DEG_get_input_scene(depsgraph); - PointerRNA newptr; - RNA_pointer_create(&scene->id, &RNA_Scene, scene, &newptr); + PointerRNA newptr = RNA_pointer_create(&scene->id, &RNA_Scene, scene); return newptr; } @@ -523,8 +522,7 @@ static PointerRNA rna_Depsgraph_view_layer_get(PointerRNA *ptr) Depsgraph *depsgraph = (Depsgraph *)ptr->data; Scene *scene = DEG_get_input_scene(depsgraph); ViewLayer *view_layer = DEG_get_input_view_layer(depsgraph); - PointerRNA newptr; - RNA_pointer_create(&scene->id, &RNA_ViewLayer, view_layer, &newptr); + PointerRNA newptr = RNA_pointer_create(&scene->id, &RNA_ViewLayer, view_layer); return newptr; } @@ -532,8 +530,7 @@ static PointerRNA rna_Depsgraph_scene_eval_get(PointerRNA *ptr) { Depsgraph *depsgraph = (Depsgraph *)ptr->data; Scene *scene_eval = DEG_get_evaluated_scene(depsgraph); - PointerRNA newptr; - RNA_pointer_create(&scene_eval->id, &RNA_Scene, scene_eval, &newptr); + PointerRNA newptr = RNA_pointer_create(&scene_eval->id, &RNA_Scene, scene_eval); return newptr; } @@ -542,8 +539,7 @@ static PointerRNA rna_Depsgraph_view_layer_eval_get(PointerRNA *ptr) Depsgraph *depsgraph = (Depsgraph *)ptr->data; Scene *scene_eval = DEG_get_evaluated_scene(depsgraph); ViewLayer *view_layer_eval = DEG_get_evaluated_view_layer(depsgraph); - PointerRNA newptr; - RNA_pointer_create(&scene_eval->id, &RNA_ViewLayer, view_layer_eval, &newptr); + PointerRNA newptr = RNA_pointer_create(&scene_eval->id, &RNA_ViewLayer, view_layer_eval); return newptr; } diff --git a/source/blender/makesrna/intern/rna_key.cc b/source/blender/makesrna/intern/rna_key.cc index 72778f6d7fa..198300c9308 100644 --- a/source/blender/makesrna/intern/rna_key.cc +++ b/source/blender/makesrna/intern/rna_key.cc @@ -286,14 +286,12 @@ PointerRNA rna_object_shapekey_index_get(ID *id, int value) { Key *key = rna_ShapeKey_find_key(id); KeyBlock *kb = nullptr; - PointerRNA ptr; if (key && value < key->totkey) { kb = static_cast(BLI_findlink(&key->block, value)); } - RNA_pointer_create(id, &RNA_ShapeKey, kb, &ptr); - + PointerRNA ptr = RNA_pointer_create(id, &RNA_ShapeKey, kb); return ptr; } diff --git a/source/blender/makesrna/intern/rna_layer.cc b/source/blender/makesrna/intern/rna_layer.cc index 272b0f368f8..6b8d7062e4c 100644 --- a/source/blender/makesrna/intern/rna_layer.cc +++ b/source/blender/makesrna/intern/rna_layer.cc @@ -399,7 +399,7 @@ static bool rna_LayerCollection_children_lookupint(PointerRNA *ptr, int key, Poi if (!child) { return false; } - RNA_pointer_create(ptr->owner_id, &RNA_LayerCollection, child, r_ptr); + *r_ptr = RNA_pointer_create(ptr->owner_id, &RNA_LayerCollection, child); return true; } @@ -414,7 +414,7 @@ static bool rna_LayerCollection_children_lookupstring(PointerRNA *ptr, LISTBASE_FOREACH (LayerCollection *, child, &lc->layer_collections) { if (STREQ(child->collection->id.name + 2, key)) { - RNA_pointer_create(ptr->owner_id, &RNA_LayerCollection, child, r_ptr); + *r_ptr = RNA_pointer_create(ptr->owner_id, &RNA_LayerCollection, child); return true; } } diff --git a/source/blender/makesrna/intern/rna_mesh.cc b/source/blender/makesrna/intern/rna_mesh.cc index 7752f608a39..5aac15ccb05 100644 --- a/source/blender/makesrna/intern/rna_mesh.cc +++ b/source/blender/makesrna/intern/rna_mesh.cc @@ -1896,7 +1896,6 @@ static PointerRNA rna_Mesh_vertex_color_new(Mesh *me, const char *name, const bool do_init) { - PointerRNA ptr; CustomData *ldata; CustomDataLayer *cdl = nullptr; int index = ED_mesh_color_add(me, name, false, do_init, reports); @@ -1913,7 +1912,7 @@ static PointerRNA rna_Mesh_vertex_color_new(Mesh *me, } } - RNA_pointer_create(&me->id, &RNA_MeshLoopColorLayer, cdl, &ptr); + PointerRNA ptr = RNA_pointer_create(&me->id, &RNA_MeshLoopColorLayer, cdl); return ptr; } @@ -1927,7 +1926,6 @@ static PointerRNA rna_Mesh_uv_layers_new(Mesh *me, const char *name, const bool do_init) { - PointerRNA ptr; CustomData *ldata; CustomDataLayer *cdl = nullptr; int index = ED_mesh_uv_add(me, name, false, do_init, reports); @@ -1937,7 +1935,7 @@ static PointerRNA rna_Mesh_uv_layers_new(Mesh *me, cdl = &ldata->layers[CustomData_get_layer_index_n(ldata, CD_PROP_FLOAT2, index)]; } - RNA_pointer_create(&me->id, &RNA_MeshUVLoopLayer, cdl, &ptr); + PointerRNA ptr = RNA_pointer_create(&me->id, &RNA_MeshUVLoopLayer, cdl); return ptr; } diff --git a/source/blender/makesrna/intern/rna_modifier.cc b/source/blender/makesrna/intern/rna_modifier.cc index d48d7bc9c18..bed28e9d85d 100644 --- a/source/blender/makesrna/intern/rna_modifier.cc +++ b/source/blender/makesrna/intern/rna_modifier.cc @@ -1628,14 +1628,13 @@ static PointerRNA rna_ParticleInstanceModifier_particle_system_get(PointerRNA *p { ParticleInstanceModifierData *psmd = static_cast(ptr->data); ParticleSystem *psys; - PointerRNA rptr; if (!psmd->ob) { return PointerRNA_NULL; } psys = static_cast(BLI_findlink(&psmd->ob->particlesystem, psmd->psys - 1)); - RNA_pointer_create((ID *)psmd->ob, &RNA_ParticleSystem, psys, &rptr); + PointerRNA rptr = RNA_pointer_create((ID *)psmd->ob, &RNA_ParticleSystem, psys); return rptr; } diff --git a/source/blender/makesrna/intern/rna_movieclip.cc b/source/blender/makesrna/intern/rna_movieclip.cc index 60d43485ff6..ca8b2dec2ff 100644 --- a/source/blender/makesrna/intern/rna_movieclip.cc +++ b/source/blender/makesrna/intern/rna_movieclip.cc @@ -115,8 +115,7 @@ static PointerRNA rna_MovieClip_metadata_get(MovieClip *clip) return PointerRNA_NULL; } - PointerRNA ptr; - RNA_pointer_create(nullptr, &RNA_IDPropertyWrapPtr, metadata, &ptr); + PointerRNA ptr = RNA_pointer_create(nullptr, &RNA_IDPropertyWrapPtr, metadata); return ptr; } diff --git a/source/blender/makesrna/intern/rna_node_socket.cc b/source/blender/makesrna/intern/rna_node_socket.cc index f343755aded..f5b15112c2a 100644 --- a/source/blender/makesrna/intern/rna_node_socket.cc +++ b/source/blender/makesrna/intern/rna_node_socket.cc @@ -105,8 +105,7 @@ static void rna_NodeSocket_draw_color_simple(const bNodeSocketType *socket_type, func = &rna_NodeSocket_draw_color_simple_func; /* RNA_struct_find_function(&ptr, "draw_color_simple"); */ - PointerRNA ptr; - RNA_pointer_create(nullptr, socket_type->ext_socket.srna, nullptr, &ptr); + PointerRNA ptr = RNA_pointer_create(nullptr, socket_type->ext_socket.srna, nullptr); RNA_parameter_list_create(&list, &ptr, func); RNA_parameter_set_lookup(&list, "type", socket_type); socket_type->ext_socket.call(nullptr, &ptr, func, &list); @@ -144,7 +143,6 @@ static StructRNA *rna_NodeSocket_register(Main * /*bmain*/, { bNodeSocketType *st, dummy_st; bNodeSocket dummy_sock; - PointerRNA dummy_sock_ptr; bool have_function[3]; /* setup dummy socket & socket type to store static properties in */ @@ -153,7 +151,7 @@ static StructRNA *rna_NodeSocket_register(Main * /*bmain*/, memset(&dummy_sock, 0, sizeof(bNodeSocket)); dummy_sock.typeinfo = &dummy_st; - RNA_pointer_create(nullptr, &RNA_NodeSocket, &dummy_sock, &dummy_sock_ptr); + PointerRNA dummy_sock_ptr = RNA_pointer_create(nullptr, &RNA_NodeSocket, &dummy_sock); /* validate the python class */ if (validate(&dummy_sock_ptr, data, have_function) != 0) { @@ -249,11 +247,10 @@ static PointerRNA rna_NodeSocket_node_get(PointerRNA *ptr) bNodeTree *ntree = reinterpret_cast(ptr->owner_id); bNodeSocket *sock = static_cast(ptr->data); bNode *node; - PointerRNA r_ptr; nodeFindNode(ntree, sock, &node, nullptr); - RNA_pointer_create(&ntree->id, &RNA_Node, node, &r_ptr); + PointerRNA r_ptr = RNA_pointer_create(&ntree->id, &RNA_Node, node); return r_ptr; } @@ -313,16 +310,14 @@ static void rna_NodeSocketStandard_draw(ID *id, PointerRNA *nodeptr, const char *text) { - PointerRNA ptr; - RNA_pointer_create(id, &RNA_NodeSocket, sock, &ptr); + PointerRNA ptr = RNA_pointer_create(id, &RNA_NodeSocket, sock); sock->typeinfo->draw(C, layout, &ptr, nodeptr, text); } static void rna_NodeSocketStandard_draw_color( ID *id, bNodeSocket *sock, bContext *C, PointerRNA *nodeptr, float r_color[4]) { - PointerRNA ptr; - RNA_pointer_create(id, &RNA_NodeSocket, sock, &ptr); + PointerRNA ptr = RNA_pointer_create(id, &RNA_NodeSocket, sock); sock->typeinfo->draw_color(C, &ptr, nodeptr, r_color); } diff --git a/source/blender/makesrna/intern/rna_node_tree_interface.cc b/source/blender/makesrna/intern/rna_node_tree_interface.cc index f4e809e3e32..e2e7a7c0007 100644 --- a/source/blender/makesrna/intern/rna_node_tree_interface.cc +++ b/source/blender/makesrna/intern/rna_node_tree_interface.cc @@ -99,8 +99,7 @@ static PointerRNA rna_NodeTreeInterfaceItem_parent_get(PointerRNA *ptr) bNodeTree *ntree = reinterpret_cast(ptr->owner_id); const bNodeTreeInterfaceItem *item = static_cast(ptr->data); bNodeTreeInterfacePanel *parent = ntree->tree_interface.find_item_parent(*item, true); - PointerRNA result; - RNA_pointer_create(&ntree->id, &RNA_NodeTreeInterfacePanel, parent, &result); + PointerRNA result = RNA_pointer_create(&ntree->id, &RNA_NodeTreeInterfacePanel, parent); return result; } @@ -155,8 +154,7 @@ static void rna_NodeTreeInterfaceSocket_draw_custom(ID *id, return; } - PointerRNA ptr; - RNA_pointer_create(id, &RNA_NodeTreeInterfaceSocket, interface_socket, &ptr); + PointerRNA ptr = RNA_pointer_create(id, &RNA_NodeTreeInterfaceSocket, interface_socket); FunctionRNA *func = &rna_NodeTreeInterfaceSocket_draw_func; @@ -194,13 +192,10 @@ static void rna_NodeTreeInterfaceSocket_init_socket_custom( return; } - PointerRNA ptr, node_ptr, socket_ptr; - RNA_pointer_create(id, - &RNA_NodeTreeInterfaceSocket, - const_cast(interface_socket), - &ptr); - RNA_pointer_create(id, &RNA_Node, node, &node_ptr); - RNA_pointer_create(id, &RNA_NodeSocket, socket, &socket_ptr); + PointerRNA ptr = RNA_pointer_create( + id, &RNA_NodeTreeInterfaceSocket, const_cast(interface_socket)); + PointerRNA node_ptr = RNA_pointer_create(id, &RNA_Node, node); + PointerRNA socket_ptr = RNA_pointer_create(id, &RNA_NodeSocket, socket); FunctionRNA *func = &rna_NodeTreeInterfaceSocket_init_socket_func; @@ -234,10 +229,10 @@ static void rna_NodeTreeInterfaceSocket_from_socket_custom( return; } - PointerRNA ptr, node_ptr, socket_ptr; - RNA_pointer_create(id, &RNA_NodeTreeInterfaceSocket, interface_socket, &ptr); - RNA_pointer_create(id, &RNA_Node, const_cast(node), &node_ptr); - RNA_pointer_create(id, &RNA_NodeSocket, const_cast(socket), &socket_ptr); + PointerRNA ptr = RNA_pointer_create(id, &RNA_NodeTreeInterfaceSocket, interface_socket); + PointerRNA node_ptr = RNA_pointer_create(id, &RNA_Node, const_cast(node)); + PointerRNA socket_ptr = RNA_pointer_create( + id, &RNA_NodeSocket, const_cast(socket)); FunctionRNA *func = &rna_NodeTreeInterfaceSocket_from_socket_func; @@ -263,8 +258,8 @@ static StructRNA *rna_NodeTreeInterfaceSocket_register(Main * /*bmain*/, /* Set #item_type so that refining the type ends up with RNA_NodeTreeInterfaceSocket. */ dummy_socket.item.item_type = NODE_INTERFACE_SOCKET; - PointerRNA dummy_socket_ptr; - RNA_pointer_create(nullptr, &RNA_NodeTreeInterfaceSocket, &dummy_socket, &dummy_socket_ptr); + PointerRNA dummy_socket_ptr = RNA_pointer_create( + nullptr, &RNA_NodeTreeInterfaceSocket, &dummy_socket); /* Validate the python class. */ bool have_function[3]; @@ -398,8 +393,8 @@ static const EnumPropertyItem *rna_NodeTreeInterfaceSocket_socket_type_itemf( static PointerRNA rna_NodeTreeInterfaceItems_active_get(PointerRNA *ptr) { bNodeTreeInterface *interface = static_cast(ptr->data); - PointerRNA r_ptr; - RNA_pointer_create(ptr->owner_id, &RNA_NodeTreeInterfaceItem, interface->active_item(), &r_ptr); + PointerRNA r_ptr = RNA_pointer_create( + ptr->owner_id, &RNA_NodeTreeInterfaceItem, interface->active_item()); return r_ptr; } @@ -785,8 +780,8 @@ static int rna_NodeTreeInterface_items_lookup_int(PointerRNA *ptr, int index, Po return false; } - RNA_pointer_create( - ptr->owner_id, &RNA_NodeTreeInterfaceItem, ntree->interface_items()[index], r_ptr); + *r_ptr = RNA_pointer_create( + ptr->owner_id, &RNA_NodeTreeInterfaceItem, ntree->interface_items()[index]); return true; } @@ -805,7 +800,7 @@ static int rna_NodeTreeInterface_items_lookup_string(struct PointerRNA *ptr, case NODE_INTERFACE_SOCKET: { bNodeTreeInterfaceSocket *socket = reinterpret_cast(item); if (STREQ(socket->name, key)) { - RNA_pointer_create(ptr->owner_id, &RNA_NodeTreeInterfaceSocket, socket, r_ptr); + *r_ptr = RNA_pointer_create(ptr->owner_id, &RNA_NodeTreeInterfaceSocket, socket); return true; } break; @@ -813,7 +808,7 @@ static int rna_NodeTreeInterface_items_lookup_string(struct PointerRNA *ptr, case NODE_INTERFACE_PANEL: { bNodeTreeInterfacePanel *panel = reinterpret_cast(item); if (STREQ(panel->name, key)) { - RNA_pointer_create(ptr->owner_id, &RNA_NodeTreeInterfacePanel, panel, r_ptr); + *r_ptr = RNA_pointer_create(ptr->owner_id, &RNA_NodeTreeInterfacePanel, panel); return true; } break; diff --git a/source/blender/makesrna/intern/rna_nodetree.cc b/source/blender/makesrna/intern/rna_nodetree.cc index ecbe876b7d7..6d840f6c68e 100644 --- a/source/blender/makesrna/intern/rna_nodetree.cc +++ b/source/blender/makesrna/intern/rna_nodetree.cc @@ -842,13 +842,12 @@ static StructRNA *rna_NodeTree_refine(PointerRNA *ptr) static bool rna_NodeTree_poll(const bContext *C, bNodeTreeType *ntreetype) { - PointerRNA ptr; ParameterList list; FunctionRNA *func; void *ret; bool visible; - RNA_pointer_create(nullptr, ntreetype->rna_ext.srna, nullptr, &ptr); /* dummy */ + PointerRNA ptr = RNA_pointer_create(nullptr, ntreetype->rna_ext.srna, nullptr); /* dummy */ func = &rna_NodeTree_poll_func; /* RNA_struct_find_function(&ptr, "poll"); */ RNA_parameter_list_create(&list, &ptr, func); @@ -865,11 +864,10 @@ static bool rna_NodeTree_poll(const bContext *C, bNodeTreeType *ntreetype) static void rna_NodeTree_update_reg(bNodeTree *ntree) { - PointerRNA ptr; ParameterList list; FunctionRNA *func; - RNA_id_pointer_create(&ntree->id, &ptr); + PointerRNA ptr = RNA_id_pointer_create(&ntree->id); func = &rna_NodeTree_update_func; /* RNA_struct_find_function(&ptr, "update"); */ RNA_parameter_list_create(&list, &ptr, func); @@ -881,12 +879,11 @@ static void rna_NodeTree_update_reg(bNodeTree *ntree) static void rna_NodeTree_get_from_context( const bContext *C, bNodeTreeType *ntreetype, bNodeTree **r_ntree, ID **r_id, ID **r_from) { - PointerRNA ptr; ParameterList list; FunctionRNA *func; void *ret1, *ret2, *ret3; - RNA_pointer_create(nullptr, ntreetype->rna_ext.srna, nullptr, &ptr); /* dummy */ + PointerRNA ptr = RNA_pointer_create(nullptr, ntreetype->rna_ext.srna, nullptr); /* dummy */ // RNA_struct_find_function(&ptr, "get_from_context"); func = &rna_NodeTree_get_from_context_func; @@ -906,13 +903,12 @@ static void rna_NodeTree_get_from_context( static bool rna_NodeTree_valid_socket_type(bNodeTreeType *ntreetype, bNodeSocketType *socket_type) { - PointerRNA ptr; ParameterList list; FunctionRNA *func; void *ret; bool valid; - RNA_pointer_create(nullptr, ntreetype->rna_ext.srna, nullptr, &ptr); /* dummy */ + PointerRNA ptr = RNA_pointer_create(nullptr, ntreetype->rna_ext.srna, nullptr); /* dummy */ func = &rna_NodeTree_valid_socket_type_func; RNA_parameter_list_create(&list, &ptr, func); @@ -956,14 +952,13 @@ static StructRNA *rna_NodeTree_register(Main *bmain, const char *error_prefix = "Registering node tree class:"; bNodeTreeType *nt, dummy_nt; bNodeTree dummy_ntree; - PointerRNA dummy_ntree_ptr; bool have_function[4]; /* setup dummy tree & tree type to store static properties in */ memset(&dummy_nt, 0, sizeof(bNodeTreeType)); memset(&dummy_ntree, 0, sizeof(bNodeTree)); dummy_ntree.typeinfo = &dummy_nt; - RNA_pointer_create(nullptr, &RNA_NodeTree, &dummy_ntree, &dummy_ntree_ptr); + PointerRNA dummy_ntree_ptr = RNA_pointer_create(nullptr, &RNA_NodeTree, &dummy_ntree); /* validate the python class */ if (validate(&dummy_ntree_ptr, data, have_function) != 0) { @@ -1370,13 +1365,12 @@ static bool rna_Node_poll(const bNodeType *ntype, const bNodeTree *ntree, const char ** /*r_disabled_hint*/) { - PointerRNA ptr; ParameterList list; FunctionRNA *func; void *ret; bool visible; - RNA_pointer_create(nullptr, ntype->rna_ext.srna, nullptr, &ptr); /* dummy */ + PointerRNA ptr = RNA_pointer_create(nullptr, ntype->rna_ext.srna, nullptr); /* dummy */ func = &rna_Node_poll_func; /* RNA_struct_find_function(&ptr, "poll"); */ RNA_parameter_list_create(&list, &ptr, func); @@ -1395,14 +1389,13 @@ static bool rna_Node_poll_instance(const bNode *node, const bNodeTree *ntree, const char ** /*disabled_info*/) { - PointerRNA ptr; ParameterList list; FunctionRNA *func; void *ret; bool visible; - RNA_pointer_create( - nullptr, node->typeinfo->rna_ext.srna, const_cast(node), &ptr); /* dummy */ + PointerRNA ptr = RNA_pointer_create( + nullptr, node->typeinfo->rna_ext.srna, const_cast(node)); /* dummy */ func = &rna_Node_poll_instance_func; /* RNA_struct_find_function(&ptr, "poll_instance"); */ RNA_parameter_list_create(&list, &ptr, func); @@ -1427,11 +1420,11 @@ static bool rna_Node_poll_instance_default(const bNode *node, static void rna_Node_update_reg(bNodeTree *ntree, bNode *node) { - PointerRNA ptr; ParameterList list; FunctionRNA *func; - RNA_pointer_create(reinterpret_cast(ntree), node->typeinfo->rna_ext.srna, node, &ptr); + PointerRNA ptr = RNA_pointer_create( + reinterpret_cast(ntree), node->typeinfo->rna_ext.srna, node); func = &rna_Node_update_func; /* RNA_struct_find_function(&ptr, "update"); */ RNA_parameter_list_create(&list, &ptr, func); @@ -1442,11 +1435,11 @@ static void rna_Node_update_reg(bNodeTree *ntree, bNode *node) static bool rna_Node_insert_link(bNodeTree *ntree, bNode *node, bNodeLink *link) { - PointerRNA ptr; ParameterList list; FunctionRNA *func; - RNA_pointer_create(reinterpret_cast(ntree), node->typeinfo->rna_ext.srna, node, &ptr); + PointerRNA ptr = RNA_pointer_create( + reinterpret_cast(ntree), node->typeinfo->rna_ext.srna, node); func = &rna_Node_insert_link_func; RNA_parameter_list_create(&list, &ptr, func); @@ -1537,7 +1530,6 @@ static void rna_Node_draw_label(const bNodeTree *ntree, char *label, int label_maxncpy) { - PointerRNA ptr; ParameterList list; FunctionRNA *func; void *ret; @@ -1545,7 +1537,8 @@ static void rna_Node_draw_label(const bNodeTree *ntree, func = &rna_Node_draw_label_func; /* RNA_struct_find_function(&ptr, "draw_label"); */ - RNA_pointer_create(const_cast(&ntree->id), &RNA_Node, const_cast(node), &ptr); + PointerRNA ptr = RNA_pointer_create( + const_cast(&ntree->id), &RNA_Node, const_cast(node)); RNA_parameter_list_create(&list, &ptr, func); node->typeinfo->rna_ext.call(nullptr, &ptr, func, &list); @@ -1613,7 +1606,6 @@ static bNodeType *rna_Node_register_base(Main *bmain, const char *error_prefix = "Registering node class:"; bNodeType *nt, dummy_nt; bNode dummy_node; - PointerRNA dummy_node_ptr; FunctionRNA *func; PropertyRNA *parm; bool have_function[10]; @@ -1625,7 +1617,7 @@ static bNodeType *rna_Node_register_base(Main *bmain, memset(&dummy_node, 0, sizeof(bNode)); dummy_node.typeinfo = &dummy_nt; - RNA_pointer_create(nullptr, basetype, &dummy_node, &dummy_node_ptr); + PointerRNA dummy_node_ptr = RNA_pointer_create(nullptr, basetype, &dummy_node); /* validate the python class */ if (validate(&dummy_node_ptr, data, have_function) != 0) { @@ -2351,8 +2343,7 @@ static PointerRNA rna_NodeInternal_input_template(StructRNA *srna, int index) stemp++; } if (i == index && stemp->type >= 0) { - PointerRNA ptr; - RNA_pointer_create(nullptr, &RNA_NodeInternalSocketTemplate, stemp, &ptr); + PointerRNA ptr = RNA_pointer_create(nullptr, &RNA_NodeInternalSocketTemplate, stemp); return ptr; } } @@ -2370,8 +2361,7 @@ static PointerRNA rna_NodeInternal_output_template(StructRNA *srna, int index) stemp++; } if (i == index && stemp->type >= 0) { - PointerRNA ptr; - RNA_pointer_create(nullptr, &RNA_NodeInternalSocketTemplate, stemp, &ptr); + PointerRNA ptr = RNA_pointer_create(nullptr, &RNA_NodeInternalSocketTemplate, stemp); return ptr; } } @@ -2408,8 +2398,7 @@ static void rna_NodeInternal_update(ID *id, bNode *node, Main *bmain) static void rna_NodeInternal_draw_buttons(ID *id, bNode *node, bContext *C, uiLayout *layout) { if (node->typeinfo->draw_buttons) { - PointerRNA ptr; - RNA_pointer_create(id, &RNA_Node, node, &ptr); + PointerRNA ptr = RNA_pointer_create(id, &RNA_Node, node); node->typeinfo->draw_buttons(layout, C, &ptr); } } @@ -2417,13 +2406,11 @@ static void rna_NodeInternal_draw_buttons(ID *id, bNode *node, bContext *C, uiLa static void rna_NodeInternal_draw_buttons_ext(ID *id, bNode *node, bContext *C, uiLayout *layout) { if (node->typeinfo->draw_buttons_ex) { - PointerRNA ptr; - RNA_pointer_create(id, &RNA_Node, node, &ptr); + PointerRNA ptr = RNA_pointer_create(id, &RNA_Node, node); node->typeinfo->draw_buttons_ex(layout, C, &ptr); } else if (node->typeinfo->draw_buttons) { - PointerRNA ptr; - RNA_pointer_create(id, &RNA_Node, node, &ptr); + PointerRNA ptr = RNA_pointer_create(id, &RNA_Node, node); node->typeinfo->draw_buttons(layout, C, &ptr); } } @@ -2966,9 +2953,9 @@ static void rna_NodeOutputFile_slots_begin(CollectionPropertyIterator *iter, Poi static PointerRNA rna_NodeOutputFile_slot_file_get(CollectionPropertyIterator *iter) { - PointerRNA ptr; bNodeSocket *sock = static_cast(rna_iterator_listbase_get(iter)); - RNA_pointer_create(iter->parent.owner_id, &RNA_NodeOutputFileSlotFile, sock->storage, &ptr); + PointerRNA ptr = RNA_pointer_create( + iter->parent.owner_id, &RNA_NodeOutputFileSlotFile, sock->storage); return ptr; } @@ -3240,8 +3227,7 @@ static PointerRNA rna_NodeGeometrySimulationInput_paired_output_get(PointerRNA * bNodeTree *ntree = reinterpret_cast(ptr->owner_id); bNode *node = static_cast(ptr->data); bNode *output_node = NOD_geometry_simulation_input_get_paired_output(ntree, node); - PointerRNA r_ptr; - RNA_pointer_create(&ntree->id, &RNA_Node, output_node, &r_ptr); + PointerRNA r_ptr = RNA_pointer_create(&ntree->id, &RNA_Node, output_node); return r_ptr; } @@ -3251,8 +3237,7 @@ static PointerRNA rna_NodeGeometryRepeatInput_paired_output_get(PointerRNA *ptr) bNode *node = static_cast(ptr->data); NodeGeometryRepeatInput *storage = static_cast(node->storage); bNode *output_node = ntree->node_by_id(storage->output_node_id); - PointerRNA r_ptr; - RNA_pointer_create(&ntree->id, &RNA_Node, output_node, &r_ptr); + PointerRNA r_ptr = RNA_pointer_create(&ntree->id, &RNA_Node, output_node); return r_ptr; } @@ -3456,8 +3441,7 @@ static PointerRNA rna_NodeGeometrySimulationOutput_active_item_get(PointerRNA *p bNode *node = static_cast(ptr->data); NodeGeometrySimulationOutput *sim = static_cast(node->storage); NodeSimulationItem *item = NOD_geometry_simulation_output_get_active_item(sim); - PointerRNA r_ptr; - RNA_pointer_create(ptr->owner_id, &RNA_SimulationStateItem, item, &r_ptr); + PointerRNA r_ptr = RNA_pointer_create(ptr->owner_id, &RNA_SimulationStateItem, item); return r_ptr; } @@ -3468,7 +3452,7 @@ static PointerRNA rna_NodeGeometryRepeatOutput_active_item_get(PointerRNA *ptr) blender::MutableSpan items = storage->items_span(); PointerRNA r_ptr{}; if (items.index_range().contains(storage->active_index)) { - RNA_pointer_create(ptr->owner_id, &RNA_RepeatItem, &items[storage->active_index], &r_ptr); + r_ptr = RNA_pointer_create(ptr->owner_id, &RNA_RepeatItem, &items[storage->active_index]); } return r_ptr; } @@ -3499,9 +3483,9 @@ static void rna_NodeGeometryRepeatOutput_active_item_set(PointerRNA *ptr, static PointerRNA rna_NodeOutputFile_slot_layer_get(CollectionPropertyIterator *iter) { - PointerRNA ptr; bNodeSocket *sock = static_cast(rna_iterator_listbase_get(iter)); - RNA_pointer_create(iter->parent.owner_id, &RNA_NodeOutputFileSlotLayer, sock->storage, &ptr); + PointerRNA ptr = RNA_pointer_create( + iter->parent.owner_id, &RNA_NodeOutputFileSlotLayer, sock->storage); return ptr; } @@ -3744,14 +3728,13 @@ static PointerRNA rna_ShaderNodePointDensity_psys_get(PointerRNA *ptr) node->storage); Object *ob = reinterpret_cast(node->id); ParticleSystem *psys = nullptr; - PointerRNA value; if (ob && shader_point_density->particle_system) { psys = static_cast( BLI_findlink(&ob->particlesystem, shader_point_density->particle_system - 1)); } - RNA_pointer_create(&ob->id, &RNA_ParticleSystem, psys, &value); + PointerRNA value = RNA_pointer_create(&ob->id, &RNA_ParticleSystem, psys); return value; } diff --git a/source/blender/makesrna/intern/rna_object.cc b/source/blender/makesrna/intern/rna_object.cc index fcc5251de2c..30ba860b651 100644 --- a/source/blender/makesrna/intern/rna_object.cc +++ b/source/blender/makesrna/intern/rna_object.cc @@ -1485,13 +1485,12 @@ static void rna_Object_material_slots_next(CollectionPropertyIterator *iter) static PointerRNA rna_Object_material_slots_get(CollectionPropertyIterator *iter) { - PointerRNA ptr; ID *id = static_cast(iter->internal.count.ptr); - RNA_pointer_create(id, - &RNA_MaterialSlot, - /* Add offset, so that `ptr->data` is not null and unique across IDs. */ - (void *)(iter->internal.count.item + uintptr_t(id)), - &ptr); + PointerRNA ptr = RNA_pointer_create( + id, + &RNA_MaterialSlot, + /* Add offset, so that `ptr->data` is not null and unique across IDs. */ + (void *)(iter->internal.count.item + uintptr_t(id))); return ptr; } @@ -1551,14 +1550,13 @@ static PointerRNA rna_Object_active_shape_key_get(PointerRNA *ptr) Object *ob = reinterpret_cast(ptr->owner_id); Key *key = BKE_key_from_object(ob); KeyBlock *kb; - PointerRNA keyptr; if (key == nullptr) { return PointerRNA_NULL; } kb = static_cast(BLI_findlink(&key->block, ob->shapenr - 1)); - RNA_pointer_create(reinterpret_cast(key), &RNA_ShapeKey, kb, &keyptr); + PointerRNA keyptr = RNA_pointer_create(reinterpret_cast(key), &RNA_ShapeKey, kb); return keyptr; } @@ -2275,10 +2273,8 @@ static char *rna_ObjectLightLinking_path(const PointerRNA * /*ptr*/) static PointerRNA rna_LightLinking_receiver_collection_get(PointerRNA *ptr) { Object *object = reinterpret_cast(ptr->owner_id); - PointerRNA collection_ptr; - RNA_id_pointer_create( - reinterpret_cast(BKE_light_linking_collection_get(object, LIGHT_LINKING_RECEIVER)), - &collection_ptr); + PointerRNA collection_ptr = RNA_id_pointer_create( + reinterpret_cast(BKE_light_linking_collection_get(object, LIGHT_LINKING_RECEIVER))); return collection_ptr; } @@ -2295,10 +2291,8 @@ static void rna_LightLinking_receiver_collection_set(PointerRNA *ptr, static PointerRNA rna_LightLinking_blocker_collection_get(PointerRNA *ptr) { Object *object = reinterpret_cast(ptr->owner_id); - PointerRNA collection_ptr; - RNA_id_pointer_create( - reinterpret_cast(BKE_light_linking_collection_get(object, LIGHT_LINKING_BLOCKER)), - &collection_ptr); + PointerRNA collection_ptr = RNA_id_pointer_create( + reinterpret_cast(BKE_light_linking_collection_get(object, LIGHT_LINKING_BLOCKER))); return collection_ptr; } diff --git a/source/blender/makesrna/intern/rna_object_api.cc b/source/blender/makesrna/intern/rna_object_api.cc index 659af04637a..f0a413d8a8d 100644 --- a/source/blender/makesrna/intern/rna_object_api.cc +++ b/source/blender/makesrna/intern/rna_object_api.cc @@ -466,9 +466,7 @@ static PointerRNA rna_Object_shape_key_add( KeyBlock *kb = nullptr; if ((kb = BKE_object_shapekey_insert(bmain, ob, name, from_mix))) { - PointerRNA keyptr; - - RNA_pointer_create((ID *)BKE_key_from_object(ob), &RNA_ShapeKey, kb, &keyptr); + PointerRNA keyptr = RNA_pointer_create((ID *)BKE_key_from_object(ob), &RNA_ShapeKey, kb); WM_event_add_notifier(C, NC_OBJECT | ND_DRAW, ob); DEG_id_tag_update(&ob->id, ID_RECALC_GEOMETRY); diff --git a/source/blender/makesrna/intern/rna_path.cc b/source/blender/makesrna/intern/rna_path.cc index 7a59928b1d1..c146a59304c 100644 --- a/source/blender/makesrna/intern/rna_path.cc +++ b/source/blender/makesrna/intern/rna_path.cc @@ -906,7 +906,6 @@ char *RNA_path_from_struct_to_idproperty(PointerRNA *ptr, IDProperty *needle) static char *rna_path_from_ID_to_idpgroup(const PointerRNA *ptr) { - PointerRNA id_ptr; BLI_assert(ptr->owner_id != nullptr); @@ -915,7 +914,7 @@ static char *rna_path_from_ID_to_idpgroup(const PointerRNA *ptr) * 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->owner_id, &id_ptr); + PointerRNA id_ptr = RNA_id_pointer_create(ptr->owner_id); return RNA_path_from_struct_to_idproperty(&id_ptr, static_cast(ptr->data)); } @@ -993,13 +992,12 @@ char *RNA_path_from_ID_to_struct(const PointerRNA *ptr) ptrpath = ptr->type->path((PointerRNA *)ptr); } else if (ptr->type->nested && RNA_struct_is_ID(ptr->type->nested)) { - PointerRNA parentptr; PropertyRNA *userprop; /* 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->owner_id, &parentptr); + PointerRNA parentptr = RNA_id_pointer_create(ptr->owner_id); userprop = rna_struct_find_nested(&parentptr, ptr->type); if (userprop) { @@ -1151,7 +1149,6 @@ char *RNA_path_resolve_from_type_to_property(const PointerRNA *ptr, { /* Try to recursively find an "type"'d ancestor, * to handle situations where path from ID is not enough. */ - PointerRNA idptr; ListBase path_elems = {nullptr}; char *path = nullptr; char *full_path = RNA_path_from_ID_to_property(ptr, prop); @@ -1160,7 +1157,7 @@ char *RNA_path_resolve_from_type_to_property(const PointerRNA *ptr, return nullptr; } - RNA_id_pointer_create(ptr->owner_id, &idptr); + PointerRNA idptr = RNA_id_pointer_create(ptr->owner_id); if (RNA_path_resolve_elements(&idptr, full_path, &path_elems)) { LISTBASE_FOREACH_BACKWARD (PropertyElemRNA *, prop_elem, &path_elems) { diff --git a/source/blender/makesrna/intern/rna_pose.cc b/source/blender/makesrna/intern/rna_pose.cc index 4040bfbcd7e..6c9bd3ca96b 100644 --- a/source/blender/makesrna/intern/rna_pose.cc +++ b/source/blender/makesrna/intern/rna_pose.cc @@ -802,7 +802,7 @@ static int rna_PoseBones_lookup_string(PointerRNA *ptr, const char *key, Pointer bPose *pose = (bPose *)ptr->data; bPoseChannel *pchan = BKE_pose_channel_find_name(pose, key); if (pchan) { - RNA_pointer_create(ptr->owner_id, &RNA_PoseBone, pchan, r_ptr); + *r_ptr = RNA_pointer_create(ptr->owner_id, &RNA_PoseBone, pchan); return true; } else { diff --git a/source/blender/makesrna/intern/rna_render.cc b/source/blender/makesrna/intern/rna_render.cc index be59c0832f8..ef62484eefc 100644 --- a/source/blender/makesrna/intern/rna_render.cc +++ b/source/blender/makesrna/intern/rna_render.cc @@ -134,11 +134,10 @@ static void engine_unbind_display_space_shader(RenderEngine * /*engine*/) static void engine_update(RenderEngine *engine, Main *bmain, Depsgraph *depsgraph) { extern FunctionRNA rna_RenderEngine_update_func; - PointerRNA ptr; ParameterList list; FunctionRNA *func; - RNA_pointer_create(nullptr, engine->type->rna_ext.srna, engine, &ptr); + PointerRNA ptr = RNA_pointer_create(nullptr, engine->type->rna_ext.srna, engine); func = &rna_RenderEngine_update_func; RNA_parameter_list_create(&list, &ptr, func); @@ -152,11 +151,10 @@ static void engine_update(RenderEngine *engine, Main *bmain, Depsgraph *depsgrap static void engine_render(RenderEngine *engine, Depsgraph *depsgraph) { extern FunctionRNA rna_RenderEngine_render_func; - PointerRNA ptr; ParameterList list; FunctionRNA *func; - RNA_pointer_create(nullptr, engine->type->rna_ext.srna, engine, &ptr); + PointerRNA ptr = RNA_pointer_create(nullptr, engine->type->rna_ext.srna, engine); func = &rna_RenderEngine_render_func; RNA_parameter_list_create(&list, &ptr, func); @@ -169,11 +167,10 @@ static void engine_render(RenderEngine *engine, Depsgraph *depsgraph) static void engine_render_frame_finish(RenderEngine *engine) { extern FunctionRNA rna_RenderEngine_render_frame_finish_func; - PointerRNA ptr; ParameterList list; FunctionRNA *func; - RNA_pointer_create(nullptr, engine->type->rna_ext.srna, engine, &ptr); + PointerRNA ptr = RNA_pointer_create(nullptr, engine->type->rna_ext.srna, engine); func = &rna_RenderEngine_render_frame_finish_func; RNA_parameter_list_create(&list, &ptr, func); @@ -185,11 +182,10 @@ static void engine_render_frame_finish(RenderEngine *engine) static void engine_draw(RenderEngine *engine, const bContext *context, Depsgraph *depsgraph) { extern FunctionRNA rna_RenderEngine_draw_func; - PointerRNA ptr; ParameterList list; FunctionRNA *func; - RNA_pointer_create(nullptr, engine->type->rna_ext.srna, engine, &ptr); + PointerRNA ptr = RNA_pointer_create(nullptr, engine->type->rna_ext.srna, engine); func = &rna_RenderEngine_draw_func; RNA_parameter_list_create(&list, &ptr, func); @@ -209,11 +205,10 @@ static void engine_bake(RenderEngine *engine, const int height) { extern FunctionRNA rna_RenderEngine_bake_func; - PointerRNA ptr; ParameterList list; FunctionRNA *func; - RNA_pointer_create(nullptr, engine->type->rna_ext.srna, engine, &ptr); + PointerRNA ptr = RNA_pointer_create(nullptr, engine->type->rna_ext.srna, engine); func = &rna_RenderEngine_bake_func; RNA_parameter_list_create(&list, &ptr, func); @@ -231,11 +226,10 @@ static void engine_bake(RenderEngine *engine, static void engine_view_update(RenderEngine *engine, const bContext *context, Depsgraph *depsgraph) { extern FunctionRNA rna_RenderEngine_view_update_func; - PointerRNA ptr; ParameterList list; FunctionRNA *func; - RNA_pointer_create(nullptr, engine->type->rna_ext.srna, engine, &ptr); + PointerRNA ptr = RNA_pointer_create(nullptr, engine->type->rna_ext.srna, engine); func = &rna_RenderEngine_view_update_func; RNA_parameter_list_create(&list, &ptr, func); @@ -249,11 +243,10 @@ static void engine_view_update(RenderEngine *engine, const bContext *context, De static void engine_view_draw(RenderEngine *engine, const bContext *context, Depsgraph *depsgraph) { extern FunctionRNA rna_RenderEngine_view_draw_func; - PointerRNA ptr; ParameterList list; FunctionRNA *func; - RNA_pointer_create(nullptr, engine->type->rna_ext.srna, engine, &ptr); + PointerRNA ptr = RNA_pointer_create(nullptr, engine->type->rna_ext.srna, engine); func = &rna_RenderEngine_view_draw_func; RNA_parameter_list_create(&list, &ptr, func); @@ -267,12 +260,11 @@ static void engine_view_draw(RenderEngine *engine, const bContext *context, Deps static void engine_update_script_node(RenderEngine *engine, bNodeTree *ntree, bNode *node) { extern FunctionRNA rna_RenderEngine_update_script_node_func; - PointerRNA ptr, nodeptr; ParameterList list; FunctionRNA *func; - RNA_pointer_create(nullptr, engine->type->rna_ext.srna, engine, &ptr); - RNA_pointer_create((ID *)ntree, &RNA_Node, node, &nodeptr); + PointerRNA ptr = RNA_pointer_create(nullptr, engine->type->rna_ext.srna, engine); + PointerRNA nodeptr = RNA_pointer_create((ID *)ntree, &RNA_Node, node); func = &rna_RenderEngine_update_script_node_func; RNA_parameter_list_create(&list, &ptr, func); @@ -285,11 +277,10 @@ static void engine_update_script_node(RenderEngine *engine, bNodeTree *ntree, bN static void engine_update_render_passes(RenderEngine *engine, Scene *scene, ViewLayer *view_layer) { extern FunctionRNA rna_RenderEngine_update_render_passes_func; - PointerRNA ptr; ParameterList list; FunctionRNA *func; - RNA_pointer_create(nullptr, engine->type->rna_ext.srna, engine, &ptr); + PointerRNA ptr = RNA_pointer_create(nullptr, engine->type->rna_ext.srna, engine); func = &rna_RenderEngine_update_render_passes_func; RNA_parameter_list_create(&list, &ptr, func); @@ -331,13 +322,12 @@ static StructRNA *rna_RenderEngine_register(Main *bmain, const char *error_prefix = "Registering render engine class:"; RenderEngineType *et, dummy_et = {nullptr}; RenderEngine dummy_engine = {nullptr}; - PointerRNA dummy_engine_ptr; bool have_function[9]; /* setup dummy engine & engine type to store static properties in */ dummy_engine.type = &dummy_et; dummy_et.flag |= RE_USE_SHADING_NODES_CUSTOM; - RNA_pointer_create(nullptr, &RNA_RenderEngine, &dummy_engine, &dummy_engine_ptr); + PointerRNA dummy_engine_ptr = RNA_pointer_create(nullptr, &RNA_RenderEngine, &dummy_engine); /* validate the python class */ if (validate(&dummy_engine_ptr, data, have_function) != 0) { diff --git a/source/blender/makesrna/intern/rna_rna.cc b/source/blender/makesrna/intern/rna_rna.cc index 0becf0da1df..a8e504ef203 100644 --- a/source/blender/makesrna/intern/rna_rna.cc +++ b/source/blender/makesrna/intern/rna_rna.cc @@ -1214,7 +1214,7 @@ static int rna_BlenderRNA_structs_lookup_int(PointerRNA *ptr, int index, Pointer StructRNA *srna = static_cast( index < brna->structs_len ? BLI_findlink(&brna->structs, index) : nullptr); if (srna != nullptr) { - RNA_pointer_create(nullptr, &RNA_Struct, srna, r_ptr); + *r_ptr = RNA_pointer_create(nullptr, &RNA_Struct, srna); return true; } else { @@ -1228,7 +1228,7 @@ static int rna_BlenderRNA_structs_lookup_string(PointerRNA *ptr, BlenderRNA *brna = static_cast(ptr->data); StructRNA *srna = static_cast(BLI_ghash_lookup(brna->structs_map, (void *)key)); if (srna != nullptr) { - RNA_pointer_create(nullptr, &RNA_Struct, srna, r_ptr); + *r_ptr = RNA_pointer_create(nullptr, &RNA_Struct, srna); return true; } diff --git a/source/blender/makesrna/intern/rna_screen.cc b/source/blender/makesrna/intern/rna_screen.cc index 19b7261135b..ca524402e04 100644 --- a/source/blender/makesrna/intern/rna_screen.cc +++ b/source/blender/makesrna/intern/rna_screen.cc @@ -282,8 +282,7 @@ static PointerRNA rna_Region_data_get(PointerRNA *ptr) /* We could make this static, it won't change at run-time. */ SpaceType *st = BKE_spacetype_from_id(SPACE_VIEW3D); if (region->type == BKE_regiontype_from_id(st, region->regiontype)) { - PointerRNA newptr; - RNA_pointer_create(&screen->id, &RNA_RegionView3D, region->regiondata, &newptr); + PointerRNA newptr = RNA_pointer_create(&screen->id, &RNA_RegionView3D, region->regiondata); return newptr; } } diff --git a/source/blender/makesrna/intern/rna_sequencer.cc b/source/blender/makesrna/intern/rna_sequencer.cc index 936cdde04b0..2086f5ca0bc 100644 --- a/source/blender/makesrna/intern/rna_sequencer.cc +++ b/source/blender/makesrna/intern/rna_sequencer.cc @@ -267,7 +267,7 @@ static int rna_SequenceEditor_sequences_all_lookup_string(PointerRNA *ptr, Sequence *seq = SEQ_sequence_lookup_seq_by_name(scene, key); if (seq) { - RNA_pointer_create(ptr->owner_id, &RNA_Sequence, seq, r_ptr); + *r_ptr = RNA_pointer_create(ptr->owner_id, &RNA_Sequence, seq); return true; } return false; @@ -853,8 +853,7 @@ static PointerRNA rna_MovieSequence_metadata_get(Sequence *seq) return PointerRNA_NULL; } - PointerRNA ptr; - RNA_pointer_create(nullptr, &RNA_IDPropertyWrapPtr, metadata, &ptr); + PointerRNA ptr = RNA_pointer_create(nullptr, &RNA_IDPropertyWrapPtr, metadata); return ptr; } diff --git a/source/blender/makesrna/intern/rna_space.cc b/source/blender/makesrna/intern/rna_space.cc index 76b54773460..7ebd27ea184 100644 --- a/source/blender/makesrna/intern/rna_space.cc +++ b/source/blender/makesrna/intern/rna_space.cc @@ -2791,8 +2791,7 @@ static PointerRNA rna_FileBrowser_FileSelectEntry_asset_data_get(PointerRNA *ptr * the metadata RNA pointer if the metadata is stored locally and can thus be edited or not. */ if (entry->asset->is_local_id()) { - PointerRNA id_ptr; - RNA_id_pointer_create(entry->id, &id_ptr); + PointerRNA id_ptr = RNA_id_pointer_create(entry->id); return rna_pointer_inherit_refine(&id_ptr, &RNA_AssetMetaData, asset_data); } @@ -3005,10 +3004,7 @@ static void rna_FileBrowser_FSMenu_begin(CollectionPropertyIterator *iter, FSMen static PointerRNA rna_FileBrowser_FSMenu_get(CollectionPropertyIterator *iter) { ListBaseIterator *internal = &iter->internal.listbase; - PointerRNA r_ptr; - - RNA_pointer_create(nullptr, &RNA_FileBrowserFSMenuEntry, internal->link, &r_ptr); - + PointerRNA r_ptr = RNA_pointer_create(nullptr, &RNA_FileBrowserFSMenuEntry, internal->link); return r_ptr; } diff --git a/source/blender/makesrna/intern/rna_texture.cc b/source/blender/makesrna/intern/rna_texture.cc index 6b747f9c71e..f0efb385d8a 100644 --- a/source/blender/makesrna/intern/rna_texture.cc +++ b/source/blender/makesrna/intern/rna_texture.cc @@ -306,11 +306,10 @@ char *rna_TextureSlot_path(const PointerRNA *ptr) return BLI_strdup("texture_slot"); } else { - PointerRNA id_ptr; PropertyRNA *prop; /* find the 'textures' property of the ID-struct */ - RNA_id_pointer_create(ptr->owner_id, &id_ptr); + PointerRNA id_ptr = RNA_id_pointer_create(ptr->owner_id); prop = RNA_struct_find_property(&id_ptr, "texture_slots"); /* get an iterator for this property, and try to find the relevant index */ diff --git a/source/blender/makesrna/intern/rna_ui.cc b/source/blender/makesrna/intern/rna_ui.cc index aae955cbff9..ddae5ae6bf7 100644 --- a/source/blender/makesrna/intern/rna_ui.cc +++ b/source/blender/makesrna/intern/rna_ui.cc @@ -99,13 +99,12 @@ static bool panel_poll(const bContext *C, PanelType *pt) { extern FunctionRNA rna_Panel_poll_func; - PointerRNA ptr; ParameterList list; FunctionRNA *func; void *ret; bool visible; - RNA_pointer_create(nullptr, pt->rna_ext.srna, nullptr, &ptr); /* dummy */ + PointerRNA ptr = RNA_pointer_create(nullptr, pt->rna_ext.srna, nullptr); /* dummy */ func = &rna_Panel_poll_func; /* RNA_struct_find_function(&ptr, "poll"); */ RNA_parameter_list_create(&list, &ptr, func); @@ -124,11 +123,10 @@ static void panel_draw(const bContext *C, Panel *panel) { extern FunctionRNA rna_Panel_draw_func; - PointerRNA ptr; ParameterList list; FunctionRNA *func; - RNA_pointer_create(&CTX_wm_screen(C)->id, panel->type->rna_ext.srna, panel, &ptr); + PointerRNA ptr = RNA_pointer_create(&CTX_wm_screen(C)->id, panel->type->rna_ext.srna, panel); func = &rna_Panel_draw_func; /* RNA_struct_find_function(&ptr, "draw"); */ RNA_parameter_list_create(&list, &ptr, func); @@ -142,11 +140,10 @@ static void panel_draw_header(const bContext *C, Panel *panel) { extern FunctionRNA rna_Panel_draw_header_func; - PointerRNA ptr; ParameterList list; FunctionRNA *func; - RNA_pointer_create(&CTX_wm_screen(C)->id, panel->type->rna_ext.srna, panel, &ptr); + PointerRNA ptr = RNA_pointer_create(&CTX_wm_screen(C)->id, panel->type->rna_ext.srna, panel); func = &rna_Panel_draw_header_func; /* RNA_struct_find_function(&ptr, "draw_header"); */ RNA_parameter_list_create(&list, &ptr, func); @@ -160,11 +157,10 @@ static void panel_draw_header_preset(const bContext *C, Panel *panel) { extern FunctionRNA rna_Panel_draw_header_preset_func; - PointerRNA ptr; ParameterList list; FunctionRNA *func; - RNA_pointer_create(&CTX_wm_screen(C)->id, panel->type->rna_ext.srna, panel, &ptr); + PointerRNA ptr = RNA_pointer_create(&CTX_wm_screen(C)->id, panel->type->rna_ext.srna, panel); func = &rna_Panel_draw_header_preset_func; RNA_parameter_list_create(&list, &ptr, func); @@ -255,7 +251,6 @@ static StructRNA *rna_Panel_register(Main *bmain, ARegionType *art; PanelType *pt, *parent = nullptr, dummy_pt = {nullptr}; Panel dummy_panel = {nullptr}; - PointerRNA dummy_panel_ptr; bool have_function[4]; size_t over_alloc = 0; /* Warning, if this becomes a mess, we better do another allocation. */ char _panel_descr[RNA_DYN_DESCR_MAX]; @@ -265,7 +260,7 @@ static StructRNA *rna_Panel_register(Main *bmain, dummy_panel.type = &dummy_pt; _panel_descr[0] = '\0'; dummy_panel.type->description = _panel_descr; - RNA_pointer_create(nullptr, &RNA_Panel, &dummy_panel, &dummy_panel_ptr); + PointerRNA dummy_panel_ptr = RNA_pointer_create(nullptr, &RNA_Panel, &dummy_panel); /* We have to set default context! Else we get a void string... */ STRNCPY(dummy_pt.translation_context, BLT_I18NCONTEXT_DEFAULT_BPYRNA); @@ -506,11 +501,11 @@ static void uilist_draw_item(uiList *ui_list, { extern FunctionRNA rna_UIList_draw_item_func; - PointerRNA ul_ptr; ParameterList list; FunctionRNA *func; - RNA_pointer_create(&CTX_wm_screen(C)->id, ui_list->type->rna_ext.srna, ui_list, &ul_ptr); + PointerRNA ul_ptr = RNA_pointer_create( + &CTX_wm_screen(C)->id, ui_list->type->rna_ext.srna, ui_list); func = &rna_UIList_draw_item_func; /* RNA_struct_find_function(&ul_ptr, "draw_item"); */ RNA_parameter_list_create(&list, &ul_ptr, func); @@ -532,11 +527,11 @@ static void uilist_draw_filter(uiList *ui_list, const bContext *C, uiLayout *lay { extern FunctionRNA rna_UIList_draw_filter_func; - PointerRNA ul_ptr; ParameterList list; FunctionRNA *func; - RNA_pointer_create(&CTX_wm_screen(C)->id, ui_list->type->rna_ext.srna, ui_list, &ul_ptr); + PointerRNA ul_ptr = RNA_pointer_create( + &CTX_wm_screen(C)->id, ui_list->type->rna_ext.srna, ui_list); func = &rna_UIList_draw_filter_func; /* RNA_struct_find_function(&ul_ptr, "draw_filter"); */ RNA_parameter_list_create(&list, &ul_ptr, func); @@ -554,7 +549,6 @@ static void uilist_filter_items(uiList *ui_list, { extern FunctionRNA rna_UIList_filter_items_func; - PointerRNA ul_ptr; ParameterList list; FunctionRNA *func; PropertyRNA *parm; @@ -565,7 +559,8 @@ static void uilist_filter_items(uiList *ui_list, int ret_len; int len = flt_data->items_len = RNA_collection_length(dataptr, propname); - RNA_pointer_create(&CTX_wm_screen(C)->id, ui_list->type->rna_ext.srna, ui_list, &ul_ptr); + PointerRNA ul_ptr = RNA_pointer_create( + &CTX_wm_screen(C)->id, ui_list->type->rna_ext.srna, ui_list); func = &rna_UIList_filter_items_func; /* RNA_struct_find_function(&ul_ptr, "filter_items"); */ RNA_parameter_list_create(&list, &ul_ptr, func); @@ -699,13 +694,12 @@ static StructRNA *rna_UIList_register(Main *bmain, const char *error_prefix = "Registering uilist class:"; uiListType *ult, dummy_ult = {nullptr}; uiList dummy_uilist = {nullptr}; - PointerRNA dummy_ul_ptr; bool have_function[3]; size_t over_alloc = 0; /* Warning, if this becomes a mess, we better do another allocation. */ /* setup dummy menu & menu type to store static properties in */ dummy_uilist.type = &dummy_ult; - RNA_pointer_create(nullptr, &RNA_UIList, &dummy_uilist, &dummy_ul_ptr); + PointerRNA dummy_ul_ptr = RNA_pointer_create(nullptr, &RNA_UIList, &dummy_uilist); /* validate the python class */ if (validate(&dummy_ul_ptr, data, have_function) != 0) { @@ -779,11 +773,10 @@ static void header_draw(const bContext *C, Header *hdr) { extern FunctionRNA rna_Header_draw_func; - PointerRNA htr; ParameterList list; FunctionRNA *func; - RNA_pointer_create(&CTX_wm_screen(C)->id, hdr->type->rna_ext.srna, hdr, &htr); + PointerRNA htr = RNA_pointer_create(&CTX_wm_screen(C)->id, hdr->type->rna_ext.srna, hdr); func = &rna_Header_draw_func; /* RNA_struct_find_function(&htr, "draw"); */ RNA_parameter_list_create(&list, &htr, func); @@ -827,13 +820,12 @@ static StructRNA *rna_Header_register(Main *bmain, ARegionType *art; HeaderType *ht, dummy_ht = {nullptr}; Header dummy_header = {nullptr}; - PointerRNA dummy_header_ptr; bool have_function[1]; /* setup dummy header & header type to store static properties in */ dummy_header.type = &dummy_ht; dummy_ht.region_type = RGN_TYPE_HEADER; /* RGN_TYPE_HEADER by default, may be overridden */ - RNA_pointer_create(nullptr, &RNA_Header, &dummy_header, &dummy_header_ptr); + PointerRNA dummy_header_ptr = RNA_pointer_create(nullptr, &RNA_Header, &dummy_header); /* validate the python class */ if (validate(&dummy_header_ptr, data, have_function) != 0) { @@ -910,13 +902,12 @@ static bool menu_poll(const bContext *C, MenuType *pt) { extern FunctionRNA rna_Menu_poll_func; - PointerRNA ptr; ParameterList list; FunctionRNA *func; void *ret; bool visible; - RNA_pointer_create(nullptr, pt->rna_ext.srna, nullptr, &ptr); /* dummy */ + PointerRNA ptr = RNA_pointer_create(nullptr, pt->rna_ext.srna, nullptr); /* dummy */ func = &rna_Menu_poll_func; /* RNA_struct_find_function(&ptr, "poll"); */ RNA_parameter_list_create(&list, &ptr, func); @@ -935,11 +926,10 @@ static void menu_draw(const bContext *C, Menu *menu) { extern FunctionRNA rna_Menu_draw_func; - PointerRNA mtr; ParameterList list; FunctionRNA *func; - RNA_pointer_create(&CTX_wm_screen(C)->id, menu->type->rna_ext.srna, menu, &mtr); + PointerRNA mtr = RNA_pointer_create(&CTX_wm_screen(C)->id, menu->type->rna_ext.srna, menu); func = &rna_Menu_draw_func; /* RNA_struct_find_function(&mtr, "draw"); */ RNA_parameter_list_create(&list, &mtr, func); @@ -978,7 +968,6 @@ static StructRNA *rna_Menu_register(Main *bmain, const char *error_prefix = "Registering menu class:"; MenuType *mt, dummy_mt = {nullptr}; Menu dummy_menu = {nullptr}; - PointerRNA dummy_menu_ptr; bool have_function[2]; size_t over_alloc = 0; /* Warning, if this becomes a mess, we better do another allocation. */ size_t description_size = 0; @@ -988,7 +977,7 @@ static StructRNA *rna_Menu_register(Main *bmain, dummy_menu.type = &dummy_mt; _menu_descr[0] = '\0'; dummy_menu.type->description = _menu_descr; - RNA_pointer_create(nullptr, &RNA_Menu, &dummy_menu, &dummy_menu_ptr); + PointerRNA dummy_menu_ptr = RNA_pointer_create(nullptr, &RNA_Menu, &dummy_menu); /* We have to set default context! Else we get a void string... */ STRNCPY(dummy_mt.translation_context, BLT_I18NCONTEXT_DEFAULT_BPYRNA); @@ -1086,8 +1075,7 @@ static bool asset_shelf_asset_poll(const AssetShelfType *shelf_type, const Asset { extern FunctionRNA rna_AssetShelf_asset_poll_func; - PointerRNA ptr; - RNA_pointer_create(nullptr, shelf_type->rna_ext.srna, nullptr, &ptr); /* dummy */ + PointerRNA ptr = RNA_pointer_create(nullptr, shelf_type->rna_ext.srna, nullptr); /* dummy */ FunctionRNA *func = &rna_AssetShelf_asset_poll_func; ParameterList list; @@ -1109,8 +1097,7 @@ static bool asset_shelf_poll(const bContext *C, const AssetShelfType *shelf_type { extern FunctionRNA rna_AssetShelf_poll_func; - PointerRNA ptr; - RNA_pointer_create(nullptr, shelf_type->rna_ext.srna, nullptr, &ptr); /* dummy */ + PointerRNA ptr = RNA_pointer_create(nullptr, shelf_type->rna_ext.srna, nullptr); /* dummy */ FunctionRNA *func = &rna_AssetShelf_poll_func; /* RNA_struct_find_function(&ptr, "poll"); */ ParameterList list; @@ -1135,8 +1122,7 @@ static void asset_shelf_draw_context_menu(const bContext *C, { extern FunctionRNA rna_AssetShelf_draw_context_menu_func; - PointerRNA ptr; - RNA_pointer_create(nullptr, shelf_type->rna_ext.srna, nullptr, &ptr); /* dummy */ + PointerRNA ptr = RNA_pointer_create(nullptr, shelf_type->rna_ext.srna, nullptr); /* dummy */ FunctionRNA *func = &rna_AssetShelf_draw_context_menu_func; // RNA_struct_find_function(&ptr, "draw_context_menu"); @@ -1187,11 +1173,10 @@ static StructRNA *rna_AssetShelf_register(Main *bmain, { AssetShelfType dummy_shelf_type = {}; AssetShelf dummy_shelf = {}; - PointerRNA dummy_shelf_ptr; /* setup dummy shelf & shelf type to store static properties in */ dummy_shelf.type = &dummy_shelf_type; - RNA_pointer_create(nullptr, &RNA_AssetShelf, &dummy_shelf, &dummy_shelf_ptr); + PointerRNA dummy_shelf_ptr = RNA_pointer_create(nullptr, &RNA_AssetShelf, &dummy_shelf); bool have_function[3]; diff --git a/source/blender/makesrna/intern/rna_usd.cc b/source/blender/makesrna/intern/rna_usd.cc index 825415b291b..2ab82fa08b8 100644 --- a/source/blender/makesrna/intern/rna_usd.cc +++ b/source/blender/makesrna/intern/rna_usd.cc @@ -60,10 +60,9 @@ static StructRNA *rna_USDHook_register(Main *bmain, const char *error_prefix = "Registering USD hook class:"; USDHook dummy_hook = {{0}}; USDHook *hook; - PointerRNA dummy_hook_ptr = {nullptr}; /* setup dummy type info to store static properties in */ - RNA_pointer_create(nullptr, &RNA_USDHook, &dummy_hook, &dummy_hook_ptr); + PointerRNA dummy_hook_ptr = RNA_pointer_create(nullptr, &RNA_USDHook, &dummy_hook); /* validate the python class */ if (validate(&dummy_hook_ptr, data, nullptr) != 0) { diff --git a/source/blender/makesrna/intern/rna_userdef.cc b/source/blender/makesrna/intern/rna_userdef.cc index 227e379ee74..75e6a1e4875 100644 --- a/source/blender/makesrna/intern/rna_userdef.cc +++ b/source/blender/makesrna/intern/rna_userdef.cc @@ -966,11 +966,10 @@ static StructRNA *rna_AddonPref_register(Main *bmain, const char *error_prefix = "Registering add-on preferences class:"; bAddonPrefType *apt, dummy_apt = {{'\0'}}; bAddon dummy_addon = {nullptr}; - PointerRNA dummy_addon_ptr; // bool have_function[1]; /* Setup dummy add-on preference and it's type to store static properties in. */ - RNA_pointer_create(nullptr, &RNA_AddonPreferences, &dummy_addon, &dummy_addon_ptr); + PointerRNA dummy_addon_ptr = RNA_pointer_create(nullptr, &RNA_AddonPreferences, &dummy_addon); /* validate the python class */ if (validate(&dummy_addon_ptr, data, nullptr /* have_function */) != 0) { diff --git a/source/blender/makesrna/intern/rna_wm.cc b/source/blender/makesrna/intern/rna_wm.cc index cf1bae24d99..a43b54001b4 100644 --- a/source/blender/makesrna/intern/rna_wm.cc +++ b/source/blender/makesrna/intern/rna_wm.cc @@ -729,9 +729,7 @@ static PointerRNA rna_PopupMenu_layout_get(PointerRNA *ptr) uiPopupMenu *pup = static_cast(ptr->data); uiLayout *layout = UI_popup_menu_layout(pup); - PointerRNA rptr; - RNA_pointer_create(ptr->owner_id, &RNA_UILayout, layout, &rptr); - + PointerRNA rptr = RNA_pointer_create(ptr->owner_id, &RNA_UILayout, layout); return rptr; } @@ -740,9 +738,7 @@ static PointerRNA rna_PopoverMenu_layout_get(PointerRNA *ptr) uiPopover *pup = static_cast(ptr->data); uiLayout *layout = UI_popover_layout(pup); - PointerRNA rptr; - RNA_pointer_create(ptr->owner_id, &RNA_UILayout, layout, &rptr); - + PointerRNA rptr = RNA_pointer_create(ptr->owner_id, &RNA_UILayout, layout); return rptr; } @@ -751,9 +747,7 @@ static PointerRNA rna_PieMenu_layout_get(PointerRNA *ptr) uiPieMenu *pie = static_cast(ptr->data); uiLayout *layout = UI_pie_menu_layout(pie); - PointerRNA rptr; - RNA_pointer_create(ptr->owner_id, &RNA_UILayout, layout, &rptr); - + PointerRNA rptr = RNA_pointer_create(ptr->owner_id, &RNA_UILayout, layout); return rptr; } @@ -886,9 +880,8 @@ static PointerRNA rna_Window_view_layer_get(PointerRNA *ptr) wmWindow *win = static_cast(ptr->data); Scene *scene = WM_window_get_active_scene(win); ViewLayer *view_layer = WM_window_get_active_view_layer(win); - PointerRNA scene_ptr; - RNA_id_pointer_create(&scene->id, &scene_ptr); + PointerRNA scene_ptr = RNA_id_pointer_create(&scene->id); return rna_pointer_inherit_refine(&scene_ptr, &RNA_ViewLayer, view_layer); } @@ -1166,11 +1159,10 @@ static StructRNA *rna_wmKeyConfigPref_register(Main *bmain, const char *error_prefix = "Registering key-config preferences class:"; wmKeyConfigPrefType_Runtime *kpt_rt, dummy_kpt_rt = {{'\0'}}; wmKeyConfigPref dummy_kpt = {nullptr}; - PointerRNA dummy_kpt_ptr; // bool have_function[1]; /* setup dummy keyconf-prefs & keyconf-prefs type to store static properties in */ - RNA_pointer_create(nullptr, &RNA_KeyConfigPreferences, &dummy_kpt, &dummy_kpt_ptr); + PointerRNA dummy_kpt_ptr = RNA_pointer_create(nullptr, &RNA_KeyConfigPreferences, &dummy_kpt); /* validate the python class */ if (validate(&dummy_kpt_ptr, data, nullptr /* have_function */) != 0) { @@ -1303,13 +1295,12 @@ static bool rna_operator_poll_cb(bContext *C, wmOperatorType *ot) { extern FunctionRNA rna_Operator_poll_func; - PointerRNA ptr; ParameterList list; FunctionRNA *func; void *ret; bool visible; - RNA_pointer_create(nullptr, ot->rna_ext.srna, nullptr, &ptr); /* dummy */ + PointerRNA ptr = RNA_pointer_create(nullptr, ot->rna_ext.srna, nullptr); /* dummy */ func = &rna_Operator_poll_func; /* RNA_struct_find_function(&ptr, "poll"); */ RNA_parameter_list_create(&list, &ptr, func); @@ -1328,13 +1319,12 @@ static int rna_operator_exec_cb(bContext *C, wmOperator *op) { extern FunctionRNA rna_Operator_execute_func; - PointerRNA opr; ParameterList list; FunctionRNA *func; void *ret; int result; - RNA_pointer_create(nullptr, op->type->rna_ext.srna, op, &opr); + PointerRNA opr = RNA_pointer_create(nullptr, op->type->rna_ext.srna, op); func = &rna_Operator_execute_func; /* RNA_struct_find_function(&opr, "execute"); */ RNA_parameter_list_create(&list, &opr, func); @@ -1354,13 +1344,12 @@ static bool rna_operator_check_cb(bContext *C, wmOperator *op) { extern FunctionRNA rna_Operator_check_func; - PointerRNA opr; ParameterList list; FunctionRNA *func; void *ret; bool result; - RNA_pointer_create(nullptr, op->type->rna_ext.srna, op, &opr); + PointerRNA opr = RNA_pointer_create(nullptr, op->type->rna_ext.srna, op); func = &rna_Operator_check_func; /* RNA_struct_find_function(&opr, "check"); */ RNA_parameter_list_create(&list, &opr, func); @@ -1379,13 +1368,12 @@ static int rna_operator_invoke_cb(bContext *C, wmOperator *op, const wmEvent *ev { extern FunctionRNA rna_Operator_invoke_func; - PointerRNA opr; ParameterList list; FunctionRNA *func; void *ret; int result; - RNA_pointer_create(nullptr, op->type->rna_ext.srna, op, &opr); + PointerRNA opr = RNA_pointer_create(nullptr, op->type->rna_ext.srna, op); func = &rna_Operator_invoke_func; /* RNA_struct_find_function(&opr, "invoke"); */ RNA_parameter_list_create(&list, &opr, func); @@ -1406,13 +1394,12 @@ static int rna_operator_modal_cb(bContext *C, wmOperator *op, const wmEvent *eve { extern FunctionRNA rna_Operator_modal_func; - PointerRNA opr; ParameterList list; FunctionRNA *func; void *ret; int result; - RNA_pointer_create(nullptr, op->type->rna_ext.srna, op, &opr); + PointerRNA opr = RNA_pointer_create(nullptr, op->type->rna_ext.srna, op); func = &rna_Operator_modal_func; /* RNA_struct_find_function(&opr, "modal"); */ RNA_parameter_list_create(&list, &opr, func); @@ -1432,11 +1419,10 @@ static void rna_operator_draw_cb(bContext *C, wmOperator *op) { extern FunctionRNA rna_Operator_draw_func; - PointerRNA opr; ParameterList list; FunctionRNA *func; - RNA_pointer_create(nullptr, op->type->rna_ext.srna, op, &opr); + PointerRNA opr = RNA_pointer_create(nullptr, op->type->rna_ext.srna, op); func = &rna_Operator_draw_func; /* RNA_struct_find_function(&opr, "draw"); */ RNA_parameter_list_create(&list, &opr, func); @@ -1451,11 +1437,10 @@ static void rna_operator_cancel_cb(bContext *C, wmOperator *op) { extern FunctionRNA rna_Operator_cancel_func; - PointerRNA opr; ParameterList list; FunctionRNA *func; - RNA_pointer_create(nullptr, op->type->rna_ext.srna, op, &opr); + PointerRNA opr = RNA_pointer_create(nullptr, op->type->rna_ext.srna, op); func = &rna_Operator_cancel_func; /* RNA_struct_find_function(&opr, "cancel"); */ RNA_parameter_list_create(&list, &opr, func); @@ -1471,12 +1456,11 @@ static std::string rna_operator_description_cb(bContext *C, { extern FunctionRNA rna_Operator_description_func; - PointerRNA ptr; ParameterList list; FunctionRNA *func; void *ret; - RNA_pointer_create(nullptr, ot->rna_ext.srna, nullptr, &ptr); /* dummy */ + PointerRNA ptr = RNA_pointer_create(nullptr, ot->rna_ext.srna, nullptr); /* dummy */ func = &rna_Operator_description_func; /* RNA_struct_find_function(&ptr, "description"); */ RNA_parameter_list_create(&list, &ptr, func); @@ -1510,7 +1494,6 @@ static StructRNA *rna_Operator_register(Main *bmain, const char *error_prefix = "Registering operator class:"; wmOperatorType dummy_ot = {nullptr}; wmOperator dummy_operator = {nullptr}; - PointerRNA dummy_operator_ptr; bool have_function[8]; struct { @@ -1530,7 +1513,7 @@ static StructRNA *rna_Operator_register(Main *bmain, dummy_ot.translation_context = temp_buffers.translation_context; /* only assign the pointer, string is nullptr'd */ dummy_ot.undo_group = temp_buffers.undo_group; /* only assign the pointer, string is nullptr'd */ - RNA_pointer_create(nullptr, &RNA_Operator, &dummy_operator, &dummy_operator_ptr); + PointerRNA dummy_operator_ptr = RNA_pointer_create(nullptr, &RNA_Operator, &dummy_operator); /* clear in case they are left unset */ temp_buffers.idname[0] = temp_buffers.name[0] = temp_buffers.description[0] = @@ -1677,7 +1660,6 @@ static StructRNA *rna_MacroOperator_register(Main *bmain, const char *error_prefix = "Registering operator macro class:"; wmOperatorType dummy_ot = {nullptr}; wmOperator dummy_operator = {nullptr}; - PointerRNA dummy_operator_ptr; bool have_function[4]; struct { @@ -1697,7 +1679,7 @@ static StructRNA *rna_MacroOperator_register(Main *bmain, dummy_ot.translation_context = temp_buffers.translation_context; /* only assign the pointer, string is nullptr'd */ dummy_ot.undo_group = temp_buffers.undo_group; /* only assign the pointer, string is nullptr'd */ - RNA_pointer_create(nullptr, &RNA_Macro, &dummy_operator, &dummy_operator_ptr); + PointerRNA dummy_operator_ptr = RNA_pointer_create(nullptr, &RNA_Macro, &dummy_operator); /* clear in case they are left unset */ temp_buffers.idname[0] = temp_buffers.name[0] = temp_buffers.description[0] = diff --git a/source/blender/makesrna/intern/rna_wm_api.cc b/source/blender/makesrna/intern/rna_wm_api.cc index c62f90a73d6..132734ccee5 100644 --- a/source/blender/makesrna/intern/rna_wm_api.cc +++ b/source/blender/makesrna/intern/rna_wm_api.cc @@ -410,16 +410,14 @@ static PointerRNA rna_KeyMap_item_find_from_operator(ID *id, wmKeyMapItem *kmi = WM_key_event_operator_from_keymap( km, idname_bl, static_cast(properties->data), include_mask, exclude_mask); - PointerRNA kmi_ptr; - RNA_pointer_create(id, &RNA_KeyMapItem, kmi, &kmi_ptr); + PointerRNA kmi_ptr = RNA_pointer_create(id, &RNA_KeyMapItem, kmi); return kmi_ptr; } static PointerRNA rna_KeyMap_item_match_event(ID *id, wmKeyMap *km, bContext *C, wmEvent *event) { wmKeyMapItem *kmi = WM_event_match_keymap_item(C, km, event); - PointerRNA kmi_ptr; - RNA_pointer_create(id, &RNA_KeyMapItem, kmi, &kmi_ptr); + PointerRNA kmi_ptr = RNA_pointer_create(id, &RNA_KeyMapItem, kmi); return kmi_ptr; } @@ -529,9 +527,8 @@ static PointerRNA rna_KeyConfig_find_item_from_operator(wmWindowManager *wm, include_mask, exclude_mask, &km); - PointerRNA kmi_ptr; - RNA_pointer_create(&wm->id, &RNA_KeyMap, km, km_ptr); - RNA_pointer_create(&wm->id, &RNA_KeyMapItem, kmi, &kmi_ptr); + *km_ptr = RNA_pointer_create(&wm->id, &RNA_KeyMap, km); + PointerRNA kmi_ptr = RNA_pointer_create(&wm->id, &RNA_KeyMapItem, kmi); return kmi_ptr; } @@ -543,13 +540,11 @@ static void rna_KeyConfig_update(wmWindowManager *wm) /* popup menu wrapper */ static PointerRNA rna_PopMenuBegin(bContext *C, const char *title, int icon) { - PointerRNA r_ptr; void *data; data = (void *)UI_popup_menu_begin(C, title, icon); - RNA_pointer_create(nullptr, &RNA_UIPopupMenu, data, &r_ptr); - + PointerRNA r_ptr = RNA_pointer_create(nullptr, &RNA_UIPopupMenu, data); return r_ptr; } @@ -561,13 +556,11 @@ static void rna_PopMenuEnd(bContext *C, PointerRNA *handle) /* popover wrapper */ static PointerRNA rna_PopoverBegin(bContext *C, int ui_units_x, bool from_active_button) { - PointerRNA r_ptr; void *data; data = (void *)UI_popover_begin(C, U.widget_unit * ui_units_x, from_active_button); - RNA_pointer_create(nullptr, &RNA_UIPopover, data, &r_ptr); - + PointerRNA r_ptr = RNA_pointer_create(nullptr, &RNA_UIPopover, data); return r_ptr; } @@ -579,13 +572,11 @@ static void rna_PopoverEnd(bContext *C, PointerRNA *handle, wmKeyMap *keymap) /* pie menu wrapper */ static PointerRNA rna_PieMenuBegin(bContext *C, const char *title, int icon, PointerRNA *event) { - PointerRNA r_ptr; void *data; data = (void *)UI_pie_menu_begin(C, title, icon, static_cast(event->data)); - RNA_pointer_create(nullptr, &RNA_UIPieMenu, data, &r_ptr); - + PointerRNA r_ptr = RNA_pointer_create(nullptr, &RNA_UIPieMenu, data); return r_ptr; } diff --git a/source/blender/makesrna/intern/rna_wm_gizmo.cc b/source/blender/makesrna/intern/rna_wm_gizmo.cc index 15a2c499245..aebee38ca7c 100644 --- a/source/blender/makesrna/intern/rna_wm_gizmo.cc +++ b/source/blender/makesrna/intern/rna_wm_gizmo.cc @@ -64,10 +64,9 @@ static void rna_gizmo_draw_cb(const bContext *C, wmGizmo *gz) { extern FunctionRNA rna_Gizmo_draw_func; wmGizmoGroup *gzgroup = gz->parent_gzgroup; - PointerRNA gz_ptr; ParameterList list; FunctionRNA *func; - RNA_pointer_create(nullptr, gz->type->rna_ext.srna, gz, &gz_ptr); + PointerRNA gz_ptr = RNA_pointer_create(nullptr, gz->type->rna_ext.srna, gz); /* Reference `RNA_struct_find_function(&gz_ptr, "draw")` directly. */ func = &rna_Gizmo_draw_func; RNA_parameter_list_create(&list, &gz_ptr, func); @@ -82,10 +81,9 @@ static void rna_gizmo_draw_select_cb(const bContext *C, wmGizmo *gz, int select_ { extern FunctionRNA rna_Gizmo_draw_select_func; wmGizmoGroup *gzgroup = gz->parent_gzgroup; - PointerRNA gz_ptr; ParameterList list; FunctionRNA *func; - RNA_pointer_create(nullptr, gz->type->rna_ext.srna, gz, &gz_ptr); + PointerRNA gz_ptr = RNA_pointer_create(nullptr, gz->type->rna_ext.srna, gz); /* Reference `RNA_struct_find_function(&gz_ptr, "draw_select")` directly. */ func = &rna_Gizmo_draw_select_func; RNA_parameter_list_create(&list, &gz_ptr, func); @@ -101,10 +99,9 @@ static int rna_gizmo_test_select_cb(bContext *C, wmGizmo *gz, const int location { extern FunctionRNA rna_Gizmo_test_select_func; wmGizmoGroup *gzgroup = gz->parent_gzgroup; - PointerRNA gz_ptr; ParameterList list; FunctionRNA *func; - RNA_pointer_create(nullptr, gz->type->rna_ext.srna, gz, &gz_ptr); + PointerRNA gz_ptr = RNA_pointer_create(nullptr, gz->type->rna_ext.srna, gz); /* Reference `RNA_struct_find_function(&gz_ptr, "test_select")` directly. */ func = &rna_Gizmo_test_select_func; RNA_parameter_list_create(&list, &gz_ptr, func); @@ -127,11 +124,10 @@ static int rna_gizmo_modal_cb(bContext *C, { extern FunctionRNA rna_Gizmo_modal_func; wmGizmoGroup *gzgroup = gz->parent_gzgroup; - PointerRNA gz_ptr; ParameterList list; FunctionRNA *func; const int tweak_flag_int = tweak_flag; - RNA_pointer_create(nullptr, gz->type->rna_ext.srna, gz, &gz_ptr); + PointerRNA gz_ptr = RNA_pointer_create(nullptr, gz->type->rna_ext.srna, gz); /* Reference `RNA_struct_find_function(&gz_ptr, "modal")` directly. */ func = &rna_Gizmo_modal_func; RNA_parameter_list_create(&list, &gz_ptr, func); @@ -152,10 +148,9 @@ static void rna_gizmo_setup_cb(wmGizmo *gz) { extern FunctionRNA rna_Gizmo_setup_func; wmGizmoGroup *gzgroup = gz->parent_gzgroup; - PointerRNA gz_ptr; ParameterList list; FunctionRNA *func; - RNA_pointer_create(nullptr, gz->type->rna_ext.srna, gz, &gz_ptr); + PointerRNA gz_ptr = RNA_pointer_create(nullptr, gz->type->rna_ext.srna, gz); /* Reference `RNA_struct_find_function(&gz_ptr, "setup")` directly. */ func = &rna_Gizmo_setup_func; RNA_parameter_list_create(&list, &gz_ptr, func); @@ -167,10 +162,9 @@ static int rna_gizmo_invoke_cb(bContext *C, wmGizmo *gz, const wmEvent *event) { extern FunctionRNA rna_Gizmo_invoke_func; wmGizmoGroup *gzgroup = gz->parent_gzgroup; - PointerRNA gz_ptr; ParameterList list; FunctionRNA *func; - RNA_pointer_create(nullptr, gz->type->rna_ext.srna, gz, &gz_ptr); + PointerRNA gz_ptr = RNA_pointer_create(nullptr, gz->type->rna_ext.srna, gz); /* Reference `RNA_struct_find_function(&gz_ptr, "invoke")` directly. */ func = &rna_Gizmo_invoke_func; RNA_parameter_list_create(&list, &gz_ptr, func); @@ -190,10 +184,9 @@ static void rna_gizmo_exit_cb(bContext *C, wmGizmo *gz, bool cancel) { extern FunctionRNA rna_Gizmo_exit_func; wmGizmoGroup *gzgroup = gz->parent_gzgroup; - PointerRNA gz_ptr; ParameterList list; FunctionRNA *func; - RNA_pointer_create(nullptr, gz->type->rna_ext.srna, gz, &gz_ptr); + PointerRNA gz_ptr = RNA_pointer_create(nullptr, gz->type->rna_ext.srna, gz); /* Reference `RNA_struct_find_function(&gz_ptr, "exit")` directly. */ func = &rna_Gizmo_exit_func; RNA_parameter_list_create(&list, &gz_ptr, func); @@ -210,10 +203,9 @@ static void rna_gizmo_select_refresh_cb(wmGizmo *gz) { extern FunctionRNA rna_Gizmo_select_refresh_func; wmGizmoGroup *gzgroup = gz->parent_gzgroup; - PointerRNA gz_ptr; ParameterList list; FunctionRNA *func; - RNA_pointer_create(nullptr, gz->type->rna_ext.srna, gz, &gz_ptr); + PointerRNA gz_ptr = RNA_pointer_create(nullptr, gz->type->rna_ext.srna, gz); /* Reference `RNA_struct_find_function(&gz_ptr, "select_refresh")` directly. */ func = &rna_Gizmo_select_refresh_func; RNA_parameter_list_create(&list, &gz_ptr, func); @@ -437,7 +429,6 @@ static StructRNA *rna_Gizmo_register(Main *bmain, wmGizmoType dummy_gt = {nullptr}; wmGizmo dummy_gizmo = {nullptr}; - PointerRNA dummy_gizmo_ptr; /* Two sets of functions. */ bool have_function[8]; @@ -445,7 +436,7 @@ static StructRNA *rna_Gizmo_register(Main *bmain, /* setup dummy gizmo & gizmo type to store static properties in */ dummy_gizmo.type = &dummy_gt; dummy_gt.idname = temp_buffers.idname; - RNA_pointer_create(nullptr, &RNA_Gizmo, &dummy_gizmo, &dummy_gizmo_ptr); + PointerRNA dummy_gizmo_ptr = RNA_pointer_create(nullptr, &RNA_Gizmo, &dummy_gizmo); /* Clear so we can detect if it's left unset. */ temp_buffers.idname[0] = '\0'; @@ -676,13 +667,12 @@ static bool rna_gizmogroup_poll_cb(const bContext *C, wmGizmoGroupType *gzgt) extern FunctionRNA rna_GizmoGroup_poll_func; - PointerRNA ptr; ParameterList list; FunctionRNA *func; void *ret; bool visible; - RNA_pointer_create(nullptr, gzgt->rna_ext.srna, nullptr, &ptr); /* dummy */ + PointerRNA ptr = RNA_pointer_create(nullptr, gzgt->rna_ext.srna, nullptr); /* dummy */ func = &rna_GizmoGroup_poll_func; /* RNA_struct_find_function(&ptr, "poll"); */ RNA_parameter_list_create(&list, &ptr, func); @@ -701,11 +691,10 @@ static void rna_gizmogroup_setup_cb(const bContext *C, wmGizmoGroup *gzgroup) { extern FunctionRNA rna_GizmoGroup_setup_func; - PointerRNA gzgroup_ptr; ParameterList list; FunctionRNA *func; - RNA_pointer_create(nullptr, gzgroup->type->rna_ext.srna, gzgroup, &gzgroup_ptr); + PointerRNA gzgroup_ptr = RNA_pointer_create(nullptr, gzgroup->type->rna_ext.srna, gzgroup); func = &rna_GizmoGroup_setup_func; /* RNA_struct_find_function(&wgroupr, "setup"); */ RNA_parameter_list_create(&list, &gzgroup_ptr, func); @@ -720,11 +709,10 @@ static wmKeyMap *rna_gizmogroup_setup_keymap_cb(const wmGizmoGroupType *gzgt, wm extern FunctionRNA rna_GizmoGroup_setup_keymap_func; void *ret; - PointerRNA ptr; ParameterList list; FunctionRNA *func; - RNA_pointer_create(nullptr, gzgt->rna_ext.srna, nullptr, &ptr); /* dummy */ + PointerRNA ptr = RNA_pointer_create(nullptr, gzgt->rna_ext.srna, nullptr); /* dummy */ func = &rna_GizmoGroup_setup_keymap_func; /* RNA_struct_find_function(&wgroupr, "setup_keymap"); */ @@ -744,11 +732,10 @@ static void rna_gizmogroup_refresh_cb(const bContext *C, wmGizmoGroup *gzgroup) { extern FunctionRNA rna_GizmoGroup_refresh_func; - PointerRNA gzgroup_ptr; ParameterList list; FunctionRNA *func; - RNA_pointer_create(nullptr, gzgroup->type->rna_ext.srna, gzgroup, &gzgroup_ptr); + PointerRNA gzgroup_ptr = RNA_pointer_create(nullptr, gzgroup->type->rna_ext.srna, gzgroup); func = &rna_GizmoGroup_refresh_func; /* RNA_struct_find_function(&wgroupr, "refresh"); */ RNA_parameter_list_create(&list, &gzgroup_ptr, func); @@ -762,11 +749,10 @@ static void rna_gizmogroup_draw_prepare_cb(const bContext *C, wmGizmoGroup *gzgr { extern FunctionRNA rna_GizmoGroup_draw_prepare_func; - PointerRNA gzgroup_ptr; ParameterList list; FunctionRNA *func; - RNA_pointer_create(nullptr, gzgroup->type->rna_ext.srna, gzgroup, &gzgroup_ptr); + PointerRNA gzgroup_ptr = RNA_pointer_create(nullptr, gzgroup->type->rna_ext.srna, gzgroup); func = &rna_GizmoGroup_draw_prepare_func; /* RNA_struct_find_function(&wgroupr, "draw_prepare"); */ @@ -784,11 +770,10 @@ static void rna_gizmogroup_invoke_prepare_cb(const bContext *C, { extern FunctionRNA rna_GizmoGroup_invoke_prepare_func; - PointerRNA gzgroup_ptr; ParameterList list; FunctionRNA *func; - RNA_pointer_create(nullptr, gzgroup->type->rna_ext.srna, gzgroup, &gzgroup_ptr); + PointerRNA gzgroup_ptr = RNA_pointer_create(nullptr, gzgroup->type->rna_ext.srna, gzgroup); /* Reference `RNA_struct_find_function(&wgroupr, "invoke_prepare")` directly. */ func = &rna_GizmoGroup_invoke_prepare_func; @@ -820,7 +805,6 @@ static StructRNA *rna_GizmoGroup_register(Main *bmain, wmGizmoGroupType dummy_wgt = {nullptr}; wmGizmoGroup dummy_gizmo_group = {nullptr}; - PointerRNA wgptr; /* Two sets of functions. */ bool have_function[6]; @@ -830,7 +814,7 @@ static StructRNA *rna_GizmoGroup_register(Main *bmain, dummy_wgt.name = temp_buffers.name; dummy_wgt.idname = temp_buffers.idname; - RNA_pointer_create(nullptr, &RNA_GizmoGroup, &dummy_gizmo_group, &wgptr); + PointerRNA wgptr = RNA_pointer_create(nullptr, &RNA_GizmoGroup, &dummy_gizmo_group); /* Clear so we can detect if it's left unset. */ temp_buffers.idname[0] = temp_buffers.name[0] = '\0'; diff --git a/source/blender/modifiers/intern/MOD_nodes.cc b/source/blender/modifiers/intern/MOD_nodes.cc index 1b23581bd59..7e84daec27b 100644 --- a/source/blender/modifiers/intern/MOD_nodes.cc +++ b/source/blender/modifiers/intern/MOD_nodes.cc @@ -1499,8 +1499,7 @@ static void panel_draw(const bContext *C, Panel *panel) nullptr); if (nmd->node_group != nullptr && nmd->settings.properties != nullptr) { - PointerRNA bmain_ptr; - RNA_main_pointer_create(bmain, &bmain_ptr); + PointerRNA bmain_ptr = RNA_main_pointer_create(bmain); nmd->node_group->ensure_topology_cache(); diff --git a/source/blender/modifiers/intern/MOD_subsurf.cc b/source/blender/modifiers/intern/MOD_subsurf.cc index e06eba47d5e..846eb6e713a 100644 --- a/source/blender/modifiers/intern/MOD_subsurf.cc +++ b/source/blender/modifiers/intern/MOD_subsurf.cc @@ -364,9 +364,8 @@ static void panel_draw(const bContext *C, Panel *panel) PointerRNA cycles_ptr = {nullptr}; PointerRNA ob_cycles_ptr = {nullptr}; #ifdef WITH_CYCLES - PointerRNA scene_ptr; Scene *scene = CTX_data_scene(C); - RNA_id_pointer_create(&scene->id, &scene_ptr); + PointerRNA scene_ptr = RNA_id_pointer_create(&scene->id); if (BKE_scene_uses_cycles(scene)) { cycles_ptr = RNA_pointer_get(&scene_ptr, "cycles"); ob_cycles_ptr = RNA_pointer_get(&ob_ptr, "cycles"); diff --git a/source/blender/modifiers/intern/MOD_ui_common.cc b/source/blender/modifiers/intern/MOD_ui_common.cc index 69167120613..f32031a3da4 100644 --- a/source/blender/modifiers/intern/MOD_ui_common.cc +++ b/source/blender/modifiers/intern/MOD_ui_common.cc @@ -113,7 +113,7 @@ PointerRNA *modifier_panel_get_property_pointers(Panel *panel, PointerRNA *r_ob_ BLI_assert(RNA_struct_is_a(ptr->type, &RNA_Modifier)); if (r_ob_ptr != nullptr) { - RNA_pointer_create(ptr->owner_id, &RNA_Object, ptr->owner_id, r_ob_ptr); + *r_ob_ptr = RNA_pointer_create(ptr->owner_id, &RNA_Object, ptr->owner_id); } uiBlock *block = uiLayoutGetBlock(panel->layout); @@ -198,9 +198,8 @@ static void modifier_ops_extra_draw(bContext *C, uiLayout *layout, void *md_v) uiLayout *row; ModifierData *md = (ModifierData *)md_v; - PointerRNA ptr; Object *ob = ED_object_active_context(C); - RNA_pointer_create(&ob->id, &RNA_Modifier, md, &ptr); + PointerRNA ptr = RNA_pointer_create(&ob->id, &RNA_Modifier, md); uiLayoutSetContextPointer(layout, "modifier", &ptr); uiLayoutSetOperatorContext(layout, WM_OP_INVOKE_DEFAULT); diff --git a/source/blender/nodes/composite/nodes/node_composite_keyingscreen.cc b/source/blender/nodes/composite/nodes/node_composite_keyingscreen.cc index ff0a417ccb5..eaf9c75e8f2 100644 --- a/source/blender/nodes/composite/nodes/node_composite_keyingscreen.cc +++ b/source/blender/nodes/composite/nodes/node_composite_keyingscreen.cc @@ -73,9 +73,7 @@ static void node_composit_buts_keyingscreen(uiLayout *layout, bContext *C, Point if (node->id) { MovieClip *clip = (MovieClip *)node->id; uiLayout *col; - PointerRNA tracking_ptr; - - RNA_pointer_create(&clip->id, &RNA_MovieTracking, &clip->tracking, &tracking_ptr); + PointerRNA tracking_ptr = RNA_pointer_create(&clip->id, &RNA_MovieTracking, &clip->tracking); col = uiLayoutColumn(layout, true); uiItemPointerR(col, ptr, "tracking_object", &tracking_ptr, "objects", "", ICON_OBJECT_DATA); diff --git a/source/blender/nodes/composite/nodes/node_composite_output_file.cc b/source/blender/nodes/composite/nodes/node_composite_output_file.cc index 86f9eb56b98..fc01b006240 100644 --- a/source/blender/nodes/composite/nodes/node_composite_output_file.cc +++ b/source/blender/nodes/composite/nodes/node_composite_output_file.cc @@ -257,8 +257,6 @@ static void copy_output_file(bNodeTree * /*dst_ntree*/, bNode *dest_node, const static void update_output_file(bNodeTree *ntree, bNode *node) { - PointerRNA ptr; - /* XXX fix for #36706: remove invalid sockets added with bpy API. * This is not ideal, but prevents crashes from missing storage. * FileOutput node needs a redesign to support this properly. @@ -277,7 +275,7 @@ static void update_output_file(bNodeTree *ntree, bNode *node) /* automatically update the socket type based on linked input */ LISTBASE_FOREACH (bNodeSocket *, sock, &node->inputs) { if (sock->link) { - RNA_pointer_create((ID *)ntree, &RNA_NodeSocket, sock, &ptr); + PointerRNA ptr = RNA_pointer_create((ID *)ntree, &RNA_NodeSocket, sock); RNA_enum_set(&ptr, "type", sock->link->fromsock->type); } } diff --git a/source/blender/nodes/composite/nodes/node_composite_planetrackdeform.cc b/source/blender/nodes/composite/nodes/node_composite_planetrackdeform.cc index c50d96f9176..588d8331b91 100644 --- a/source/blender/nodes/composite/nodes/node_composite_planetrackdeform.cc +++ b/source/blender/nodes/composite/nodes/node_composite_planetrackdeform.cc @@ -94,18 +94,15 @@ static void node_composit_buts_planetrackdeform(uiLayout *layout, bContext *C, P MovieTracking *tracking = &clip->tracking; MovieTrackingObject *tracking_object; uiLayout *col; - PointerRNA tracking_ptr; - - RNA_pointer_create(&clip->id, &RNA_MovieTracking, tracking, &tracking_ptr); + PointerRNA tracking_ptr = RNA_pointer_create(&clip->id, &RNA_MovieTracking, tracking); col = uiLayoutColumn(layout, false); uiItemPointerR(col, ptr, "tracking_object", &tracking_ptr, "objects", "", ICON_OBJECT_DATA); tracking_object = BKE_tracking_object_get_named(tracking, data->tracking_object); if (tracking_object) { - PointerRNA object_ptr; - - RNA_pointer_create(&clip->id, &RNA_MovieTrackingObject, tracking_object, &object_ptr); + PointerRNA object_ptr = RNA_pointer_create( + &clip->id, &RNA_MovieTrackingObject, tracking_object); uiItemPointerR( col, ptr, "plane_track_name", &object_ptr, "plane_tracks", "", ICON_ANIM_DATA); diff --git a/source/blender/nodes/composite/nodes/node_composite_trackpos.cc b/source/blender/nodes/composite/nodes/node_composite_trackpos.cc index 98460353f3e..4e3e28765dd 100644 --- a/source/blender/nodes/composite/nodes/node_composite_trackpos.cc +++ b/source/blender/nodes/composite/nodes/node_composite_trackpos.cc @@ -84,19 +84,16 @@ static void node_composit_buts_trackpos(uiLayout *layout, bContext *C, PointerRN MovieTracking *tracking = &clip->tracking; MovieTrackingObject *tracking_object; uiLayout *col; - PointerRNA tracking_ptr; NodeTrackPosData *data = (NodeTrackPosData *)node->storage; - - RNA_pointer_create(&clip->id, &RNA_MovieTracking, tracking, &tracking_ptr); + PointerRNA tracking_ptr = RNA_pointer_create(&clip->id, &RNA_MovieTracking, tracking); col = uiLayoutColumn(layout, false); uiItemPointerR(col, ptr, "tracking_object", &tracking_ptr, "objects", "", ICON_OBJECT_DATA); tracking_object = BKE_tracking_object_get_named(tracking, data->tracking_object); if (tracking_object) { - PointerRNA object_ptr; - - RNA_pointer_create(&clip->id, &RNA_MovieTrackingObject, tracking_object, &object_ptr); + PointerRNA object_ptr = RNA_pointer_create( + &clip->id, &RNA_MovieTrackingObject, tracking_object); uiItemPointerR(col, ptr, "track_name", &object_ptr, "tracks", "", ICON_ANIM_DATA); } diff --git a/source/blender/nodes/intern/node_util.cc b/source/blender/nodes/intern/node_util.cc index c1e42ad9929..9b748e8ff0d 100644 --- a/source/blender/nodes/intern/node_util.cc +++ b/source/blender/nodes/intern/node_util.cc @@ -293,22 +293,19 @@ bool node_insert_link_default(bNodeTree * /*ntree*/, float node_socket_get_float(bNodeTree *ntree, bNode * /*node*/, bNodeSocket *sock) { - PointerRNA ptr; - RNA_pointer_create((ID *)ntree, &RNA_NodeSocket, sock, &ptr); + PointerRNA ptr = RNA_pointer_create((ID *)ntree, &RNA_NodeSocket, sock); return RNA_float_get(&ptr, "default_value"); } void node_socket_set_float(bNodeTree *ntree, bNode * /*node*/, bNodeSocket *sock, float value) { - PointerRNA ptr; - RNA_pointer_create((ID *)ntree, &RNA_NodeSocket, sock, &ptr); + PointerRNA ptr = RNA_pointer_create((ID *)ntree, &RNA_NodeSocket, sock); RNA_float_set(&ptr, "default_value", value); } void node_socket_get_color(bNodeTree *ntree, bNode * /*node*/, bNodeSocket *sock, float *value) { - PointerRNA ptr; - RNA_pointer_create((ID *)ntree, &RNA_NodeSocket, sock, &ptr); + PointerRNA ptr = RNA_pointer_create((ID *)ntree, &RNA_NodeSocket, sock); RNA_float_get_array(&ptr, "default_value", value); } @@ -317,15 +314,13 @@ void node_socket_set_color(bNodeTree *ntree, bNodeSocket *sock, const float *value) { - PointerRNA ptr; - RNA_pointer_create((ID *)ntree, &RNA_NodeSocket, sock, &ptr); + PointerRNA ptr = RNA_pointer_create((ID *)ntree, &RNA_NodeSocket, sock); RNA_float_set_array(&ptr, "default_value", value); } void node_socket_get_vector(bNodeTree *ntree, bNode * /*node*/, bNodeSocket *sock, float *value) { - PointerRNA ptr; - RNA_pointer_create((ID *)ntree, &RNA_NodeSocket, sock, &ptr); + PointerRNA ptr = RNA_pointer_create((ID *)ntree, &RNA_NodeSocket, sock); RNA_float_get_array(&ptr, "default_value", value); } @@ -334,8 +329,7 @@ void node_socket_set_vector(bNodeTree *ntree, bNodeSocket *sock, const float *value) { - PointerRNA ptr; - RNA_pointer_create((ID *)ntree, &RNA_NodeSocket, sock, &ptr); + PointerRNA ptr = RNA_pointer_create((ID *)ntree, &RNA_NodeSocket, sock); RNA_float_set_array(&ptr, "default_value", value); } diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_pointdensity.cc b/source/blender/nodes/shader/nodes/node_shader_tex_pointdensity.cc index 1cdec9357c7..be9cc2bc525 100644 --- a/source/blender/nodes/shader/nodes/node_shader_tex_pointdensity.cc +++ b/source/blender/nodes/shader/nodes/node_shader_tex_pointdensity.cc @@ -28,16 +28,14 @@ static void node_shader_buts_tex_pointdensity(uiLayout *layout, bContext * /*C*/ NodeShaderTexPointDensity *shader_point_density = (NodeShaderTexPointDensity *)node->storage; Object *ob = (Object *)node->id; - PointerRNA ob_ptr, obdata_ptr; - RNA_id_pointer_create((ID *)ob, &ob_ptr); - RNA_id_pointer_create(ob ? (ID *)ob->data : nullptr, &obdata_ptr); + PointerRNA ob_ptr = RNA_id_pointer_create((ID *)ob); + PointerRNA obdata_ptr = RNA_id_pointer_create(ob ? (ID *)ob->data : nullptr); uiItemR(layout, ptr, "point_source", UI_ITEM_R_EXPAND, nullptr, ICON_NONE); uiItemR(layout, ptr, "object", UI_ITEM_R_SPLIT_EMPTY_NAME, nullptr, ICON_NONE); if (node->id && shader_point_density->point_source == SHD_POINTDENSITY_SOURCE_PSYS) { - PointerRNA dataptr; - RNA_id_pointer_create((ID *)node->id, &dataptr); + PointerRNA dataptr = RNA_id_pointer_create((ID *)node->id); uiItemPointerR( layout, ptr, "particle_system", &dataptr, "particle_systems", nullptr, ICON_NONE); } diff --git a/source/blender/python/intern/bpy.cc b/source/blender/python/intern/bpy.cc index 1595651e1c5..052f333caee 100644 --- a/source/blender/python/intern/bpy.cc +++ b/source/blender/python/intern/bpy.cc @@ -554,8 +554,8 @@ static PyObject *bpy_rna_enum_items_static(PyObject * /*self*/) const int items_count = RNA_enum_items_count(items); PyObject *value = PyTuple_New(items_count); for (int item_index = 0; item_index < items_count; item_index++) { - PointerRNA ptr; - RNA_pointer_create(nullptr, &RNA_EnumPropertyItem, (void *)&items[item_index], &ptr); + PointerRNA ptr = RNA_pointer_create( + nullptr, &RNA_EnumPropertyItem, (void *)&items[item_index]); PyTuple_SET_ITEM(value, item_index, pyrna_struct_CreatePyObject(&ptr)); } PyDict_SetItemString(result, enum_info[i].id, value); @@ -640,7 +640,6 @@ static PyObject *bpy_import_test(const char *modname) void BPy_init_modules(bContext *C) { - PointerRNA ctx_ptr; PyObject *mod; /* Needs to be first since this dir is needed for future modules */ @@ -689,7 +688,7 @@ void BPy_init_modules(bContext *C) PyModule_AddObject(mod, "_utils_previews", BPY_utils_previews_module()); PyModule_AddObject(mod, "msgbus", BPY_msgbus_module()); - RNA_pointer_create(nullptr, &RNA_Context, C, &ctx_ptr); + PointerRNA ctx_ptr = RNA_pointer_create(nullptr, &RNA_Context, C); bpy_context_module = (BPy_StructRNA *)pyrna_struct_CreatePyObject(&ctx_ptr); /* odd that this is needed, 1 ref on creation and another for the module * but without we get a crash on exit */ diff --git a/source/blender/python/intern/bpy_driver.cc b/source/blender/python/intern/bpy_driver.cc index a9a537cce6e..ad039a162bf 100644 --- a/source/blender/python/intern/bpy_driver.cc +++ b/source/blender/python/intern/bpy_driver.cc @@ -203,8 +203,7 @@ static void bpy_pydriver_namespace_clear_self() static PyObject *bpy_pydriver_depsgraph_as_pyobject(Depsgraph *depsgraph) { - PointerRNA depsgraph_ptr; - RNA_pointer_create(nullptr, &RNA_Depsgraph, depsgraph, &depsgraph_ptr); + PointerRNA depsgraph_ptr = RNA_pointer_create(nullptr, &RNA_Depsgraph, depsgraph); return pyrna_struct_CreatePyObject(&depsgraph_ptr); } diff --git a/source/blender/python/intern/bpy_library_load.cc b/source/blender/python/intern/bpy_library_load.cc index 8ad5557f541..dc802e4bc8d 100644 --- a/source/blender/python/intern/bpy_library_load.cc +++ b/source/blender/python/intern/bpy_library_load.cc @@ -436,13 +436,11 @@ static bool bpy_lib_exit_lapp_context_items_cb(BlendfileLinkAppendContext *lapp_ PyObject *py_item; if (liboverride_id != nullptr) { - PointerRNA newid_ptr; - RNA_id_pointer_create(liboverride_id, &newid_ptr); + PointerRNA newid_ptr = RNA_id_pointer_create(liboverride_id); py_item = pyrna_struct_CreatePyObject(&newid_ptr); } else if (new_id != nullptr) { - PointerRNA newid_ptr; - RNA_id_pointer_create(new_id, &newid_ptr); + PointerRNA newid_ptr = RNA_id_pointer_create(new_id); py_item = pyrna_struct_CreatePyObject(&newid_ptr); } else { diff --git a/source/blender/python/intern/bpy_operator.cc b/source/blender/python/intern/bpy_operator.cc index b0c56a53193..ec86353984e 100644 --- a/source/blender/python/intern/bpy_operator.cc +++ b/source/blender/python/intern/bpy_operator.cc @@ -305,7 +305,6 @@ static PyObject *pyop_call(PyObject * /*self*/, PyObject *args) static PyObject *pyop_as_string(PyObject * /*self*/, PyObject *args) { wmOperatorType *ot; - PointerRNA ptr; const char *opname; PyObject *kw = nullptr; /* optional args */ @@ -363,7 +362,7 @@ static PyObject *pyop_as_string(PyObject * /*self*/, PyObject *args) // WM_operator_properties_create(&ptr, opname); /* Save another lookup */ - RNA_pointer_create(nullptr, ot->srna, nullptr, &ptr); + PointerRNA ptr = RNA_pointer_create(nullptr, ot->srna, nullptr); if (kw && PyDict_Size(kw)) { error_val = pyrna_pydict_to_props( @@ -415,8 +414,7 @@ static PyObject *pyop_getrna_type(PyObject * /*self*/, PyObject *value) return nullptr; } - PointerRNA ptr; - RNA_pointer_create(nullptr, &RNA_Struct, ot->srna, &ptr); + PointerRNA ptr = RNA_pointer_create(nullptr, &RNA_Struct, ot->srna); BPy_StructRNA *pyrna = (BPy_StructRNA *)pyrna_struct_CreatePyObject(&ptr); return (PyObject *)pyrna; } diff --git a/source/blender/python/intern/bpy_operator_wrap.cc b/source/blender/python/intern/bpy_operator_wrap.cc index 873ee9283d5..305f2e9484b 100644 --- a/source/blender/python/intern/bpy_operator_wrap.cc +++ b/source/blender/python/intern/bpy_operator_wrap.cc @@ -54,10 +54,9 @@ static void operator_properties_init(wmOperatorType *ot) if (bl_property) { const char *prop_id = PyUnicode_AsUTF8(bl_property); if (prop_id != nullptr) { - PointerRNA ptr; PropertyRNA *prop; - RNA_pointer_create(nullptr, ot->srna, nullptr, &ptr); + PointerRNA ptr = RNA_pointer_create(nullptr, ot->srna, nullptr); prop = RNA_struct_find_property(&ptr, prop_id); if (prop) { ot->prop = prop; @@ -128,7 +127,6 @@ PyObject *PYOP_wrap_macro_define(PyObject * /*self*/, PyObject *args) wmOperatorType *ot; wmOperatorTypeMacro *otmacro; PyObject *macro; - PointerRNA ptr_otmacro; StructRNA *srna; const char *opname; @@ -159,7 +157,6 @@ PyObject *PYOP_wrap_macro_define(PyObject * /*self*/, PyObject *args) otmacro = WM_operatortype_macro_define(ot, opname); - RNA_pointer_create(nullptr, &RNA_OperatorMacro, otmacro, &ptr_otmacro); - + PointerRNA ptr_otmacro = RNA_pointer_create(nullptr, &RNA_OperatorMacro, otmacro); return pyrna_struct_CreatePyObject(&ptr_otmacro); } diff --git a/source/blender/python/intern/bpy_props.cc b/source/blender/python/intern/bpy_props.cc index a2eceea6e46..ca63fbbb71e 100644 --- a/source/blender/python/intern/bpy_props.cc +++ b/source/blender/python/intern/bpy_props.cc @@ -2749,8 +2749,7 @@ static int bpy_prop_arg_parse_tag_defines(PyObject *o, void *p) #if 0 static int bpy_struct_id_used(StructRNA *srna, char *identifier) { - PointerRNA ptr; - RNA_pointer_create(nullptr, srna, nullptr, &ptr); + PointerRNA ptr = RNA_pointer_create(nullptr, srna, nullptr); return (RNA_struct_find_property(&ptr, identifier) != nullptr); } #endif diff --git a/source/blender/python/intern/bpy_rna.cc b/source/blender/python/intern/bpy_rna.cc index 08bee00a58a..2e33e89b8c6 100644 --- a/source/blender/python/intern/bpy_rna.cc +++ b/source/blender/python/intern/bpy_rna.cc @@ -1981,8 +1981,7 @@ static int pyrna_py_to_prop( /* Error set. */ } else { - PointerRNA tmp; - RNA_pointer_create(nullptr, ptr_type, nullptr, &tmp); + PointerRNA tmp = RNA_pointer_create(nullptr, ptr_type, nullptr); PyErr_Format(PyExc_TypeError, "%.200s %.200s.%.200s expected a %.200s type, not %.200s", error_prefix, @@ -4005,11 +4004,10 @@ PyDoc_STRVAR(pyrna_struct_type_recast_doc, " :rtype: subclass of :class:`bpy.types.bpy_struct`\n"); static PyObject *pyrna_struct_type_recast(BPy_StructRNA *self) { - PointerRNA r_ptr; PYRNA_STRUCT_CHECK_OBJ(self); - RNA_pointer_recast(&self->ptr, &r_ptr); + PointerRNA r_ptr = RNA_pointer_recast(&self->ptr); return pyrna_struct_CreatePyObject(&r_ptr); } @@ -4096,14 +4094,13 @@ static PyObject *pyrna_struct_bl_rna_get_subclass(PyObject *cls, PyObject *args) } const StructRNA *srna_base = static_cast(py_srna->ptr.data); - PointerRNA ptr; if (srna_base == &RNA_Node) { /* If the given idname is an alias, translate it to the proper idname. */ id = nodeTypeFindAlias(id); bNodeType *nt = nodeTypeFind(id); if (nt) { - RNA_pointer_create(nullptr, &RNA_Struct, nt->rna_ext.srna, &ptr); + PointerRNA ptr = RNA_pointer_create(nullptr, &RNA_Struct, nt->rna_ext.srna); return pyrna_struct_CreatePyObject(&ptr); } } @@ -4163,11 +4160,10 @@ static void pyrna_dir_members_rna(PyObject *list, PointerRNA *ptr) const char *idname; /* For looping over attributes and functions. */ - PointerRNA tptr; PropertyRNA *iterprop; { - RNA_pointer_create(nullptr, &RNA_Struct, ptr->type, &tptr); + PointerRNA tptr = RNA_pointer_create(nullptr, &RNA_Struct, ptr->type); iterprop = RNA_struct_find_property(&tptr, "functions"); RNA_PROP_BEGIN (&tptr, itemptr, iterprop) { @@ -4428,8 +4424,7 @@ static PyObject *pyrna_struct_getattro(BPy_StructRNA *self, PyObject *pyname) case CTX_DATA_TYPE_PROPERTY: { if (newprop != nullptr) { /* Create pointer to parent ID, and path from ID to property. */ - PointerRNA idptr; - RNA_id_pointer_create(newptr.owner_id, &idptr); + PointerRNA idptr = RNA_id_pointer_create(newptr.owner_id); char *path_str = RNA_path_from_ID_to_property(&newptr, newprop); ret = PyTuple_New(3); @@ -4522,9 +4517,8 @@ static PyObject *pyrna_struct_meta_idprop_getattro(PyObject *cls, PyObject *attr if (srna) { PropertyRNA *prop = RNA_struct_type_find_property_no_base(srna, PyUnicode_AsUTF8(attr)); if (prop) { - PointerRNA tptr; PyErr_Clear(); /* Clear error from tp_getattro. */ - RNA_pointer_create(nullptr, &RNA_Property, prop, &tptr); + PointerRNA tptr = RNA_pointer_create(nullptr, &RNA_Property, prop); ret = pyrna_struct_CreatePyObject(&tptr); } } @@ -4896,8 +4890,7 @@ static PyObject *pyrna_struct_get_id_data(BPy_DummyPointerRNA *self, void * /*cl { /* Used for struct and pointer since both have a ptr. */ if (self->ptr.owner_id) { - PointerRNA id_ptr; - RNA_id_pointer_create((ID *)self->ptr.owner_id, &id_ptr); + PointerRNA id_ptr = RNA_id_pointer_create((ID *)self->ptr.owner_id); return pyrna_struct_CreatePyObject(&id_ptr); } @@ -4914,8 +4907,7 @@ static PyObject *pyrna_struct_get_data(BPy_DummyPointerRNA *self, void * /*closu PyDoc_STRVAR(pyrna_struct_get_rna_type_doc, "The property type for introspection"); static PyObject *pyrna_struct_get_rna_type(BPy_PropertyRNA *self, void * /*closure*/) { - PointerRNA tptr; - RNA_pointer_create(nullptr, &RNA_Property, self->prop, &tptr); + PointerRNA tptr = RNA_pointer_create(nullptr, &RNA_Property, self->prop); return pyrna_struct_Subtype(&tptr); } @@ -6200,14 +6192,14 @@ static PyObject *pyrna_param_to_py(PointerRNA *ptr, PropertyRNA *prop, void *dat } else { if (RNA_struct_is_ID(ptype)) { - RNA_id_pointer_create(static_cast(*(void **)data), &newptr); + newptr = RNA_id_pointer_create(static_cast(*(void **)data)); } else { /* NOTE: this is taken from the function's ID pointer * and will break if a function returns a pointer from * another ID block, watch this! - it should at least be * easy to debug since they are all ID's */ - RNA_pointer_create(ptr->owner_id, ptype, *(void **)data, &newptr); + newptr = RNA_pointer_create(ptr->owner_id, ptype, *(void **)data); } } @@ -6300,7 +6292,6 @@ static PyObject *pyrna_func_call(BPy_FunctionRNA *self, PyObject *args, PyObject PointerRNA *self_ptr = &self->ptr; FunctionRNA *self_func = self->func; - PointerRNA funcptr; ParameterList parms; ParameterIterator iter; PropertyRNA *parm; @@ -6353,7 +6344,7 @@ static PyObject *pyrna_func_call(BPy_FunctionRNA *self, PyObject *args, PyObject /* include the ID pointer for pyrna_param_to_py() so we can include the * ID pointer on return values, this only works when returned values have * the same ID as the functions. */ - RNA_pointer_create(self_ptr->owner_id, &RNA_Function, self_func, &funcptr); + PointerRNA funcptr = RNA_pointer_create(self_ptr->owner_id, &RNA_Function, self_func); pyargs_len = PyTuple_GET_SIZE(args); pykw_len = kw ? PyDict_Size(kw) : 0; @@ -7170,7 +7161,6 @@ static void pyrna_prop_collection_iter_dealloc(BPy_PropertyCollectionIterRNA *se static void pyrna_subtype_set_rna(PyObject *newclass, StructRNA *srna) { - PointerRNA ptr; PyObject *item; Py_INCREF(newclass); @@ -7187,7 +7177,7 @@ static void pyrna_subtype_set_rna(PyObject *newclass, StructRNA *srna) * having an instance within a type looks wrong, but this instance _is_ an RNA type. */ /* Python deals with the circular reference. */ - RNA_pointer_create(nullptr, &RNA_Struct, srna, &ptr); + PointerRNA ptr = RNA_pointer_create(nullptr, &RNA_Struct, srna); item = pyrna_struct_CreatePyObject(&ptr); /* NOTE: must set the class not the __dict__ else the internal slots are not updated correctly. @@ -7596,8 +7586,7 @@ PyObject *pyrna_prop_CreatePyObject(PointerRNA *ptr, PropertyRNA *prop) PyObject *pyrna_id_CreatePyObject(ID *id) { if (id) { - PointerRNA ptr; - RNA_id_pointer_create(id, &ptr); + PointerRNA ptr = RNA_id_pointer_create(id); return pyrna_struct_CreatePyObject(&ptr); } @@ -7699,10 +7688,9 @@ static PointerRNA *rna_module_ptr = nullptr; PyObject *BPY_rna_module() { BPy_StructRNA *pyrna; - PointerRNA ptr; /* For now, return the base RNA type rather than a real module. */ - RNA_main_pointer_create(G_MAIN, &ptr); + PointerRNA ptr = RNA_main_pointer_create(G_MAIN); pyrna = (BPy_StructRNA *)pyrna_struct_CreatePyObject(&ptr); rna_module_ptr = &pyrna->ptr; @@ -7713,7 +7701,7 @@ void BPY_update_rna_module() { if (rna_module_ptr) { #if 0 - RNA_main_pointer_create(G_MAIN, rna_module_ptr); + *rna_module_ptr = RNA_main_pointer_create(G_MAIN); #else rna_module_ptr->data = G_MAIN; /* Just set data is enough. */ #endif @@ -7725,10 +7713,9 @@ void BPY_update_rna_module() * without having the data-types in Blender. */ PyObject *BPY_rna_doc() { - PointerRNA ptr; /* For now, return the base RNA type rather than a real module. */ - RNA_blender_rna_pointer_create(&ptr); + PointerRNA ptr = RNA_blender_rna_pointer_create(); return pyrna_struct_CreatePyObject(&ptr); } @@ -7839,7 +7826,7 @@ PyObject *BPY_rna_types() BPy_TypesModule_State *state = static_cast( PyModule_GetState(submodule)); - RNA_blender_rna_pointer_create(&state->ptr); + state->ptr = RNA_blender_rna_pointer_create(); state->prop = RNA_struct_find_property(&state->ptr, "structs"); /* Internal base types we have no other accessors for. */ @@ -8592,7 +8579,7 @@ static int bpy_class_call(bContext *C, PointerRNA *ptr, FunctionRNA *func, Param PyObject *item = PyObject_GetAttrString((PyObject *)py_class, RNA_function_identifier(func)); if (item) { - RNA_pointer_create(nullptr, &RNA_Function, func, &funcptr); + funcptr = RNA_pointer_create(nullptr, &RNA_Function, func); if (is_staticmethod) { arg_count = @@ -8819,13 +8806,12 @@ void pyrna_alloc_types() #ifdef DEBUG PyGILState_STATE gilstate; - PointerRNA ptr; PropertyRNA *prop; gilstate = PyGILState_Ensure(); /* Avoid doing this lookup for every getattr. */ - RNA_blender_rna_pointer_create(&ptr); + PointerRNA ptr = RNA_blender_rna_pointer_create(); prop = RNA_struct_find_property(&ptr, "structs"); RNA_PROP_BEGIN (&ptr, itemptr, prop) { @@ -8848,11 +8834,10 @@ void pyrna_alloc_types() void pyrna_free_types() { - PointerRNA ptr; PropertyRNA *prop; /* Avoid doing this lookup for every getattr. */ - RNA_blender_rna_pointer_create(&ptr); + PointerRNA ptr = RNA_blender_rna_pointer_create(); prop = RNA_struct_find_property(&ptr, "structs"); RNA_PROP_BEGIN (&ptr, itemptr, prop) { @@ -9051,8 +9036,7 @@ static int pyrna_srna_contains_pointer_prop_srna(StructRNA *srna_props, LISTBASE_FOREACH (LinkData *, link, lb) { prop = (PropertyRNA *)link; if (RNA_property_type(prop) == PROP_POINTER && !RNA_property_builtin(prop)) { - PointerRNA tptr; - RNA_pointer_create(nullptr, &RNA_Struct, srna_props, &tptr); + PointerRNA tptr = RNA_pointer_create(nullptr, &RNA_Struct, srna_props); if (RNA_property_pointer_type(&tptr, prop) == srna) { *r_prop_identifier = RNA_property_identifier(prop); @@ -9147,11 +9131,10 @@ static PyObject *pyrna_unregister_class(PyObject * /*self*/, PyObject *py_class) if (G.debug & G_DEBUG_PYTHON) { /* Remove all properties using this class. */ StructRNA *srna_iter; - PointerRNA ptr_rna; PropertyRNA *prop_rna; const char *prop_identifier = nullptr; - RNA_blender_rna_pointer_create(&ptr_rna); + PointerRNA ptr_rna = RNA_blender_rna_pointer_create(); prop_rna = RNA_struct_find_property(&ptr_rna, "structs"); /* Loop over all structs. */ diff --git a/source/blender/python/intern/bpy_rna_anim.cc b/source/blender/python/intern/bpy_rna_anim.cc index afa3edb0a86..fa64e49139a 100644 --- a/source/blender/python/intern/bpy_rna_anim.cc +++ b/source/blender/python/intern/bpy_rna_anim.cc @@ -583,13 +583,13 @@ PyObject *pyrna_struct_driver_add(BPy_StructRNA *self, PyObject *args) int i = 0; ret = PyList_New(0); while ((fcu = BKE_fcurve_find(&adt->drivers, path_full, i++))) { - RNA_pointer_create(id, &RNA_FCurve, fcu, &tptr); + tptr = RNA_pointer_create(id, &RNA_FCurve, fcu); PyList_APPEND(ret, pyrna_struct_CreatePyObject(&tptr)); } } else { fcu = BKE_fcurve_find(&adt->drivers, path_full, index); - RNA_pointer_create(id, &RNA_FCurve, fcu, &tptr); + tptr = RNA_pointer_create(id, &RNA_FCurve, fcu); ret = pyrna_struct_CreatePyObject(&tptr); } diff --git a/source/blender/python/intern/bpy_rna_data.cc b/source/blender/python/intern/bpy_rna_data.cc index 905e1a14a95..8714e72c904 100644 --- a/source/blender/python/intern/bpy_rna_data.cc +++ b/source/blender/python/intern/bpy_rna_data.cc @@ -168,8 +168,7 @@ static PyObject *bpy_rna_data_temp_data(PyObject * /*self*/, PyObject *args, PyO static PyObject *bpy_rna_data_context_enter(BPy_DataContext *self) { Main *bmain_temp = BKE_main_new(); - PointerRNA ptr; - RNA_pointer_create(nullptr, &RNA_BlendData, bmain_temp, &ptr); + PointerRNA ptr = RNA_pointer_create(nullptr, &RNA_BlendData, bmain_temp); self->data_rna = (BPy_StructRNA *)pyrna_struct_CreatePyObject(&ptr); diff --git a/source/blender/python/intern/bpy_utils_previews.cc b/source/blender/python/intern/bpy_utils_previews.cc index 4e4b8c1008b..5fabbc6ddb6 100644 --- a/source/blender/python/intern/bpy_utils_previews.cc +++ b/source/blender/python/intern/bpy_utils_previews.cc @@ -57,14 +57,13 @@ static PyObject *bpy_utils_previews_new(PyObject * /*self*/, PyObject *args) { char *name; PreviewImage *prv; - PointerRNA ptr; if (!PyArg_ParseTuple(args, "s:new", &name)) { return nullptr; } prv = BKE_previewimg_cached_ensure(name); - RNA_pointer_create(nullptr, &RNA_ImagePreview, prv, &ptr); + PointerRNA ptr = RNA_pointer_create(nullptr, &RNA_ImagePreview, prv); return pyrna_struct_CreatePyObject(&ptr); } @@ -131,8 +130,7 @@ static PyObject *bpy_utils_previews_load(PyObject * /*self*/, PyObject *args) Py_XDECREF(filepath_data.value_coerce); - PointerRNA ptr; - RNA_pointer_create(nullptr, &RNA_ImagePreview, prv, &ptr); + PointerRNA ptr = RNA_pointer_create(nullptr, &RNA_ImagePreview, prv); return pyrna_struct_CreatePyObject(&ptr); } diff --git a/source/blender/shader_fx/intern/FX_ui_common.cc b/source/blender/shader_fx/intern/FX_ui_common.cc index d949c57a947..36cce800029 100644 --- a/source/blender/shader_fx/intern/FX_ui_common.cc +++ b/source/blender/shader_fx/intern/FX_ui_common.cc @@ -98,7 +98,7 @@ PointerRNA *shaderfx_panel_get_property_pointers(Panel *panel, PointerRNA *r_ob_ BLI_assert(RNA_struct_is_a(ptr->type, &RNA_ShaderFx)); if (r_ob_ptr != nullptr) { - RNA_pointer_create(ptr->owner_id, &RNA_Object, ptr->owner_id, r_ob_ptr); + *r_ob_ptr = RNA_pointer_create(ptr->owner_id, &RNA_Object, ptr->owner_id); } UI_panel_context_pointer_set(panel, "shaderfx", ptr); @@ -114,9 +114,8 @@ static void gpencil_shaderfx_ops_extra_draw(bContext *C, uiLayout *layout, void uiLayout *row; ShaderFxData *fx = (ShaderFxData *)fx_v; - PointerRNA ptr; Object *ob = ED_object_active_context(C); - RNA_pointer_create(&ob->id, &RNA_ShaderFx, fx, &ptr); + PointerRNA ptr = RNA_pointer_create(&ob->id, &RNA_ShaderFx, fx); uiLayoutSetContextPointer(layout, "shaderfx", &ptr); uiLayoutSetOperatorContext(layout, WM_OP_INVOKE_DEFAULT); diff --git a/source/blender/windowmanager/gizmo/intern/wm_gizmo.cc b/source/blender/windowmanager/gizmo/intern/wm_gizmo.cc index 3baff178e9b..7baabf76446 100644 --- a/source/blender/windowmanager/gizmo/intern/wm_gizmo.cc +++ b/source/blender/windowmanager/gizmo/intern/wm_gizmo.cc @@ -66,7 +66,7 @@ static wmGizmo *wm_gizmo_create(const wmGizmoType *gzt, PointerRNA *properties) IDPropertyTemplate val = {0}; gz->properties = IDP_New(IDP_GROUP, &val, "wmGizmoProperties"); } - RNA_pointer_create(static_cast(G_MAIN->wm.first), gzt->srna, gz->properties, gz->ptr); + *gz->ptr = RNA_pointer_create(static_cast(G_MAIN->wm.first), gzt->srna, gz->properties); WM_gizmo_properties_sanitize(gz->ptr, false); @@ -590,7 +590,7 @@ void WM_gizmo_calc_matrix_final(const wmGizmo *gz, float r_mat[4][4]) void WM_gizmo_properties_create_ptr(PointerRNA *ptr, wmGizmoType *gzt) { - RNA_pointer_create(nullptr, gzt->srna, nullptr, ptr); + *ptr = RNA_pointer_create(nullptr, gzt->srna, nullptr); } void WM_gizmo_properties_create(PointerRNA *ptr, const char *gtstring) @@ -601,7 +601,7 @@ void WM_gizmo_properties_create(PointerRNA *ptr, const char *gtstring) WM_gizmo_properties_create_ptr(ptr, (wmGizmoType *)gzt); } else { - RNA_pointer_create(nullptr, &RNA_GizmoProperties, nullptr, ptr); + *ptr = RNA_pointer_create(nullptr, &RNA_GizmoProperties, nullptr); } } diff --git a/source/blender/windowmanager/intern/wm_event_system.cc b/source/blender/windowmanager/intern/wm_event_system.cc index 024d78c8811..aa08743cd55 100644 --- a/source/blender/windowmanager/intern/wm_event_system.cc +++ b/source/blender/windowmanager/intern/wm_event_system.cc @@ -1365,7 +1365,7 @@ static wmOperator *wm_operator_create(wmWindowManager *wm, IDPropertyTemplate val = {0}; op->properties = IDP_New(IDP_GROUP, &val, "wmOperatorProperties"); } - RNA_pointer_create(&wm->id, ot->srna, op->properties, op->ptr); + *op->ptr = RNA_pointer_create(&wm->id, ot->srna, op->properties); /* Initialize error reports. */ if (reports) { @@ -1808,10 +1808,9 @@ int WM_operator_name_call_with_properties(bContext *C, IDProperty *properties, const wmEvent *event) { - PointerRNA props_ptr; wmOperatorType *ot = WM_operatortype_find(opstring, false); - RNA_pointer_create( - &static_cast(G_MAIN->wm.first)->id, ot->srna, properties, &props_ptr); + PointerRNA props_ptr = RNA_pointer_create( + &static_cast(G_MAIN->wm.first)->id, ot->srna, properties); return WM_operator_name_call_ptr(C, ot, context, &props_ptr, event); } diff --git a/source/blender/windowmanager/intern/wm_files.cc b/source/blender/windowmanager/intern/wm_files.cc index 8b6e70f8c10..299ea1267d5 100644 --- a/source/blender/windowmanager/intern/wm_files.cc +++ b/source/blender/windowmanager/intern/wm_files.cc @@ -2395,9 +2395,8 @@ static void wm_userpref_update_when_changed(bContext *C, UserDef *userdef_prev, UserDef *userdef_curr) { - PointerRNA ptr_a, ptr_b; - RNA_pointer_create(nullptr, &RNA_Preferences, userdef_prev, &ptr_a); - RNA_pointer_create(nullptr, &RNA_Preferences, userdef_curr, &ptr_b); + PointerRNA ptr_a = RNA_pointer_create(nullptr, &RNA_Preferences, userdef_prev); + PointerRNA ptr_b = RNA_pointer_create(nullptr, &RNA_Preferences, userdef_curr); const bool is_dirty = userdef_curr->runtime.is_dirty; rna_struct_update_when_changed(C, bmain, &ptr_a, &ptr_b); @@ -3587,8 +3586,7 @@ static uiBlock *block_create_autorun_warning(bContext *C, ARegion *region, void uiItemS(layout); - PointerRNA pref_ptr; - RNA_pointer_create(nullptr, &RNA_PreferencesFilePaths, &U, &pref_ptr); + PointerRNA pref_ptr = RNA_pointer_create(nullptr, &RNA_PreferencesFilePaths, &U); uiItemR(layout, &pref_ptr, "use_scripts_auto_execute", diff --git a/source/blender/windowmanager/intern/wm_keymap.cc b/source/blender/windowmanager/intern/wm_keymap.cc index b78f98399d1..c8fc3537482 100644 --- a/source/blender/windowmanager/intern/wm_keymap.cc +++ b/source/blender/windowmanager/intern/wm_keymap.cc @@ -1361,11 +1361,10 @@ static wmKeyMapItem *wm_keymap_item_find_in_keymap(wmKeyMap *keymap, wmOperatorType *ot = WM_operatortype_find(opname, true); if (ot) { /* make a copy of the properties and set unset ones to their default values. */ - PointerRNA opptr; IDProperty *properties_default = IDP_CopyProperty( static_cast(kmi->ptr->data)); - RNA_pointer_create(nullptr, ot->srna, properties_default, &opptr); + PointerRNA opptr = RNA_pointer_create(nullptr, ot->srna, properties_default); WM_operator_properties_default(&opptr, true); if (IDP_EqualsProperties_ex(properties, properties_default, is_strict)) { @@ -1590,10 +1589,9 @@ static wmKeyMapItem *wm_keymap_item_find(const bContext *C, if (!found && properties) { if (ot && ot->prop) { /* XXX Shall we also check ot->prop is actually an enum? */ /* make a copy of the properties and unset the 'ot->prop' one if set. */ - PointerRNA opptr; IDProperty *properties_temp = IDP_CopyProperty(properties); - RNA_pointer_create(nullptr, ot->srna, properties_temp, &opptr); + PointerRNA opptr = RNA_pointer_create(nullptr, ot->srna, properties_temp); if (RNA_property_is_set(&opptr, ot->prop)) { /* For operator that has enum menu, @@ -1613,10 +1611,9 @@ static wmKeyMapItem *wm_keymap_item_find(const bContext *C, if (!found && is_strict && properties) { if (ot) { /* make a copy of the properties and set unset ones to their default values. */ - PointerRNA opptr; IDProperty *properties_default = IDP_CopyProperty(properties); - RNA_pointer_create(nullptr, ot->srna, properties_default, &opptr); + PointerRNA opptr = RNA_pointer_create(nullptr, ot->srna, properties_default); WM_operator_properties_default(&opptr, true); wmKeyMap *km; diff --git a/source/blender/windowmanager/intern/wm_operators.cc b/source/blender/windowmanager/intern/wm_operators.cc index c9e709ddcd3..3ba6304f504 100644 --- a/source/blender/windowmanager/intern/wm_operators.cc +++ b/source/blender/windowmanager/intern/wm_operators.cc @@ -682,7 +682,7 @@ char *WM_prop_pystring_assign(bContext *C, PointerRNA *ptr, PropertyRNA *prop, i void WM_operator_properties_create_ptr(PointerRNA *ptr, wmOperatorType *ot) { /* Set the ID so the context can be accessed: see #STRUCT_NO_CONTEXT_WITHOUT_OWNER_ID. */ - RNA_pointer_create(static_cast(G_MAIN->wm.first), ot->srna, nullptr, ptr); + *ptr = RNA_pointer_create(static_cast(G_MAIN->wm.first), ot->srna, nullptr); } void WM_operator_properties_create(PointerRNA *ptr, const char *opstring) @@ -694,7 +694,8 @@ void WM_operator_properties_create(PointerRNA *ptr, const char *opstring) } else { /* Set the ID so the context can be accessed: see #STRUCT_NO_CONTEXT_WITHOUT_OWNER_ID. */ - RNA_pointer_create(static_cast(G_MAIN->wm.first), &RNA_OperatorProperties, nullptr, ptr); + *ptr = RNA_pointer_create( + static_cast(G_MAIN->wm.first), &RNA_OperatorProperties, nullptr); } } @@ -1287,7 +1288,7 @@ IDProperty *WM_operator_last_properties_ensure_idprops(wmOperatorType *ot) void WM_operator_last_properties_ensure(wmOperatorType *ot, PointerRNA *ptr) { IDProperty *props = WM_operator_last_properties_ensure_idprops(ot); - RNA_pointer_create(static_cast(G_MAIN->wm.first), ot->srna, props, ptr); + *ptr = RNA_pointer_create(static_cast(G_MAIN->wm.first), ot->srna, props); } ID *WM_operator_drop_load_path(bContext *C, wmOperator *op, const short idcode) @@ -2671,8 +2672,7 @@ static int radial_control_get_properties(bContext *C, wmOperator *op) { RadialControl *rc = static_cast(op->customdata); - PointerRNA ctx_ptr; - RNA_pointer_create(nullptr, &RNA_Context, C, &ctx_ptr); + PointerRNA ctx_ptr = RNA_pointer_create(nullptr, &RNA_Context, C); /* check if we use primary or secondary path */ PointerRNA use_secondary_ptr; diff --git a/source/blender/windowmanager/intern/wm_stereo.cc b/source/blender/windowmanager/intern/wm_stereo.cc index 4e0065cdfe5..52ce2deca77 100644 --- a/source/blender/windowmanager/intern/wm_stereo.cc +++ b/source/blender/windowmanager/intern/wm_stereo.cc @@ -357,11 +357,11 @@ int wm_stereo3d_set_invoke(bContext *C, wmOperator *op, const wmEvent * /*event* void wm_stereo3d_set_draw(bContext * /*C*/, wmOperator *op) { Stereo3dData *s3dd = static_cast(op->customdata); - PointerRNA stereo3d_format_ptr; uiLayout *layout = op->layout; uiLayout *col; - RNA_pointer_create(nullptr, &RNA_Stereo3dDisplay, &s3dd->stereo3d_format, &stereo3d_format_ptr); + PointerRNA stereo3d_format_ptr = RNA_pointer_create( + nullptr, &RNA_Stereo3dDisplay, &s3dd->stereo3d_format); uiLayoutSetPropSep(layout, true); uiLayoutSetPropDecorate(layout, false); diff --git a/source/blender/windowmanager/intern/wm_toolsystem.cc b/source/blender/windowmanager/intern/wm_toolsystem.cc index a4d685ab8f4..2366a2251c6 100644 --- a/source/blender/windowmanager/intern/wm_toolsystem.cc +++ b/source/blender/windowmanager/intern/wm_toolsystem.cc @@ -903,7 +903,7 @@ bool WM_toolsystem_ref_properties_get_ex(bToolRef *tref, { IDProperty *group = WM_toolsystem_ref_properties_get_idprops(tref); IDProperty *prop = group ? IDP_GetPropertyFromGroup(group, idname) : nullptr; - RNA_pointer_create(nullptr, type, prop, r_ptr); + *r_ptr = RNA_pointer_create(nullptr, type, prop); return (prop != nullptr); } @@ -914,7 +914,7 @@ void WM_toolsystem_ref_properties_ensure_ex(bToolRef *tref, { IDProperty *group = WM_toolsystem_ref_properties_ensure_idprops(tref); IDProperty *prop = idprops_ensure_named_group(group, idname); - RNA_pointer_create(nullptr, type, prop, r_ptr); + *r_ptr = RNA_pointer_create(nullptr, type, prop); } void WM_toolsystem_ref_properties_init_for_keymap(bToolRef *tref, diff --git a/source/blender/windowmanager/message_bus/intern/wm_message_bus_rna.cc b/source/blender/windowmanager/message_bus/intern/wm_message_bus_rna.cc index 391906cc56a..7828a81ebae 100644 --- a/source/blender/windowmanager/message_bus/intern/wm_message_bus_rna.cc +++ b/source/blender/windowmanager/message_bus/intern/wm_message_bus_rna.cc @@ -130,8 +130,7 @@ static void wm_msg_rna_update_by_id(wmMsgBus *mbus, ID *id_src, ID *id_dst) } else { /* We need to resolve this from the new ID pointer. */ - PointerRNA idptr; - RNA_id_pointer_create(id_dst, &idptr); + PointerRNA idptr = RNA_id_pointer_create(id_dst); PointerRNA ptr; PropertyRNA *prop = nullptr; if (RNA_path_resolve(&idptr, key->msg.params.data_path, &ptr, &prop) && @@ -349,14 +348,14 @@ void WM_msg_subscribe_ID(wmMsgBus *mbus, const char *id_repr) { wmMsgParams_RNA msg_key_params = {{nullptr}}; - RNA_id_pointer_create(id, &msg_key_params.ptr); + msg_key_params.ptr = RNA_id_pointer_create(id); WM_msg_subscribe_rna_params(mbus, &msg_key_params, msg_val_params, id_repr); } void WM_msg_publish_ID(wmMsgBus *mbus, ID *id) { wmMsgParams_RNA msg_key_params = {{nullptr}}; - RNA_id_pointer_create(id, &msg_key_params.ptr); + msg_key_params.ptr = RNA_id_pointer_create(id); WM_msg_publish_rna_params(mbus, &msg_key_params); } diff --git a/source/blender/windowmanager/message_bus/wm_message_bus.hh b/source/blender/windowmanager/message_bus/wm_message_bus.hh index fb94441ec56..c00b2d4c6e8 100644 --- a/source/blender/windowmanager/message_bus/wm_message_bus.hh +++ b/source/blender/windowmanager/message_bus/wm_message_bus.hh @@ -217,7 +217,7 @@ void WM_msg_publish_ID(wmMsgBus *mbus, ID *id); #define WM_msg_publish_rna_prop(mbus, id_, data_, type_, prop_) \ { \ wmMsgParams_RNA msg_key_params_ = {{0}}; \ - RNA_pointer_create(id_, &RNA_##type_, data_, &msg_key_params_.ptr); \ + msg_key_params_.ptr = RNA_pointer_create(id_, &RNA_##type_, data_); \ msg_key_params_.prop = &rna_##type_##_##prop_; \ WM_msg_publish_rna_params(mbus, &msg_key_params_); \ } \ @@ -225,7 +225,7 @@ void WM_msg_publish_ID(wmMsgBus *mbus, ID *id); #define WM_msg_subscribe_rna_prop(mbus, id_, data_, type_, prop_, value) \ { \ wmMsgParams_RNA msg_key_params_ = {{0}}; \ - RNA_pointer_create(id_, &RNA_##type_, data_, &msg_key_params_.ptr); \ + msg_key_params_.ptr = RNA_pointer_create(id_, &RNA_##type_, data_); \ msg_key_params_.prop = &rna_##type_##_##prop_; \ WM_msg_subscribe_rna_params(mbus, &msg_key_params_, value, __func__); \ } \