Mercurial > pidgin
view plugins/crazychat/cc_network.h @ 13905:4e44ecb866bd
[gaim-migrate @ 16394]
msn_session_sync_users() iterates over the buddy list, following the ->next pointers of the groups, contacts, and buddies. msn_show_sync_issue(), if called, removed the buddy for which it was called, in preparation for the buddy either being added to the server list or confirmed-to-be-removed. This could lead to the buddy pointer being released and ->next therefore being junk.
The buddy is now not removed until the user responds to the action dialog presented via msn_show_sync_issue(). I'm unclear why gtkgaim got away with this exercise in memory stomping but Adium/libgaim crashed every time, but it's safer in any case.
I also changed some foo->bar to gaim_foo_get_bar().
committer: Tailor Script <tailor@pidgin.im>
| author | Evan Schoenberg <evan.s@dreskin.net> |
|---|---|
| date | Sun, 02 Jul 2006 09:37:25 +0000 |
| parents | 8bcd4d4ccef6 |
| children |
line wrap: on
line source
#ifndef __CC_NETWORK_H__ #define __CC_NETWORK_H__ #include "account.h" #include "conversation.h" #include "crazychat.h" /* --- begin constant definition --- */ #define DEFAULT_CC_PORT 6543 #define CRAZYCHAT_INVITE_CODE "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" \ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" \ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" \ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" \ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" \ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" #define CRAZYCHAT_ACCEPT_CODE "BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB" \ "BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB" \ "BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB" \ "BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB" \ "BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB" \ "BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB" #define CRAZYCHAT_READY_CODE "CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC" \ "CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC" \ "CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC" \ "CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC" \ "CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC" \ "CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC" /* --- begin function declarations --- */ /** * Creates a new CrazyChat session if one doesn't exist and sends the invite. * @param cc global crazychat data structure * @param name the peer name * @param account the gaim account */ void cc_net_send_invite(struct crazychat *cc, char *name, GaimAccount *account); /** * Pops up the CrazyChat invitation accept window if a CrazyChat session does * not exist yet for this peer. * @param account gaim account * @param cc global crazychat data structure * @param name the peer name * @param peer_ip the peer's ip address * @param peer_port the peer's tcp port */ void cc_net_recv_invite(GaimAccount *account, struct crazychat *cc, char *name, const char *peer_ip, const char *peer_port); /** * Accepts the CrazyChat invitation and sends the response. * @param session the CrazyChat session */ void cc_net_send_accept(struct cc_session *session); /** * Receives a CrazyChat accept message, and if appropriate, creates a server * socket and sends the ready message. * @param account the gaim account which received the message * @param cc global crazychat data structure * @param name the peer name * @param peer_ip the peer's ip address */ void cc_net_recv_accept(GaimAccount *account, struct crazychat *cc, char *name, const char *peer_ip); /** * Receives a CrazyChat ready message, and if appropriate, connects to peer * @param account the gaim account which received the message * @param cc global crazychat data structure * @param name the peer name */ void cc_net_recv_ready(GaimAccount *account, struct crazychat *cc, char *name); #endif
