Skip to content

Commit 7b344dd

Browse files
committed
Merge pull request #88 from cookieo9/memfix
Fix ImageProvider data leak in C++ logic. Fix by Carlos Castillo.
2 parents dbdeaea + 4457ebd commit 7b344dd

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

cpp/capi.cpp

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -139,12 +139,15 @@ class GoImageProvider : public QQuickImageProvider {
139139
width = requestedSize.width();
140140
height = requestedSize.height();
141141
}
142-
QImage *image = reinterpret_cast<QImage *>(hookRequestImage(imageFunc, (char*)ba.constData(), ba.size(), width, height));
143-
*size = image->size();
142+
QImage *ptr = reinterpret_cast<QImage *>(hookRequestImage(imageFunc, (char*)ba.constData(), ba.size(), width, height));
143+
QImage image = *ptr;
144+
delete ptr;
145+
146+
*size = image.size();
144147
if (requestedSize.isValid() && requestedSize != *size) {
145-
*image = image->scaled(requestedSize, Qt::KeepAspectRatio);
148+
image = image.scaled(requestedSize, Qt::KeepAspectRatio);
146149
}
147-
return *image;
150+
return image;
148151
};
149152

150153
private:

0 commit comments

Comments
 (0)