diff options
| author | Felix Ernst <[email protected]> | 2020-10-28 17:52:29 +0100 |
|---|---|---|
| committer | Elvis Angelaccio <[email protected]> | 2020-11-09 23:49:07 +0100 |
| commit | a418d6229e31dac254660da2a417b4306f066ae3 (patch) | |
| tree | 2ee8cdcfbc3c4e92a480f82fdb3afee89af8a1ea /src/dolphintabwidget.cpp | |
| parent | 37327c9b0aae112c5890703cba1f0157043007e0 (diff) | |
Fix a crash and extract unrelated changes
The secondary UrlNavigator is now created when and only when:
- split view mode is activated for the active tab
OR
- switching to a tab that has split view already enabled.
This fixes a crash that occurs when the setting to always start in
split view mode is enabled.
An animation for activating split view is also removed from this and
moved into a separate MR. Another unrelated name change left over from
a previous commit (viewContainers() -> activeViewContainers()) is
dropped.
Diffstat (limited to 'src/dolphintabwidget.cpp')
| -rw-r--r-- | src/dolphintabwidget.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/dolphintabwidget.cpp b/src/dolphintabwidget.cpp index a09a769d3..eb3f741ee 100644 --- a/src/dolphintabwidget.cpp +++ b/src/dolphintabwidget.cpp @@ -128,12 +128,9 @@ bool DolphinTabWidget::isUrlOpen(const QUrl &url) const void DolphinTabWidget::openNewActivatedTab() { std::unique_ptr<DolphinUrlNavigator::VisualState> oldNavigatorState; - if (currentTabPage()->primaryViewActive()) { + if (currentTabPage()->primaryViewActive() || !m_navigatorsWidget->secondaryUrlNavigator()) { oldNavigatorState = m_navigatorsWidget->primaryUrlNavigator()->visualState(); } else { - if (!m_navigatorsWidget->secondaryUrlNavigator()) { - m_navigatorsWidget->createSecondaryUrlNavigator(); - } oldNavigatorState = m_navigatorsWidget->secondaryUrlNavigator()->visualState(); } @@ -401,6 +398,9 @@ void DolphinTabWidget::currentTabChanged(int index) m_lastViewedTab->disconnectNavigators(); m_lastViewedTab->setActive(false); } + if (tabPage->splitViewEnabled() && !m_navigatorsWidget->secondaryUrlNavigator()) { + m_navigatorsWidget->createSecondaryUrlNavigator(); + } DolphinViewContainer* viewContainer = tabPage->activeViewContainer(); Q_EMIT activeViewChanged(viewContainer); Q_EMIT currentUrlChanged(viewContainer->url()); |
