diff options
author | Liav A <liavalb@gmail.com> | 2022-07-14 05:53:13 +0300 |
---|---|---|
committer | Andreas Kling <kling@serenityos.org> | 2022-07-14 13:13:48 +0200 |
commit | b22149601a889b57651449ef994d10baf92886d6 (patch) | |
tree | b5437aedb14c398c2a95eb75944937e401d063d3 | |
parent | e93d19bbb10da0337c77ef7a578d89c56e5e2fdd (diff) | |
download | serenity-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.cpp | 13 | ||||
-rw-r--r-- | Userland/Libraries/LibVT/Terminal.h | 5 |
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 |