Skip to content

Commit 7a5c45a

Browse files
authored
Ensure the RenderTexture reference is valid on threaded task completion (#2024)
1 parent 9e7a008 commit 7a5c45a

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

core/2d/RenderTexture.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -468,14 +468,14 @@ void RenderTexture::onSaveToFile(std::string filename, bool isRGBA, bool forceNo
468468
{
469469
if (forceNonPMA && image->hasPremultipliedAlpha())
470470
{
471-
_director->getJobSystem()->enqueue([this, image, _filename, isRGBA, forceNonPMA]() {
471+
_director->getJobSystem()->enqueue([self = RefPtr(this), image, _filename, isRGBA, forceNonPMA]() {
472472
image->reversePremultipliedAlpha();
473473

474-
Director::getInstance()->getScheduler()->runOnAxmolThread([this, image, _filename, isRGBA] {
474+
Director::getInstance()->getScheduler()->runOnAxmolThread([self, image, _filename, isRGBA] {
475475
image->saveToFile(_filename, !isRGBA);
476-
if (_saveFileCallback)
476+
if (self->_saveFileCallback)
477477
{
478-
_saveFileCallback(this, _filename);
478+
self->_saveFileCallback(self, _filename);
479479
}
480480
});
481481
});

0 commit comments

Comments
 (0)