Skip to content

coregrilo: Properly reload the tracker plugin

Jean Felder requested to merge wip/jfelder/grilo-reload-tracker into master

This is a follow-up of commits d7425fab and 11f79699.

All grilo plugins are loaded at startup. However, TrackerWrapper may not be available yet. In that case, GrlTrackerWrapper is not created. Once TrackerWrapper becomes available, all grilo plugins are loaded again in order to instantiate GrlTrackerWrapper. It means that the Tracker plugin is activated two times.

This issue was already solved by only reloading the tracker plugin when TrackerWrapper becomes available (commit 11f79699). It calls the unload_plugin method from the registry and then immediatly the activate_plugin_by_id method. However, the unload_plugin call is asynchronous. So, the activate_plugin_by_id call may not load reload the plugin because it has not been deactivated yet.

The issue is fixed by calling the activate_plugin_by_id method once the Tracker source is correctly removed.

Merge request reports