qt: clear qml type registrations within `MainUI` destruction
QML types need to be cleared for two reasons:
- Protected modules do not allow new type registrations.
- It does not make sense to re-register same types.
This is currently the case if a compositor fails when initializing the quick view.
Note that qmlClearTypeRegistrations()
is effective on
protected modules as well.
It is a known bug from Qt's side that once Qt Quick view (engine) is fully initialized, re-initialization is flaky and causes crashes. See QTBUG-113274. Unfortunately this does not fix that issue.
Request review @chub.