diff options
Diffstat (limited to 'src/libs/installer/createshortcutoperation.cpp')
-rw-r--r-- | src/libs/installer/createshortcutoperation.cpp | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/src/libs/installer/createshortcutoperation.cpp b/src/libs/installer/createshortcutoperation.cpp index 62f7cfa82..5e29337bf 100644 --- a/src/libs/installer/createshortcutoperation.cpp +++ b/src/libs/installer/createshortcutoperation.cpp @@ -107,8 +107,9 @@ static QString takeWorkingDirArgument(QStringList &args) static bool createLink(const QString &fileName, const QString &linkName, QString workingDir, QString arguments = QString()) { - bool success = QFile::link(fileName, linkName); #ifdef Q_OS_WIN + bool success = QFile::link(fileName, linkName); + if (!success) return success; @@ -131,7 +132,7 @@ static bool createLink(const QString &fileName, const QString &linkName, QString IPersistFile *ppf = NULL; if (SUCCEEDED(psl->QueryInterface(IID_IPersistFile, (void **)&ppf))) { - ppf->Save((wchar_t*)QDir::toNativeSeparators(linkName).utf16(), TRUE); + ppf->Save((wchar_t*)QDir::toNativeSeparators(linkName).utf16(), true); ppf->Release(); } psl->Release(); @@ -145,11 +146,16 @@ static bool createLink(const QString &fileName, const QString &linkName, QString SHChangeNotify(SHCNE_UPDATEDIR, SHCNF_IDLIST, pidl, 0); CoTaskMemFree(pidl); } + + return success; #else Q_UNUSED(arguments) Q_UNUSED(workingDir) + Q_UNUSED(fileName) + Q_UNUSED(linkName) + + return true; #endif - return success; } @@ -190,10 +196,8 @@ bool CreateShortcutOperation::performOperation() const QString linkLocation = args.at(1); const QString targetArguments = args.value(2); //used value because it could be not existing - const QString linkPath = QFileInfo(linkLocation).absolutePath(); - - const bool linkPathAlreadyExists = QDir(linkPath).exists(); - const bool created = linkPathAlreadyExists || QDir::root().mkpath(linkPath); + const QString linkPath = QFileInfo(linkLocation).absolutePath().trimmed(); + const bool created = QDir(linkPath).exists() || QDir::root().mkpath(linkPath); if (!created) { setError(UserDefinedError); |