comparison libpurple/protocols/oscar/oscar.c @ 18105:d346544e9c30

Use _notify_userinfo instead of _notify_error when there's an error retrieving user information. Fixes #1692. References #387.
author Sadrul Habib Chowdhury <imadil@gmail.com>
date Sat, 16 Jun 2007 20:04:36 +0000
parents bb2e5f6ff2b4
children 7ee44399f2ea
comparison
equal deleted inserted replaced
18104:e4d21d4dfcca 18105:d346544e9c30
2807 static int purple_parse_locerr(OscarData *od, FlapConnection *conn, FlapFrame *fr, ...) { 2807 static int purple_parse_locerr(OscarData *od, FlapConnection *conn, FlapFrame *fr, ...) {
2808 gchar *buf; 2808 gchar *buf;
2809 va_list ap; 2809 va_list ap;
2810 guint16 reason; 2810 guint16 reason;
2811 char *destn; 2811 char *destn;
2812 PurpleNotifyUserInfo *user_info;
2812 2813
2813 va_start(ap, fr); 2814 va_start(ap, fr);
2814 reason = (guint16) va_arg(ap, unsigned int); 2815 reason = (guint16) va_arg(ap, unsigned int);
2815 destn = va_arg(ap, char *); 2816 destn = va_arg(ap, char *);
2816 va_end(ap); 2817 va_end(ap);
2817 2818
2818 if (destn == NULL) 2819 if (destn == NULL)
2819 return 1; 2820 return 1;
2820 2821
2822 user_info = purple_notify_user_info_new();
2821 buf = g_strdup_printf(_("User information not available: %s"), (reason < msgerrreasonlen) ? _(msgerrreason[reason]) : _("Unknown reason.")); 2823 buf = g_strdup_printf(_("User information not available: %s"), (reason < msgerrreasonlen) ? _(msgerrreason[reason]) : _("Unknown reason."));
2822 if (!purple_conv_present_error(destn, purple_connection_get_account((PurpleConnection*)od->gc), buf)) { 2824 purple_notify_user_info_add_pair(user_info, NULL, buf);
2823 g_free(buf); 2825 purple_notify_userinfo(od->gc, destn, user_info, NULL, NULL);
2824 buf = g_strdup_printf(_("User information for %s unavailable:"), destn); 2826 purple_notify_user_info_destroy(user_info);
2825 purple_notify_error(od->gc, NULL, buf, (reason < msgerrreasonlen) ? _(msgerrreason[reason]) : _("Unknown reason.")); 2827 purple_conv_present_error(destn, purple_connection_get_account(od->gc), buf);
2826 }
2827 g_free(buf); 2828 g_free(buf);
2828 2829
2829 return 1; 2830 return 1;
2830 } 2831 }
2831 2832