ladybird/Userland/DevTools
Itamar e16c24bb95 HackStudio: Do not create a new LanguageClient unless needed
Previously, whenever Editor::set_document() was called, we destroyed
the previous LanguageClient instance of the editor and created a new
one.

We now check if the language of the existing LanguageClient matches the
new document, and if so we do not create a new LanguageClient instance.

This fixes an issue where doing "goto definition" would crash
HackStudio. This was probably introduced in 44418cb351.

The crash occurred because when doing "goto definition", we called a
AK::Function callback from the LanguageClient, which internally called
Editor::set_document().

Editor::set_document() destroyed the existing LanguageClient, which
cased a VERIFY in Function::clear() to fail because we were trying to
destroy the AK::Function object while executing inside it.
2021-06-25 18:58:34 +02:00
..
HackStudio HackStudio: Do not create a new LanguageClient unless needed 2021-06-25 18:58:34 +02:00
Inspector Userland: Remove dummy IPC methods 2021-06-24 00:38:58 +02:00
IPCCompiler Userland: Remove dummy IPC methods 2021-06-24 00:38:58 +02:00
Playground Playground: Prompt to save changes after the user picked a file to open 2021-06-22 22:56:22 +02:00
Profiler Profiler: Use u32 when constructing InstructionData 2021-06-24 09:27:13 +02:00
StateMachineGenerator Userland: Change typedef to using directive 2021-05-21 10:07:22 +01:00
UserspaceEmulator Userland: Replace VERIFY(is<T>) with verify_cast<T> 2021-06-24 21:13:09 +02:00
CMakeLists.txt DevTools: Move to Userland/DevTools/ 2021-01-12 12:18:55 +01:00