diff --git a/src/vmdeditoperations.cpp b/src/vmdeditoperations.cpp index 43ac4422..df7b3c92 100644 --- a/src/vmdeditoperations.cpp +++ b/src/vmdeditoperations.cpp @@ -145,19 +145,23 @@ bool VMdEditOperations::insertImageFromURL(const QUrl &imageUrl) bool VMdEditOperations::insertURLFromMimeData(const QMimeData *source) { - foreach (QUrl url, source->urls()) { - QString urlStr; - if (url.isLocalFile()) { - urlStr = url.toLocalFile(); - } else { - urlStr = url.toString(); - } - QFileInfo info(urlStr); - if (QImageReader::supportedImageFormats().contains(info.suffix().toLower().toLatin1())) { - insertImageFromURL(url); - } else { - insertTextAtCurPos(urlStr); - } + QList urls = source->urls(); + if (urls.size() != 1) { + return false; + } + QUrl url = urls.at(0); + QString urlStr; + if (url.isLocalFile()) { + urlStr = url.toLocalFile(); + } else { + urlStr = url.toString(); + } + QFileInfo info(urlStr); + if (QImageReader::supportedImageFormats().contains(info.suffix().toLower().toLatin1())) { + insertImageFromURL(url); + } else { + // urlStr will contain extra %0A. Let the base method handle. + return false; } return true; }