Search Issue Tracker
Fixed in 5.6.0
Votes
2
Found in
5.3.6p6
Issue ID
839005
Regression
No
AndroidJavaObject.Call<>() throws exception instead of returning null pointer
Reproduction steps:
1. Open the attached project ("839005 - ReproProject.zip")
2. Build and run on Android device
3. Check device logcat
Actual result: "Exception: JNI: Init'd AndroidJavaObject with null ptr!" is thrown
Expected result: "Exception: JNI: Init'd AndroidJavaObject with null ptr!" shouldn't be thrown
Reproduced on:
5.2.3p3, 5.3.7p4, 5.4.4p3, 5.5.1p4, 5.6.0b9
DUT:
Meizu MX5 with Android 5.0.1
Samsung Galaxy S7 (SM-G930F) with Android 6.0.1
Fixed in: 2017.1.0a5
Backported to: 5.6.0p3, 5.5.3p3
Comments (1)
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- “Remove Unused Overrides” available on not loaded Scene and throws “ArgumentException: The scene is not loaded” warning
- Adaptive Probe Volume occlusion edge is calculated incorrectly when viewing probes near geometry edges
- Sampling a texture using an HLSL file throws shader errors and the code does not compile
- "Graphics.CopyTexture called with null source texture" error when Base Camera of an Overlay Camera is removed with DX11 Graphics API and Compatibility Mode enabled
- WebGL sends wrong value with large numbers when SendMessage function is used
vitaliy-zasadnyy
Feb 21, 2017 10:42
Exceptions are not the best for flow control. From my point of view it's better to return AndroidJavaObject that satisfies conditions:
public static bool IsJavaNull(this AndroidJavaObject ajo)
{
return ajo == null || ajo.GetRawObject().ToInt32() == 0;
}