From: <the...@us...> - 2006-06-24 06:47:41
|
Revision: 16325 Author: thekingant Date: 2006-06-23 23:47:39 -0700 (Fri, 23 Jun 2006) ViewCVS: http://svn.sourceforge.net/gaim/?rev=16325&view=rev Log Message: ----------- Backport SVN revision #16324 from HEAD to v2_0_0. Original commit message: Handle the oscar icon retrieval timer loop in a slightly more clear way. ViewCVS Links: ------------- http://svn.sourceforge.net/gaim/?rev=16324&view=rev Modified Paths: -------------- branches/v2_0_0/src/protocols/oscar/oscar.c Modified: branches/v2_0_0/src/protocols/oscar/oscar.c =================================================================== --- branches/v2_0_0/src/protocols/oscar/oscar.c 2006-06-24 06:47:11 UTC (rev 16324) +++ branches/v2_0_0/src/protocols/oscar/oscar.c 2006-06-24 06:47:39 UTC (rev 16325) @@ -1113,9 +1113,8 @@ od->iconconnecting = FALSE; - if (od->icontimer) - gaim_timeout_remove(od->icontimer); - od->icontimer = gaim_timeout_add(100, gaim_icon_timerfunc, gc); + if (od->icontimer == 0) + od->icontimer = gaim_timeout_add(100, gaim_icon_timerfunc, gc); } static int @@ -1815,9 +1814,8 @@ cur = cur->next; if (!cur) { od->requesticon = g_slist_append(od->requesticon, g_strdup(gaim_normalize(account, info->sn))); - if (od->icontimer) - gaim_timeout_remove(od->icontimer); - od->icontimer = gaim_timeout_add(500, gaim_icon_timerfunc, gc); + if (od->icontimer == 0) + od->icontimer = gaim_timeout_add(500, gaim_icon_timerfunc, gc); } } g_free(b16); @@ -3168,9 +3166,8 @@ od->requesticon = g_slist_remove(od->requesticon, sn); g_free(sn); - if (od->icontimer) - gaim_timeout_remove(od->icontimer); - od->icontimer = gaim_timeout_add(500, gaim_icon_timerfunc, gc); + if (od->icontimer == 0) + od->icontimer = gaim_timeout_add(500, gaim_icon_timerfunc, gc); return 1; } @@ -3220,9 +3217,8 @@ cur = cur->next; } - if (od->icontimer) - gaim_timeout_remove(od->icontimer); - od->icontimer = gaim_timeout_add(250, gaim_icon_timerfunc, gc); + if (od->icontimer == 0) + od->icontimer = gaim_timeout_add(250, gaim_icon_timerfunc, gc); return 1; } @@ -3233,6 +3229,8 @@ aim_userinfo_t *userinfo; FlapConnection *conn; + od->icontimer = 0; + conn = flap_connection_getbytype(od, SNAC_FAMILY_BART); if (!conn) { if (!od->iconconnecting) { @@ -3285,7 +3283,9 @@ g_free(sn); } - return TRUE; + od->icontimer = gaim_timeout_add(100, gaim_icon_timerfunc, gc); + + return FALSE; } /* This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <the...@us...> - 2006-06-26 03:57:21
|
Revision: 16345 Author: thekingant Date: 2006-06-25 20:57:19 -0700 (Sun, 25 Jun 2006) ViewCVS: http://svn.sourceforge.net/gaim/?rev=16345&view=rev Log Message: ----------- Backport SVN revision 16344 from HEAD to v2_0_0 Original commit message: Fix some bugs that Relan (resver) tracked down. Basically we were attempting to convert various strings from some encoding to UTF8 twice. The strings were mostly in ICQ buddy info. He submitted sf patch #1503955, but I like my approach better. ViewCVS Links: ------------- http://svn.sourceforge.net/gaim/?rev=16344&view=rev Modified Paths: -------------- branches/v2_0_0/src/protocols/oscar/oscar.c Modified: branches/v2_0_0/src/protocols/oscar/oscar.c =================================================================== --- branches/v2_0_0/src/protocols/oscar/oscar.c 2006-06-26 03:55:24 UTC (rev 16344) +++ branches/v2_0_0/src/protocols/oscar/oscar.c 2006-06-26 03:57:19 UTC (rev 16345) @@ -726,9 +726,18 @@ } static void -oscar_string_append(GaimAccount *account, GString *str, const char *newline, +oscar_string_append(GString *str, const char *newline, const char *name, const char *value) { + if (value && value[0]) { + g_string_append_printf(str, "%s<b>%s:</b> %s", newline, name, value); + } +} + +static void +oscar_string_convert_and_append(GaimAccount *account, GString *str, const char *newline, + const char *name, const char *value) +{ gchar *utf8; if (value && value[0] && (utf8 = oscar_utf8_try_convert(account, value))) { @@ -772,16 +781,16 @@ if (gaim_presence_is_online(presence)) { if (aim_sn_is_icq(b->name)) { GaimStatus *status = gaim_presence_get_active_status(presence); - oscar_string_append(gc->account, str, newline, _("Status"), + oscar_string_append(str, newline, _("Status"), gaim_status_get_name(status)); } } else { tmp = aim_ssi_itemlist_findparentname(od->ssi.local, b->name); if (aim_ssi_waitingforauth(od->ssi.local, tmp, b->name)) - oscar_string_append(gc->account, str, newline, _("Status"), + oscar_string_append(str, newline, _("Status"), _("Not Authorized")); else - oscar_string_append(gc->account, str, newline, _("Status"), + oscar_string_append(str, newline, _("Status"), _("Offline")); } } @@ -792,14 +801,14 @@ (bi->ipaddr & 0x00ff0000) >> 16, (bi->ipaddr & 0x0000ff00) >> 8, (bi->ipaddr & 0x000000ff)); - oscar_string_append(gc->account, str, newline, _("IP Address"), tmp); + oscar_string_append(str, newline, _("IP Address"), tmp); g_free(tmp); } if ((userinfo != NULL) && (userinfo->warnlevel != 0)) { tmp = g_strdup_printf("%d", (int)(userinfo->warnlevel/10.0 + .5)); - oscar_string_append(gc->account, str, newline, _("Warning Level"), tmp); + oscar_string_append(str, newline, _("Warning Level"), tmp); g_free(tmp); } @@ -808,7 +817,7 @@ if (tmp != NULL) { char *tmp2 = g_markup_escape_text(tmp, strlen(tmp)); g_free(tmp); - oscar_string_append(gc->account, str, newline, _("Buddy Comment"), tmp2); + oscar_string_convert_and_append(account, str, newline, _("Buddy Comment"), tmp2); g_free(tmp2); } } @@ -2823,23 +2832,23 @@ if (userinfo->present & AIM_USERINFO_PRESENT_ONLINESINCE) { time_t t = userinfo->onlinesince - od->timeoffset; - oscar_string_append(gc->account, str, "\n<br>", _("Online Since"), gaim_date_format_full(localtime(&t))); + oscar_string_append(str, "\n<br>", _("Online Since"), gaim_date_format_full(localtime(&t))); } if (userinfo->present & AIM_USERINFO_PRESENT_MEMBERSINCE) { time_t t = userinfo->membersince - od->timeoffset; - oscar_string_append(gc->account, str, "\n<br>", _("Member Since"), gaim_date_format_full(localtime(&t))); + oscar_string_append(str, "\n<br>", _("Member Since"), gaim_date_format_full(localtime(&t))); } if (userinfo->capabilities != 0) { tmp = oscar_caps_to_string(userinfo->capabilities); - oscar_string_append(gc->account, str, "\n<br>", _("Capabilities"), tmp); + oscar_string_append(str, "\n<br>", _("Capabilities"), tmp); g_free(tmp); } if (userinfo->present & AIM_USERINFO_PRESENT_IDLE) { tmp = gaim_str_seconds_to_string(userinfo->idletime*60); - oscar_string_append(gc->account, str, "\n<br>", _("Idle"), tmp); + oscar_string_append(str, "\n<br>", _("Idle"), tmp); g_free(tmp); } @@ -2851,7 +2860,7 @@ if (userinfo->status[0] != '\0') tmp = oscar_encoding_to_utf8(userinfo->status_encoding, userinfo->status, userinfo->status_len); - oscar_string_append(gc->account, str, "\n<br>", _("Available Message"), tmp); + oscar_string_convert_and_append(account, str, "\n<br>", _("Available Message"), tmp); g_free(tmp); } @@ -3597,9 +3606,10 @@ static int gaim_icqinfo(OscarData *od, FlapConnection *conn, FlapFrame *fr, ...) { - GaimConnection *gc = od->gc; + GaimConnection *gc; + GaimAccount *account; GaimBuddy *buddy; - struct buddyinfo *bi = NULL; + struct buddyinfo *bi; gchar who[16]; GString *str; gchar *utf8; @@ -3607,6 +3617,9 @@ va_list ap; struct aim_icq_info *info; + gc = od->gc; + account = gaim_connection_get_account(gc); + va_start(ap, fr); info = va_arg(ap, struct aim_icq_info *); va_end(ap); @@ -3619,20 +3632,22 @@ buddy = gaim_find_buddy(gaim_connection_get_account(gc), who); if (buddy != NULL) bi = g_hash_table_lookup(od->buddyinfo, gaim_normalize(buddy->account, buddy->name)); + else + bi = NULL; g_string_append_printf(str, "<b>%s:</b> %s", _("UIN"), who); - oscar_string_append(gc->account, str, "\n<br>", _("Nick"), info->nick); + oscar_string_convert_and_append(account, str, "\n<br>", _("Nick"), info->nick); if ((bi != NULL) && (bi->ipaddr != 0)) { char *tstr = g_strdup_printf("%hhu.%hhu.%hhu.%hhu", (bi->ipaddr & 0xff000000) >> 24, (bi->ipaddr & 0x00ff0000) >> 16, (bi->ipaddr & 0x0000ff00) >> 8, (bi->ipaddr & 0x000000ff)); - oscar_string_append(gc->account, str, "\n<br>", _("IP Address"), tstr); + oscar_string_append(str, "\n<br>", _("IP Address"), tstr); g_free(tstr); } - oscar_string_append(gc->account, str, "\n<br>", _("First Name"), info->first); - oscar_string_append(gc->account, str, "\n<br>", _("Last Name"), info->last); + oscar_string_convert_and_append(account, str, "\n<br>", _("First Name"), info->first); + oscar_string_convert_and_append(account, str, "\n<br>", _("Last Name"), info->last); if (info->email && info->email[0] && (utf8 = oscar_utf8_try_convert(gc->account, info->email))) { g_string_append_printf(str, "\n<br><b>%s:</b> <a href=\"mailto:%s\">%s</a>", _("E-Mail Address"), utf8, utf8); g_free(utf8); @@ -3646,9 +3661,9 @@ } } } - oscar_string_append(gc->account, str, "\n<br>", _("Mobile Phone"), info->mobile); + oscar_string_convert_and_append(account, str, "\n<br>", _("Mobile Phone"), info->mobile); if (info->gender != 0) - oscar_string_append(gc->account, str, "\n<br>", _("Gender"), info->gender == 1 ? _("Female") : _("Male")); + oscar_string_append(str, "\n<br>", _("Gender"), info->gender == 1 ? _("Female") : _("Male")); if ((info->birthyear > 1900) && (info->birthmonth > 0) && (info->birthday > 0)) { /* Initialize the struct properly or strftime() will crash * under some conditions (e.g. Debian sarge w/ LANG=en_HK). */ @@ -3664,13 +3679,13 @@ * feel free to remove it. --rlaager */ mktime(tm); - oscar_string_append(gc->account, str, "\n<br>", _("Birthday"), + oscar_string_append(str, "\n<br>", _("Birthday"), gaim_date_format_short(tm)); } if ((info->age > 0) && (info->age < 255)) { char age[5]; snprintf(age, sizeof(age), "%hhd", info->age); - oscar_string_append(gc->account, str, "\n<br>", _("Age"), age); + oscar_string_append(str, "\n<br>", _("Age"), age); } if (info->personalwebpage && info->personalwebpage[0] && (utf8 = oscar_utf8_try_convert(gc->account, info->personalwebpage))) { g_string_append_printf(str, "\n<br><b>%s:</b> <a href=\"%s\">%s</a>", _("Personal Web Page"), utf8, utf8); @@ -3683,25 +3698,25 @@ g_string_append_printf(str, "<hr>"); if ((info->homeaddr && (info->homeaddr[0])) || (info->homecity && info->homecity[0]) || (info->homestate && info->homestate[0]) || (info->homezip && info->homezip[0])) { g_string_append_printf(str, "<b>%s:</b>", _("Home Address")); - oscar_string_append(gc->account, str, "\n<br>", _("Address"), info->homeaddr); - oscar_string_append(gc->account, str, "\n<br>", _("City"), info->homecity); - oscar_string_append(gc->account, str, "\n<br>", _("State"), info->homestate); - oscar_string_append(gc->account, str, "\n<br>", _("Zip Code"), info->homezip); + oscar_string_convert_and_append(account, str, "\n<br>", _("Address"), info->homeaddr); + oscar_string_convert_and_append(account, str, "\n<br>", _("City"), info->homecity); + oscar_string_convert_and_append(account, str, "\n<br>", _("State"), info->homestate); + oscar_string_convert_and_append(account, str, "\n<br>", _("Zip Code"), info->homezip); g_string_append_printf(str, "\n<hr>"); } if ((info->workaddr && info->workaddr[0]) || (info->workcity && info->workcity[0]) || (info->workstate && info->workstate[0]) || (info->workzip && info->workzip[0])) { g_string_append_printf(str, "<b>%s:</b>", _("Work Address")); - oscar_string_append(gc->account, str, "\n<br>", _("Address"), info->workaddr); - oscar_string_append(gc->account, str, "\n<br>", _("City"), info->workcity); - oscar_string_append(gc->account, str, "\n<br>", _("State"), info->workstate); - oscar_string_append(gc->account, str, "\n<br>", _("Zip Code"), info->workzip); + oscar_string_convert_and_append(account, str, "\n<br>", _("Address"), info->workaddr); + oscar_string_convert_and_append(account, str, "\n<br>", _("City"), info->workcity); + oscar_string_convert_and_append(account, str, "\n<br>", _("State"), info->workstate); + oscar_string_convert_and_append(account, str, "\n<br>", _("Zip Code"), info->workzip); g_string_append_printf(str, "\n<hr>"); } if ((info->workcompany && info->workcompany[0]) || (info->workdivision && info->workdivision[0]) || (info->workposition && info->workposition[0]) || (info->workwebpage && info->workwebpage[0])) { g_string_append_printf(str, "<b>%s:</b>", _("Work Information")); - oscar_string_append(gc->account, str, "\n<br>", _("Company"), info->workcompany); - oscar_string_append(gc->account, str, "\n<br>", _("Division"), info->workdivision); - oscar_string_append(gc->account, str, "\n<br>", _("Position"), info->workposition); + oscar_string_convert_and_append(account, str, "\n<br>", _("Company"), info->workcompany); + oscar_string_convert_and_append(account, str, "\n<br>", _("Division"), info->workdivision); + oscar_string_convert_and_append(account, str, "\n<br>", _("Position"), info->workposition); if (info->workwebpage && info->workwebpage[0] && (utf8 = oscar_utf8_try_convert(gc->account, info->workwebpage))) { g_string_append_printf(str, "\n<br><b>%s:</b> <a href=\"%s\">%s</a>", _("Web Page"), utf8, utf8); g_free(utf8); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <the...@us...> - 2006-06-26 09:04:44
|
Revision: 16350 Author: thekingant Date: 2006-06-26 02:04:41 -0700 (Mon, 26 Jun 2006) ViewCVS: http://svn.sourceforge.net/gaim/?rev=16350&view=rev Log Message: ----------- Backport SVN revision 16349 from HEAD to v2_0_0 Original commit message: Three changes: 1. When you try to sign on with an oscar screen name that is not valid ("123abc" for example), the PRPL will set gc->wants_to_die to TRUE so that the account will not be auto-reconnected. 2. When we get an AIM userinfo packet about someone in our buddy list, if the person has some kind of screen name formatting set ("Mark Doliner" instead of "markdoliner") then we set the buddies server_nick to that formatted name. 3. Add a "Get AIM Info" to the context menu for ICQ buddies who are in the buddy list of an ICQ user. ViewCVS Links: ------------- http://svn.sourceforge.net/gaim/?rev=16349&view=rev Modified Paths: -------------- branches/v2_0_0/src/protocols/oscar/oscar.c Modified: branches/v2_0_0/src/protocols/oscar/oscar.c =================================================================== --- branches/v2_0_0/src/protocols/oscar/oscar.c 2006-06-26 09:03:54 UTC (rev 16349) +++ branches/v2_0_0/src/protocols/oscar/oscar.c 2006-06-26 09:04:41 UTC (rev 16350) @@ -1225,6 +1225,7 @@ if (!aim_snvalid(gaim_account_get_username(account))) { gchar *buf; buf = g_strdup_printf(_("Unable to login: Could not sign on as %s because the screen name is invalid. Screen names must either start with a letter and contain only letters, numbers and spaces, or contain only numbers."), gaim_account_get_username(account)); + gc->wants_to_die = TRUE; gaim_connection_error(gc, buf); g_free(buf); } @@ -2914,6 +2915,11 @@ if (b == NULL) return 1; + if (strcmp(gaim_buddy_get_name(b), userinfo->sn)) + serv_got_alias(gc, gaim_buddy_get_name(b), userinfo->sn); + else + serv_got_alias(gc, gaim_buddy_get_name(b), NULL); + presence = gaim_buddy_get_presence(b); status = gaim_presence_get_active_status(presence); @@ -4226,6 +4232,11 @@ return ret; } +/* + * As of 26 June 2006, ICQ users can request AIM info from + * everyone, and can request ICQ info from ICQ users, and + * AIM users can only request AIM info. + */ static void oscar_get_info(GaimConnection *gc, const char *name) { OscarData *od = (OscarData *)gc->proto_data; @@ -5759,6 +5770,20 @@ g_free(buf); } +static void +oscar_get_aim_info_cb(GaimBlistNode *node, gpointer ignore) +{ + GaimBuddy *buddy; + GaimConnection *gc; + + g_return_if_fail(GAIM_BLIST_NODE_IS_BUDDY(node)); + + buddy = (GaimBuddy *)node; + gc = gaim_account_get_connection(buddy->account); + + aim_locate_getinfoshort(gc->proto_data, gaim_buddy_get_name(buddy), 0x00000003); +} + static GList *oscar_buddy_menu(GaimBuddy *buddy) { GaimConnection *gc; @@ -5772,6 +5797,14 @@ userinfo = aim_locate_finduserinfo(od, buddy->name); m = NULL; + if (od->icq && aim_sn_is_icq(gaim_buddy_get_name(buddy))) + { + act = gaim_menu_action_new(_("Get AIM Info"), + GAIM_CALLBACK(oscar_get_aim_info_cb), + NULL, NULL); + m = g_list_append(m, act); + } + act = gaim_menu_action_new(_("Edit Buddy Comment"), GAIM_CALLBACK(oscar_buddycb_edit_comment), NULL, NULL); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <the...@us...> - 2006-07-02 23:56:48
|
Revision: 16405 Author: thekingant Date: 2006-07-02 16:56:44 -0700 (Sun, 02 Jul 2006) ViewCVS: http://svn.sourceforge.net/gaim/?rev=16405&view=rev Log Message: ----------- Backport SVN revision #16404 from HEAD to v2_0_0 Original commit message: Fix a small bug in oscar where the "Send File" option in the conversation menu would be greyed out if the buddy is not in your buddy list. Thanks to foo in #gaim for pointing this out, unbeknowest to him. ViewCVS Links: ------------- http://svn.sourceforge.net/gaim/?rev=16404&view=rev Modified Paths: -------------- branches/v2_0_0/src/protocols/oscar/oscar.c Modified: branches/v2_0_0/src/protocols/oscar/oscar.c =================================================================== --- branches/v2_0_0/src/protocols/oscar/oscar.c 2006-07-02 23:56:08 UTC (rev 16404) +++ branches/v2_0_0/src/protocols/oscar/oscar.c 2006-07-02 23:56:44 UTC (rev 16405) @@ -6161,8 +6161,8 @@ * Don't allowing sending a file to a user that does not support * file transfer, and don't allow sending to ourselves. */ - if ((userinfo != NULL) && - (userinfo->capabilities & OSCAR_CAPABILITY_SENDFILE) && + if (((userinfo == NULL) || + (userinfo->capabilities & OSCAR_CAPABILITY_SENDFILE)) && aim_sncmp(who, gaim_account_get_username(account))) { return TRUE; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <the...@us...> - 2006-07-16 16:48:23
|
Revision: 16493 Author: thekingant Date: 2006-07-16 09:47:44 -0700 (Sun, 16 Jul 2006) ViewCVS: http://svn.sourceforge.net/gaim/?rev=16493&view=rev Log Message: ----------- Backport SVN revision 16492 from HEAD to v2_0_0 Original commit message: Fix a casting warning on 64-bit machines ViewCVS Links: ------------- http://svn.sourceforge.net/gaim/?rev=16492&view=rev Modified Paths: -------------- branches/v2_0_0/src/protocols/oscar/oscar.c Modified: branches/v2_0_0/src/protocols/oscar/oscar.c =================================================================== --- branches/v2_0_0/src/protocols/oscar/oscar.c 2006-07-16 16:46:31 UTC (rev 16492) +++ branches/v2_0_0/src/protocols/oscar/oscar.c 2006-07-16 16:47:44 UTC (rev 16493) @@ -1629,7 +1629,7 @@ separator = strchr(redir->ip, ':'); if (separator != NULL) { - host = g_strndup(redir->ip, (int)separator - (int)redir->ip); + host = g_strndup(redir->ip, separator - redir->ip); port = atoi(separator + 1); } else This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <the...@us...> - 2006-07-16 16:59:44
|
Revision: 16495 Author: thekingant Date: 2006-07-16 09:59:27 -0700 (Sun, 16 Jul 2006) ViewCVS: http://svn.sourceforge.net/gaim/?rev=16495&view=rev Log Message: ----------- Backport SVN revision #16494 from HEAD to v2_0_0 Original commit message: Only do something about formatted screen names for AIM, not ICQ ViewCVS Links: ------------- http://svn.sourceforge.net/gaim/?rev=16494&view=rev Modified Paths: -------------- branches/v2_0_0/src/protocols/oscar/oscar.c Modified: branches/v2_0_0/src/protocols/oscar/oscar.c =================================================================== --- branches/v2_0_0/src/protocols/oscar/oscar.c 2006-07-16 16:59:10 UTC (rev 16494) +++ branches/v2_0_0/src/protocols/oscar/oscar.c 2006-07-16 16:59:27 UTC (rev 16495) @@ -2915,10 +2915,13 @@ if (b == NULL) return 1; - if (strcmp(gaim_buddy_get_name(b), userinfo->sn)) - serv_got_alias(gc, gaim_buddy_get_name(b), userinfo->sn); - else - serv_got_alias(gc, gaim_buddy_get_name(b), NULL); + if (!aim_sn_is_icq(userinfo->sn)) + { + if (strcmp(gaim_buddy_get_name(b), userinfo->sn)) + serv_got_alias(gc, gaim_buddy_get_name(b), userinfo->sn); + else + serv_got_alias(gc, gaim_buddy_get_name(b), NULL); + } presence = gaim_buddy_get_presence(b); status = gaim_presence_get_active_status(presence); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <the...@us...> - 2006-08-16 16:57:06
|
Revision: 16792 Author: thekingant Date: 2006-08-16 09:56:59 -0700 (Wed, 16 Aug 2006) ViewCVS: http://svn.sourceforge.net/gaim/?rev=16792&view=rev Log Message: ----------- Backport SVN revision #16791 from HEAD to v2_0_0 Patch from Henning Nor?\195?\169n Change the DND, extended away and occupied statuses in oscar so that they allow setting a message. Also change another place so that we show messages for people who are in those statuses. ViewCVS Links: ------------- http://svn.sourceforge.net/gaim/?rev=16791&view=rev Modified Paths: -------------- branches/v2_0_0/src/protocols/oscar/oscar.c Modified: branches/v2_0_0/src/protocols/oscar/oscar.c =================================================================== --- branches/v2_0_0/src/protocols/oscar/oscar.c 2006-08-16 16:53:20 UTC (rev 16791) +++ branches/v2_0_0/src/protocols/oscar/oscar.c 2006-08-16 16:56:59 UTC (rev 16792) @@ -4368,7 +4368,8 @@ /* This is needed for us to un-set any previous away message. */ away = g_strdup(""); } - else if (primitive == GAIM_STATUS_AWAY) + else if ((primitive == GAIM_STATUS_AWAY) || + (primitive == GAIM_STATUS_EXTENDED_AWAY)) { htmlaway = gaim_status_get_attr_string(status, "message"); if ((htmlaway == NULL) || (*htmlaway == '\0')) @@ -5608,19 +5609,25 @@ status_types = g_list_append(status_types, type); /* ICQ-specific status types */ - type = gaim_status_type_new_full(GAIM_STATUS_UNAVAILABLE, - OSCAR_STATUS_ID_OCCUPIED, - _("Occupied"), TRUE, is_icq, FALSE); + type = gaim_status_type_new_with_attrs(GAIM_STATUS_UNAVAILABLE, + OSCAR_STATUS_ID_OCCUPIED, + _("Occupied"), TRUE, is_icq, FALSE, + "message", _("Message"), + gaim_value_new(GAIM_TYPE_STRING), NULL); status_types = g_list_append(status_types, type); - type = gaim_status_type_new_full(GAIM_STATUS_EXTENDED_AWAY, - OSCAR_STATUS_ID_DND, - _("Do Not Disturb"), TRUE, is_icq, FALSE); + type = gaim_status_type_new_with_attrs(GAIM_STATUS_EXTENDED_AWAY, + OSCAR_STATUS_ID_DND, + _("Do Not Disturb"), TRUE, is_icq, FALSE, + "message", _("Message"), + gaim_value_new(GAIM_TYPE_STRING), NULL); status_types = g_list_append(status_types, type); - type = gaim_status_type_new_full(GAIM_STATUS_EXTENDED_AWAY, - OSCAR_STATUS_ID_NA, - _("Not Available"), TRUE, is_icq, FALSE); + type = gaim_status_type_new_with_attrs(GAIM_STATUS_EXTENDED_AWAY, + OSCAR_STATUS_ID_NA, + _("Not Available"), TRUE, is_icq, FALSE, + "message", _("Message"), + gaim_value_new(GAIM_TYPE_STRING), NULL); status_types = g_list_append(status_types, type); type = gaim_status_type_new_full(GAIM_STATUS_OFFLINE, This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |