Mercurial > pidgin
diff src/conversation.c @ 8078:ab0750ac5154
[gaim-migrate @ 8777]
I've been staring at this convo signals stuff for too long. Can
someone double check this?
committer: Tailor Script <tailor@pidgin.im>
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Sun, 11 Jan 2004 23:45:23 +0000 |
parents | 504d98d14c25 |
children | 77d1252b3803 |
line wrap: on
line diff
--- a/src/conversation.c Sun Jan 11 21:43:43 2004 +0000 +++ b/src/conversation.c Sun Jan 11 23:45:23 2004 +0000 @@ -243,21 +243,15 @@ "displaying-im-msg" : "displaying-chat-msg"), gaim_conversation_get_account(conv), conv, &displayed)); - if (displayed == NULL) { - g_free(sent); - return; - } - if (plugin_return) { g_free(displayed); - g_free(sent); - return; + displayed = NULL; + } else { + gaim_signal_emit(gaim_conversations_get_handle(), + (type == GAIM_CONV_IM ? "displayed-im-msg" : "displayed-chat-msg"), + gaim_conversation_get_account(conv), conv, displayed); } - gaim_signal_emit(gaim_conversations_get_handle(), - (type == GAIM_CONV_IM ? "displayed-im-msg" : "displayed-chat-msg"), - gaim_conversation_get_account(conv), conv, displayed); - if (type == GAIM_CONV_IM) { GaimConvIm *im = GAIM_CONV_IM(conv); @@ -277,7 +271,7 @@ err = serv_send_im(gc, gaim_conversation_get_name(conv), sent, imflags); - if (err > 0) + if ((err > 0) && (displayed != NULL)) gaim_conv_im_write(im, NULL, displayed, msgflags, time(NULL)); if (im->images != NULL) { @@ -2583,6 +2577,24 @@ /********************************************************************** * Register signals **********************************************************************/ + gaim_signal_register(handle, "writing-im-msg", + gaim_marshal_BOOLEAN__POINTER_POINTER_POINTER, + gaim_value_new(GAIM_TYPE_BOOLEAN), 3, + gaim_value_new(GAIM_TYPE_SUBTYPE, + GAIM_SUBTYPE_ACCOUNT), + gaim_value_new(GAIM_TYPE_SUBTYPE, + GAIM_SUBTYPE_CONVERSATION), + gaim_value_new_outgoing(GAIM_TYPE_STRING)); + + gaim_signal_register(handle, "wrote-im-msg", + gaim_marshal_VOID__POINTER_POINTER_POINTER, + NULL, 3, + gaim_value_new(GAIM_TYPE_SUBTYPE, + GAIM_SUBTYPE_ACCOUNT), + gaim_value_new(GAIM_TYPE_SUBTYPE, + GAIM_SUBTYPE_CONVERSATION), + gaim_value_new(GAIM_TYPE_STRING)); + gaim_signal_register(handle, "displaying-im-msg", gaim_marshal_BOOLEAN__POINTER_POINTER_POINTER, gaim_value_new(GAIM_TYPE_BOOLEAN), 3, @@ -2626,6 +2638,24 @@ gaim_value_new_outgoing(GAIM_TYPE_STRING), gaim_value_new_outgoing(GAIM_TYPE_UINT)); + gaim_signal_register(handle, "writing-chat-msg", + gaim_marshal_BOOLEAN__POINTER_POINTER_POINTER, + gaim_value_new(GAIM_TYPE_BOOLEAN), 3, + gaim_value_new(GAIM_TYPE_SUBTYPE, + GAIM_SUBTYPE_ACCOUNT), + gaim_value_new(GAIM_TYPE_SUBTYPE, + GAIM_SUBTYPE_CONVERSATION), + gaim_value_new_outgoing(GAIM_TYPE_STRING)); + + gaim_signal_register(handle, "wrote-chat-msg", + gaim_marshal_VOID__POINTER_POINTER_POINTER, + NULL, 3, + gaim_value_new(GAIM_TYPE_SUBTYPE, + GAIM_SUBTYPE_ACCOUNT), + gaim_value_new(GAIM_TYPE_SUBTYPE, + GAIM_SUBTYPE_CONVERSATION), + gaim_value_new(GAIM_TYPE_STRING)); + gaim_signal_register(handle, "displaying-chat-msg", gaim_marshal_BOOLEAN__POINTER_POINTER_POINTER, gaim_value_new(GAIM_TYPE_BOOLEAN), 3,