From 68762151dbf45fbb44e140ac2ad13dbe8d357352 Mon Sep 17 00:00:00 2001 From: Eirik Aavitsland Date: Wed, 25 Feb 2015 15:39:41 +0100 Subject: Fix crash when converting format of QImage created from buffer When doing format conversion, the optimized inplace codepath did not check if the image data was readonly, i.e. if the QImage had been created by the constructor taking an existing external buffer. Task-number: QTBUG-44610 Change-Id: I085ff8da427bc4ee392f548dffd2418b63148965 Reviewed-by: Allan Sandfeld Jensen --- src/gui/image/qimage.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/gui/image/qimage.cpp') diff --git a/src/gui/image/qimage.cpp b/src/gui/image/qimage.cpp index 887a7c29eb..6699e516a0 100644 --- a/src/gui/image/qimage.cpp +++ b/src/gui/image/qimage.cpp @@ -4565,7 +4565,7 @@ bool QImageData::convertInPlace(QImage::Format newFormat, Qt::ImageConversionFla return true; // No in-place conversion if we have to detach - if (ref.load() > 1) + if (ref.load() > 1 || ro_data) return false; const InPlace_Image_Converter *const converterPtr = &qimage_inplace_converter_map[format][newFormat]; -- cgit v1.2.3