From 81e2df61bd9ebe8c333c3082375a2b2ec1ec4d03 Mon Sep 17 00:00:00 2001 From: Allison Cunha Date: Sun, 2 Nov 2025 13:19:24 -0300 Subject: [PATCH] WIP: fix for the rotate -> unpause bug --- .../org/yuzu/yuzu_emu/fragments/EmulationFragment.kt | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/EmulationFragment.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/EmulationFragment.kt index 4ee68df3ff..2c30f94bc7 100644 --- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/EmulationFragment.kt +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/EmulationFragment.kt @@ -1511,7 +1511,9 @@ class EmulationFragment : Fragment(), SurfaceHolder.Callback { emulationState.newSurface(holder.surface) } else { - emulationState.newSurface(holder.surface) + // Surface changed due to rotation/config change + // Only update surface reference, don't trigger state changes + emulationState.updateSurfaceReference(holder.surface) } } @@ -1842,6 +1844,14 @@ class EmulationFragment : Fragment(), SurfaceHolder.Callback { } } + @Synchronized + fun updateSurfaceReference(surface: Surface?) { + this.surface = surface + if (this.surface != null && state == State.RUNNING) { + NativeLibrary.surfaceChanged(this.surface) + } + } + @Synchronized fun clearSurface() { if (surface == null) {