OSDN Git Service

do not detach the output image when setting dots per-meter in QPngHandler::read()
authorIvailo Monev <xakepa10@gmail.com>
Fri, 17 Dec 2021 00:05:53 +0000 (02:05 +0200)
committerIvailo Monev <xakepa10@gmail.com>
Fri, 17 Dec 2021 00:05:53 +0000 (02:05 +0200)
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
src/gui/image/qimage.h
src/gui/image/qpnghandler.cpp

index 9243d68..3678572 100644 (file)
@@ -212,6 +212,7 @@ private:
     friend class QX11PixmapData;
     friend class QX11AlphaDetector;
     friend class QSpanData;
+    friend class QPngHandler;
 };
 
 Q_DECLARE_TYPEINFO(QImage, Q_MOVABLE_TYPE);
index a9e7f67..22e2949 100644 (file)
 ****************************************************************************/
 
 #include "qpnghandler_p.h"
-#include "qcoreapplication.h"
 #include "qiodevice.h"
 #include "qimage.h"
-#include "qlist.h"
-#include "qtextcodec.h"
-#include "qvariant.h"
-#include "qvector.h"
+#include "qimage_p.h"
 #include "qdrawhelper_p.h"
 #include "qguicommon_p.h"
 
@@ -339,8 +335,8 @@ bool QPngHandler::read(QImage *image)
 
     png_read_image(png_ptr, row_pointers);
 
-    image->setDotsPerMeterX(png_get_x_pixels_per_meter(png_ptr,info_ptr));
-    image->setDotsPerMeterY(png_get_y_pixels_per_meter(png_ptr,info_ptr));
+    image->d->dpmx = png_get_x_pixels_per_meter(png_ptr,info_ptr);
+    image->d->dpmy = png_get_y_pixels_per_meter(png_ptr,info_ptr);
 
     png_read_end(png_ptr, end_info);