# HG changeset patch # User Richard Laager # Date 1179673059 0 # Node ID e9475e67e277b38d09fc4e5289110d5311c7294e # Parent 33da621d4b1f4a5f30e94465240fad515c67cbba# Parent afb25cb38e756ff65a8fc77b4f75b18ad012ff9f propagate from branch 'im.pidgin.pidgin' (head 7fa526ccf77d3d2da927a55aa8115be7e1be184d) to branch 'im.pidgin.rlaager.merging.for_2_1_0' (head 732274030c41038a70db50927f8a4db4b30f6cdf) diff -r 33da621d4b1f -r e9475e67e277 COPYRIGHT --- a/COPYRIGHT Sun May 20 14:55:19 2007 +0000 +++ b/COPYRIGHT Sun May 20 14:57:39 2007 +0000 @@ -87,6 +87,7 @@ Palmer Cox Jeramey Crawford Michael Culbertson +Steven Danna Martijn Dekker Vinicius Depizzol Philip Derrin diff -r 33da621d4b1f -r e9475e67e277 ChangeLog --- a/ChangeLog Sun May 20 14:55:19 2007 +0000 +++ b/ChangeLog Sun May 20 14:57:39 2007 +0000 @@ -45,6 +45,15 @@ conversation tabs (Ma Xuan) * Fix IRC connection bug with dircproxy (xjoe) * Ctrl+[shift]+tab focuses the next most active tab (William Thompson) + * Add a Google Talk item to the protocol list, to help users who think + we don't support Google Talk. The item acts just like "XMPP". + * Remember if the X server supports XScreenSaver, to avoid waking it + every 5 seconds. (Arjan van de Ven with Intel Corporation) + * Change our idle checking to poll only as necessary and raise the + unidle timeout from 5 seconds to 60 when using XScreenSaver. This + and the XScreenSaver change will reduce Pidgin's effect on power + consumption when running with NO_HZ. (Arjan van de Ven with Intel + Corporation) Finch: * Userlist in chat windows, which can be turned on or off using diff -r 33da621d4b1f -r e9475e67e277 finch/libgnt/Makefile.am --- a/finch/libgnt/Makefile.am Sun May 20 14:55:19 2007 +0000 +++ b/finch/libgnt/Makefile.am Sun May 20 14:57:39 2007 +0000 @@ -66,10 +66,10 @@ gntmarshal.c: $(srcdir)/genmarshal gntmarshal.h echo "#include \"gntmarshal.h\"" > $@ - cat $(srcdir)/genmarshal | glib-genmarshal --prefix=gnt_closure_marshal --body >> $@ + glib-genmarshal --prefix=gnt_closure_marshal --body $(srcdir)/genmarshal >> $@ gntmarshal.h: $(srcdir)/genmarshal - cat $(srcdir)/genmarshal | glib-genmarshal --prefix=gnt_closure_marshal --header > $@ + glib-genmarshal --prefix=gnt_closure_marshal --header $(srcdir)/genmarshal > $@ libgnt_laincludedir=$(includedir)/gnt libgnt_lainclude_HEADERS = \ diff -r 33da621d4b1f -r e9475e67e277 libpurple/idle.c --- a/libpurple/idle.c Sun May 20 14:55:19 2007 +0000 +++ b/libpurple/idle.c Sun May 20 14:57:39 2007 +0000 @@ -197,8 +197,8 @@ } else if (!no_away && time_idle < away_seconds) { + no_away = 1; purple_savedstatus_set_idleaway(FALSE); - no_away = 1; if (time_until_next_idle_event == 0 || (away_seconds - time_idle) < time_until_next_idle_event) time_until_next_idle_event = away_seconds - time_idle; } diff -r 33da621d4b1f -r e9475e67e277 libpurple/plugins/perl/common/SavedStatuses.xs --- a/libpurple/plugins/perl/common/SavedStatuses.xs Sun May 20 14:55:19 2007 +0000 +++ b/libpurple/plugins/perl/common/SavedStatuses.xs Sun May 20 14:57:39 2007 +0000 @@ -1,41 +1,129 @@ #include "module.h" +/* I can't get this to work, both with and without the const on the return + * type I get errors from gcc. One way about ignoring types in a cast, and the + * other about assigning to read-only variables. +const Purple::StatusType +purple_savedstatus_substatus_get_type(substatus) + const Purple::SavedStatus::Sub substatus +*/ + MODULE = Purple::SavedStatus PACKAGE = Purple::SavedStatus PREFIX = purple_savedstatus_ PROTOTYPES: ENABLE -gboolean -purple_savedstatus_delete(title) - const char *title - -Purple::SavedStatus -purple_savedstatus_find(title) - const char *title - -const char * -purple_savedstatus_get_message(saved_status) - Purple::SavedStatus saved_status - -const char * -purple_savedstatus_get_title(saved_status) - Purple::SavedStatus saved_status - -Purple::StatusPrimitive -purple_savedstatus_get_type(saved_status) - Purple::SavedStatus saved_status - Purple::SavedStatus purple_savedstatus_new(title, type) const char *title Purple::StatusPrimitive type void +purple_savedstatus_set_title(status, title) + Purple::SavedStatus status + const char *title + +void +purple_savedstatus_set_type(status, type) + Purple::SavedStatus status + Purple::StatusPrimitive type + +void purple_savedstatus_set_message(status, message) Purple::SavedStatus status const char *message +void +purple_savedstatus_set_substatus(status, account, type, message) + Purple::SavedStatus status + Purple::Account account + Purple::StatusType type + const char *message + +void +purple_savedstatus_unset_substatus(status, account) + Purple::SavedStatus status + Purple::Account account + +gboolean +purple_savedstatus_delete(title) + const char *title + Purple::SavedStatus purple_savedstatus_get_current() +Purple::SavedStatus +purple_savedstatus_get_default() + +Purple::SavedStatus +purple_savedstatus_get_idleaway() + +gboolean +purple_savedstatus_is_idleaway() + +void +purple_savedstatus_set_idleaway(idleaway) + gboolean idleaway + +Purple::SavedStatus +purple_savedstatus_get_startup() + +Purple::SavedStatus +purple_savedstatus_find(title) + const char *title + +Purple::SavedStatus +purple_savedstatus_find_by_creation_time(creation_time) + time_t creation_time + +Purple::SavedStatus +purple_savedstatus_find_transient_by_type_and_message(type, message) + Purple::StatusPrimitive type + const char *message + +gboolean +purple_savedstatus_is_transient(saved_status) + const Purple::SavedStatus saved_status + +const char * +purple_savedstatus_get_title(saved_status) + const Purple::SavedStatus saved_status + +Purple::StatusPrimitive +purple_savedstatus_get_type(saved_status) + const Purple::SavedStatus saved_status + +const char * +purple_savedstatus_get_message(saved_status) + const Purple::SavedStatus saved_status + +time_t +purple_savedstatus_get_creation_time(saved_status) + const Purple::SavedStatus saved_status + +gboolean +purple_savedstatus_has_substatuses(saved_status) + const Purple::SavedStatus saved_status + +Purple::SavedStatus::Sub +purple_savedstatus_get_substatus(saved_status, account) + Purple::SavedStatus saved_status + Purple::Account account + +void +purple_savedstatus_activate(saved_status) + Purple::SavedStatus saved_status + +void +purple_savedstatus_activate_for_account(saved_status, account) + const Purple::SavedStatus saved_status + Purple::Account account + +MODULE = Purple::SavedStatus::Sub PACKAGE = Purple::SavedStatus::Sub PREFIX = purple_savedstatus_substatus_ +PROTOTYPES: ENABLE + +const char * +purple_savedstatus_substatus_get_message(substatus) + const Purple::SavedStatus::Sub substatus + MODULE = Purple::SavedStatus PACKAGE = Purple::SavedStatuses PREFIX = purple_savedstatuses_ PROTOTYPES: ENABLE @@ -48,6 +136,16 @@ XPUSHs(sv_2mortal(purple_perl_bless_object(l->data, "Purple::SavedStatus"))); } +void +purple_savedstatuses_get_popular(how_many) + unsigned int how_many +PREINIT: + const GList *l; +PPCODE: + for (l = purple_savedstatuses_get_popular(how_many); l != NULL; l = l->next) { + XPUSHs(sv_2mortal(purple_perl_bless_object(l->data, "Purple::SavedStatus"))); + } + Purple::Handle purple_savedstatuses_get_handle() diff -r 33da621d4b1f -r e9475e67e277 libpurple/plugins/perl/common/module.h --- a/libpurple/plugins/perl/common/module.h Sun May 20 14:55:19 2007 +0000 +++ b/libpurple/plugins/perl/common/module.h Sun May 20 14:57:39 2007 +0000 @@ -236,7 +236,7 @@ /* savedstatuses.h */ typedef PurpleSavedStatus * Purple__SavedStatus; -typedef PurpleSavedStatusSub * Purple__SavedStatusSub; +typedef PurpleSavedStatusSub * Purple__SavedStatus__Sub; /* sound.h */ typedef PurpleSoundEventID Purple__SoundEventID; diff -r 33da621d4b1f -r e9475e67e277 libpurple/plugins/perl/common/typemap --- a/libpurple/plugins/perl/common/typemap Sun May 20 14:55:19 2007 +0000 +++ b/libpurple/plugins/perl/common/typemap Sun May 20 14:57:39 2007 +0000 @@ -137,7 +137,9 @@ Purple::RoomlistRoomType T_IV Purple::SavedStatus T_PurpleObj -Purple::SavedStatusSub T_PurpleObj +const Purple::SavedStatus T_PurpleObj +Purple::SavedStatus::Sub T_PurpleObj +const Purple::SavedStatus::Sub T_PurpleObj Purple::SoundEventID T_IV Purple::Sound::UiOps T_PurpleObj diff -r 33da621d4b1f -r e9475e67e277 libpurple/protocols/gg/lib/pubdir50.c --- a/libpurple/protocols/gg/lib/pubdir50.c Sun May 20 14:55:19 2007 +0000 +++ b/libpurple/protocols/gg/lib/pubdir50.c Sun May 20 14:57:39 2007 +0000 @@ -347,7 +347,7 @@ /* jeśli dostaliśmy namier na następne wyniki, to znaczy że * mamy koniec wyników i nie jest to kolejna osoba. */ - if (!g_ascii_strcasecmp(field, "nextstart")) { + if (!strcasecmp(field, "nextstart")) { res->next = atoi(value); num--; } else { @@ -390,7 +390,7 @@ } for (i = 0; i < res->entries_count; i++) { - if (res->entries[i].num == num && !g_ascii_strcasecmp(res->entries[i].field, field)) { + if (res->entries[i].num == num && !strcasecmp(res->entries[i].field, field)) { value = res->entries[i].value; break; } diff -r 33da621d4b1f -r e9475e67e277 libpurple/protocols/msn/msn.c --- a/libpurple/protocols/msn/msn.c Sun May 20 14:55:19 2007 +0000 +++ b/libpurple/protocols/msn/msn.c Sun May 20 14:57:39 2007 +0000 @@ -342,8 +342,10 @@ if (session->passport_info.file == NULL) { + MsnCmdProc *cmdproc = session->notification->cmdproc; purple_notify_error(gc, NULL, _("This Hotmail account may not be active."), NULL); + msn_cmdproc_send(cmdproc, "URL", "%s", "INBOX"); return; } diff -r 33da621d4b1f -r e9475e67e277 libpurple/protocols/msn/notification.c --- a/libpurple/protocols/msn/notification.c Sun May 20 14:55:19 2007 +0000 +++ b/libpurple/protocols/msn/notification.c Sun May 20 14:57:39 2007 +0000 @@ -592,6 +592,10 @@ qng_cmd(MsnCmdProc *cmdproc, MsnCommand *cmd) { static int count = 0; + MsnSession *session = cmdproc->session; + + if (session->passport_info.file == NULL) + return; if (count++ < 26) return; diff -r 33da621d4b1f -r e9475e67e277 pidgin/plugins/pidginrc.c --- a/pidgin/plugins/pidginrc.c Sun May 20 14:55:19 2007 +0000 +++ b/pidgin/plugins/pidginrc.c Sun May 20 14:57:39 2007 +0000 @@ -45,15 +45,12 @@ static GtkWidget *color_widgets[G_N_ELEMENTS(color_prefs)]; static const char *widget_size_prefs[] = { - "/plugins/gtk/purplerc/size/GtkTreeView::expander_size", "/plugins/gtk/purplerc/size/GtkTreeView::horizontal_separator" }; static const char *widget_size_prefs_set[] = { - "/plugins/gtk/purplerc/set/size/GtkTreeView::expander_size", "/plugins/gtk/purplerc/set/size/GtkTreeView::horizontal_separator" }; static const char *widget_size_names[] = { - N_("GtkTreeView Expander Size"), N_("GtkTreeView Horizontal Separation") }; static GtkWidget *widget_size_widgets[G_N_ELEMENTS(widget_size_prefs)];