fix: cannot load images under WSL2 network location
workaround resolve GH-7
This commit is contained in:
		| @ -31,6 +31,17 @@ void GraphicsView::showFileFromUrl(const QUrl &url, bool doRequestGallery) | |||||||
|  |  | ||||||
|     QString filePath(url.toLocalFile()); |     QString filePath(url.toLocalFile()); | ||||||
|  |  | ||||||
|  | #ifdef Q_OS_WIN | ||||||
|  |     // TODO: remove this workaround when M$ change the "wsl$" hostname. | ||||||
|  |     if (Q_UNLIKELY(url.scheme() == QStringLiteral("qtbug-86277"))) { | ||||||
|  |         filePath = url.path(); | ||||||
|  |         // Qt's QUrl won't work with such hostname anyway so the urls will | ||||||
|  |         // still be the wrong one when requesting gallery. So we just don't | ||||||
|  |         // request gallery here... | ||||||
|  |         doRequestGallery = false; | ||||||
|  |     } | ||||||
|  | #endif // Q_OS_WIN | ||||||
|  |  | ||||||
|     if (filePath.endsWith(".svg")) { |     if (filePath.endsWith(".svg")) { | ||||||
|         showSvg(filePath); |         showSvg(filePath); | ||||||
|     } else if (filePath.endsWith(".gif")) { |     } else if (filePath.endsWith(".gif")) { | ||||||
|  | |||||||
							
								
								
									
										8
									
								
								main.cpp
									
									
									
									
									
								
							
							
						
						
									
										8
									
								
								main.cpp
									
									
									
									
									
								
							| @ -37,6 +37,14 @@ int main(int argc, char *argv[]) | |||||||
|     QList<QUrl> urlList; |     QList<QUrl> urlList; | ||||||
|     for (const QString & str : urlStrList) { |     for (const QString & str : urlStrList) { | ||||||
|         QUrl url = QUrl::fromLocalFile(str); |         QUrl url = QUrl::fromLocalFile(str); | ||||||
|  | #ifdef Q_OS_WIN | ||||||
|  |         // TODO: remove this workaround when M$ change the "wsl$" hostname. | ||||||
|  |         if (Q_UNLIKELY(str.startsWith(R"(\\wsl$\)"))) { | ||||||
|  |             url.clear(); | ||||||
|  |             url.setScheme(QStringLiteral("qtbug-86277")); | ||||||
|  |             url.setPath(str); | ||||||
|  |         } | ||||||
|  | #endif // Q_OS_WIN | ||||||
|         if (url.isValid()) { |         if (url.isValid()) { | ||||||
|             urlList.append(url); |             urlList.append(url); | ||||||
|         } |         } | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user