mirror of
https://github.com/godotengine/godot.git
synced 2024-11-21 19:42:43 +00:00
AnimatedTexture: Fix crash when loaded from a thread
This commit is contained in:
parent
19bf77f666
commit
e6d930b31f
@ -270,13 +270,18 @@ void AnimatedTexture::_bind_methods() {
|
||||
BIND_CONSTANT(MAX_FRAMES);
|
||||
}
|
||||
|
||||
void AnimatedTexture::_finish_non_thread_safe_setup() {
|
||||
RenderingServer::get_singleton()->connect("frame_pre_draw", callable_mp(this, &AnimatedTexture::_update_proxy));
|
||||
}
|
||||
|
||||
AnimatedTexture::AnimatedTexture() {
|
||||
//proxy = RS::get_singleton()->texture_create();
|
||||
proxy_ph = RS::get_singleton()->texture_2d_placeholder_create();
|
||||
proxy = RS::get_singleton()->texture_proxy_create(proxy_ph);
|
||||
|
||||
RenderingServer::get_singleton()->texture_set_force_redraw_if_visible(proxy, true);
|
||||
RenderingServer::get_singleton()->connect("frame_pre_draw", callable_mp(this, &AnimatedTexture::_update_proxy));
|
||||
|
||||
MessageQueue::get_main_singleton()->push_callable(callable_mp(this, &AnimatedTexture::_finish_non_thread_safe_setup));
|
||||
}
|
||||
|
||||
AnimatedTexture::~AnimatedTexture() {
|
||||
|
@ -65,6 +65,7 @@ private:
|
||||
uint64_t prev_ticks = 0;
|
||||
|
||||
void _update_proxy();
|
||||
void _finish_non_thread_safe_setup();
|
||||
|
||||
protected:
|
||||
static void _bind_methods();
|
||||
|
Loading…
Reference in New Issue
Block a user