summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWill Thompson <will.thompson@collabora.co.uk>2011-07-25 18:33:19 +0100
committerWill Thompson <will.thompson@collabora.co.uk>2011-07-25 18:33:19 +0100
commit771cd883be1e889fb56c1fed0fe4360f55d123f5 (patch)
tree7696f94f93ceeec4d7b3197ac0de024099c58bbe
parent1d72e2d85ba9d2e1c2d883bc8e472e332d476d11 (diff)
parent563c7de5b47b837690fa5deee3507d3ec0d6888a (diff)
Merge remote-tracking branch 'danni/crash-38060' into telepathy-glib-0.14
-rw-r--r--telepathy-glib/message-mixin.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/telepathy-glib/message-mixin.c b/telepathy-glib/message-mixin.c
index 1ed1a157e..8bfc6dc05 100644
--- a/telepathy-glib/message-mixin.c
+++ b/telepathy-glib/message-mixin.c
@@ -649,9 +649,16 @@ queue_pending (GObject *object, TpMessage *pending)
type = TP_CHANNEL_TEXT_MESSAGE_TYPE_NORMAL;
- if (echo != NULL)
+ text = NULL;
+ timestamp = 0;
+
+ if (echo != NULL && echo->len < 1)
+ {
+ WARNING ("delivery-echo should contain at least 1 part");
+ }
+ else if (echo != NULL)
{
- const GHashTable *echo_header = g_ptr_array_index (echo, 1);
+ const GHashTable *echo_header = g_ptr_array_index (echo, 0);
TpMessage *echo_msg;
echo_msg = _tp_cm_message_new_from_parts (mixin->priv->connection,
@@ -671,11 +678,6 @@ queue_pending (GObject *object, TpMessage *pending)
g_object_unref (echo_msg);
}
- else
- {
- text = NULL;
- timestamp = 0;
- }
tp_svc_channel_type_text_emit_send_error (object, send_error, timestamp,
type, text != NULL ? text : "");