From 54e2ddfd1c24be3c6e17b363dbfb8ca456ffc143 Mon Sep 17 00:00:00 2001 From: rdb Date: Fri, 28 Oct 2022 13:16:07 +0200 Subject: [PATCH] gobj: Fix failure to async reload texture more than once Fixes #1354 --- panda/src/gobj/texture.cxx | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/panda/src/gobj/texture.cxx b/panda/src/gobj/texture.cxx index 05dee83ab7..edeffcea39 100644 --- a/panda/src/gobj/texture.cxx +++ b/panda/src/gobj/texture.cxx @@ -1069,10 +1069,16 @@ async_ensure_ram_image(bool allow_compression, int priority) { if (delay != 0.0) { Thread::sleep(delay); } + if (allow_compression) { - get_ram_image(); - } else { - get_uncompressed_ram_image(); + CDWriter cdata(_cycler, unlocked_ensure_ram_image(true)); + cdata->_reload_task = nullptr; + do_get_ram_image(cdata); + } + else { + CDWriter cdata(_cycler, false); + cdata->_reload_task = nullptr; + do_get_uncompressed_ram_image(cdata); } return AsyncTask::DS_done; });