--- a/libpurple/media.c Mon Jan 12 19:27:55 2009 +0000 +++ b/libpurple/media.c Tue Jan 13 09:00:57 2009 +0000 @@ -1313,6 +1313,9 @@ purple_media_hangup(PurpleMedia *media) { g_signal_emit(media, purple_media_signals[STATE_CHANGED], + 0, PURPLE_MEDIA_STATE_CHANGED_HANGUP, + NULL, NULL); + g_signal_emit(media, purple_media_signals[STATE_CHANGED], 0, PURPLE_MEDIA_STATE_CHANGED_END, NULL, NULL); g_signal_emit(media, purple_media_signals[HANGUP], 0); @@ -1322,6 +1325,9 @@ purple_media_reject(PurpleMedia *media) { g_signal_emit(media, purple_media_signals[STATE_CHANGED], + 0, PURPLE_MEDIA_STATE_CHANGED_REJECTED, + NULL, NULL); + g_signal_emit(media, purple_media_signals[STATE_CHANGED], 0, PURPLE_MEDIA_STATE_CHANGED_END, NULL, NULL); g_signal_emit(media, purple_media_signals[REJECT], 0); @@ -1336,15 +1342,9 @@ void purple_media_got_hangup(PurpleMedia *media) { -/* - * There's no way to tell who hung up with the new structure. - * I'm commenting this out until this is resolved. - */ -#if 0 g_signal_emit(media, purple_media_signals[STATE_CHANGED], 0, PURPLE_MEDIA_STATE_CHANGED_END, NULL, NULL); -#endif g_signal_emit(media, purple_media_signals[GOT_HANGUP], 0); }