diff --git a/cpp/capi.cpp b/cpp/capi.cpp index 54a3cbd0..45702d66 100644 --- a/cpp/capi.cpp +++ b/cpp/capi.cpp @@ -140,11 +140,14 @@ class GoImageProvider : public QQuickImageProvider { height = requestedSize.height(); } QImage *image = reinterpret_cast(hookRequestImage(imageFunc, (char*)ba.constData(), ba.size(), width, height)); - *size = image->size(); + QImage tmp = *image; + delete image; + + *size = tmp.size(); if (requestedSize.isValid() && requestedSize != *size) { - *image = image->scaled(requestedSize, Qt::KeepAspectRatio); + tmp = tmp.scaled(requestedSize, Qt::KeepAspectRatio); } - return *image; + return tmp; }; private: