From 5e3e01774be0c35b583690718da82f01217238f0 Mon Sep 17 00:00:00 2001 From: Jonathan Peppers Date: Thu, 3 Apr 2025 11:50:28 -0500 Subject: [PATCH] [Java.Runtime.Environment] don't call `PeekPeer()` inside `AddPeer()` Context: https://github.com/dotnet/android/pull/10004 This breaks the "replaceable" logic otherwise. --- .../Java.Interop/ManagedValueManager.cs | 3 --- .../Java.Interop/MonoRuntimeValueManager.cs | 3 --- 2 files changed, 6 deletions(-) diff --git a/src/Java.Runtime.Environment/Java.Interop/ManagedValueManager.cs b/src/Java.Runtime.Environment/Java.Interop/ManagedValueManager.cs index 46fd69206..406d769e5 100644 --- a/src/Java.Runtime.Environment/Java.Interop/ManagedValueManager.cs +++ b/src/Java.Runtime.Environment/Java.Interop/ManagedValueManager.cs @@ -57,9 +57,6 @@ public override void AddPeer (IJavaPeerable value) var r = value.PeerReference; if (!r.IsValid) throw new ObjectDisposedException (value.GetType ().FullName); - var o = PeekPeer (value.PeerReference); - if (o != null) - return; if (r.Type != JniObjectReferenceType.Global) { value.SetPeerReference (r.NewGlobalRef ()); diff --git a/src/Java.Runtime.Environment/Java.Interop/MonoRuntimeValueManager.cs b/src/Java.Runtime.Environment/Java.Interop/MonoRuntimeValueManager.cs index 4cae1dc48..99f1264e5 100644 --- a/src/Java.Runtime.Environment/Java.Interop/MonoRuntimeValueManager.cs +++ b/src/Java.Runtime.Environment/Java.Interop/MonoRuntimeValueManager.cs @@ -124,9 +124,6 @@ public override void AddPeer (IJavaPeerable value) var r = value.PeerReference; if (!r.IsValid) throw new ObjectDisposedException (value.GetType ().FullName); - var o = PeekPeer (value.PeerReference); - if (o != null) - return; if (r.Type != JniObjectReferenceType.Global) { value.SetPeerReference (r.NewGlobalRef ());