OSDN Git Service

do not deep-copy QImage objects in QRasterPixmapData::copy() and QX11PixmapData:...
authorIvailo Monev <xakepa10@gmail.com>
Thu, 25 Nov 2021 08:36:41 +0000 (10:36 +0200)
committerIvailo Monev <xakepa10@gmail.com>
Thu, 25 Nov 2021 08:36:41 +0000 (10:36 +0200)
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
src/gui/image/qpixmap_raster.cpp
src/gui/image/qpixmap_x11.cpp

index eeb3214..1a1a92f 100644 (file)
@@ -139,7 +139,7 @@ extern void qt_scrollRectInImage(QImage *img, const QRect &rect, const QPoint &o
 
 void QRasterPixmapData::copy(const QPixmapData *data, const QRect &rect)
 {
-    fromImage(data->toImage(rect).copy(), Qt::NoOpaqueDetection);
+    fromImage(data->toImage(rect), Qt::NoOpaqueDetection);
 }
 
 bool QRasterPixmapData::scroll(int dx, int dy, const QRect &rect)
index 65eed2f..ba8809a 100644 (file)
@@ -1534,7 +1534,7 @@ Qt::HANDLE QX11PixmapData::x11ConvertToDefaultDepth()
 void QX11PixmapData::copy(const QPixmapData *data, const QRect &rect)
 {
     if (data->pixelType() == BitmapType) {
-        fromImage(data->toImage().copy(rect), Qt::AutoColor);
+        fromImage(data->toImage(rect), Qt::AutoColor);
         return;
     }