mono/mono-addins

Make AddinEngine.AddinLoaded, AddinEngine.AddinUnloaded and Addin.AddinLoadError not static

cr7pt0gr4ph7 opened this issue · 0 comments

Currently, the fact that the mentioned events are static prevents using these events together with multiple AddinEngines.

If the same addin (or two addins with the same id) is loaded into two different AddinEngines, the AddinLoaded event will be raised two times, but it is impossible to decide where the event came from
(except from hacking together a detection based on if the addin is now contained in an AddinEngine it wasn't contained in before).

Unfortunately, it isn't clear how to do this in a fully backwards compatible fashion (although people can just switch to using AddinManager.AddinLoaded instead of AddinEngine.AddinLoaded`` etc.)