Avoid a crash when global android app is null in separate process

This commit is contained in:
Deve 2019-10-12 22:07:56 +02:00
parent 1e3313068f
commit c2a20e1526

View File

@ -659,15 +659,18 @@ std::string AssetsAndroid::getDataPath()
{ {
Log::warn("AssetsAndroid", "Cannot use standard data dir"); Log::warn("AssetsAndroid", "Cannot use standard data dir");
AndroidApplicationInfo application_info = if (global_android_app)
CIrrDeviceAndroid::getApplicationInfo(global_android_app->activity); {
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; return data_path;
@ -683,10 +686,15 @@ std::string AssetsAndroid::getDataPath()
std::string AssetsAndroid::getLibPath() std::string AssetsAndroid::getLibPath()
{ {
#ifdef ANDROID #ifdef ANDROID
AndroidApplicationInfo application_info = std::string lib_path;
CIrrDeviceAndroid::getApplicationInfo(global_android_app->activity);
if (global_android_app)
std::string lib_path = application_info.native_lib_dir; {
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) if (access(lib_path.c_str(), R_OK) != 0)
{ {