From 217d18b6acb153e83b23aadd9674b85bc741e4cb Mon Sep 17 00:00:00 2001 From: Daniel Gultsch Date: Thu, 3 Apr 2014 15:08:53 +0200 Subject: [PATCH] fixed null pointer --- src/eu/siacs/conversations/xml/TagWriter.java | 4 ++++ src/eu/siacs/conversations/xmpp/XmppConnection.java | 13 ++++++++----- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/eu/siacs/conversations/xml/TagWriter.java b/src/eu/siacs/conversations/xml/TagWriter.java index c8294aedb..f06664fdd 100644 --- a/src/eu/siacs/conversations/xml/TagWriter.java +++ b/src/eu/siacs/conversations/xml/TagWriter.java @@ -75,4 +75,8 @@ public class TagWriter { public boolean finished() { return (this.writeQueue.size() == 0); } + + public boolean isActive() { + return outputStream != null; + } } diff --git a/src/eu/siacs/conversations/xmpp/XmppConnection.java b/src/eu/siacs/conversations/xmpp/XmppConnection.java index e50ccd05f..582bf9bd6 100644 --- a/src/eu/siacs/conversations/xmpp/XmppConnection.java +++ b/src/eu/siacs/conversations/xmpp/XmppConnection.java @@ -678,6 +678,7 @@ public class XmppConnection implements Runnable { public void sendIqPacket(IqPacket packet, OnIqPacketReceived callback) { String id = nextRandomId(); packet.setAttribute("id", id); + packet.setFrom(account.getFullJid()); this.sendPacket(packet, callback); } @@ -761,12 +762,14 @@ public class XmppConnection implements Runnable { socket.close(); return; } - tagWriter.finish(); - while(!tagWriter.finished()) { - //Log.d(LOGTAG,"not yet finished"); - Thread.sleep(100); + if (tagWriter.isActive()) { + tagWriter.finish(); + while(!tagWriter.finished()) { + //Log.d(LOGTAG,"not yet finished"); + Thread.sleep(100); + } + tagWriter.writeTag(Tag.end("stream:stream")); } - tagWriter.writeTag(Tag.end("stream:stream")); } catch (IOException e) { Log.d(LOGTAG,"io exception during disconnect"); } catch (InterruptedException e) {