PluginDirectoryScanner issue

It looks like there’s a bug with PluginDirectoryScanner’s handling of the RecentlyCrashedPluginsList file. Specifically in the constructor, here:

[code] for (int i = 0; i < crashedPlugins.size(); ++i)
{
const String f = crashedPlugins[i];

    for (int j = filesOrIdentifiersToScan.size(); --j >= 0;)
        if (f == filesOrIdentifiersToScan[j])
            filesOrIdentifiersToScan.move (j, -1);
}[/code]

That filesOrIdentifiersToScan.move(j, -1) line should be filesOrIdentifiersToScan.remove(j). Otherwise the crashed plugins just get moved to the end of the scan list and will get scanned again every time the scan is run.

No, that was intentional… The way I wanted it to work was that if you keep re-running it, then even if something crashes, eventually all the plugins that work will be successfully found, but without actually blocking any crashed ones. I didn’t want it to become impossible to re-try a plugin that crashed.

Hm. I can understand not wanting to block crashed plugins, but I don’t think that’s the best solution. The only reason I noticed this was because a user (with a lot of plugins, apparently) was running the scan and it kept crashing before it finished. He took this to mean that the scan was failing and that my app had no way of blacklisting awkward plugins. As a result he decided my app was unusable for his purposes (kvr post).

The problem is that the current approach gives the user no feedback about plugins which crashed during the scan, or what will happen the next time you run the scan. I think a better solution would be to either have a ‘clear blacklist’ entry in the PluginListComponent options, or maybe pop up a dialog at the end of a scan asking ‘Do you want to re-scan blacklisted plugins?’.

We need a comfortable Plugin-Scanning-Dialog which makes it clear which plugins are on the black list, so the user can manually re-enable them. (also a white-List would be nice)

Yeah, all good suggestions. This is something I was planning on messing around with myself anyway, so will probably figure out a better solution.

Cool. +1 for a re-enable-able list of blacklisted plugins :wink: