Skip to content

gs-plugin-loader: Make setup method asynchronous

This is so that the correct GMainContext is the thread default when the setup_async() vfuncs of each plugin are called. Some of them reference the thread-default GMainContext for later use. That doesn’t work so well when it’s a temporary one created and later destroyed inside gs_plugin_loader_call_setup().

See the commit messages for details.

The commits at the head of the branch to change g_idle_*() usage were to fix latent bugs in the unit tests triggered by the tests now destroying each GsPlugin when re-loading the GsPluginLoader.

Signed-off-by: Philip Withnall pwithnall@endlessos.org

Closes #1661 (closed)

Merge request reports