aboutsummaryrefslogtreecommitdiffstats
path: root/libempathy
diff options
context:
space:
mode:
authorXavier Claessens <xclaesse@src.gnome.org>2008-07-08 04:41:43 +0800
committerXavier Claessens <xclaesse@src.gnome.org>2008-07-08 04:41:43 +0800
commit6689e15e801f7302d28d4d11cae9bf2f38075da1 (patch)
treee402a4221d565d9580b9bd0ef16aa1d179766ead /libempathy
parent6b98af0d53275cf8003a9c6c55afd9bbe5d270d6 (diff)
downloadgsoc2013-empathy-6689e15e801f7302d28d4d11cae9bf2f38075da1.tar
gsoc2013-empathy-6689e15e801f7302d28d4d11cae9bf2f38075da1.tar.gz
gsoc2013-empathy-6689e15e801f7302d28d4d11cae9bf2f38075da1.tar.bz2
gsoc2013-empathy-6689e15e801f7302d28d4d11cae9bf2f38075da1.tar.lz
gsoc2013-empathy-6689e15e801f7302d28d4d11cae9bf2f38075da1.tar.xz
gsoc2013-empathy-6689e15e801f7302d28d4d11cae9bf2f38075da1.tar.zst
gsoc2013-empathy-6689e15e801f7302d28d4d11cae9bf2f38075da1.zip
Before emitting a message make sure the ID is also ready. Fixes bug #540360.
svn path=/trunk/; revision=1203
Diffstat (limited to 'libempathy')
-rw-r--r--libempathy/empathy-tp-chat.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/libempathy/empathy-tp-chat.c b/libempathy/empathy-tp-chat.c
index 7b09a8a5d..20c9d8f67 100644
--- a/libempathy/empathy-tp-chat.c
+++ b/libempathy/empathy-tp-chat.c
@@ -300,7 +300,8 @@ tp_chat_sender_ready_notify_cb (EmpathyContact *contact,
sender = empathy_message_get_sender (message);
ready = empathy_contact_get_ready (sender);
- if (!(ready & EMPATHY_CONTACT_READY_NAME)) {
+ if ((ready & EMPATHY_CONTACT_READY_NAME) == 0 ||
+ (ready & EMPATHY_CONTACT_READY_ID) == 0) {
break;
}
@@ -342,7 +343,8 @@ tp_chat_emit_or_queue_message (EmpathyTpChat *chat,
sender = empathy_message_get_sender (message);
ready = empathy_contact_get_ready (sender);
- if (ready & EMPATHY_CONTACT_READY_NAME) {
+ if ((ready & EMPATHY_CONTACT_READY_NAME) &&
+ (ready & EMPATHY_CONTACT_READY_ID)) {
DEBUG ("Message queue empty and sender ready");
g_signal_emit (chat, signals[MESSAGE_RECEIVED], 0, message);
return;