diff --git a/Ladybird/Android/src/main/cpp/LadybirdActivity.cpp b/Ladybird/Android/src/main/cpp/LadybirdActivity.cpp index a590a9552b6..e4a60ef0eb3 100644 --- a/Ladybird/Android/src/main/cpp/LadybirdActivity.cpp +++ b/Ladybird/Android/src/main/cpp/LadybirdActivity.cpp @@ -19,11 +19,13 @@ #include #include #include +#include #include static ErrorOr extract_tar_archive(String archive_file, ByteString output_directory); JavaVM* global_vm; +static OwnPtr s_application; static OwnPtr s_main_event_loop; static jobject s_java_instance; static jmethodID s_schedule_event_loop_method; @@ -69,6 +71,11 @@ Java_org_serenityos_ladybird_LadybirdActivity_initNativeCode(JNIEnv* env, jobjec }; Core::EventLoopManager::install(*event_loop_manager); s_main_event_loop = make(); + + // FIXME: We are not making use of this Application object to track our processes. + // So, right now, the Application's ProcessManager is constantly empty. + // (However, LibWebView depends on an Application object existing, so we do have to actually create one.) + s_application = make(0, nullptr); } extern "C" JNIEXPORT void JNICALL @@ -84,6 +91,7 @@ Java_org_serenityos_ladybird_LadybirdActivity_disposeNativeCode(JNIEnv* env, job { s_main_event_loop = nullptr; s_schedule_event_loop_method = nullptr; + s_application = nullptr; env->DeleteGlobalRef(s_java_instance); delete &Core::EventLoopManager::the();