From 645da3bcd7c18bbe88e054101e92ba1da641cb53 Mon Sep 17 00:00:00 2001 From: Takashi Sawanaka Date: Fri, 7 May 2021 09:23:16 +0900 Subject: [PATCH] DirView.cpp: Fix not being able to open an unpaired file from the 'Compare As' context menu --- Src/DirView.cpp | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/Src/DirView.cpp b/Src/DirView.cpp index 4a76f7959..a9c7ce2a2 100644 --- a/Src/DirView.cpp +++ b/Src/DirView.cpp @@ -1523,15 +1523,22 @@ void CDirView::OpenSelectionAs(UINT id) } // Open identical and different files + const String sUntitled[] = { _("Untitled left"), paths.GetSize() < 3 ? _("Untitled right") : _("Untitled middle"), _("Untitled right") }; DWORD dwFlags[3] = { 0 }; + String strDesc[3]; FileLocation fileloc[3]; for (int pane = 0; pane < paths.GetSize(); pane++) { - fileloc[pane].setPath(paths[pane]); - fileloc[pane].encoding = encoding[pane]; + if (paths::DoesPathExist(paths[pane]) == paths::DOES_NOT_EXIST) + strDesc[pane] = sUntitled[pane]; + else + { + fileloc[pane].setPath(paths[pane]); + fileloc[pane].encoding = encoding[pane]; + } dwFlags[pane] |= FFILEOPEN_NOMRU | (pDoc->GetReadOnly(nPane[pane]) ? FFILEOPEN_READONLY : 0); } - GetMainFrame()->ShowMergeDoc(id, pDoc, paths.GetSize(), fileloc, dwFlags, nullptr); + GetMainFrame()->ShowMergeDoc(id, pDoc, paths.GetSize(), fileloc, dwFlags, strDesc); } /// User chose (context menu) delete left -- 2.11.0