From a9e2f01add83a428ae7d58296edae5c8288213cf Mon Sep 17 00:00:00 2001 From: Nikolai Krasheninnikov Date: Fri, 1 May 2020 20:44:58 +0300 Subject: [PATCH] Fixes Dolphin crash on "Defocus Terminal Panel" menu click if no Konsole is installed. Summary: Dolphin crashes if no Konsole is installed and user clicks menu action "Defocus Terminal Panel". This fix is pretty straight forward. Steps to reproduce: 1. Run Dolphin without Konsole available. 2. Press F4 to open console window. 3. Click in service menu "Focus Terminal Panel". 4. Click in service menu "Defocus Terminal Panel". Observe the crash. Test Plan: 1. Run Dolphin without Konsole available. 2. Press F4 to open console window. 3. Click in service menu "Focus Teminal Panel". 4. Click in service menu "Defocus Terminal Panel". 5. Click in service menu "Focus Terminal Panel". 6. Press F4 to close console window. Reviewers: #dolphin, meven, elvisangelaccio, ngraham Reviewed By: #dolphin, meven, elvisangelaccio, ngraham Subscribers: kfm-devel Tags: #dolphin Differential Revision: https://phabricator.kde.org/D29345 --- src/panels/terminal/terminalpanel.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/panels/terminal/terminalpanel.cpp b/src/panels/terminal/terminalpanel.cpp index b0aff9a77..ac0bcd0fe 100644 --- a/src/panels/terminal/terminalpanel.cpp +++ b/src/panels/terminal/terminalpanel.cpp @@ -308,5 +308,9 @@ void TerminalPanel::slotKonsolePartCurrentDirectoryChanged(const QString& dir) bool TerminalPanel::terminalHasFocus() const { - return m_terminalWidget->hasFocus(); + if (m_terminalWidget) { + return m_terminalWidget->hasFocus(); + } + + return hasFocus(); }