Mercurial > pidgin
changeset 16812:c6ca9e25814b
merge of '57b4e954f5830e1dddd9bffb697deb057fb35943'
and 'f547527e8c477535955c53e6a25dabe2b71bf876'
author | Nathan Walp <nwalp@pidgin.im> |
---|---|
date | Thu, 03 May 2007 14:48:29 +0000 |
parents | a77901ef0ebb (current diff) 02867a434634 (diff) |
children | e79555933fc6 08b9f27cf219 |
files | |
diffstat | 49 files changed, 444 insertions(+), 125 deletions(-) [+] |
line wrap: on
line diff
--- a/finch/libgnt/Makefile.am Thu May 03 12:04:04 2007 +0000 +++ b/finch/libgnt/Makefile.am Thu May 03 14:48:29 2007 +0000 @@ -64,12 +64,12 @@ gntmarshal.h \ gntmarshal.c -gntmarshal.c: genmarshal gntmarshal.h +gntmarshal.c: $(srcdir)/genmarshal gntmarshal.h echo "#include \"gntmarshal.h\"" > $@ - cat genmarshal | glib-genmarshal --prefix=gnt_closure_marshal --body >> $@ + cat $(srcdir)/genmarshal | glib-genmarshal --prefix=gnt_closure_marshal --body >> $@ -gntmarshal.h: genmarshal - cat genmarshal | glib-genmarshal --prefix=gnt_closure_marshal --header > $@ +gntmarshal.h: $(srcdir)/genmarshal + cat $(srcdir)/genmarshal | glib-genmarshal --prefix=gnt_closure_marshal --header > $@ libgnt_laincludedir=$(includedir)/gnt libgnt_lainclude_HEADERS = \
--- a/libpurple/Makefile.am Thu May 03 12:04:04 2007 +0000 +++ b/libpurple/Makefile.am Thu May 03 14:48:29 2007 +0000 @@ -131,6 +131,8 @@ xmlnode.h \ whiteboard.h +BUILT_SOURCES = version.h + if ENABLE_DBUS CLEANFILES = \
--- a/libpurple/blist.c Thu May 03 12:04:04 2007 +0000 +++ b/libpurple/blist.c Thu May 03 14:48:29 2007 +0000 @@ -1825,7 +1825,6 @@ /* Delete the node */ purple_buddy_icon_unref(buddy->icon); g_hash_table_destroy(buddy->node.settings); - purple_presence_remove_buddy(buddy->presence, buddy); purple_presence_destroy(buddy->presence); g_free(buddy->name); g_free(buddy->alias);
--- a/libpurple/buddyicon.c Thu May 03 12:04:04 2007 +0000 +++ b/libpurple/buddyicon.c Thu May 03 14:48:29 2007 +0000 @@ -372,7 +372,7 @@ PurpleAccount *account; const char *username; PurpleBuddyIcon *icon_to_set; - GSList *sl, *list; + GSList *buddies; g_return_if_fail(icon != NULL); @@ -386,11 +386,10 @@ * the icon when they realize it has no data. */ icon_to_set = icon->img ? icon : NULL; - for (list = sl = purple_find_buddies(account, username); - sl != NULL; - sl = sl->next) + buddies = purple_find_buddies(account, username); + while (buddies != NULL) { - PurpleBuddy *buddy = (PurpleBuddy *)sl->data; + PurpleBuddy *buddy = (PurpleBuddy *)buddies->data; char *old_icon; purple_buddy_set_icon(buddy, icon_to_set); @@ -425,10 +424,10 @@ } unref_filename(old_icon); g_free(old_icon); + + buddies = g_slist_delete_link(buddies, buddies); } - g_slist_free(list); - conv = purple_find_conversation_with_account(PURPLE_CONV_TYPE_IM, username, account); if (conv != NULL)
--- a/libpurple/connection.c Thu May 03 12:04:04 2007 +0000 +++ b/libpurple/connection.c Thu May 03 14:48:29 2007 +0000 @@ -161,7 +161,7 @@ purple_connection_destroy(PurpleConnection *gc) { PurpleAccount *account; - GSList *buddies, *tmp; + GSList *buddies; #if 0 GList *wins; #endif @@ -197,11 +197,11 @@ /* Clear out the proto data that was freed in the prpl close method*/ buddies = purple_find_buddies(account, NULL); - for (tmp = buddies; tmp; tmp = tmp->next) { - PurpleBuddy *buddy = tmp->data; + while (buddies != NULL) { + PurpleBuddy *buddy = buddies->data; buddy->proto_data = NULL; + buddies = g_slist_delete_link(buddies, buddies); } - g_slist_free(buddies); connections = g_list_remove(connections, gc);
--- a/libpurple/gaim-compat.h Thu May 03 12:04:04 2007 +0000 +++ b/libpurple/gaim-compat.h Thu May 03 14:48:29 2007 +0000 @@ -115,7 +115,6 @@ #define gaim_account_add_buddy purple_account_add_buddy #define gaim_account_add_buddies purple_account_add_buddies #define gaim_account_remove_buddy purple_account_remove_buddy -#define gaim_account_remove_buddies purple_account_remove_buddies #define gaim_account_remove_group purple_account_remove_group @@ -1997,7 +1996,6 @@ #define gaim_presence_get_account purple_presence_get_account #define gaim_presence_get_conversation purple_presence_get_conversation #define gaim_presence_get_chat_user purple_presence_get_chat_user -#define gaim_presence_get_buddies purple_presence_get_buddies #define gaim_presence_get_statuses purple_presence_get_statuses #define gaim_presence_get_status purple_presence_get_status #define gaim_presence_get_active_status purple_presence_get_active_status
--- a/libpurple/plugins/Makefile.am Thu May 03 12:04:04 2007 +0000 +++ b/libpurple/plugins/Makefile.am Thu May 03 14:48:29 2007 +0000 @@ -130,6 +130,7 @@ -DVERSION=\"$(VERSION)\" \ -I$(top_builddir)/libpurple \ -I$(top_srcdir)/libpurple \ + -I$(top_builddir)/libpurple \ $(DEBUG_CFLAGS) \ $(GLIB_CFLAGS) \ $(PLUGIN_CFLAGS) \
--- a/libpurple/plugins/perl/Makefile.am Thu May 03 12:04:04 2007 +0000 +++ b/libpurple/plugins/perl/Makefile.am Thu May 03 14:48:29 2007 +0000 @@ -77,10 +77,14 @@ # common/fallback/const-c.inc \ # common/fallback/const-xs.inc +perl_scripts = \ + scripts/function_list.pl + EXTRA_DIST = \ Makefile.mingw \ common/Makefile.mingw \ - $(common_sources) + $(common_sources) \ + $(perl_scripts) common/Makefile: common/Makefile.PL @if test "x${top_srcdir}" != "x${top_builddir}"; then \ @@ -151,6 +155,7 @@ -DVERSION=\"$(VERSION)\" \ -I$(top_srcdir) \ -I$(top_srcdir)/libpurple \ + -I$(top_builddir)/libpurple \ $(DEBUG_CFLAGS) \ $(GLIB_CFLAGS) \ $(PLUGIN_CFLAGS) \
--- a/libpurple/plugins/ssl/Makefile.am Thu May 03 12:04:04 2007 +0000 +++ b/libpurple/plugins/ssl/Makefile.am Thu May 03 14:48:29 2007 +0000 @@ -28,6 +28,7 @@ -DDATADIR=\"$(datadir)\" \ -DLIBDIR=\"$(libdir)/libpurple\" \ -I$(top_srcdir)/libpurple \ + -I$(top_builddir)/libpurple \ $(DEBUG_CFLAGS) \ $(GLIB_CFLAGS) \ $(PLUGIN_CFLAGS)
--- a/libpurple/plugins/ssl/ssl-nss.c Thu May 03 12:04:04 2007 +0000 +++ b/libpurple/plugins/ssl/ssl-nss.c Thu May 03 14:48:29 2007 +0000 @@ -108,7 +108,7 @@ { char *lib; PR_Init(PR_SYSTEM_THREAD, PR_PRIORITY_NORMAL, 1); - NSS_NoDB_Init(NULL); + NSS_NoDB_Init("."); /* TODO: Fix this so autoconf does the work trying to find this lib. */ #ifndef _WIN32
--- a/libpurple/plugins/tcl/Makefile.am Thu May 03 12:04:04 2007 +0000 +++ b/libpurple/plugins/tcl/Makefile.am Thu May 03 14:48:29 2007 +0000 @@ -15,6 +15,7 @@ -DVERSION=\"$(VERSION)\" \ -I$(top_srcdir) \ -I$(top_srcdir)/libpurple \ + -I$(top_builddir)/libpurple \ $(DEBUG_CFLAGS) \ $(GLIB_CFLAGS) \ $(PLUGIN_CFLAGS) \
--- a/libpurple/privacy.c Thu May 03 12:04:04 2007 +0000 +++ b/libpurple/privacy.c Thu May 03 14:48:29 2007 +0000 @@ -206,7 +206,8 @@ static void add_buddies_in_permit(PurpleAccount *account, gboolean local) { - GSList *list, *iter; + GSList *list; + /* Remove anyone in the permit list who is not in the buddylist */ for (list = account->permit; list != NULL; ) { char *person = list->data; @@ -214,13 +215,16 @@ if (!purple_find_buddy(account, person)) purple_privacy_permit_remove(account, person, local); } + /* Now make sure everyone in the buddylist is in the permit list */ - for (iter = list = purple_find_buddies(account, NULL); iter; iter = iter->next) { - PurpleBuddy *buddy = iter->data; + list = purple_find_buddies(account, NULL); + while (list != NULL) + { + PurpleBuddy *buddy = list->data; if (!g_slist_find_custom(account->permit, buddy->name, (GCompareFunc)g_utf8_collate)) purple_privacy_permit_add(account, buddy->name, local); + list = g_slist_delete_link(list, list); } - g_slist_free(list); } void
--- a/libpurple/protocols/bonjour/Makefile.am Thu May 03 12:04:04 2007 +0000 +++ b/libpurple/protocols/bonjour/Makefile.am Thu May 03 14:48:29 2007 +0000 @@ -37,6 +37,7 @@ AM_CPPFLAGS = \ -I$(top_srcdir)/libpurple \ + -I$(top_builddir)/libpurple \ $(GLIB_CFLAGS) \ $(DEBUG_CFLAGS) \ $(HOWL_CFLAGS)
--- a/libpurple/protocols/gg/Makefile.am Thu May 03 12:04:04 2007 +0000 +++ b/libpurple/protocols/gg/Makefile.am Thu May 03 14:48:29 2007 +0000 @@ -72,6 +72,7 @@ AM_CPPFLAGS = \ -I$(top_srcdir)/libpurple \ + -I$(top_builddir)/libpurple \ $(INTGG_CFLAGS) \ $(GLIB_CFLAGS) \ $(DEBUG_CFLAGS)
--- a/libpurple/protocols/irc/Makefile.am Thu May 03 12:04:04 2007 +0000 +++ b/libpurple/protocols/irc/Makefile.am Thu May 03 14:48:29 2007 +0000 @@ -30,5 +30,6 @@ AM_CPPFLAGS = \ -I$(top_srcdir)/libpurple \ + -I$(top_builddir)/libpurple \ $(GLIB_CFLAGS) \ $(DEBUG_CFLAGS)
--- a/libpurple/protocols/jabber/Makefile.am Thu May 03 12:04:04 2007 +0000 +++ b/libpurple/protocols/jabber/Makefile.am Thu May 03 14:48:29 2007 +0000 @@ -68,6 +68,7 @@ AM_CPPFLAGS = \ -I$(top_srcdir)/libpurple \ + -I$(top_builddir)/libpurple \ $(DEBUG_CFLAGS) \ $(GLIB_CFLAGS) \ $(LIBXML_CFLAGS)
--- a/libpurple/protocols/msn/Makefile.am Thu May 03 12:04:04 2007 +0000 +++ b/libpurple/protocols/msn/Makefile.am Thu May 03 14:48:29 2007 +0000 @@ -85,5 +85,6 @@ AM_CPPFLAGS = \ -I$(top_srcdir)/libpurple \ + -I$(top_builddir)/libpurple \ $(GLIB_CFLAGS) \ $(DEBUG_CFLAGS)
--- a/libpurple/protocols/novell/Makefile.am Thu May 03 12:04:04 2007 +0000 +++ b/libpurple/protocols/novell/Makefile.am Thu May 03 14:48:29 2007 +0000 @@ -52,5 +52,6 @@ AM_CPPFLAGS = \ -I$(top_srcdir)/libpurple \ + -I$(top_builddir)/libpurple \ $(DEBUG_CFLAGS) \ $(GLIB_CFLAGS)
--- a/libpurple/protocols/oscar/Makefile.am Thu May 03 12:04:04 2007 +0000 +++ b/libpurple/protocols/oscar/Makefile.am Thu May 03 14:48:29 2007 +0000 @@ -79,5 +79,6 @@ AM_CPPFLAGS = \ -I$(top_srcdir)/libpurple \ + -I$(top_builddir)/libpurple \ $(GLIB_CFLAGS) \ $(DEBUG_CFLAGS)
--- a/libpurple/protocols/oscar/family_feedbag.c Thu May 03 12:04:04 2007 +0000 +++ b/libpurple/protocols/oscar/family_feedbag.c Thu May 03 14:48:29 2007 +0000 @@ -139,13 +139,13 @@ } } while (exists); } - } else if (new->gid == 0x0000) { + } else if (type == AIM_SSI_TYPE_ICONINFO) { if (new->bid == 0xFFFF) { do { new->bid += 0x0001; exists = FALSE; for (cur = *list; cur != NULL; cur = cur->next) - if (((cur->bid == new->bid) && (cur->gid == new->gid)) || (cur->gid == new->bid)) { + if ((cur->bid >= new->bid) || (cur->gid >= new->bid)) { exists = TRUE; break; }
--- a/libpurple/protocols/oscar/oscar.c Thu May 03 12:04:04 2007 +0000 +++ b/libpurple/protocols/oscar/oscar.c Thu May 03 14:48:29 2007 +0000 @@ -1343,7 +1343,7 @@ purple_connection_error(gc, _("The AOL Instant Messenger service is temporarily unavailable.")); break; case 0x18: - /* connecting too frequently */ + /* screen name connecting too frequently */ gc->wants_to_die = TRUE; purple_connection_error(gc, _("You have been connecting and disconnecting too frequently. Wait ten minutes and try again. If you continue to try, you will need to wait even longer.")); break; @@ -1353,6 +1353,11 @@ g_snprintf(buf, sizeof(buf), _("The client version you are using is too old. Please upgrade at %s"), PURPLE_WEBSITE); purple_connection_error(gc, buf); break; + case 0x1d: + /* IP address connecting too frequently */ + gc->wants_to_die = TRUE; + purple_connection_error(gc, _("You have been connecting and disconnecting too frequently. Wait ten minutes and try again. If you continue to try, you will need to wait even longer.")); + break; default: purple_connection_error(gc, _("Authentication failed")); break; @@ -1770,7 +1775,7 @@ info->status, info->status_len); } - if (info->flags & AIM_FLAG_WIRELESS || info->capabilities & OSCAR_CAPABILITY_HIPTOP) + if (info->flags & AIM_FLAG_WIRELESS) { purple_prpl_got_user_status(account, info->sn, OSCAR_STATUS_ID_MOBILE, NULL); } else { @@ -5428,8 +5433,8 @@ return "admin"; if (userinfo->flags & AIM_FLAG_ACTIVEBUDDY) return "bot"; - if (userinfo->flags & AIM_FLAG_AOL) - return "aol-client"; + if (userinfo->capabilities & OSCAR_CAPABILITY_HIPTOP) + return "hiptop"; if (userinfo->capabilities & OSCAR_CAPABILITY_SECUREIM) return "secure"; }
--- a/libpurple/protocols/qq/Makefile.am Thu May 03 12:04:04 2007 +0000 +++ b/libpurple/protocols/qq/Makefile.am Thu May 03 14:48:29 2007 +0000 @@ -93,6 +93,7 @@ AM_CPPFLAGS = \ -I$(top_srcdir)/libpurple \ + -I$(top_builddir)/libpurple \ -DVERSION=\"$(VERSION)\" \ -DQQ_BUDDY_ICON_DIR=\"$(datadir)/pixmaps/purple/buddy_icons/qq\" \ $(DEBUG_CFLAGS) \
--- a/libpurple/protocols/sametime/Makefile.am Thu May 03 12:04:04 2007 +0000 +++ b/libpurple/protocols/sametime/Makefile.am Thu May 03 14:48:29 2007 +0000 @@ -34,7 +34,8 @@ AM_CFLAGS = \ $(GLIB_CFLAGS) $(MEANWHILE_CFLAGS) \ $(DEBUG_CFLAGS) \ - -I$(top_srcdir)/libpurple + -I$(top_srcdir)/libpurple \ + -I$(top_builddir)/libpurple AM_CPPFLAGS = \
--- a/libpurple/protocols/silc/Makefile.am Thu May 03 12:04:04 2007 +0000 +++ b/libpurple/protocols/silc/Makefile.am Thu May 03 14:48:29 2007 +0000 @@ -31,5 +31,6 @@ AM_CPPFLAGS = \ -I$(top_srcdir)/libpurple \ + -I$(top_builddir)/libpurple \ $(GLIB_CFLAGS) \ $(DEBUG_CFLAGS)
--- a/libpurple/protocols/simple/Makefile.am Thu May 03 12:04:04 2007 +0000 +++ b/libpurple/protocols/simple/Makefile.am Thu May 03 14:48:29 2007 +0000 @@ -31,5 +31,6 @@ AM_CPPFLAGS = \ -I$(top_srcdir)/libpurple \ + -I$(top_builddir)/libpurple \ $(GLIB_CFLAGS) \ $(DEBUG_CFLAGS)
--- a/libpurple/protocols/toc/Makefile.am Thu May 03 12:04:04 2007 +0000 +++ b/libpurple/protocols/toc/Makefile.am Thu May 03 14:48:29 2007 +0000 @@ -27,5 +27,6 @@ AM_CPPFLAGS = \ -I$(top_srcdir)/libpurple \ + -I$(top_builddir)/libpurple \ $(GLIB_CFLAGS) \ $(DEBUG_CFLAGS)
--- a/libpurple/protocols/yahoo/Makefile.am Thu May 03 12:04:04 2007 +0000 +++ b/libpurple/protocols/yahoo/Makefile.am Thu May 03 14:48:29 2007 +0000 @@ -49,5 +49,6 @@ AM_CPPFLAGS = \ -I$(top_srcdir)/libpurple \ + -I$(top_builddir)/libpurple \ $(GLIB_CFLAGS) \ $(DEBUG_CFLAGS)
--- a/libpurple/protocols/zephyr/Makefile.am Thu May 03 12:04:04 2007 +0000 +++ b/libpurple/protocols/zephyr/Makefile.am Thu May 03 14:48:29 2007 +0000 @@ -102,6 +102,7 @@ AM_CPPFLAGS = \ -I$(top_srcdir) \ -I$(top_srcdir)/libpurple \ + -I$(top_builddir)/libpurple \ -I$(top_srcdir)/libpurple/protocols \ -DCONFDIR=\"$(confdir)\" \ $(GLIB_CFLAGS) \
--- a/libpurple/server.c Thu May 03 12:04:04 2007 +0000 +++ b/libpurple/server.c Thu May 03 14:48:29 2007 +0000 @@ -210,22 +210,24 @@ serv_got_alias(PurpleConnection *gc, const char *who, const char *alias) { PurpleAccount *account = purple_connection_get_account(gc); - GSList *buds, *buddies = purple_find_buddies(account, who); + GSList *buddies = purple_find_buddies(account, who); PurpleBuddy *b; PurpleConversation *conv; - for (buds = buddies; buds; buds = buds->next) + while (buddies != NULL) { - b = buds->data; + b = buddies->data; + buddies = g_slist_delete_link(buddies, buddies); + if ((b->server_alias == NULL && alias == NULL) || (b->server_alias && alias && !strcmp(b->server_alias, alias))) { continue; } + purple_blist_server_alias_buddy(b, alias); conv = purple_find_conversation_with_account(PURPLE_CONV_TYPE_IM, b->name, account); - if (conv != NULL && alias != NULL && strcmp(alias, who)) { char *tmp = g_strdup_printf(_("%s is now known as %s.\n"), @@ -237,7 +239,6 @@ g_free(tmp); } } - g_slist_free(buddies); } /*
--- a/libpurple/sound.c Thu May 03 12:04:04 2007 +0000 +++ b/libpurple/sound.c Thu May 03 14:48:29 2007 +0000 @@ -31,6 +31,8 @@ #define STATUS_AVAILABLE 1 #define STATUS_AWAY 2 +static time_t last_played[PURPLE_NUM_SOUNDS]; + static gboolean purple_sound_play_required(const PurpleAccount *account) { @@ -77,6 +79,10 @@ if (!purple_sound_play_required(account)) return; + if (time(NULL) - last_played[event] < 2) + return; + last_played[event] = time(NULL); + if(sound_ui_ops && sound_ui_ops->play_event) { int plugin_return; @@ -127,6 +133,7 @@ purple_prefs_add_none("/purple/sound"); purple_prefs_add_int("/purple/sound/while_status", STATUS_AVAILABLE); + memset(last_played, 0, sizeof(last_played)); } void
--- a/libpurple/status.c Thu May 03 12:04:04 2007 +0000 +++ b/libpurple/status.c Thu May 03 14:48:29 2007 +0000 @@ -91,8 +91,7 @@ { PurpleAccount *account; char *name; - size_t ref_count; - GList *buddies; + PurpleBuddy *buddy; } buddy; @@ -131,13 +130,15 @@ -200, /* extended away */ -400, /* mobile */ -10, /* idle, special case. */ - -5 /* idle time, special case. */ + -5, /* idle time, special case. */ + 10 /* Offline messageable */ }; static GHashTable *buddy_presences = NULL; #define SCORE_IDLE 8 #define SCORE_IDLE_TIME 9 +#define SCORE_OFFLINE_MESSAGE 10 /************************************************************************** * PurpleStatusPrimitive API @@ -658,13 +659,8 @@ } else if (context == PURPLE_PRESENCE_CONTEXT_BUDDY) { - const GList *l; - - for (l = purple_presence_get_buddies(presence); l != NULL; l = l->next) - { - notify_buddy_status_update((PurpleBuddy *)l->data, presence, + notify_buddy_status_update(purple_presence_get_buddy(presence), presence, old_status, new_status); - } } } @@ -1148,10 +1144,7 @@ g_free(key->name); g_free(key); } - - presence->u.buddy.ref_count++; - presence->u.buddy.buddies = g_list_append(presence->u.buddy.buddies, - buddy); + presence->u.buddy.buddy = buddy; return presence; } @@ -1165,9 +1158,6 @@ { PurpleStatusBuddyKey key; - if(presence->u.buddy.ref_count != 0) - return; - key.account = presence->u.buddy.account; key.name = presence->u.buddy.name; @@ -1189,27 +1179,6 @@ g_free(presence); } -/* - * TODO: Maybe we should cal purple_presence_destroy() after we - * decrement the ref count? I don't see why we should - * make other places do it manually when we can do it here. - */ -void -purple_presence_remove_buddy(PurplePresence *presence, PurpleBuddy *buddy) -{ - g_return_if_fail(presence != NULL); - g_return_if_fail(buddy != NULL); - g_return_if_fail(purple_presence_get_context(presence) == - PURPLE_PRESENCE_CONTEXT_BUDDY); - - if (g_list_find(presence->u.buddy.buddies, buddy) != NULL) - { - presence->u.buddy.buddies = g_list_remove(presence->u.buddy.buddies, - buddy); - presence->u.buddy.ref_count--; - } -} - void purple_presence_add_status(PurplePresence *presence, PurpleStatus *status) { @@ -1345,11 +1314,8 @@ const GList *l; time_t current_time = time(NULL); - for (l = purple_presence_get_buddies(presence); l != NULL; l = l->next) - { - update_buddy_idle((PurpleBuddy *)l->data, presence, current_time, - old_idle, idle); - } + update_buddy_idle(purple_presence_get_buddy(presence), presence, current_time, + old_idle, idle); } else if(purple_presence_get_context(presence) == PURPLE_PRESENCE_CONTEXT_ACCOUNT) { @@ -1443,14 +1409,14 @@ return presence->u.chat.user; } -const GList * -purple_presence_get_buddies(const PurplePresence *presence) +PurpleBuddy * +purple_presence_get_buddy(const PurplePresence *presence) { g_return_val_if_fail(presence != NULL, NULL); g_return_val_if_fail(purple_presence_get_context(presence) == PURPLE_PRESENCE_CONTEXT_BUDDY, NULL); - return presence->u.buddy.buddies; + return presence->u.buddy.buddy; } const GList * @@ -1607,8 +1573,14 @@ PurpleStatus *status = (PurpleStatus *)l->data; PurpleStatusType *type = purple_status_get_type(status); - if (purple_status_is_active(status)) + if (purple_status_is_active(status)) { score1 += primitive_scores[purple_status_type_get_primitive(type)]; + if (!purple_status_is_online(status)) { + PurpleBuddy *b = purple_presence_get_buddy(presence1); + if (b && purple_account_supports_offline_message(purple_buddy_get_account(b),b)) + score1 += primitive_scores[SCORE_OFFLINE_MESSAGE]; + } + } } score1 += purple_account_get_int(purple_presence_get_account(presence1), "score", 0); @@ -1618,8 +1590,15 @@ PurpleStatus *status = (PurpleStatus *)l->data; PurpleStatusType *type = purple_status_get_type(status); - if (purple_status_is_active(status)) + if (purple_status_is_active(status)) { score2 += primitive_scores[purple_status_type_get_primitive(type)]; + if (!purple_status_is_online(status)) { + PurpleBuddy *b = purple_presence_get_buddy(presence2); + if (b && purple_account_supports_offline_message(purple_buddy_get_account(b),b)) + score2 += primitive_scores[SCORE_OFFLINE_MESSAGE]; + } + + } } score2 += purple_account_get_int(purple_presence_get_account(presence2), "score", 0); @@ -1723,6 +1702,8 @@ primitive_scores[PURPLE_STATUS_EXTENDED_AWAY]); purple_prefs_add_int("/purple/status/scores/idle", primitive_scores[SCORE_IDLE]); + purple_prefs_add_int("/purple/status/scores/offline_msg", + primitive_scores[SCORE_OFFLINE_MESSAGE]); purple_prefs_connect_callback(handle, "/purple/status/scores/offline", score_pref_changed_cb, @@ -1742,6 +1723,9 @@ purple_prefs_connect_callback(handle, "/purple/status/scores/idle", score_pref_changed_cb, GINT_TO_POINTER(SCORE_IDLE)); + purple_prefs_connect_callback(handle, "/purple/status/scores/offline_msg", + score_pref_changed_cb, + GINT_TO_POINTER(SCORE_OFFLINE_MESSAGE)); buddy_presences = g_hash_table_new_full(purple_buddy_presences_hash, purple_buddy_presences_equal,
--- a/libpurple/status.h Thu May 03 12:04:04 2007 +0000 +++ b/libpurple/status.h Thu May 03 14:48:29 2007 +0000 @@ -760,16 +760,6 @@ void purple_presence_destroy(PurplePresence *presence); /** - * Removes a buddy from a presence. - * - * This must be done before destroying a buddy in a presence. - * - * @param presence The presence. - * @param buddy The buddy. - */ -void purple_presence_remove_buddy(PurplePresence *presence, PurpleBuddy *buddy); - -/** * Adds a status to a presence. * * @param presence The presence. @@ -869,13 +859,13 @@ const char *purple_presence_get_chat_user(const PurplePresence *presence); /** - * Returns a presence's list of buddies. + * Returns the presence's buddy. * * @param presence The presence. * - * @return The presence's list of buddies. + * @return The presence's buddy. */ -const GList *purple_presence_get_buddies(const PurplePresence *presence); +PurpleBuddy *purple_presence_get_buddy(const PurplePresence *presence); /** * Returns all the statuses in a presence.
--- a/pidgin/gtkconv.c Thu May 03 12:04:04 2007 +0000 +++ b/pidgin/gtkconv.c Thu May 03 14:48:29 2007 +0000 @@ -3389,7 +3389,7 @@ for (iter = g_list_last(list); iter != NULL; iter = iter->prev) { PurplePresence *pre = iter->data; - PurpleBuddy *buddy = purple_presence_get_buddies(pre)->data; + PurpleBuddy *buddy = purple_presence_get_buddy(pre); create_sendto_item(menu, sg, &group, buddy, purple_buddy_get_account(buddy), purple_buddy_get_name(buddy)); }
--- a/pidgin/gtkrequest.c Thu May 03 12:04:04 2007 +0000 +++ b/pidgin/gtkrequest.c Thu May 03 14:48:29 2007 +0000 @@ -1547,7 +1547,7 @@ if ((filename != NULL) && (*filename != '\0')) { if (savedialog) gtk_file_chooser_set_current_name(GTK_FILE_CHOOSER(filesel), filename); - else + else if (g_file_test(filename, G_FILE_TEST_EXISTS)) gtk_file_chooser_set_filename(GTK_FILE_CHOOSER(filesel), filename); } if ((filename == NULL || *filename == '\0' || !g_file_test(filename, G_FILE_TEST_EXISTS)) &&
--- a/pidgin/pixmaps/emblems/16/Makefile.am Thu May 03 12:04:04 2007 +0000 +++ b/pidgin/pixmaps/emblems/16/Makefile.am Thu May 03 14:48:29 2007 +0000 @@ -9,6 +9,7 @@ free-for-chat.png \ game.png \ half-operator.png \ + hiptop.png \ male.png \ mobile.png \ not-authorized.png \
--- a/pidgin/pixmaps/emotes/default/22/Makefile.am Thu May 03 12:04:04 2007 +0000 +++ b/pidgin/pixmaps/emotes/default/22/Makefile.am Thu May 03 14:48:29 2007 +0000 @@ -136,6 +136,7 @@ sigarette.png \ silly.png \ skeleton.png \ + skywalker.png \ sleepy.png \ smile-big.png \ smile.png \
--- a/pidgin/pixmaps/emotes/default/22/scalable/Makefile.am Thu May 03 12:04:04 2007 +0000 +++ b/pidgin/pixmaps/emotes/default/22/scalable/Makefile.am Thu May 03 14:48:29 2007 +0000 @@ -126,6 +126,7 @@ sigarette.svg \ silly.svg \ skeleton.svg \ + skywalker.svg \ sleepy.svg \ smile-big.svg \ smile.svg \
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/pidgin/pixmaps/emotes/default/22/scalable/skywalker.svg Thu May 03 14:48:29 2007 +0000 @@ -0,0 +1,296 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://web.resource.org/cc/" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="24" + height="24" + id="svg2" + sodipodi:version="0.32" + inkscape:version="0.44.1" + version="1.0" + sodipodi:docbase="/home/hbons/Desktop" + sodipodi:docname="fighter.svg" + inkscape:export-filename="/home/hbons/Desktop/fighter.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90"> + <defs + id="defs4"> + <linearGradient + inkscape:collect="always" + id="linearGradient2799"> + <stop + style="stop-color:white;stop-opacity:1;" + offset="0" + id="stop2801" /> + <stop + style="stop-color:white;stop-opacity:0;" + offset="1" + id="stop2803" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient2789"> + <stop + style="stop-color:white;stop-opacity:1;" + offset="0" + id="stop2791" /> + <stop + style="stop-color:white;stop-opacity:0;" + offset="1" + id="stop2793" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient3150"> + <stop + style="stop-color:#2e3436;stop-opacity:1;" + offset="0" + id="stop3152" /> + <stop + style="stop-color:#2e3436;stop-opacity:0;" + offset="1" + id="stop3154" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient3104"> + <stop + style="stop-color:#eeeeec;stop-opacity:1;" + offset="0" + id="stop3106" /> + <stop + style="stop-color:#eeeeec;stop-opacity:0;" + offset="1" + id="stop3108" /> + </linearGradient> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3104" + id="radialGradient3114" + cx="8.3343515" + cy="14.186539" + fx="8.3343515" + fy="14.186539" + r="9.975256" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(-0.9327,0.932656,-0.947494,-0.947449,33.02126,11.96667)" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3150" + id="radialGradient3156" + cx="10.748654" + cy="10.457643" + fx="10.748654" + fy="10.457643" + r="6.6449099" + gradientTransform="matrix(-0.842757,5.698892e-16,-4.565819e-9,-0.35721,19.80716,14.19321)" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2789" + id="linearGradient2795" + x1="12" + y1="1.7516894" + x2="12" + y2="6.0836282" + gradientUnits="userSpaceOnUse" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2799" + id="radialGradient2805" + cx="4.37887" + cy="8.2569046" + fx="4.37887" + fy="8.2569046" + r="0.83306515" + gradientTransform="matrix(4.715125,1.421341,-1.263413,5.304515,-6.58722,-42.95017)" + gradientUnits="userSpaceOnUse" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2799" + id="radialGradient2809" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(4.715125,1.421341,-1.263413,5.304515,-6.58722,-42.95017)" + cx="4.37887" + cy="8.2569046" + fx="4.37887" + fy="8.2569046" + r="0.83306515" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2789" + id="linearGradient2814" + gradientUnits="userSpaceOnUse" + x1="12" + y1="1.7516894" + x2="12" + y2="6.0836282" + gradientTransform="matrix(0.987014,0,0,0.98324,0.155843,0.117318)" /> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="24.007726" + inkscape:cx="24.782578" + inkscape:cy="13.372505" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="true" + fill="#2e3436" + inkscape:window-width="1434" + inkscape:window-height="844" + inkscape:window-x="0" + inkscape:window-y="0" /> + <metadata + id="metadata7"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1"> + <path + sodipodi:type="arc" + style="opacity:0.6;fill:url(#radialGradient3156);fill-opacity:1.0;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="path3140" + sodipodi:cx="10.748654" + sodipodi:cy="10.457643" + sodipodi:rx="6.6449099" + sodipodi:ry="2.3675451" + d="M 17.393564 10.457643 A 6.6449099 2.3675451 0 1 1 4.1037445,10.457643 A 6.6449099 2.3675451 0 1 1 17.393564 10.457643 z" + transform="matrix(1.504911,0,0,1.300982,-4.175772,6.474929)" /> + <path + sodipodi:type="arc" + style="opacity:1;fill:#edd400;fill-opacity:1;stroke:#f57900;stroke-width:1.05276573;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="path1307" + sodipodi:cx="11.806158" + sodipodi:cy="10.983024" + sodipodi:rx="9.975256" + sodipodi:ry="9.975256" + d="M 21.781414 10.983024 A 9.975256 9.975256 0 1 1 1.8309021,10.983024 A 9.975256 9.975256 0 1 1 21.781414 10.983024 z" + transform="matrix(0.952236,0,0,0.952236,0.757713,1.541608)" /> + <path + sodipodi:type="arc" + style="opacity:0.79545455;fill:url(#radialGradient3114);fill-opacity:1.0;stroke:none;stroke-width:1.05274069;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="path3102" + sodipodi:cx="11.806158" + sodipodi:cy="10.983024" + sodipodi:rx="9.975256" + sodipodi:ry="9.975256" + d="M 21.781414 10.983024 A 9.975256 9.975256 0 1 1 1.8309021,10.983024 A 9.975256 9.975256 0 1 1 21.781414 10.983024 z" + transform="matrix(0.8019,0,0,0.801938,2.532654,3.191833)" /> + <path + sodipodi:type="arc" + style="opacity:0.5;fill:none;fill-opacity:1.0;stroke:#ffffff;stroke-width:1.17343897;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="path2184" + sodipodi:cx="11.806158" + sodipodi:cy="10.983024" + sodipodi:rx="9.975256" + sodipodi:ry="9.975256" + d="M 21.781414 10.983024 A 9.975256 9.975256 0 1 1 1.8309021,10.983024 A 9.975256 9.975256 0 1 1 21.781414 10.983024 z" + transform="matrix(0.852176,0,0,0.852216,1.93909,2.639626)" /> + <path + style="opacity:1;fill:#2e3436;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 17,13 C 16.413519,15.283765 14.403819,17 12,17 C 9.596182,17 7.586481,15.283765 7,13 C 8.053747,14.478811 9.904443,16.044402 12,16.044402 C 14.095556,16.044403 15.946253,14.478811 17,13 z " + id="path2186" + sodipodi:nodetypes="cscsc" /> + <path + style="opacity:1;fill:#babdb6;fill-opacity:1;stroke:#888a85;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 11.415007,0.52141473 C 6.4412517,0.52141473 1.5,3.4999435 1.5,9.5151487 L 1.5,13.135081 C 1.5,13.922344 1.9460004,14.541331 2.5,14.541331 C 3.0539996,14.541331 3.5,13.922344 3.5,13.135081 L 3.5,7.5394989 C 9.1662006,7.4604384 14.833423,7.4830282 20.5,7.5079317 L 20.5,13.135081 C 20.5,13.922344 20.946001,14.541331 21.5,14.541331 C 22.054,14.541331 22.5,13.922344 22.5,13.135081 L 22.5,9.4533234 C 22.5,3.5102944 17.497455,0.52141473 12.439861,0.52141473 L 11.415007,0.52141473 z " + id="rect1885" + sodipodi:nodetypes="cccsccccscccc" /> + <rect + style="opacity:1;fill:#888a85;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="rect1893" + width="2" + height="3" + x="6" + y="5" + rx="0.94798213" + ry="0.94798213" /> + <rect + style="opacity:1;fill:#888a85;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="rect2781" + width="2" + height="3" + x="16" + y="5" + rx="0.94798213" + ry="0.94798213" /> + <path + sodipodi:type="arc" + style="opacity:1;fill:black;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="path2191" + sodipodi:cx="9.0598059" + sodipodi:cy="8.7845774" + sodipodi:rx="1.1679889" + sodipodi:ry="1.4520943" + d="M 10.227795 8.7845774 A 1.1679889 1.4520943 0 1 1 7.891817,8.7845774 A 1.1679889 1.4520943 0 1 1 10.227795 8.7845774 z" + transform="matrix(0.856173,0,0,1.377321,2.243239,-2.099183)" /> + <path + sodipodi:type="arc" + style="opacity:1;fill:black;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="path2193" + sodipodi:cx="9.0598059" + sodipodi:cy="8.7845774" + sodipodi:rx="1.1679889" + sodipodi:ry="1.4520943" + d="M 10.227795 8.7845774 A 1.1679889 1.4520943 0 1 1 7.891817,8.7845774 A 1.1679889 1.4520943 0 1 1 10.227795 8.7845774 z" + transform="matrix(0.856173,0,0,1.377321,6.243238,-2.099183)" /> + <path + style="opacity:0.78977272;fill:#ce5c00;fill-opacity:1;stroke:none;stroke-width:1.66300178;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 4,7 C 4,12.372041 5.1207216,14 8,14 C 11.920219,14 12,10.478414 12,10.478414 C 12,10.478414 12.202908,14 16,14 C 18.916405,14 20,12.750006 20,7 L 12,7 L 4,7 z " + id="path2264" + sodipodi:nodetypes="cscsccc" /> + <rect + style="opacity:1;fill:#d3d7cf;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="rect2783" + width="4" + height="6" + x="10" + y="1" /> + <path + style="opacity:0.48295456;fill:url(#linearGradient2814);fill-opacity:1;stroke:white;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1" + d="M 11.413971,1.4999993 C 8.4396167,1.4999993 6.5267273,2.1749121 4.784828,4.0633005 C 4.0614456,4.8466049 2.7215372,5.924139 2.8577394,6.9078193 C 3.3586863,6.1791563 4.4826622,6.5275732 5.224293,6.4374981 C 10.290142,6.4078673 15.356168,6.5163298 20.42115,6.5572819 C 20.830374,6.5476225 21.338833,7.3946396 20.992121,6.6253703 C 20.129068,4.3100064 18.251084,2.6808347 15.798098,2.0529678 C 14.507085,1.6818158 12.747177,1.4799962 11.413971,1.4999993 z M 21.503187,7.9300046 C 21.481946,16.13105 21.471179,14.911402 21.503187,7.9300046 z M 2.7467548,8.2905005 C 2.5704612,8.8774295 2.4591549,9.4763944 2.5000012,10.090975 C 2.5380837,10.671112 2.401155,11.743746 2.623378,12.291731 C 2.8468093,11.723864 2.7079017,10.631029 2.7467548,10.030965 C 2.7467548,9.4508099 2.7467548,8.8706552 2.7467548,8.2905005 z " + id="path2787" + sodipodi:nodetypes="cccccccccccsccc" /> + <path + sodipodi:type="arc" + style="opacity:0.48295456;fill:url(#radialGradient2805);fill-opacity:1.0;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="path2797" + sodipodi:cx="6.0397224" + sodipodi:cy="9.3172264" + sodipodi:rx="0.83306515" + sodipodi:ry="0.93719834" + d="M 6.8727876 9.3172264 A 0.83306515 0.93719834 0 1 1 5.2066573,9.3172264 A 0.83306515 0.93719834 0 1 1 6.8727876 9.3172264 z" + transform="matrix(2.400774,0,0,2.13402,-7.500009,-9.883144)" /> + <path + sodipodi:type="arc" + style="opacity:0.48295456;fill:url(#radialGradient2809);fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="path2807" + sodipodi:cx="6.0397224" + sodipodi:cy="9.3172264" + sodipodi:rx="0.83306515" + sodipodi:ry="0.93719834" + d="M 6.8727876 9.3172264 A 0.83306515 0.93719834 0 1 1 5.2066573,9.3172264 A 0.83306515 0.93719834 0 1 1 6.8727876 9.3172264 z" + transform="matrix(-2.400774,0,0,2.13402,31.50001,-9.883147)" /> + </g> +</svg>
--- a/pidgin/pixmaps/emotes/default/22/theme Thu May 03 12:04:04 2007 +0000 +++ b/pidgin/pixmaps/emotes/default/22/theme Thu May 03 14:48:29 2007 +0000 @@ -1,5 +1,5 @@ Name=Default -Description=Pidgin smileys (default) +Description=Pidgin smileys Icon=smile.png Author=Hylke Bons @@ -21,6 +21,8 @@ moneymouth.png :-$ foot-in-mouth.png :-! shout.png >:o >:O +! skywalker.png C:-) +! monkey.png :-(|) ### Following AIM 6.1 [AIM] @@ -62,7 +64,7 @@ msn.png (M) (m) cat.png (@) dog.png (&) -moon.png (S) (s) +moon.png (S) star.png (*) film.png (~) musical-note.png (8) @@ -86,7 +88,7 @@ good.png (Y) (y) bad.png (N) (n) vampire.png :[ :-[ -#goat.png (nah) (NAH) +#goat.png (nah) sun.png (#) rainbow.png (R) (r) quiet.png :-# @@ -95,26 +97,26 @@ sarcastic.png ^o) secret.png :-* sick.png +o( -snail.png (sn) (SN) -turtle.png (tu) (TU) -plate.png (pl) (PL) +snail.png (sn) +turtle.png (tu) +plate.png (pl) bowl.png (||) -pizza.png (pi) (PI) -soccerball.png (so) (SO) -car.png (au) (AU) -airplane.png (ap) (AP) -umbrella.png (um) (UM) -island.png (ip) (IP) -computer.png (co) (CO) -mobile.png (mp) (MP) -brb.png (brb) (BRB) -rain.png (st) (ST) -highfive.png (h5) (H5) -coins.png (mo) (MO) -sheep.png (bah) (BAH) +pizza.png (pi) +soccerball.png (so) +car.png (au) +airplane.png (ap) +umbrella.png (um) +island.png (ip) +computer.png (co) +mobile.png (mp) +brb.png (brb) +rain.png (st) +highfive.png (h5) +coins.png (mo) +sheep.png (bah) dont-know.png :^) thinking.png *-) -thunder.png (li) (LI) +thunder.png (li) party.png <:o) eyeroll.png 8-) yawn.png |-)
--- a/pidgin/plugins/Makefile.am Thu May 03 12:04:04 2007 +0000 +++ b/pidgin/plugins/Makefile.am Thu May 03 14:48:29 2007 +0000 @@ -108,7 +108,7 @@ AM_CPPFLAGS = \ -DDATADIR=\"$(datadir)\" \ -DVERSION=\"$(VERSION)\" \ - -I$(top_builddir)/src \ + -I$(top_builddir)/libpurple \ -I$(top_srcdir)/libpurple \ -I$(top_srcdir)/pidgin \ $(DEBUG_CFLAGS) \
--- a/pidgin/plugins/cap/Makefile.am Thu May 03 12:04:04 2007 +0000 +++ b/pidgin/plugins/cap/Makefile.am Thu May 03 14:48:29 2007 +0000 @@ -21,6 +21,7 @@ -DDATADIR=\"$(datadir)\" \ -DVERSION=\"$(VERSION)\" \ -I$(top_srcdir)/libpurple \ + -I$(top_builddir)/libpurple \ -I$(top_srcdir)/pidgin \ $(DEBUG_CFLAGS) \ $(GTK_CFLAGS) \
--- a/pidgin/plugins/crazychat/Makefile.am Thu May 03 12:04:04 2007 +0000 +++ b/pidgin/plugins/crazychat/Makefile.am Thu May 03 14:48:29 2007 +0000 @@ -33,6 +33,7 @@ AM_CPPFLAGS = -DPURPLE_PLUGINS \ -I$(top_srcdir)/libpurple \ + -I$(top_builddir)/libpurple \ -I$(top_srcdir)/pidgin \ $(GTK_CFLAGS) \ $(GTKGLEXT_CFLAGS) \
--- a/pidgin/plugins/gestures/Makefile.am Thu May 03 12:04:04 2007 +0000 +++ b/pidgin/plugins/gestures/Makefile.am Thu May 03 14:48:29 2007 +0000 @@ -21,6 +21,7 @@ -DDATADIR=\"$(datadir)\" \ -DVERSION=\"$(VERSION)\" \ -I$(top_srcdir)/libpurple \ + -I$(top_builddir)/libpurple \ -I$(top_srcdir)/pidgin \ $(DEBUG_CFLAGS) \ $(GTK_CFLAGS)
--- a/pidgin/plugins/gevolution/Makefile.am Thu May 03 12:04:04 2007 +0000 +++ b/pidgin/plugins/gevolution/Makefile.am Thu May 03 14:48:29 2007 +0000 @@ -23,6 +23,7 @@ -DDATADIR=\"$(datadir)\" \ -DVERSION=\"$(VERSION)\" \ -I$(top_srcdir)/libpurple \ + -I$(top_builddir)/libpurple \ -I$(top_srcdir)/pidgin \ $(EVOLUTION_ADDRESSBOOK_CFLAGS) \ $(DEBUG_CFLAGS) \
--- a/pidgin/plugins/perl/Makefile.am Thu May 03 12:04:04 2007 +0000 +++ b/pidgin/plugins/perl/Makefile.am Thu May 03 14:48:29 2007 +0000 @@ -98,6 +98,7 @@ -DVERSION=\"$(VERSION)\" \ -I$(top_srcdir) \ -I$(top_srcdir)/libpurple \ + -I$(top_builddir)/libpurple \ -I$(top_srcdir)/pidgin \ $(DEBUG_CFLAGS) \ $(GTK_CFLAGS) \
--- a/pidgin/plugins/ticker/Makefile.am Thu May 03 12:04:04 2007 +0000 +++ b/pidgin/plugins/ticker/Makefile.am Thu May 03 14:48:29 2007 +0000 @@ -22,6 +22,7 @@ -DDATADIR=\"$(datadir)\" \ -DVERSION=\"$(VERSION)\" \ -I$(top_srcdir)/libpurple \ + -I$(top_builddir)/libpurple \ -I$(top_srcdir)/pidgin \ $(DEBUG_CFLAGS) \ $(GTK_CFLAGS)
--- a/pidgin/plugins/timestamp_format.c Thu May 03 12:04:04 2007 +0000 +++ b/pidgin/plugins/timestamp_format.c Thu May 03 14:48:29 2007 +0000 @@ -58,7 +58,8 @@ time_t t, gboolean show_date, gboolean force, - const char *dates) + const char *dates, + gboolean parens) { g_return_val_if_fail(dates != NULL, NULL); @@ -68,15 +69,15 @@ { struct tm *tm = localtime(&t); if (force) - return g_strdup(purple_utf8_strftime("%Y-%m-%d %H:%M:%S", tm)); + return g_strdup_printf("%s%s%s", parens ? "(" : "", purple_utf8_strftime("%Y-%m-%d %H:%M:%S", tm), parens ? ")" : ""); else - return g_strdup(purple_date_format_long(tm)); + return g_strdup_printf("%s%s%s", parens ? "(" : "", purple_date_format_long(tm), parens ? ")" : ""); } if (force) { struct tm *tm = localtime(&t); - return g_strdup(purple_utf8_strftime("%H:%M:%S", tm)); + return g_strdup_printf("%s%s%s", parens ? "(" : "", purple_utf8_strftime("%H:%M:%S", tm), parens ? ")" : ""); } return NULL; @@ -92,7 +93,7 @@ g_return_val_if_fail(conv != NULL, NULL); - return timestamp_cb_common(conv, t, show_date, force, dates); + return timestamp_cb_common(conv, t, show_date, force, dates, TRUE); } static char *log_timestamp_cb(PurpleLog *log, time_t t, gboolean show_date, gpointer data) @@ -104,7 +105,7 @@ g_return_val_if_fail(log != NULL, NULL); - return timestamp_cb_common(log->conv, t, show_date, force, dates); + return timestamp_cb_common(log->conv, t, show_date, force, dates, FALSE); } static gboolean