Add-on Store: prevent duplicate instances from opening (#15105)
Closes #15041
Summary of the issue:
A reference to the add-on store is kept alive after being destroyed.
It is unclear what is causing this.
If a reference is kept alive, handling a new instance causes an error, allowing multiple instances of the add-on store dialog to be opened.
Description of user facing changes
Prevent multiple instances of the add-on store dialog from opening.
Suppress the ERROR level log when an instance is kept alive to debugWarning, and instead handle the "dead" instance more gracefully.
Description of development approach
Improve the initialisation and destruction of the add-on store with the goal of reducing references to the add-on store dialog from being held.
This is not effective at preventing the add-on store dialog reference from staying alive, but may help solve the problem in future.
It is unclear how the dialog instance is remaining alive, and where the reference is being held.
If an instance is being kept alive, instead of throwing an error when starting a new instance, mark the instance as alive and re-use the alive instance.