From 1c66b77f52bc6eaebb3dd8aace8672ad5bf975b9 Mon Sep 17 00:00:00 2001 From: Christian Ehrlicher Date: Sun, 16 Jun 2024 20:29:20 +0200 Subject: [PATCH] QLabel: remove private member cachedimage Simplify the code - member cachedimage is not really needed as QPixmap has a scaled() function by itself. Change-Id: I89cc237ef611f8516588e8b2e7b4056845bc6c69 Reviewed-by: Volker Hilsheimer (cherry picked from commit cf0c9de6ed6a4edd6e8e21734e975d2554caa74f) Reviewed-by: Qt Cherry-pick Bot --- src/widgets/widgets/qlabel.cpp | 13 +++---------- src/widgets/widgets/qlabel_p.h | 1 - 2 files changed, 3 insertions(+), 11 deletions(-) diff --git a/src/widgets/widgets/qlabel.cpp b/src/widgets/widgets/qlabel.cpp index f4155de0a0c..b6ee4b51d95 100644 --- a/src/widgets/widgets/qlabel.cpp +++ b/src/widgets/widgets/qlabel.cpp @@ -33,7 +33,6 @@ QLabelPrivate::QLabelPrivate() text(), pixmap(), scaledpixmap(), - cachedimage(), #ifndef QT_NO_PICTURE picture(), #endif @@ -1096,13 +1095,9 @@ void QLabel::paintEvent(QPaintEvent *) QSize scaledSize = d->scaledcontents ? (cr.size() * dpr) : (d->pixmap->size() * (dpr / d->pixmap->devicePixelRatio())); if (!d->scaledpixmap || d->scaledpixmap->size() != scaledSize) { - if (!d->cachedimage) - d->cachedimage = d->pixmap->toImage(); - d->scaledpixmap.reset(); - QImage scaledImage = - d->cachedimage->scaled(scaledSize, - Qt::IgnoreAspectRatio, Qt::SmoothTransformation); - d->scaledpixmap = QPixmap::fromImage(std::move(scaledImage)); + d->scaledpixmap = + d->pixmap->scaled(scaledSize, + Qt::IgnoreAspectRatio, Qt::SmoothTransformation); d->scaledpixmap->setDevicePixelRatio(dpr); } pix = *d->scaledpixmap; @@ -1310,7 +1305,6 @@ void QLabelPrivate::clearContents() picture.reset(); #endif scaledpixmap.reset(); - cachedimage.reset(); pixmap.reset(); text.clear(); @@ -1456,7 +1450,6 @@ void QLabel::setScaledContents(bool enable) d->scaledcontents = enable; if (!enable) { d->scaledpixmap.reset(); - d->cachedimage.reset(); } update(contentsRect()); } diff --git a/src/widgets/widgets/qlabel_p.h b/src/widgets/widgets/qlabel_p.h index fb6ccb04eb0..dbf3ada20aa 100644 --- a/src/widgets/widgets/qlabel_p.h +++ b/src/widgets/widgets/qlabel_p.h @@ -88,7 +88,6 @@ public: QString text; std::optional pixmap; std::optional scaledpixmap; - std::optional cachedimage; #ifndef QT_NO_PICTURE std::optional picture; #endif