Shouldn’t addToMenu() check if the plug-in exists before it’s added to the menu?
static bool addToMenu (const KnownPluginList::PluginTree& tree, PopupMenu& m,
const OwnedArray<PluginDescription>& allPlugins,
const String& currentlyTickedPluginID)
{
bool isTicked = false;
for (auto* sub : tree.subFolders)
{
PopupMenu subMenu;
const bool isItemTicked = addToMenu (*sub, subMenu, allPlugins, currentlyTickedPluginID);
isTicked = isTicked || isItemTicked;
m.addSubMenu (sub->folder, subMenu, true, nullptr, isItemTicked, 0);
}
for (auto* plugin : tree.plugins)
{
auto name = plugin->name;
/////////////////////// Add This...
if (File::isAbsolutePath (plugin->fileOrIdentifier))
{
const File f (plugin->fileOrIdentifier);
if (! f.exists())
continue;
}
///////////////////////
if (containsDuplicateNames (tree.plugins, name))
name << " (" << plugin->pluginFormatName << ')';
const bool isItemTicked = plugin->matchesIdentifierString (currentlyTickedPluginID);
isTicked = isTicked || isItemTicked;
m.addItem (allPlugins.indexOf (plugin) + menuIdBase, name, true, isItemTicked);
}
return isTicked;
}
Cheers,
Rail