mirror of
https://github.com/strawberrymusicplayer/strawberry
synced 2025-01-05 12:56:52 +01:00
Only do QUrl toEncoded() if url is valid
This commit is contained in:
parent
c41311bf76
commit
242137a50c
@ -1059,12 +1059,16 @@ void Song::BindToQuery(QSqlQuery *query) const {
|
||||
query->bindValue(":source", d->source_);
|
||||
query->bindValue(":directory_id", notnullintval(d->directory_id_));
|
||||
|
||||
if (Application::kIsPortable && Utilities::UrlOnSameDriveAsStrawberry(d->url_)) {
|
||||
query->bindValue(":filename", Utilities::GetRelativePathToStrawberryBin(d->url_).toEncoded());
|
||||
}
|
||||
else {
|
||||
query->bindValue(":filename", d->url_.toEncoded());
|
||||
QString url;
|
||||
if (d->url_.isValid()) {
|
||||
if (Application::kIsPortable && Utilities::UrlOnSameDriveAsStrawberry(d->url_)) {
|
||||
url = Utilities::GetRelativePathToStrawberryBin(d->url_).toEncoded();
|
||||
}
|
||||
else {
|
||||
url = d->url_.toEncoded();
|
||||
}
|
||||
}
|
||||
query->bindValue(":filename", url);
|
||||
|
||||
query->bindValue(":filetype", d->filetype_);
|
||||
query->bindValue(":filesize", notnullintval(d->filesize_));
|
||||
|
@ -644,7 +644,7 @@ bool IsLaptop() {
|
||||
|
||||
bool UrlOnSameDriveAsStrawberry(const QUrl &url) {
|
||||
|
||||
if (url.scheme() != "file") return false;
|
||||
if (!url.isValid() || url.scheme() != "file" || url.toLocalFile().isEmpty()) return false;
|
||||
|
||||
#ifdef Q_OS_WIN
|
||||
QUrl appUrl = QUrl::fromLocalFile(QCoreApplication::applicationDirPath());
|
||||
@ -660,6 +660,7 @@ bool UrlOnSameDriveAsStrawberry(const QUrl &url) {
|
||||
}
|
||||
|
||||
QUrl GetRelativePathToStrawberryBin(const QUrl &url) {
|
||||
if (!url.isValid()) return QUrl();
|
||||
QDir appPath(QCoreApplication::applicationDirPath());
|
||||
return QUrl::fromLocalFile(appPath.relativeFilePath(url.toLocalFile()));
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user