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()); | ||||
|  | ||||
| #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")) { | ||||
|         showSvg(filePath); | ||||
|     } else if (filePath.endsWith(".gif")) { | ||||
|  | ||||
							
								
								
									
										8
									
								
								main.cpp
									
									
									
									
									
								
							
							
						
						
									
										8
									
								
								main.cpp
									
									
									
									
									
								
							| @ -37,6 +37,14 @@ int main(int argc, char *argv[]) | ||||
|     QList<QUrl> urlList; | ||||
|     for (const QString & str : urlStrList) { | ||||
|         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()) { | ||||
|             urlList.append(url); | ||||
|         } | ||||
|  | ||||
		Reference in New Issue
	
	Block a user