When setting NULL mimeData in QWindowsClipboard::setMimeData, and the
OleSetClipboard call failed, the warning print crashed because it
tried to access mimeData.
Task-number: QTBUG-24327
Change-Id: I1f56fd28c9191a330e14a93b4b11ac9c89db6985
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
const bool newData = !m_data || m_data->mimeData() != mimeData;
if (newData) {
releaseIData();
- m_data = new QWindowsOleDataObject(mimeData);
+ if (mimeData)
+ m_data = new QWindowsOleDataObject(mimeData);
}
const HRESULT src = OleSetClipboard(m_data);
if (src != S_OK) {
+ QString mimeDataFormats = mimeData ?
+ mimeData->formats().join(QStringLiteral(", ")) : QString(QStringLiteral("NULL"));
qErrnoWarning("OleSetClipboard: Failed to set mime data (%s) on clipboard: %s",
- qPrintable(mimeData->formats().join(QStringLiteral(", "))),
+ qPrintable(mimeDataFormats),
QWindowsContext::comErrorString(src).constData());
releaseIData();
return;