From 1de32182c1e46ca5a8ed9cc2f94710e391894027 Mon Sep 17 00:00:00 2001 From: David Rosca Date: Tue, 2 Jan 2018 18:12:21 +0100 Subject: [PATCH] BrowserWindow: Don't restore first app window from postLaunch slot Instead restore it immediately after creation from MainApplication as all other window types. --- src/lib/app/browserwindow.cpp | 6 +++--- src/lib/app/mainapplication.cpp | 5 +++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/lib/app/browserwindow.cpp b/src/lib/app/browserwindow.cpp index b20f58769..2fabe5d25 100644 --- a/src/lib/app/browserwindow.cpp +++ b/src/lib/app/browserwindow.cpp @@ -282,8 +282,8 @@ void BrowserWindow::postLaunch() QWebEngineSettings::defaultSettings()->setAttribute(QWebEngineSettings::JavascriptEnabled, true); m_tabWidget->addView(QUrl("falkon:restore"), Qz::NT_CleanSelectedTabAtTheEnd); } - else if ((mApp->afterLaunch() == MainApplication::SelectSession || mApp->afterLaunch() == MainApplication::RestoreSession) && mApp->restoreManager()) { - addTab = !mApp->restoreSession(this, mApp->restoreManager()->restoreData()); + else if (mApp->afterLaunch() == MainApplication::SelectSession || mApp->afterLaunch() == MainApplication::RestoreSession) { + addTab = m_tabWidget->count() <= 0; } break; @@ -322,7 +322,7 @@ void BrowserWindow::postLaunch() } // Something went really wrong .. add one tab - if (m_tabWidget->tabBar()->normalTabsCount() <= 0) { + if (m_tabWidget->count() <= 0) { m_tabWidget->addView(m_homepage, Qz::NT_SelectedTabAtTheEnd); } diff --git a/src/lib/app/mainapplication.cpp b/src/lib/app/mainapplication.cpp index 752f23b2f..ae23a0c36 100644 --- a/src/lib/app/mainapplication.cpp +++ b/src/lib/app/mainapplication.cpp @@ -308,7 +308,6 @@ MainApplication::MainApplication(int &argc, char** argv) connect(this, SIGNAL(focusChanged(QWidget*,QWidget*)), this, SLOT(onFocusChanged())); - if (!isPrivate()) { #ifndef DISABLE_CHECK_UPDATES Settings settings; @@ -323,7 +322,9 @@ MainApplication::MainApplication(int &argc, char** argv) if (m_isStartingAfterCrash || afterLaunch() == RestoreSession) { m_restoreManager = new RestoreManager(sessionManager()->lastActiveSessionPath()); - if (!m_restoreManager->isValid()) { + if (m_restoreManager->isValid()) { + restoreSession(window, m_restoreManager->restoreData()); + } else { destroyRestoreManager(); } }