diff --git a/far/changelog b/far/changelog index 0a556c8a35..6922756eb7 100644 --- a/far/changelog +++ b/far/changelog @@ -1,3 +1,7 @@ +drkns 13.03.2017 13:39:47 +0000 - build 4914 + +1. С форума: Удаляется архив, содержащий другой архив + drkns 11.03.2017 00:05:34 +0000 - build 4913 1. С форума: съехал вправо заголовок окна справки. diff --git a/far/filelist.cpp b/far/filelist.cpp index d2381b2d68..45aea06d18 100644 --- a/far/filelist.cpp +++ b/far/filelist.cpp @@ -2639,7 +2639,8 @@ void FileList::ProcessEnter(bool EnableExec,bool SeparateWindow,bool EnableAssoc { plugin_panel* OpenedPlugin = nullptr; const auto PluginMode = m_PanelMode == panel_mode::PLUGIN_PANEL && !Global->CtrlObject->Plugins->UseFarCommand(m_hPlugin, PLUGIN_FARGETFILE); - SCOPE_EXIT{ if (PluginMode && (!OpenedPlugin || OpenedPlugin == PANEL_STOP)) DeleteFileWithFolder(strFileName); }; + string FileNameToDelete; + SCOPE_EXIT{ if (PluginMode && (!OpenedPlugin || OpenedPlugin == PANEL_STOP) && !FileNameToDelete.empty()) DeleteFileWithFolder(FileNameToDelete); }; file_state SavedState; if (PluginMode) @@ -2653,8 +2654,11 @@ void FileList::ProcessEnter(bool EnableExec,bool SeparateWindow,bool EnableAssoc FileListToPluginItem(CurItem, PanelItem); if (!Global->CtrlObject->Plugins->GetFile(m_hPlugin, &PanelItem.Item, strTempDir, strFileName, OPM_SILENT | OPM_EDIT)) + { + os::RemoveDirectory(strTempDir); return; - + } + FileNameToDelete = strFileName; strShortFileName = ConvertNameToShort(strFileName); SavedState = file_state::get(strFileName); } @@ -2703,7 +2707,7 @@ void FileList::ProcessEnter(bool EnableExec,bool SeparateWindow,bool EnableAssoc if (EnableAssoc && ProcessLocalFileTypes(strFileName, strShortFileName, FILETYPE_ALTEXEC, PluginMode)) return; - OpenFilePlugin(strFileName, TRUE, Type); + OpenedPlugin = OpenFilePlugin(strFileName, TRUE, Type); } if (PluginMode && (!OpenedPlugin || OpenedPlugin == PANEL_STOP)) diff --git a/far/vbuild.m4 b/far/vbuild.m4 index c1101f1686..402362af56 100644 --- a/far/vbuild.m4 +++ b/far/vbuild.m4 @@ -1 +1 @@ -m4_define(BUILD,4913)m4_dnl +m4_define(BUILD,4914)m4_dnl