run destructor of Frames in gui thread

This commit is contained in:
fourtf 2019-10-07 20:03:15 +02:00
parent 0ada53a3c1
commit 2fc799f85a
2 changed files with 11 additions and 0 deletions

View file

@ -198,6 +198,15 @@ namespace detail {
} // namespace detail
// IMAGE2
Image::~Image()
{
// run destructor of Frames in gui thread
if (!isGuiThread())
{
postToThread([frames = this->frames_.release()]() { delete frames; });
}
}
ImagePtr Image::fromUrl(const Url &url, qreal scale)
{
static std::unordered_map<Url, std::weak_ptr<Image>> cache;

View file

@ -49,6 +49,8 @@ using ImagePtr = std::shared_ptr<Image>;
class Image : public std::enable_shared_from_this<Image>, boost::noncopyable
{
public:
~Image();
static ImagePtr fromUrl(const Url &url, qreal scale = 1);
static ImagePtr fromPixmap(const QPixmap &pixmap, qreal scale = 1);
static ImagePtr getEmpty();