do not terminate jingle ft session twice (after iq timeout)

Daniel Gultsch created

Change summary

src/main/java/eu/siacs/conversations/xmpp/jingle/JingleFileTransferConnection.java | 7 
1 file changed, 6 insertions(+), 1 deletion(-)

Detailed changes

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

@@ -843,6 +843,8 @@ public class JingleFileTransferConnection extends AbstractJingleConnection
         if (transport == null) {
             return;
         }
+        // TODO consider setting transport callback to null. requires transport to handle null callback
+        //transport.setTransportCallback(null);
         transport.terminate();
         this.transport = null;
     }
@@ -980,7 +982,10 @@ public class JingleFileTransferConnection extends AbstractJingleConnection
     public void onTransportSetupFailed() {
         final var transport = this.transport;
         if (transport == null) {
-            // this really is not supposed to happen
+            // this can happen on IQ timeouts
+            if (isTerminated()) {
+                return;
+            }
             sendSessionTerminate(Reason.FAILED_APPLICATION, null);
             return;
         }