From ec682f91f2c0c1aec9d012b37b26a9ce5735f505 Mon Sep 17 00:00:00 2001 From: Ivailo Monev Date: Tue, 16 Apr 2024 00:35:36 +0300 Subject: [PATCH] do not create QImage in addition to QPixmap in QLabel Signed-off-by: Ivailo Monev --- src/gui/widgets/qlabel.cpp | 9 +-------- src/gui/widgets/qlabel_p.h | 1 - 2 files changed, 1 insertion(+), 9 deletions(-) diff --git a/src/gui/widgets/qlabel.cpp b/src/gui/widgets/qlabel.cpp index c0c52aa35..190df45ed 100644 --- a/src/gui/widgets/qlabel.cpp +++ b/src/gui/widgets/qlabel.cpp @@ -41,7 +41,6 @@ QLabelPrivate::QLabelPrivate() margin(0), pixmap(nullptr), scaledpixmap(nullptr), - cachedimage(nullptr), align(Qt::AlignLeft | Qt::AlignVCenter), indent(-1), scaledcontents(false), @@ -990,10 +989,8 @@ void QLabel::paintEvent(QPaintEvent *ev) QPixmap pix; if (d->scaledcontents) { if (!d->scaledpixmap || d->scaledpixmap->size() != cr.size()) { - if (!d->cachedimage) - d->cachedimage = new QImage(d->pixmap->toImage()); delete d->scaledpixmap; - d->scaledpixmap = new QPixmap(QPixmap::fromImage(d->cachedimage->scaled(cr.size(),Qt::IgnoreAspectRatio,Qt::SmoothTransformation))); + d->scaledpixmap = new QPixmap(d->pixmap->scaled(cr.size() ,Qt::IgnoreAspectRatio, Qt::SmoothTransformation)); } pix = *d->scaledpixmap; } else @@ -1180,8 +1177,6 @@ void QLabelPrivate::clearContents() delete scaledpixmap; scaledpixmap = 0; - delete cachedimage; - cachedimage = 0; delete pixmap; pixmap = 0; @@ -1305,8 +1300,6 @@ void QLabel::setScaledContents(bool enable) if (!enable) { delete d->scaledpixmap; d->scaledpixmap = 0; - delete d->cachedimage; - d->cachedimage = 0; } update(contentsRect()); } diff --git a/src/gui/widgets/qlabel_p.h b/src/gui/widgets/qlabel_p.h index 749304f57..cb1dd4c9e 100644 --- a/src/gui/widgets/qlabel_p.h +++ b/src/gui/widgets/qlabel_p.h @@ -66,7 +66,6 @@ public: QString text; QPixmap *pixmap; QPixmap *scaledpixmap; - QImage *cachedimage; #ifndef QT_NO_MOVIE QPointer movie; void _q_movieUpdated(const QRect&);