From e37a5f36b0cd494d95b5f6770cf5690efdfafb95 Mon Sep 17 00:00:00 2001 From: Kevin Ottens Date: Tue, 29 Dec 2020 15:11:33 +0100 Subject: [PATCH] Don't look at virtual files data for the mimetype matches Otherwise this would attempt to download the file everytime we check the direct editor for a given file which wouldn't be adequate. Would also lead to a deadlock in our case since that would happen in the main thread and implicit hydration is driven from there as well. Signed-off-by: Kevin Ottens --- src/gui/socketapi.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/gui/socketapi.cpp b/src/gui/socketapi.cpp index 3be2d1455..b1b4e7eaa 100644 --- a/src/gui/socketapi.cpp +++ b/src/gui/socketapi.cpp @@ -1178,8 +1178,11 @@ DirectEditor* SocketApi::getDirectEditorForLocalFile(const QString &localFile) auto capabilities = fileData.folder->accountState()->account()->capabilities(); if (fileData.folder && fileData.folder->accountState()->isConnected()) { + const auto record = fileData.journalRecord(); + const auto mimeMatchMode = record.isVirtualFile() ? QMimeDatabase::MatchExtension : QMimeDatabase::MatchDefault; + QMimeDatabase db; - QMimeType type = db.mimeTypeForFile(localFile); + QMimeType type = db.mimeTypeForFile(localFile, mimeMatchMode); DirectEditor* editor = capabilities.getDirectEditorForMimetype(type); if (!editor) { -- 2.30.2