; * src/androidfns.c (syms_of_androidfns_for_pdumper): Fix crash.
This commit is contained in:
parent
f5a3b5e66a
commit
d9814efe07
1 changed files with 23 additions and 18 deletions
|
@ -3278,31 +3278,36 @@ syms_of_androidfns_for_pdumper (void)
|
|||
|
||||
/* Proceed to retrieve the script. */
|
||||
|
||||
method = (*android_java_env)->GetMethodID (android_java_env, locale,
|
||||
"getScript",
|
||||
"()Ljava/lang/String;");
|
||||
if (!method)
|
||||
emacs_abort ();
|
||||
|
||||
string = (*android_java_env)->CallObjectMethod (android_java_env, object,
|
||||
method);
|
||||
android_exception_check_2 (object, locale);
|
||||
|
||||
if (!string)
|
||||
if (android_get_current_api_level () < 21)
|
||||
script = empty_unibyte_string;
|
||||
else
|
||||
{
|
||||
data = (*android_java_env)->GetStringUTFChars (android_java_env,
|
||||
string, NULL);
|
||||
android_exception_check_3 (object, locale, string);
|
||||
method = (*android_java_env)->GetMethodID (android_java_env, locale,
|
||||
"getScript",
|
||||
"()Ljava/lang/String;");
|
||||
if (!method)
|
||||
emacs_abort ();
|
||||
|
||||
if (!data)
|
||||
string = (*android_java_env)->CallObjectMethod (android_java_env,
|
||||
object, method);
|
||||
android_exception_check_2 (object, locale);
|
||||
|
||||
if (!string)
|
||||
script = empty_unibyte_string;
|
||||
else
|
||||
{
|
||||
script = build_unibyte_string (data);
|
||||
(*android_java_env)->ReleaseStringUTFChars (android_java_env,
|
||||
string, data);
|
||||
data = (*android_java_env)->GetStringUTFChars (android_java_env,
|
||||
string, NULL);
|
||||
android_exception_check_3 (object, locale, string);
|
||||
|
||||
if (!data)
|
||||
script = empty_unibyte_string;
|
||||
else
|
||||
{
|
||||
script = build_unibyte_string (data);
|
||||
(*android_java_env)->ReleaseStringUTFChars (android_java_env,
|
||||
string, data);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue