Cocoa: use defaultPixmap() if pixmap is not set for drag
authorTeemu Katajisto <teemu.katajisto@digia.com>
Tue, 16 Oct 2012 09:06:14 +0000 (12:06 +0300)
committerThe Qt Project <gerrit-noreply@qt-project.org>
Tue, 16 Oct 2012 13:29:15 +0000 (15:29 +0200)
Task-number: QTBUG-26971

Change-Id: I6aed56a6b292c5aeebf38278d2a1fa982346c909
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
src/plugins/platforms/cocoa/qcocoadrag.mm

index d98c49a..67881d8 100644 (file)
@@ -119,7 +119,11 @@ Qt::DropAction QCocoaDrag::drag(QDrag *o)
     m_drag = o;
     m_executed_drop_action = Qt::IgnoreAction;
 
-    NSImage *nsimage = static_cast<NSImage *>(qt_mac_create_nsimage(m_drag->pixmap()));
+    QPixmap pm = m_drag->pixmap();
+    if (pm.isNull())
+        pm = defaultPixmap();
+
+    NSImage *nsimage = static_cast<NSImage *>(qt_mac_create_nsimage(pm));
 
     QMacPasteboard dragBoard((CFStringRef) NSDragPboard, QMacPasteboardMime::MIME_DND);
     m_drag->mimeData()->setData(QLatin1String("application/x-qt-mime-type-name"), QByteArray("dummy"));