Mercurial > pidgin.yaz
changeset 4732:c15e0699acae
[gaim-migrate @ 5047]
hopefully this doesn't break anything.
- Capabilities are back in the tooltips
- Jabber does the neat status thing in the buddy list
- jabber "broken" buddies are gone! woohoo!
- most of the right-click menu items moved back to where they used to live,
but Get Info remains at the top, because that's where it should be.
committer: Tailor Script <tailor@pidgin.im>
author | Nathan Walp <nwalp@pidgin.im> |
---|---|
date | Thu, 13 Mar 2003 06:08:56 +0000 |
parents | 6f0ecc21db46 |
children | 76ccf9740183 |
files | src/buddy.c src/core.h src/protocols/gg/gg.c src/protocols/icq/gaim_icq.c src/protocols/irc/irc.c src/protocols/jabber/jabber.c src/protocols/msn/msn.c src/protocols/napster/napster.c src/protocols/oscar/oscar.c src/protocols/toc/toc.c src/protocols/yahoo/yahoo.c src/protocols/zephyr/zephyr.c src/prpl.h src/server.c |
diffstat | 14 files changed, 123 insertions(+), 123 deletions(-) [+] |
line wrap: on
line diff
--- a/src/buddy.c Thu Mar 13 00:10:56 2003 +0000 +++ b/src/buddy.c Thu Mar 13 06:08:56 2003 +0000 @@ -75,6 +75,11 @@ do_quit(); } +static void gtk_blist_menu_info_cb(GtkWidget *w, struct buddy *b) +{ + serv_get_info(b->account->gc, b->name); +} + static void gtk_blist_menu_im_cb(GtkWidget *w, struct buddy *b) { gaim_conversation_new(GAIM_CONV_IM, b->account, b->name); @@ -203,6 +208,31 @@ /* Protocol specific options */ prpl = find_prpl(((struct buddy*)node)->account->protocol); + + if(prpl && prpl->get_info) { + menuitem = gtk_image_menu_item_new_with_mnemonic("_Get Info"); + g_signal_connect(G_OBJECT(menuitem), "activate", G_CALLBACK(gtk_blist_menu_info_cb), node); + gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); + } + + menuitem = gtk_image_menu_item_new_with_mnemonic("_IM"); + g_signal_connect(G_OBJECT(menuitem), "activate", G_CALLBACK(gtk_blist_menu_im_cb), node); + image = gtk_image_new_from_stock(GAIM_STOCK_IM, GTK_ICON_SIZE_MENU); + gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menuitem), image); + gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); + + menuitem = gtk_image_menu_item_new_with_mnemonic("_Alias"); + g_signal_connect(G_OBJECT(menuitem), "activate", G_CALLBACK(gtk_blist_menu_alias_cb), node); + gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); + + menuitem = gtk_image_menu_item_new_with_mnemonic("Add Buddy _Pounce"); + g_signal_connect(G_OBJECT(menuitem), "activate", G_CALLBACK(gtk_blist_menu_bp_cb), node); + gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); + + menuitem = gtk_image_menu_item_new_with_mnemonic("View _Log"); + g_signal_connect(G_OBJECT(menuitem), "activate", G_CALLBACK(gtk_blist_menu_showlog_cb), node); + gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); + if (prpl) { list = prpl->buddy_menu(((struct buddy*)node)->account->gc, ((struct buddy*)node)->name); while (list) { @@ -214,24 +244,6 @@ list = list->next; } } - - menuitem = gtk_image_menu_item_new_with_mnemonic("_IM"); - g_signal_connect(G_OBJECT(menuitem), "activate", G_CALLBACK(gtk_blist_menu_im_cb), node); - image = gtk_image_new_from_stock(GAIM_STOCK_IM, GTK_ICON_SIZE_MENU); - gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menuitem), image); - gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); - - menuitem = gtk_image_menu_item_new_with_mnemonic("_Alias"); - g_signal_connect(G_OBJECT(menuitem), "activate", G_CALLBACK(gtk_blist_menu_alias_cb), node); - gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); - - menuitem = gtk_image_menu_item_new_with_mnemonic("Add Buddy _Pounce"); - g_signal_connect(G_OBJECT(menuitem), "activate", G_CALLBACK(gtk_blist_menu_bp_cb), node); - gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); - - menuitem = gtk_image_menu_item_new_with_mnemonic("View _Log"); - g_signal_connect(G_OBJECT(menuitem), "activate", G_CALLBACK(gtk_blist_menu_showlog_cb), node); - gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); gtk_widget_show_all(menu); @@ -344,11 +356,13 @@ GdkPixbuf *pixbuf = gaim_gtk_blist_get_status_icon(b, GAIM_STATUS_ICON_LARGE); PangoLayout *layout; char *tooltiptext = gaim_get_tooltip_text(b); + int width; layout = gtk_widget_create_pango_layout (gtkblist->tipwindow, NULL); pango_layout_set_markup(layout, tooltiptext, strlen(tooltiptext)); + pango_layout_set_wrap(layout, PANGO_WRAP_WORD); style = gtkblist->tipwindow->style; - + gtk_paint_flat_box (style, gtkblist->tipwindow->window, GTK_STATE_NORMAL, GTK_SHADOW_OUT, NULL, gtkblist->tipwindow, "tooltip", 0, 0, -1, -1); @@ -439,7 +453,7 @@ if (gtkblist->timeout) { if ((event->y > gtkblist->rect.y) && ((event->y - gtkblist->rect.height) < gtkblist->rect.y)) - return; + return FALSE; /* We've left the cell. Remove the timeout and create a new one below */ if (gtkblist->tipwindow) { gtk_widget_destroy(gtkblist->tipwindow); @@ -526,13 +540,9 @@ char *warning = NULL, *idletime = NULL; if (prpl->tooltip_text) { - char *tmp = prpl->tooltip_text(b); - if (tmp) { - statustext = g_markup_escape_text(tmp, strlen(tmp)); - g_free(tmp); - } + statustext = prpl->tooltip_text(b); } - + if (b->idle) { int ihrs, imin; time_t t; @@ -540,14 +550,14 @@ ihrs = (t - b->idle) / 3600; imin = ((t - b->idle) / 60) % 60; if (ihrs) - idletime = g_strdup_printf(_("<b>Idle</b> %dh%02dm"), ihrs, imin); + idletime = g_strdup_printf(_("<b>Idle:</b> %dh%02dm"), ihrs, imin); else - idletime = g_strdup_printf(_("<b>Idle</b> %dm"), imin); + idletime = g_strdup_printf(_("<b>Idle:</b> %dm"), imin); } - + if (b->evil > 0) - warning = g_strdup_printf(_("<b>Warned</b> %d%%"), b->evil); - + warning = g_strdup_printf(_("<b>Warned:</b> %d%%"), b->evil); + text = g_strdup_printf("<span size='larger' weight='bold'>%s</span>" "%s %s %s" /* Alias */ "%s %s %s" /* Nickname */ @@ -555,8 +565,8 @@ "%s %s" /* Warning */ "%s %s", /* Status */ b->name, - b->alias && b->alias[0] ? "\n" : "", b->alias && b->alias[0] ? _("<b>Alias</b> ") : "", b->alias ? b->alias : "", - b->server_alias ? "\n" : "", b->server_alias ? _("<b>Nickname</b> ") : "", b->server_alias ? b->server_alias : "", + b->alias && b->alias[0] ? "\n" : "", b->alias && b->alias[0] ? _("<b>Alias:</b> ") : "", b->alias ? b->alias : "", + b->server_alias ? "\n" : "", b->server_alias ? _("<b>Nickname:</b> ") : "", b->server_alias ? b->server_alias : "", b->idle ? "\n" : "", b->idle ? idletime : "", b->evil ? "\n" : "", b->evil ? warning : "", statustext ? "\n" : "", statustext ? statustext : ""); @@ -730,7 +740,7 @@ int ihrs, imin; char *idletime = NULL, *warning = NULL, *statustext = NULL; - time_t t; + time_t t; if (!(blist_options & OPT_BLIST_SHOW_ICONS)) { if (b->idle > 0 && blist_options & OPT_BLIST_GREY_IDLERS) { @@ -748,11 +758,17 @@ imin = ((t - b->idle) / 60) % 60; if (prpl->status_text) { - const char *tmp = prpl->status_text(b); - if (tmp) - statustext = g_markup_escape_text(tmp, strlen(tmp)); + char *tmp = prpl->status_text(b); + + if(tmp) { + if(strlen(tmp) > 20) + statustext = g_strdup_printf("%.16s...", tmp); + else + statustext = g_strdup(tmp); + g_free(tmp); + } } - + if (b->idle) { if (ihrs) idletime = g_strdup_printf(_("Idle (%dh%02dm)"), ihrs, imin);
--- a/src/core.h Thu Mar 13 00:10:56 2003 +0000 +++ b/src/core.h Thu Mar 13 06:08:56 2003 +0000 @@ -208,7 +208,7 @@ extern char *event_name(enum gaim_event); /* Functions in server.c */ -extern void serv_got_update(struct gaim_connection *, char *, int, int, time_t, time_t, int, guint); +extern void serv_got_update(struct gaim_connection *, char *, int, int, time_t, time_t, int); extern void serv_got_im(struct gaim_connection *, char *, char *, guint32, time_t, gint); extern void serv_got_typing(struct gaim_connection *, char *, int, int); extern void serv_got_typing_stopped(struct gaim_connection *, char *);
--- a/src/protocols/gg/gg.c Thu Mar 13 00:10:56 2003 +0000 +++ b/src/protocols/gg/gg.c Thu Mar 13 06:08:56 2003 +0000 @@ -1,6 +1,6 @@ /* * gaim - Gadu-Gadu Protocol Plugin - * $Id: gg.c 5016 2003-03-11 18:15:36Z faceprint $ + * $Id: gg.c 5047 2003-03-13 06:08:56Z faceprint $ * * Copyright (C) 2001 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL> * @@ -365,7 +365,7 @@ g_snprintf(user, sizeof(user), "%lu", n->uin); serv_got_update(gc, user, (status == UC_UNAVAILABLE) ? 0 : 1, 0, 0, 0, - status, 0); + status); n++; } } @@ -391,7 +391,7 @@ g_snprintf(user, sizeof(user), "%lu", e->event.status.uin); serv_got_update(gc, user, (status == UC_UNAVAILABLE) ? 0 : 1, 0, 0, 0, - status, 0); + status); } break; case GG_EVENT_ACK:
--- a/src/protocols/icq/gaim_icq.c Thu Mar 13 00:10:56 2003 +0000 +++ b/src/protocols/icq/gaim_icq.c Thu Mar 13 06:08:56 2003 +0000 @@ -118,13 +118,13 @@ g_snprintf(buf, sizeof buf, "%lu", uin); status = (st == STATUS_ONLINE) ? 0 : UC_UNAVAILABLE | (st << 1); - serv_got_update(gc, buf, 1, 0, 0, 0, status, 0); + serv_got_update(gc, buf, 1, 0, 0, 0, status); } static void icq_user_offline(icq_Link *link, unsigned long uin) { struct gaim_connection *gc = link->icq_UserData; char buf[256]; g_snprintf(buf, sizeof buf, "%lu", uin); - serv_got_update(gc, buf, 0, 0, 0, 0, 0, 0); + serv_got_update(gc, buf, 0, 0, 0, 0, 0); } static void icq_user_status(icq_Link *link, unsigned long uin, unsigned long st) { @@ -134,7 +134,7 @@ g_snprintf(buf, sizeof buf, "%lu", uin); status = (st == STATUS_ONLINE) ? 0 : UC_UNAVAILABLE | (st << 1); - serv_got_update(gc, buf, 1, 0, 0, 0, status, 0); + serv_got_update(gc, buf, 1, 0, 0, 0, status); } static gboolean icq_set_timeout_cb(gpointer data) { @@ -462,23 +462,6 @@ icq_SendInfoReq(id->link, atol(who)); } -static void icq_info(struct gaim_connection *gc, char *who) { - serv_get_info(gc, who); -} - -static GList *icq_buddy_menu(struct gaim_connection *gc, char *who) { - GList *m = NULL; - struct proto_buddy_menu *pbm; - - pbm = g_new0(struct proto_buddy_menu, 1); - pbm->label = _("Get Info"); - pbm->callback = icq_info; - pbm->gc = gc; - m = g_list_append(m, pbm); - - return m; -} - static GList *icq_away_states(struct gaim_connection *gc) { GList *m = NULL; @@ -499,7 +482,7 @@ ret->name = g_strdup("ICQ"); ret->list_icon = icq_list_icon; ret->away_states = icq_away_states; - ret->buddy_menu = icq_buddy_menu; + ret->buddy_menu = NULL; ret->login = icq_login; ret->close = icq_close; ret->send_im = icq_send_msg;
--- a/src/protocols/irc/irc.c Thu Mar 13 00:10:56 2003 +0000 +++ b/src/protocols/irc/irc.c Thu Mar 13 06:08:56 2003 +0000 @@ -593,9 +593,9 @@ if (x && (*l != ' ' && *l != 0)) x = 0; if (!b->present && x) - serv_got_update(gc, b->name, 1, 0, 0, 0, 0, 0); + serv_got_update(gc, b->name, 1, 0, 0, 0, 0); else if (b->present && !x) - serv_got_update(gc, b->name, 0, 0, 0, 0, 0, 0); + serv_got_update(gc, b->name, 0, 0, 0, 0, 0); g_free(tmp); } m = m->next; @@ -2762,12 +2762,6 @@ struct proto_buddy_menu *pbm; pbm = g_new0(struct proto_buddy_menu, 1); - pbm->label = _("Get Info"); - pbm->callback = irc_get_info; - pbm->gc = gc; - m = g_list_append(m, pbm); - - pbm = g_new0(struct proto_buddy_menu, 1); pbm->label = _("DCC Chat"); pbm->callback = irc_start_chat; pbm->gc = gc;
--- a/src/protocols/jabber/jabber.c Thu Mar 13 00:10:56 2003 +0000 +++ b/src/protocols/jabber/jabber.c Thu Mar 13 06:08:56 2003 +0000 @@ -1519,7 +1519,7 @@ } } - if (type && (strcasecmp(type, "unavailable") == 0)) + if (state == UC_ERROR || (type && (strcasecmp(type, "unavailable") == 0))) jabber_remove_resource(GJ_GC(gjc), buddy, gjid->resource); else { jabber_track_resource(GJ_GC(gjc), buddy, gjid->resource, priority, state); @@ -1533,9 +1533,9 @@ /* this is where we handle presence information for "regular" buddies */ jab_res_info jri = jabber_find_resource(GJ_GC(gjc), buddy); if(jri) { - serv_got_update(GJ_GC(gjc), buddy, 1, 0, b->signon, b->idle, jri->state, 0); + serv_got_update(GJ_GC(gjc), buddy, 1, 0, b->signon, b->idle, jri->state); } else - serv_got_update(GJ_GC(gjc), buddy, 0, 0, 0, 0, 0, 0); + serv_got_update(GJ_GC(gjc), buddy, 0, 0, 0, 0, 0); } else { if (gjid->resource) { @@ -1797,7 +1797,7 @@ gaim_blist_save(); if(present) { serv_got_update(GJ_GC(gjc), buddyname, 1, 0, signon, idle, - uc, 0); + uc); } } else if(name != NULL && strcmp(b->alias, name)) { g_free(b->alias); @@ -3202,6 +3202,15 @@ } +static char *jabber_status_text(struct buddy *b) +{ + struct jabber_data *jd = b->account->gc->proto_data; + if (b->uc & UC_UNAVAILABLE) { + return strip_html(jabber_lookup_away(jd->gjc, b->name)); + } + return NULL; +} + static GList *jabber_buddy_menu(struct gaim_connection *gc, char *who) { GList *m = NULL; struct proto_buddy_menu *pbm; @@ -3222,11 +3231,6 @@ g_free(realwho); pbm = g_new0(struct proto_buddy_menu, 1); - pbm->label = _("Get Info"); - pbm->callback = jabber_get_info; - pbm->gc = gc; - m = g_list_append(m, pbm); - pbm = g_new0(struct proto_buddy_menu, 1); pbm->label = _("Get Away Msg"); pbm->callback = jabber_get_away_msg; pbm->gc = gc; @@ -4157,6 +4161,7 @@ ret->options = OPT_PROTO_UNIQUE_CHATNAME | OPT_PROTO_CHAT_TOPIC; ret->name = g_strdup("Jabber"); ret->list_icon = jabber_list_icon; + ret->status_text = jabber_status_text; ret->away_states = jabber_away_states; ret->actions = jabber_actions; ret->buddy_menu = jabber_buddy_menu;
--- a/src/protocols/msn/msn.c Thu Mar 13 00:10:56 2003 +0000 +++ b/src/protocols/msn/msn.c Thu Mar 13 06:08:56 2003 +0000 @@ -418,7 +418,7 @@ char *usr = buf; GET_NEXT(usr); - serv_got_update(gc, usr, 0, 0, 0, 0, 0, 0); + serv_got_update(gc, usr, 0, 0, 0, 0, 0); } else if (!g_strncasecmp(buf, "GTC", 3)) { } else if (!g_strncasecmp(buf, "INF", 3)) { } else if (!g_strncasecmp(buf, "ILN", 3)) { @@ -452,7 +452,7 @@ status |= UC_UNAVAILABLE | (MSN_LUNCH << 1); } - serv_got_update(gc, user, 1, 0, 0, 0, status, 0); + serv_got_update(gc, user, 1, 0, 0, 0, status); } else if (!g_strncasecmp(buf, "LST", 3)) { char *which, *who, *friend, *tmp = buf; struct msn_add_permit *ap; /* for any as yet undealt with buddies who've added you to their buddy list when you were off-line. How dare they! */ @@ -596,7 +596,7 @@ status |= UC_UNAVAILABLE | (MSN_LUNCH << 1); } - serv_got_update(gc, user, 1, 0, 0, 0, status, 0); + serv_got_update(gc, user, 1, 0, 0, 0, status); } else if (!g_strncasecmp(buf, "OUT", 3)) { char *tmp = buf; @@ -1637,14 +1637,14 @@ mft->xfer = transfer_out_add(gc, mft->sn); } #endif -static const char *msn_status_text(struct buddy *b) { +static char *msn_status_text(struct buddy *b) { if (b->uc & UC_UNAVAILABLE) - return msn_get_away_text(b->uc >> 1); + return strip_html(msn_get_away_text(b->uc >> 1)); return NULL; } -static const char *msn_tooltip_text(struct buddy *b) { - return g_strdup(msn_get_away_text(b->uc >> 1)); +static char *msn_tooltip_text(struct buddy *b) { + return strip_html(msn_get_away_text(b->uc >> 1)); } static GList *msn_buddy_menu(struct gaim_connection *gc, char *who)
--- a/src/protocols/napster/napster.c Thu Mar 13 00:10:56 2003 +0000 +++ b/src/protocols/napster/napster.c Thu Mar 13 06:08:56 2003 +0000 @@ -320,7 +320,7 @@ g_free(buf); return; - + } if (command == 0xd1) { @@ -328,15 +328,15 @@ res = g_strsplit(buf, " ", 0); - serv_got_update(gc, res[0], 1, 0, 0, 0, 0, 0); - + serv_got_update(gc, res[0], 1, 0, 0, 0, 0); + g_strfreev(res); g_free(buf); return; } if (command == 0xd2) { - serv_got_update(gc, buf, 0, 0, 0, 0, 0, 0); + serv_got_update(gc, buf, 0, 0, 0, 0, 0); g_free(buf); return; }
--- a/src/protocols/oscar/oscar.c Thu Mar 13 00:10:56 2003 +0000 +++ b/src/protocols/oscar/oscar.c Thu Mar 13 06:08:56 2003 +0000 @@ -111,6 +111,7 @@ GSList *file_transfers; GSList *hasicons; GHashTable *supports_tn; + GHashTable *buddy_caps; gboolean killme; gboolean icq; @@ -549,6 +550,7 @@ gc->flags |= OPT_CONN_AUTO_RESP; } od->supports_tn = g_hash_table_new(g_str_hash, g_str_equal); + od->buddy_caps = g_hash_table_new(g_str_hash, g_str_equal); sess = g_new0(aim_session_t, 1); @@ -623,6 +625,7 @@ g_free(n); } g_hash_table_destroy(od->supports_tn); + g_hash_table_destroy(od->buddy_caps); while (od->evilhack) { g_free(od->evilhack->data); od->evilhack = g_slist_remove(od->evilhack, od->evilhack->data); @@ -1629,8 +1632,11 @@ if (!aim_sncmp(gc->username, info->sn)) g_snprintf(gc->displayname, sizeof(gc->displayname), "%s", info->sn); + g_hash_table_replace(od->buddy_caps, normalize(info->sn), + GINT_TO_POINTER(caps)); + serv_got_update(gc, info->sn, 1, info->warnlevel/10, signon, - time_idle, type, caps); + time_idle, type); return 1; } @@ -1644,7 +1650,7 @@ info = va_arg(ap, aim_userinfo_t *); va_end(ap); - serv_got_update(gc, info->sn, 0, 0, 0, 0, 0, 0); + serv_got_update(gc, info->sn, 0, 0, 0, 0, 0); return 1; } @@ -2779,7 +2785,6 @@ } -/* XXX This is horribly copied from ../../buddy.c. */ static char *caps_string(guint caps) { static char buf[512], *tmp; @@ -2851,6 +2856,14 @@ return buf; } +static char *oscar_tooltip_text(struct buddy *b) { + struct oscar_data *od = b->account->gc->proto_data; + guint caps = GPOINTER_TO_INT(g_hash_table_lookup(od->buddy_caps, + normalize(b->name))); + + return g_strdup_printf(_("<b>Capabilities:</b> %s"), caps_string(caps)); +} + static int gaim_parse_user_info(aim_session_t *sess, aim_frame_t *fr, ...) { aim_userinfo_t *info; char *text_enc = NULL, *text = NULL, *utf8 = NULL; @@ -5190,12 +5203,6 @@ GList *m = NULL; struct proto_buddy_menu *pbm; - pbm = g_new0(struct proto_buddy_menu, 1); - pbm->label = _("Get Info"); - pbm->callback = oscar_get_info; - pbm->gc = gc; - m = g_list_append(m, pbm); - if (od->icq) { #if 0 pbm = g_new0(struct proto_buddy_menu, 1); @@ -5607,6 +5614,7 @@ ret->chat_send = oscar_chat_send; ret->keepalive = oscar_keepalive; ret->convo_closed = oscar_convo_closed; + ret->tooltip_text = oscar_tooltip_text; puo = g_new0(struct proto_user_opt, 1); puo->label = g_strdup("Auth Host:");
--- a/src/protocols/toc/toc.c Thu Mar 13 00:10:56 2003 +0000 +++ b/src/protocols/toc/toc.c Thu Mar 13 06:08:56 2003 +0000 @@ -754,7 +754,7 @@ g_snprintf(gc->displayname, sizeof(gc->displayname), "%s", c); g_free(tmp); - serv_got_update(gc, c, logged, evil, signon, time_idle, type, 0); + serv_got_update(gc, c, logged, evil, signon, time_idle, type); } else if (!strcasecmp(c, "ERROR")) { do_error_dialog(show_error_message(), NULL, GAIM_ERROR); } else if (!strcasecmp(c, "EVILED")) { @@ -1305,12 +1305,6 @@ struct proto_buddy_menu *pbm; pbm = g_new0(struct proto_buddy_menu, 1); - pbm->label = _("Get Info"); - pbm->callback = toc_get_info; - pbm->gc = gc; - m = g_list_append(m, pbm); - - pbm = g_new0(struct proto_buddy_menu, 1); pbm->label = _("Get Dir Info"); pbm->callback = toc_get_dir; pbm->gc = gc;
--- a/src/protocols/yahoo/yahoo.c Thu Mar 13 00:10:56 2003 +0000 +++ b/src/protocols/yahoo/yahoo.c Thu Mar 13 06:08:56 2003 +0000 @@ -408,15 +408,15 @@ case 13: /* in pager? */ if (pkt->service == YAHOO_SERVICE_LOGOFF || strtol(pair->value, NULL, 10) == 0) { - serv_got_update(gc, name, 0, 0, 0, 0, 0, 0); + serv_got_update(gc, name, 0, 0, 0, 0, 0); break; } if (g_hash_table_lookup(yd->games, name)) gamestate = YAHOO_STATUS_GAME; if (state == YAHOO_STATUS_AVAILABLE) - serv_got_update(gc, name, 1, 0, 0, 0, gamestate, 0); + serv_got_update(gc, name, 1, 0, 0, 0, gamestate); else - serv_got_update(gc, name, 1, 0, 0, 0, (state << 2) | UC_UNAVAILABLE | gamestate, 0); + serv_got_update(gc, name, 1, 0, 0, 0, (state << 2) | UC_UNAVAILABLE | gamestate); if (state == YAHOO_STATUS_CUSTOM) { gpointer val = g_hash_table_lookup(yd->hash, name); if (val) { @@ -527,7 +527,7 @@ } g_hash_table_insert (yd->games, g_strdup(from), g_strdup(game)); if (bud) - serv_got_update(gc, from, 1, 0, 0, 0, bud->uc | YAHOO_STATUS_GAME, 0); + serv_got_update(gc, from, 1, 0, 0, 0, bud->uc | YAHOO_STATUS_GAME); } else { if (g_hash_table_lookup_extended (yd->games, from, free1, free2)) { g_free(free1); @@ -535,7 +535,7 @@ g_hash_table_remove (yd->games, from); } if (bud) - serv_got_update(gc, from, 1, 0, 0, 0, bud->uc & ~YAHOO_STATUS_GAME, 0); + serv_got_update(gc, from, 1, 0, 0, 0, bud->uc & ~YAHOO_STATUS_GAME); } } } @@ -614,11 +614,11 @@ show_got_added(gc, id, who, NULL, msg); if (name) { if (state == YAHOO_STATUS_AVAILABLE) - serv_got_update(gc, name, 1, 0, 0, 0, 0, 0); + serv_got_update(gc, name, 1, 0, 0, 0, 0); else if (state == YAHOO_STATUS_IDLE) - serv_got_update(gc, name, 1, 0, 0, time(NULL) - 600, (state << 2), 0); + serv_got_update(gc, name, 1, 0, 0, time(NULL) - 600, (state << 2)); else - serv_got_update(gc, name, 1, 0, 0, 0, (state << 2) | UC_UNAVAILABLE, 0); + serv_got_update(gc, name, 1, 0, 0, 0, (state << 2) | UC_UNAVAILABLE); if (state == YAHOO_STATUS_CUSTOM) { gpointer val = g_hash_table_lookup(yd->hash, name); if (val) { @@ -1067,14 +1067,14 @@ g_free(game); } -static const char *yahoo_status_text(struct buddy *b) +static char *yahoo_status_text(struct buddy *b) { struct yahoo_data *yd = (struct yahoo_data*)b->account->gc->proto_data; if (b->uc & UC_UNAVAILABLE) { - if ((b->uc >> 2) != YAHOO_STATUS_CUSTOM) - return yahoo_get_status_string(b->uc >> 2); + if ((b->uc >> 2) != YAHOO_STATUS_CUSTOM) + return g_strdup(yahoo_get_status_string(b->uc >> 2)); else - return g_hash_table_lookup(yd->hash, b->name); + return strip_html(g_hash_table_lookup(yd->hash, b->name)); } return NULL; } @@ -1086,7 +1086,7 @@ if ((b->uc >> 2) != YAHOO_STATUS_CUSTOM) return g_strdup(yahoo_get_status_string(b->uc >> 2)); else - return g_strdup(g_hash_table_lookup(yd->hash, b->name)); + return strip_html(g_hash_table_lookup(yd->hash, b->name)); } return NULL; }
--- a/src/protocols/zephyr/zephyr.c Thu Mar 13 00:10:56 2003 +0000 +++ b/src/protocols/zephyr/zephyr.c Thu Mar 13 06:08:56 2003 +0000 @@ -347,7 +347,7 @@ g_show_info_text(NULL, NULL, 2, str->str, NULL); g_string_free(str, TRUE); } else - serv_got_update(zgc, b->name, nlocs, 0, 0, 0, 0, 0); + serv_got_update(zgc, b->name, nlocs, 0, 0, 0, 0); free(user); }
--- a/src/prpl.h Thu Mar 13 00:10:56 2003 +0000 +++ b/src/prpl.h Thu Mar 13 06:08:56 2003 +0000 @@ -195,7 +195,7 @@ * Gets a short string representing this buddy's status. This will be shown * on the buddy list. */ - const char *(* status_text)(struct buddy *buddy); + char *(* status_text)(struct buddy *buddy); /** * Gets a string to put in the buddy list tooltip.
--- a/src/server.c Thu Mar 13 00:10:56 2003 +0000 +++ b/src/server.c Thu Mar 13 06:08:56 2003 +0000 @@ -848,7 +848,7 @@ void serv_got_update(struct gaim_connection *gc, char *name, int loggedin, - int evil, time_t signon, time_t idle, int type, guint caps) + int evil, time_t signon, time_t idle, int type) { struct buddy *b = gaim_find_buddy(gc->account, name);