* #33708: fixed im crash in Conference
diff --git a/src/org/sflphone/model/Conference.java b/src/org/sflphone/model/Conference.java
index 465a307..9ff5570 100644
--- a/src/org/sflphone/model/Conference.java
+++ b/src/org/sflphone/model/Conference.java
@@ -59,6 +59,8 @@
public Conference(String cID) {
id = cID;
participants = new ArrayList<SipCall>();
+ recording = false;
+ messages = new ArrayList<SipMessage>();
}
public Conference(Conference c) {
@@ -66,6 +68,7 @@
state = c.state;
participants = new ArrayList<SipCall>(c.participants);
recording = c.recording;
+ messages = new ArrayList<SipMessage>();
}
public String getId() {
@@ -164,4 +167,8 @@
}
+ public void addSipMessage(SipMessage sipMessage) {
+ messages.add(sipMessage);
+ }
+
}
diff --git a/src/org/sflphone/receivers/IncomingReceiver.java b/src/org/sflphone/receivers/IncomingReceiver.java
index 2734da2..8467749 100644
--- a/src/org/sflphone/receivers/IncomingReceiver.java
+++ b/src/org/sflphone/receivers/IncomingReceiver.java
@@ -56,7 +56,14 @@
Bundle extra = intent.getBundleExtra("com.savoirfairelinux.sflphone.service.newtext");
Log.i(TAG, "Received" + intent.getAction());
- callback.getCurrent_calls().get(extra.get("CallID")).addSipMessage(new SipMessage(true, extra.getString("Msg")));
+ if (callback.getCurrent_calls().get(extra.getString("CallID")) != null) {
+ callback.getCurrent_calls().get(extra.get("CallID")).addSipMessage(new SipMessage(true, extra.getString("Msg")));
+ } else if(callback.getCurrent_confs().get(extra.getString("CallID")) != null){
+ callback.getCurrent_confs().get(extra.get("CallID")).addSipMessage(new SipMessage(true, extra.getString("Msg")));
+ } else
+ return;
+
+
callback.sendBroadcast(intent);
} else if (intent.getAction().contentEquals(CallManagerCallBack.INCOMING_CALL)) {
diff --git a/src/org/sflphone/service/SipService.java b/src/org/sflphone/service/SipService.java
index 29f8df6..8f3f2d4 100644
--- a/src/org/sflphone/service/SipService.java
+++ b/src/org/sflphone/service/SipService.java
@@ -1022,7 +1022,10 @@
protected void doRun() throws SameThreadException, RemoteException {
Log.i(TAG, "SipService.sendTextMessage() thread running...");
callManagerJNI.sendTextMessage(callID, message.comment);
- getCurrent_calls().get(callID).addSipMessage(message);
+ if(getCurrent_calls().get(callID) != null)
+ getCurrent_calls().get(callID).addSipMessage(message);
+ else if(getCurrent_confs().get(callID) != null)
+ getCurrent_confs().get(callID).addSipMessage(message);
}
});