I found a bug in Core.guilib.PluginManager that results in plugin.WndProc() beeing called twice with the same message for all process plugins.
PluginManager.WndProc() first goes through all nonGuiPlugins and then through all SetupForm plugins to call each plugin's WndProc() function. Thus all process plugins with a setup form get called twice. I could imagine that this might cause some problems e.g. with PowerScheduler client plugin since all power events (suspend, resume etc.) are signalled twice.
My patch for PluginManager.cs modifies WndProc() to go only through all SetupForm plugins, so each plugin is handled exactly once. Since plugins are only accepted if they have a setup form, no plugin in the nonGuiPlugin list is missing.
Michael
PluginManager.WndProc() first goes through all nonGuiPlugins and then through all SetupForm plugins to call each plugin's WndProc() function. Thus all process plugins with a setup form get called twice. I could imagine that this might cause some problems e.g. with PowerScheduler client plugin since all power events (suspend, resume etc.) are signalled twice.
My patch for PluginManager.cs modifies WndProc() to go only through all SetupForm plugins, so each plugin is handled exactly once. Since plugins are only accepted if they have a setup form, no plugin in the nonGuiPlugin list is missing.
Michael
Germany