From 720e2e0c92ca6635c5f05f318770a70cf653c1c7 Mon Sep 17 00:00:00 2001 From: Timur Pocheptsov Date: Mon, 21 Sep 2020 14:19:11 +0200 Subject: QCocoaDrag::drag - make sure clipboard is ours and populated MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This fix is not final yet, it's just to plumb the serious bug/regression of accessing NSPasteBoard in some strange state and the one we have not populated yet/do not even own (?). Drag image(s) is broken atm and will be fixed in the follow-up patch. Pick-to: 5.15 Task-number: QTBUG-71939 Change-Id: I5c3ac3ec138d7407c2e0c206485478aa5244ae15 Reviewed-by: Tor Arne Vestbø --- src/plugins/platforms/cocoa/qcocoadrag.mm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src/plugins/platforms') diff --git a/src/plugins/platforms/cocoa/qcocoadrag.mm b/src/plugins/platforms/cocoa/qcocoadrag.mm index d56f30b063..40ce461c30 100644 --- a/src/plugins/platforms/cocoa/qcocoadrag.mm +++ b/src/plugins/platforms/cocoa/qcocoadrag.mm @@ -130,6 +130,10 @@ Qt::DropAction QCocoaDrag::drag(QDrag *o) m_drag = o; m_executed_drop_action = Qt::IgnoreAction; + QMacPasteboard dragBoard(CFStringRef(NSPasteboardNameDrag), QMacInternalPasteboardMime::MIME_DND); + m_drag->mimeData()->setData(QLatin1String("application/x-qt-mime-type-name"), QByteArray("dummy")); + dragBoard.setMimeData(m_drag->mimeData(), QMacPasteboard::LazyRequest); + if (maybeDragMultipleItems()) return m_executed_drop_action; @@ -138,10 +142,6 @@ Qt::DropAction QCocoaDrag::drag(QDrag *o) NSImage *dragImage = [NSImage imageFromQImage:pm.toImage()]; Q_ASSERT(dragImage); - QMacPasteboard dragBoard(CFStringRef(NSPasteboardNameDrag), QMacInternalPasteboardMime::MIME_DND); - m_drag->mimeData()->setData(QLatin1String("application/x-qt-mime-type-name"), QByteArray("dummy")); - dragBoard.setMimeData(m_drag->mimeData(), QMacPasteboard::LazyRequest); - NSPoint event_location = [m_lastEvent locationInWindow]; NSWindow *theWindow = [m_lastEvent window]; Q_ASSERT(theWindow); -- cgit v1.2.3