Skip to content
Snippets Groups Projects
Commit 0477376a authored by Andreas Traczyk's avatar Andreas Traczyk Committed by Sébastien Blin
Browse files

mainapplication: only initialize members for primary instances

The running instance may be ephemeral and end up discarded after being
checked by InstanceManager. In this case, we shouldn't initialize large
components.

Gitlab: #654
Change-Id: I30c7dcdba6a56ab3a1a84a9efd3424e266b6f6ce
parent b2de6b72
No related branches found
No related tags found
No related merge requests found
......@@ -146,11 +146,6 @@ MainApplication::fileDebug(QFile* debugFile)
MainApplication::MainApplication(int& argc, char** argv)
: QApplication(argc, argv)
, engine_(new QQmlApplicationEngine())
, connectivityMonitor_(new ConnectivityMonitor(this))
, settingsManager_(new AppSettingsManager(this))
, systemTray_(new SystemTray(settingsManager_.get(), this))
, previewEngine_(new PreviewEngine(this))
{
QObject::connect(this, &QApplication::aboutToQuit, [this] { cleanup(); });
}
......@@ -164,6 +159,14 @@ MainApplication::~MainApplication()
bool
MainApplication::init()
{
// This 2-phase initialisation prevents ephemeral instances from
// performing unnecessary tasks, like initializing the webengine.
engine_.reset(new QQmlApplicationEngine(this));
connectivityMonitor_.reset(new ConnectivityMonitor(this));
settingsManager_.reset(new AppSettingsManager(this));
systemTray_.reset(new SystemTray(settingsManager_.get(), this));
previewEngine_.reset(new PreviewEngine(this));
setWindowIcon(QIcon(":/images/jami.ico"));
#ifdef Q_OS_LINUX
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment