diff --git a/src/gui/image/qimage.cpp b/src/gui/image/qimage.cpp index e33ab24243..dba42d4698 100644 --- a/src/gui/image/qimage.cpp +++ b/src/gui/image/qimage.cpp @@ -1433,6 +1433,10 @@ void QImage::setDevicePixelRatio(qreal scaleFactor) { if (!d) return; + + if (scaleFactor == d->devicePixelRatio) + return; + detach(); d->devicePixelRatio = scaleFactor; } diff --git a/src/gui/image/qpixmap.cpp b/src/gui/image/qpixmap.cpp index 0a9b55ed24..db6ae54d26 100644 --- a/src/gui/image/qpixmap.cpp +++ b/src/gui/image/qpixmap.cpp @@ -682,6 +682,9 @@ void QPixmap::setDevicePixelRatio(qreal scaleFactor) if (isNull()) return; + if (scaleFactor == data->devicePixelRatio()) + return; + detach(); data->setDevicePixelRatio(scaleFactor); }