i just realised that there is a small bug in Plus, that could be solved in a reloader plugin or better by Patchou...
The issue is only caused by VB plugins (plugins coded in visual basic).
Plus successfully removes all referenses to these plugins but fails to remove them from memory... therefore causing unfavourable effects...
Plus after removing all VB plugins references should call
CoFreeUnusedLibraries();
which will automatically remove unused libraries, (plugins) and therefore restore compatibility...
or Free each library separatelly
This way plugins vb and c++ can be loaded/unloaded, live after a reload message, without the need to restart messenger
please read post below for a matter conserning this one.
One more issue i'd think would be wise to address to patchou...
I think that it would be better if plugins were unloadedin the reverse order from which they were loaded...
As you can see where i am drifting...
if 2 or more plugins were to subclass a same window and store a function proc pointer that would use later for calling the original proc
when unloading as it is now, plugins get unloaded the same order that they were loaded so the stored proc pointer that would in virtually reference the 1st plugins proc would be rendered invalid and off memory as the 1st plugin gets unloaded before the 2nd one
Please Patchou consider fixing this issue as it creates some problems with many plugins and subclassing
This issue is not visible to the eye as you have to use a plugin reloader to produce such an effect.
PS: correct me if i am wrong