run destructor of Frames in gui thread
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user