Skip to content

Resolve "fix(viz): Closing SightCalibrator while Calibration activity is open causes assertion failure"

Description

Priorities are now used to unload all modules, even those loaded after the initial start of the profile. This allows notably to unload appXml first, and then modules like module::viz::scene3d.

To achieve this, the start and priority properties are now set directly in the plugin.xml. The priority is read at runtime when parsing modules. It is used both to start and to stop modules. Some code cleanup was performed, which led for instance to remove the over-designed Starter and Stopper classes. This part of the profile management should be clearer now.

The sorting of modules in the generation of the profile.xml is de facto no longer necessary and has thus been removed to simplify the code.

Closes #873 (closed)

How to test it?

  • Launch applications with activities.
  • Launch their activities.
  • Exit and observe no crash occurs.
  • [Bonus] Run with --log-info and observe the loading and unloading orders of modules respect the priorities set in the plugin.xml.
Edited by Flavien BRIDAULT

Merge request reports