summaryrefslogtreecommitdiffstats
path: root/servers/rendering/renderer_rd/renderer_canvas_render_rd.cpp
diff options
context:
space:
mode:
authorFredia Huya-Kouadio <fhuyakou@gmail.com>2024-07-22 17:51:45 -0700
committerFredia Huya-Kouadio <fhuyakou@gmail.com>2024-07-24 10:17:46 -0700
commit4d0da7401412edaba475de33d42a73ba8ca82cd3 (patch)
treec0b37bfaefc61758ee4bf3487b0ca373364a2bc4 /servers/rendering/renderer_rd/renderer_canvas_render_rd.cpp
parent91eb688e178fe32f28aebfbec01137abefd75413 (diff)
downloadredot-engine-4d0da7401412edaba475de33d42a73ba8ca82cd3.tar.gz
Fix the cleanup logic for the Android render thread
On Android the exit logic goes through `Godot#onDestroy()` who attempts to cleanup the engine using the following code: ``` runOnRenderThread { GodotLib.ondestroy() forceQuit() } ``` The issue however is that by the time we ran this code, the render thread has already been paused (but not yet destroyed), and thus `GodotLib.ondestroy()` and `forceQuit()` which are scheduled on the render thread are not executed. To address this, we instead explicitly request the render thread to exit and block until it does. As part of it exit logic, the render thread has been updated to properly destroy and clean the native instance of the Godot engine, resolving the issue.
Diffstat (limited to 'servers/rendering/renderer_rd/renderer_canvas_render_rd.cpp')
0 files changed, 0 insertions, 0 deletions