Skip to content

Commit 205daa4

Browse files
committed
elements/resources: unload Async resources after use
1 parent 79c9d5b commit 205daa4

File tree

2 files changed

+8
-0
lines changed

2 files changed

+8
-0
lines changed

src/element/image/Image.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,9 @@ void CImageElement::renderTex() {
104104
}
105105

106106
void SImageImpl::postImageLoad() {
107+
if (!resource)
108+
return;
109+
107110
if (resource->m_asset.cairoSurface) {
108111
ASP<IAsyncResource> resourceGeneric(resource);
109112
size = resource->m_asset.pixelSize;
@@ -114,6 +117,7 @@ void SImageImpl::postImageLoad() {
114117
}
115118

116119
oldTex.reset();
120+
resource.reset();
117121

118122
waitingForTex = false;
119123
if (!failed) {

src/element/text/Text.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -343,6 +343,9 @@ void STextImpl::renderTex() {
343343
}
344344

345345
void STextImpl::postTexLoad() {
346+
if (!resource)
347+
return;
348+
346349
ASP<IAsyncResource> resourceGeneric(resource);
347350
size = resource->m_asset.pixelSize;
348351
tex = g_renderer->uploadTexture({.resource = resourceGeneric});
@@ -352,6 +355,7 @@ void STextImpl::postTexLoad() {
352355

353356
waitingForTex = false;
354357
newTex = true;
358+
resource.reset();
355359

356360
if (data.callback)
357361
data.callback();

0 commit comments

Comments
 (0)