null PeerConnection reference before disposing; otherwise getState() might be issued against disposed object

Daniel Gultsch created

Change summary

src/main/java/eu/siacs/conversations/xmpp/jingle/WebRTCWrapper.java | 3 
1 file changed, 2 insertions(+), 1 deletion(-)

Detailed changes

src/main/java/eu/siacs/conversations/xmpp/jingle/WebRTCWrapper.java 🔗

@@ -445,8 +445,8 @@ public class WebRTCWrapper {
         final AppRTCAudioManager audioManager = this.appRTCAudioManager;
         final EglBase eglBase = this.eglBase;
         if (peerConnection != null) {
-            dispose(peerConnection);
             this.peerConnection = null;
+            dispose(peerConnection);
         }
         if (audioManager != null) {
             toneManager.setAppRtcAudioManagerHasControl(false);
@@ -467,6 +467,7 @@ public class WebRTCWrapper {
             this.eglBase = null;
         }
         if (peerConnectionFactory != null) {
+            this.peerConnectionFactory = null;
             peerConnectionFactory.dispose();
         }
     }