QWindowsMimeImage: Revert image format handling back to Qt 4.
Effectively revertbb109150563940for QTBUG-11463 (offering only CF_DIB5 for images of format ARGB32) and4018cd3529for QTBUG-46848 adding support for "PNG". The changes broke pasting images into MS Office since it can only handle plain CF_DIB and gets confused if "PNG" is returned as available format. Task-number: QTBUG-47656 Task-number: QTBUG-11463 Task-number: QTBUG-46848 Change-Id: I9b641b4b912b7b16a2f58bc84fa09c28a64e91c8 Reviewed-by: aavit <eirik.aavitsland@theqtcompany.com>
parent
bc32c0ebc0
commit
bc867b1794
|
|
@ -990,12 +990,11 @@ QVector<FORMATETC> QWindowsMimeImage::formatsForMime(const QString &mimeType, co
|
|||
{
|
||||
QVector<FORMATETC> formatetcs;
|
||||
if (mimeData->hasImage() && mimeType == QLatin1String("application/x-qt-image")) {
|
||||
//add DIBV5 if image has alpha channel
|
||||
//add DIBV5 if image has alpha channel. Do not add CF_PNG here as it will confuse MS Office (QTBUG47656).
|
||||
QImage image = qvariant_cast<QImage>(mimeData->imageData());
|
||||
if (!image.isNull() && image.hasAlphaChannel())
|
||||
formatetcs += setCf(CF_DIBV5);
|
||||
formatetcs += setCf(CF_DIB);
|
||||
formatetcs += setCf(CF_PNG); // QTBUG-86848, Paste into GIMP queries for PNG.
|
||||
}
|
||||
return formatetcs;
|
||||
}
|
||||
|
|
@ -1024,11 +1023,7 @@ bool QWindowsMimeImage::canConvertFromMime(const FORMATETC &formatetc, const QMi
|
|||
const QImage image = qvariant_cast<QImage>(mimeData->imageData());
|
||||
if (image.isNull())
|
||||
return false;
|
||||
// QTBUG-11463, deny CF_DIB support for images with alpha to prevent loss of
|
||||
// transparency in conversion.
|
||||
return cf == CF_DIBV5
|
||||
|| (cf == CF_DIB && !image.hasAlphaChannel())
|
||||
|| cf == int(CF_PNG);
|
||||
return cf == CF_DIBV5 || (cf == CF_DIB) || cf == int(CF_PNG);
|
||||
}
|
||||
|
||||
bool QWindowsMimeImage::convertFromMime(const FORMATETC &formatetc, const QMimeData *mimeData, STGMEDIUM * pmedium) const
|
||||
|
|
|
|||
Loading…
Reference in New Issue