From b9cf5f08db5da61497898872058f0df7440e2e8e Mon Sep 17 00:00:00 2001 From: Sylvain Date: Thu, 25 Sep 2025 13:25:28 +0200 Subject: [PATCH] Fixed bug #13306 - workaround for android issue "java.lang.NullPointerException android.view.View.onResolvePointerIcon" (cherry picked from commit 10885f4b7e12db424848e93c69e73e341f7be35c) --- .../app/src/main/java/org/libsdl/app/SDLSurface.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/android-project/app/src/main/java/org/libsdl/app/SDLSurface.java b/android-project/app/src/main/java/org/libsdl/app/SDLSurface.java index 080501c9fa..b6fb9bbae9 100644 --- a/android-project/app/src/main/java/org/libsdl/app/SDLSurface.java +++ b/android-project/app/src/main/java/org/libsdl/app/SDLSurface.java @@ -15,6 +15,7 @@ import android.view.Display; import android.view.InputDevice; import android.view.KeyEvent; import android.view.MotionEvent; +import android.view.PointerIcon; import android.view.Surface; import android.view.SurfaceHolder; import android.view.SurfaceView; @@ -362,6 +363,16 @@ public class SDLSurface extends SurfaceView implements SurfaceHolder.Callback, } } + // Prevent android internal NullPointerException (https://github.com/libsdl-org/SDL/issues/13306) + @Override + public PointerIcon onResolvePointerIcon(MotionEvent event, int pointerIndex) { + try { + return super.onResolvePointerIcon(event, pointerIndex); + } catch (NullPointerException e) { + return null; + } + } + // Captured pointer events for API 26. public boolean onCapturedPointerEvent(MotionEvent event) {