mirror of
https://github.com/KDE/konsole.git
synced 2026-01-28 00:49:44 -05:00
Fix crash when closing a tab using the close button
Looking at the crash backtraces from the bug reports, it seems this is what
happens, when you have two tabs open, then click the close button on the
non-current tab:
- QTabBar::currentChanged() is emitted, the TerminalDisplay pointer is
still not null at this point (the code checks for that)
- TabbedViewContainer::currentTabChanged()
- TabbedViewContainer::activeViewChanged()
- ViewManager::activateView(), at this point the TerminalDisplay pointer
could be null, which then crashes when we call Widget::setFocus()
BUG: 411962
FIXED-IN: 21.12
This commit is contained in:
committed by
Tomaz Canabrava
parent
b0c23b49fd
commit
39d3437df9
@@ -556,12 +556,12 @@ void ViewManager::focusAnotherTerminal(ViewSplitter *toplevelSplitter)
|
||||
|
||||
void ViewManager::activateView(TerminalDisplay *view)
|
||||
{
|
||||
Q_ASSERT(view != nullptr);
|
||||
|
||||
// focus the activated view, this will cause the SessionController
|
||||
// to notify the world that the view has been focused and the appropriate UI
|
||||
// actions will be plugged in.
|
||||
view->setFocus(Qt::OtherFocusReason);
|
||||
if (view) {
|
||||
// focus the activated view, this will cause the SessionController
|
||||
// to notify the world that the view has been focused and the appropriate UI
|
||||
// actions will be plugged in.
|
||||
view->setFocus(Qt::OtherFocusReason);
|
||||
}
|
||||
}
|
||||
|
||||
void ViewManager::splitLeftRight()
|
||||
|
||||
Reference in New Issue
Block a user