From c2a20e1526b8052d3d450c5c73d9ef8652e7db46 Mon Sep 17 00:00:00 2001 From: Deve Date: Sat, 12 Oct 2019 22:07:56 +0200 Subject: [PATCH] Avoid a crash when global android app is null in separate process --- src/io/assets_android.cpp | 32 ++++++++++++++++++++------------ 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/src/io/assets_android.cpp b/src/io/assets_android.cpp index ae57bbec9..bf6496e14 100644 --- a/src/io/assets_android.cpp +++ b/src/io/assets_android.cpp @@ -659,15 +659,18 @@ std::string AssetsAndroid::getDataPath() { Log::warn("AssetsAndroid", "Cannot use standard data dir"); - AndroidApplicationInfo application_info = - CIrrDeviceAndroid::getApplicationInfo(global_android_app->activity); + if (global_android_app) + { + AndroidApplicationInfo application_info = + CIrrDeviceAndroid::getApplicationInfo(global_android_app->activity); + + data_path = application_info.data_dir; + } - data_path = application_info.data_dir; - } - - if (access(data_path.c_str(), R_OK) != 0) - { - data_path = ""; + if (access(data_path.c_str(), R_OK) != 0) + { + data_path = ""; + } } return data_path; @@ -683,10 +686,15 @@ std::string AssetsAndroid::getDataPath() std::string AssetsAndroid::getLibPath() { #ifdef ANDROID - AndroidApplicationInfo application_info = - CIrrDeviceAndroid::getApplicationInfo(global_android_app->activity); - - std::string lib_path = application_info.native_lib_dir; + std::string lib_path; + + if (global_android_app) + { + AndroidApplicationInfo application_info = + CIrrDeviceAndroid::getApplicationInfo(global_android_app->activity); + + lib_path = application_info.native_lib_dir; + } if (access(lib_path.c_str(), R_OK) != 0) {