{Companion] Unload simulator libraries after each use -- reset all statically initialized firmware variables. (#4655)

* [simulatormainwindow] Move sub-window destructors to main destructor.

* [simulation] Move SimulatorInterface creation/ownership to SimulatorMainWindow.

* [simulation] Add option to unload simulator libraries after each use (eg. from Companion) so as to properly reset all statically initialized firmware variables; Introduce new SimulatorLoader class.
This commit is contained in:
Max Paperno
2017-03-21 19:48:25 +01:00
committed by Bertrand Songis
parent dc89d2d630
commit e48b1fd07d
13 changed files with 268 additions and 167 deletions
-10
View File
@@ -1837,16 +1837,6 @@ void Firmware::addOptions(Option options[])
this->opts.push_back(opts);
}
SimulatorInterface * getCurrentSimulator()
{
QString firmwareId = getCurrentFirmware()->getId();
SimulatorFactory * factory = getSimulatorFactory(firmwareId);
if (factory)
return factory->create();
else
return NULL;
}
void FlightModeData::clear(const int phase)
{
memset(this, 0, sizeof(FlightModeData));