summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLiav A <liavalb@gmail.com>2022-07-14 05:53:13 +0300
committerAndreas Kling <kling@serenityos.org>2022-07-14 13:13:48 +0200
commitb22149601a889b57651449ef994d10baf92886d6 (patch)
treeb5437aedb14c398c2a95eb75944937e401d063d3
parente93d19bbb10da0337c77ef7a578d89c56e5e2fdd (diff)
downloadserenity-b22149601a889b57651449ef994d10baf92886d6.zip
LibVT: Remove Vector<Kernel::KString> title stack
When using the kernel console, there's no such concept of title at all. Also, this makes vim to crash the kernel due to dereferencing a null pointer, so let's remove this as this is clearly not needed when using the kernel virtual console.
-rw-r--r--Userland/Libraries/LibVT/Terminal.cpp13
-rw-r--r--Userland/Libraries/LibVT/Terminal.h5
2 files changed, 4 insertions, 14 deletions
diff --git a/Userland/Libraries/LibVT/Terminal.cpp b/Userland/Libraries/LibVT/Terminal.cpp
index 290ebf9859..084af53c1b 100644
--- a/Userland/Libraries/LibVT/Terminal.cpp
+++ b/Userland/Libraries/LibVT/Terminal.cpp
@@ -351,19 +351,18 @@ void Terminal::XTERM_WM(Parameters params)
return;
switch (params[0]) {
case 22: {
+#ifndef KERNEL
if (params.size() > 1 && params[1] == 1) {
dbgln("FIXME: we don't support icon titles");
return;
}
dbgln_if(TERMINAL_DEBUG, "Title stack push: {}", m_current_window_title);
-#ifdef KERNEL
- (void)m_title_stack.try_append(m_current_window_title.release_nonnull()); // FIXME: Propagate Error
-#else
(void)m_title_stack.try_append(move(m_current_window_title));
#endif
break;
}
case 23: {
+#ifndef KERNEL
if (params.size() > 1 && params[1] == 1)
return;
if (m_title_stack.is_empty()) {
@@ -372,9 +371,6 @@ void Terminal::XTERM_WM(Parameters params)
}
m_current_window_title = m_title_stack.take_last();
dbgln_if(TERMINAL_DEBUG, "Title stack pop: {}", m_current_window_title);
-#ifdef KERNEL
- m_client.set_window_title(m_current_window_title->view());
-#else
m_client.set_window_title(m_current_window_title);
#endif
break;
@@ -1267,10 +1263,7 @@ void Terminal::execute_osc_sequence(OscParameters parameters, u8 last_byte)
} else {
// FIXME: the split breaks titles containing semicolons.
// Should we expose the raw OSC string from the parser? Or join by semicolon?
-#ifdef KERNEL
- m_current_window_title = Kernel::KString::try_create(stringview_ify(1)).release_value_but_fixme_should_propagate_errors();
- m_client.set_window_title(m_current_window_title->view());
-#else
+#ifndef KERNEL
m_current_window_title = stringview_ify(1).to_string();
m_client.set_window_title(m_current_window_title);
#endif
diff --git a/Userland/Libraries/LibVT/Terminal.h b/Userland/Libraries/LibVT/Terminal.h
index 65794d54e1..84f735f1ce 100644
--- a/Userland/Libraries/LibVT/Terminal.h
+++ b/Userland/Libraries/LibVT/Terminal.h
@@ -435,10 +435,7 @@ protected:
Attribute m_current_attribute;
Attribute m_saved_attribute;
-#ifdef KERNEL
- OwnPtr<Kernel::KString> m_current_window_title;
- NonnullOwnPtrVector<Kernel::KString> m_title_stack;
-#else
+#ifndef KERNEL
String m_current_window_title;
Vector<String> m_title_stack;
#endif