Commit 594368b5 authored by Mariusz Glebocki's avatar Mariusz Glebocki Committed by Kurt Hindenburg

Process key event even without active TerminalDisplay

There are (more or less) valid cases when currentTerminalDisplay can be
not set:
* konsole started with `--background-mode`, `sendText` called via D-Bus
* text send through KPart's `sendInput()`

It can be assumed read-only is not set in this case.

This patch should also fix TerminalInterfaceTest. Currently the shell
probably doesn't get commands send through sendInput.

Test Plan:
* Run `konsole --background-mode --nofork & ; sleep 2; qdbus org.kde.konsole-$! /Sessions/1 sendText $'echo test\n'`
* Press Ctrl+Shift+F12
* The terminal should show `echo test` command and its result

Reviewers: #konsole, hindenburg

Reviewed By: #konsole, hindenburg

Subscribers: hindenburg, #konsole

Tags: #konsole

Differential Revision:

(cherry picked from commit c0a46e2b)
parent 521592c4
......@@ -1044,11 +1044,8 @@ void Vt102Emulation::sendKeyEvent(QKeyEvent *event)
KeyboardTranslator::States states = KeyboardTranslator::NoState;
TerminalDisplay * currentView = _currentScreen->currentTerminalDisplay();
if (currentView == nullptr) {
bool isReadOnly = false;
if (currentView->sessionController() != nullptr) {
if (currentView != nullptr && currentView->sessionController() != nullptr) {
isReadOnly = currentView->sessionController()->isReadOnly();
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment