fix(ui): fix and secure call to QMetaObject::invokeMethod
Description
We sometimes use QMetaObject::invokeMethod
to call Qt slots. This is error-prone since the method is passed as a string.
Steps to reproduce
For example:
- launch ex_video_tracking
- Click on "Preferences" button ⇾ nothing happen
Functional specifications
No change expected in functionality for the "end user", but for the developer should at least be made aware of the dysfunction of QMetaObject::invokeMethod()
Technical specifications
- Check the method name strings or, preferably, use function pointer when available (if the target object type is known at compile time)
- Assert the boolean returned by
QMetaObject::invokeMethod()
Test plan
- CI
- Test the impacted application (at least
ex_video_tracking
and application that use the sequencer)