Ladybird: Look for helper processes at {app_dir}/{helper}/{helper}

Currently, we only look at the relative path `./{helper}/{helper}`,
which fails if the working directory is not the same as the directory
where the ladybird binary lives.
This commit is contained in:
Sigmund Lahn 2023-05-25 20:30:26 +02:00 committed by Andreas Kling
parent ce9f4c3215
commit 3bc0e7a7ca
Notes: sideshowbarker 2024-07-18 03:20:18 +09:00

View file

@ -25,9 +25,12 @@ ErrorOr<void> spawn_helper_process(StringView process_name, ReadonlySpan<StringV
ErrorOr<Vector<String>> get_paths_for_helper_process(StringView process_name)
{
auto application_path = TRY(ak_string_from_qstring(QCoreApplication::applicationDirPath()));
Vector<String> paths;
TRY(paths.try_append(TRY(String::formatted("./{}/{}", process_name, process_name))));
TRY(paths.try_append(TRY(String::formatted("{}/{}", TRY(ak_string_from_qstring(QCoreApplication::applicationDirPath())), process_name))));
TRY(paths.try_append(TRY(String::formatted("{}/{}/{}", application_path, process_name, process_name))));
TRY(paths.try_append(TRY(String::formatted("{}/{}", application_path, process_name))));
TRY(paths.try_append(TRY(String::formatted("./{}", process_name))));
// NOTE: Add platform-specific paths here
return paths;