Przeglądaj źródła

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.
Liav A 3 lat temu
rodzic
commit
b22149601a

+ 3 - 10
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

+ 1 - 4
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