diff options
author | smix8 <52464204+smix8@users.noreply.github.com> | 2022-12-05 23:05:56 +0100 |
---|---|---|
committer | smix8 <52464204+smix8@users.noreply.github.com> | 2022-12-12 13:03:55 +0100 |
commit | 194c1c44e0a20faa4463e3a41bb12cf93a71fc03 (patch) | |
tree | a0be285dd2e15f62c2c412dd8f7de1cb6b6f934a /doc/classes | |
parent | f3e6750a7e4702918e05f42b1376e30e652f2f90 (diff) |
Fix Navigation agent callback wild pointer crash
Fixes crash in sanitizer builds when callback agent or object are already freed.
Diffstat (limited to 'doc/classes')
-rw-r--r-- | doc/classes/NavigationServer2D.xml | 6 | ||||
-rw-r--r-- | doc/classes/NavigationServer3D.xml | 6 |
2 files changed, 6 insertions, 6 deletions
diff --git a/doc/classes/NavigationServer2D.xml b/doc/classes/NavigationServer2D.xml index 981ab8a5e1..e25cac7514 100644 --- a/doc/classes/NavigationServer2D.xml +++ b/doc/classes/NavigationServer2D.xml @@ -40,12 +40,12 @@ <method name="agent_set_callback" qualifiers="const"> <return type="void" /> <param index="0" name="agent" type="RID" /> - <param index="1" name="receiver" type="Object" /> + <param index="1" name="object_id" type="int" /> <param index="2" name="method" type="StringName" /> <param index="3" name="userdata" type="Variant" default="null" /> <description> - Callback called at the end of the RVO process. If a callback is created manually and the agent is placed on a navigation map it will calculate avoidance for the agent and dispatch the calculated [code]safe_velocity[/code] to the [param receiver] object with a signal to the chosen [param method] name. - [b]Note:[/b] Created callbacks are always processed independently of the SceneTree state as long as the agent is on a navigation map and not freed. To disable the dispatch of a callback from an agent use [method agent_set_callback] again with a [code]null[/code] object as the [param receiver]. + Sets the callback [param object_id] and [param method] that gets called after each avoidance processing step for the [param agent]. The calculated [code]safe_velocity[/code] will be dispatched with a signal to the object just before the physics calculations. + [b]Note:[/b] Created callbacks are always processed independently of the SceneTree state as long as the agent is on a navigation map and not freed. To disable the dispatch of a callback from an agent use [method agent_set_callback] again with a [code]0[/code] ObjectID as the [param object_id]. </description> </method> <method name="agent_set_map" qualifiers="const"> diff --git a/doc/classes/NavigationServer3D.xml b/doc/classes/NavigationServer3D.xml index 943aa03ef7..55360ca98c 100644 --- a/doc/classes/NavigationServer3D.xml +++ b/doc/classes/NavigationServer3D.xml @@ -40,12 +40,12 @@ <method name="agent_set_callback" qualifiers="const"> <return type="void" /> <param index="0" name="agent" type="RID" /> - <param index="1" name="receiver" type="Object" /> + <param index="1" name="object_id" type="int" /> <param index="2" name="method" type="StringName" /> <param index="3" name="userdata" type="Variant" default="null" /> <description> - Callback called at the end of the RVO process. If a callback is created manually and the agent is placed on a navigation map it will calculate avoidance for the agent and dispatch the calculated [code]safe_velocity[/code] to the [param receiver] object with a signal to the chosen [param method] name. - [b]Note:[/b] Created callbacks are always processed independently of the SceneTree state as long as the agent is on a navigation map and not freed. To disable the dispatch of a callback from an agent use [method agent_set_callback] again with a [code]null[/code] object as the [param receiver]. + Sets the callback [param object_id] and [param method] that gets called after each avoidance processing step for the [param agent]. The calculated [code]safe_velocity[/code] will be dispatched with a signal to the object just before the physics calculations. + [b]Note:[/b] Created callbacks are always processed independently of the SceneTree state as long as the agent is on a navigation map and not freed. To disable the dispatch of a callback from an agent use [method agent_set_callback] again with a [code]0[/code] ObjectID as the [param object_id]. </description> </method> <method name="agent_set_map" qualifiers="const"> |