Resolve "fix(viz): Closing SightCalibrator while Calibration activity is open causes assertion failure"
requested to merge 873-fix-viz-closing-sightcalibrator-while-calibration-activity-is-open-causes-assertion-failure into dev
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 theplugin.xml
.
Edited by Flavien BRIDAULT