std::map<String, int> captions;
unsigned id = baseId;
bool addedNoneAutomatic = false;
+ static PluginInfo noPlugin;
+ static PluginInfo autoPlugin;
+ if (autoPlugin.m_name.empty())
+ autoPlugin.m_name = _T("<Automatic>");
for (const auto& event: events)
{
auto pScriptArray =
{
String process = _T("");
allPlugins.insert_or_assign(process, std::vector<std::tuple<String, String, unsigned, PluginInfo *>>());
- allPlugins[process].emplace_back(_("<None>"), _T(""), id++, plugin.get());
- allPlugins[process].emplace_back(_("<Automatic>"), _T("<Automatic>"), id++, plugin.get());
+ allPlugins[process].emplace_back(_("<None>"), _T(""), id++, &noPlugin);
+ allPlugins[process].emplace_back(_("<Automatic>"), _T("<Automatic>"), id++, &autoPlugin);
addedNoneAutomatic = true;
}
const auto menuCaption = plugin->GetExtendedPropertyValue(_T("MenuCaption"));
{
PluginInfo* pluginFound = nullptr;
auto [suggestedPlugins, allPlugins] = FileTransform::CreatePluginMenuInfos(_T(""), events, baseId);
- for (const auto& [caption, name, id, plugin] : suggestedPlugins)
- {
- if (id == idSearch)
- pluginFound = plugin;
- }
for (const auto& [processType, pluginList] : allPlugins)
{
for (const auto& [caption, name, id, plugin] : pluginList)
{
if (id == idSearch)
+ {
pluginFound = plugin;
+ break;
+ }
}
}
if (pluginFound)
int nID = m_ptBuf[0]->GetTableEditing() ? ID_MERGE_COMPARE_TABLE : ID_MERGE_COMPARE_TEXT;
if (GetMainFrame()->DoFileOpen(nID, &paths, dwFlags, strDesc, _T(""), &infoUnpacker))
- CloseNow();
+ GetParentFrame()->DestroyWindow();
}
void CMergeDoc::OnApplyPrediffer()
}
if (GetMainFrame()->ShowMergeDoc(nID, pDirDoc, nBuffers, fileloc, dwFlags, strDesc, _T(""), &infoUnpacker))
- CloseNow();
+ GetParentFrame()->DestroyWindow();
}
// Return file extension either from file name