comparison src/protocols/oscar/oscar.c @ 9971:ab5db2c5da79

[gaim-migrate @ 10882] Remove the default prpl, patch from datallah Patch from nosnilmot that might make recent buddies work Someone check my get_proto_smileys function. I feel like it could be better committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Wed, 08 Sep 2004 02:33:53 +0000
parents b13013595c08
children 2c7c6bdb938b
comparison
equal deleted inserted replaced
9970:837dc736e84f 9971:ab5db2c5da79
89 gboolean setnick; 89 gboolean setnick;
90 char *newsn; 90 char *newsn;
91 gboolean chpass; 91 gboolean chpass;
92 char *oldp; 92 char *oldp;
93 char *newp; 93 char *newp;
94 94
95 GSList *oscar_chats; 95 GSList *oscar_chats;
96 GSList *direct_ims; 96 GSList *direct_ims;
97 GSList *file_transfers; 97 GSList *file_transfers;
98 GHashTable *buddyinfo; 98 GHashTable *buddyinfo;
99 GSList *requesticon; 99 GSList *requesticon;
101 gboolean killme; 101 gboolean killme;
102 gboolean icq; 102 gboolean icq;
103 guint icontimer; 103 guint icontimer;
104 guint getblisttimer; 104 guint getblisttimer;
105 guint getinfotimer; 105 guint getinfotimer;
106 guint recentbuddies_cbid;
106 107
107 struct { 108 struct {
108 guint maxwatchers; /* max users who can watch you */ 109 guint maxwatchers; /* max users who can watch you */
109 guint maxbuddies; /* max users you can watch */ 110 guint maxbuddies; /* max users you can watch */
110 guint maxgroups; /* max groups in server list */ 111 guint maxgroups; /* max groups in server list */
1719 aim_tx_setenqueue(sess, AIM_TX_IMMEDIATE, NULL); 1720 aim_tx_setenqueue(sess, AIM_TX_IMMEDIATE, NULL);
1720 od->sess = sess; 1721 od->sess = sess;
1721 sess->aux_data = gc; 1722 sess->aux_data = gc;
1722 1723
1723 /* Connect to core Gaim signals */ 1724 /* Connect to core Gaim signals */
1724 gaim_prefs_connect_callback("/plugins/prpl/oscar/recent_buddies", recent_buddies_cb, gc); 1725 od->recentbuddies_cbid = gaim_prefs_connect_callback("/plugins/prpl/oscar/recent_buddies", recent_buddies_cb, gc);
1725 1726
1726 conn = aim_newconn(sess, AIM_CONN_TYPE_AUTH, NULL); 1727 conn = aim_newconn(sess, AIM_CONN_TYPE_AUTH, NULL);
1727 if (conn == NULL) { 1728 if (conn == NULL) {
1728 gaim_debug_error("oscar", 1729 gaim_debug_error("oscar",
1729 "internal connection error\n"); 1730 "internal connection error\n");
1801 gaim_timeout_remove(od->icontimer); 1802 gaim_timeout_remove(od->icontimer);
1802 if (od->getblisttimer > 0) 1803 if (od->getblisttimer > 0)
1803 gaim_timeout_remove(od->getblisttimer); 1804 gaim_timeout_remove(od->getblisttimer);
1804 if (od->getinfotimer > 0) 1805 if (od->getinfotimer > 0)
1805 gaim_timeout_remove(od->getinfotimer); 1806 gaim_timeout_remove(od->getinfotimer);
1807 gaim_prefs_disconnect_callback(od->recentbuddies->cbid);
1808
1806 aim_session_kill(od->sess); 1809 aim_session_kill(od->sess);
1807 g_free(od->sess); 1810 g_free(od->sess);
1808 od->sess = NULL; 1811 od->sess = NULL;
1809 g_free(gc->proto_data); 1812 g_free(gc->proto_data);
1810 gc->proto_data = NULL; 1813 gc->proto_data = NULL;
7308 fu32_t presence; 7311 fu32_t presence;
7309 7312
7310 presence = aim_ssi_getpresence(sess->ssi.local); 7313 presence = aim_ssi_getpresence(sess->ssi.local);
7311 7314
7312 if (value) { 7315 if (value) {
7313 presence |= 0x00400000; 7316 // presence |= 0x00400000;
7317 presence &= ~0x00020000;
7314 aim_ssi_setpresence(sess, presence); 7318 aim_ssi_setpresence(sess, presence);
7315 } else { 7319 } else {
7316 presence &= ~0x00400000; 7320 // presence &= ~0x00400000;
7321 presence |= 0x00020000;
7317 aim_ssi_setpresence(sess, presence); 7322 aim_ssi_setpresence(sess, presence);
7318 } 7323 }
7319 } 7324 }
7320 7325
7321 static GaimPluginPrefFrame * 7326 static GaimPluginPrefFrame *