From datallah at pidgin.im Tue Jun 1 11:55:35 2010 From: datallah at pidgin.im (datallah at pidgin.im) Date: Tue, 1 Jun 2010 11:55:35 -0400 (EDT) Subject: www: d2ea7d7f: Prettify the Windows download page somew... Message-ID: <20100601155535.9BFCBAFD0BB2@rock.pidgin.im> ----------------------------------------------------------------- Revision: d2ea7d7f64a059bd1fdebd87554160f8a4fc8a14 Ancestor: 76c3fd5c499de3ae9a1c54dc69a054fbbd730111 Author: datallah at pidgin.im Date: 2010-06-01T15:51:21 Branch: im.pidgin.www URL: http://d.pidgin.im/viewmtn/revision/info/d2ea7d7f64a059bd1fdebd87554160f8a4fc8a14 Modified files: htdocs/download/windows/index.php ChangeLog: Prettify the Windows download page somewhat -------------- next part -------------- ============================================================ --- htdocs/download/windows/index.php 811656d92b50792cda781ca436897cc03e093f94 +++ htdocs/download/windows/index.php 9bb781f7e9f409f67c64c39b16f2bd7eef9529db @@ -28,9 +28,10 @@ onclick="javascript:pageTracker._trackPa for Windows

- +

This version of Pidgin downloads an appropriate version of GTK+. GTK+ is now installed locally for Pidgin, and not system-wide, thus Pidgin will not interfere with other GTK+ apps on your system.

+

If you would like to have GTK+ included in the installer, we have an offline installer that bundles everything except spell-checking dictionaries.

-

This version of Pidgin downloads an appropriate version of GTK+. GTK+ is now installed locally for Pidgin, and not system-wide, thus Pidgin will not interfere with other GTK+ apps on your system. If you would like to have GTK+ included in the installer, we have an offline installer that bundles everything except spell-checking dictionaries.

+ From malu at pidgin.im Tue Jun 1 15:30:46 2010 From: malu at pidgin.im (malu at pidgin.im) Date: Tue, 1 Jun 2010 15:30:46 -0400 (EDT) Subject: cpw.malu.xmpp.jingle_ft: 7a3603f1: Enable thumbnails for jingle file transf... Message-ID: <20100601193046.01801AFD214C@rock.pidgin.im> ----------------------------------------------------------------- Revision: 7a3603f1fc7bfea83297655c01786ad6e23e8954 Ancestor: db7704ba8c1d93c5a9056eb4d2bef771ede2351d Author: malu at pidgin.im Date: 2010-06-01T19:26:25 Branch: im.pidgin.cpw.malu.xmpp.jingle_ft URL: http://d.pidgin.im/viewmtn/revision/info/7a3603f1fc7bfea83297655c01786ad6e23e8954 Modified files: libpurple/protocols/jabber/jingle/file-transfer.c libpurple/protocols/jabber/si.c libpurple/protocols/jabber/xfer.c libpurple/protocols/jabber/xfer.h ChangeLog: Enable thumbnails for jingle file transfers as well -------------- next part -------------- ============================================================ --- libpurple/protocols/jabber/jingle/file-transfer.c 4d623466022d3b6d48508a2d2faae858980dd31e +++ libpurple/protocols/jabber/jingle/file-transfer.c 9247e81da9f81a439aa7a144721cc89ea6066730 @@ -29,6 +29,7 @@ struct _JingleFTPrivate { struct _JingleFTPrivate { PurpleXfer *xfer; PurpleCircBuffer *ibb_buffer; + gchar *thumbnail_cid; }; #define JINGLE_FT_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), \ @@ -517,6 +518,10 @@ jingle_file_transfer_xfer_init(PurpleXfe /* start local listen on the S5B transport */ jingle_s5b_gather_candidates(session, JINGLE_S5B(transport)); } + + /* ask UI to create a thumbnail */ + JINGLE_FT_GET_PRIVATE(JINGLE_FT(content))->thumbnail_cid = + jabber_xfer_add_thumbnail(js, xfer); } else if (xfer->data) { JingleContent *content = (JingleContent *) xfer->data; JingleSession *session = jingle_content_get_session(content); @@ -686,8 +691,11 @@ jingle_file_transfer_to_xml_internal(Jin const PurpleXfer *xfer = jingle_file_transfer_get_xfer(ft); /* if xfer is NULL, it means it has disconnected */ - if (xfer) - xmlnode_insert_child(offer, jabber_xfer_create_file_element(xfer)); + if (xfer) { + xmlnode_insert_child(offer, + jabber_xfer_create_file_element(xfer, + JINGLE_FT_GET_PRIVATE(JINGLE_FT(ft))->thumbnail_cid)); + } } return node; } @@ -757,7 +765,7 @@ jingle_file_transfer_handle_action_inter purple_debug_info("jingle-ft", "setting content %p on xfer %p\n", content, xfer); xfer->data = content; - purple_xfer_request(xfer); + jabber_xfer_request_thumbnail(js, file, xfer); } else { /* TODO: set a reason code */ jabber_iq_send(jingle_session_to_packet(session, @@ -949,7 +957,7 @@ jingle_file_transfer_new_xfer(PurpleConn if (xfer) { purple_xfer_set_init_fnc(xfer, jingle_file_transfer_xfer_init); purple_xfer_set_cancel_send_fnc(xfer, jingle_file_transfer_cancel_send); - purple_xfer_set_end_fnc(xfer, jingle_file_transfer_xfer_end); + purple_xfer_set_end_fnc(xfer, jingle_file_transfer_xfer_end); } return xfer; ============================================================ --- libpurple/protocols/jabber/si.c 48d0679e2f34e8054eada9480d557ed7c613ba44 +++ libpurple/protocols/jabber/si.c 5b9a60008f2fe230051d80b7db1dcd68983b2033 @@ -953,10 +953,15 @@ static void jabber_si_xfer_send_request( { JabberSIXfer *jsx = xfer->data; JabberIq *iq; - xmlnode *si, *feature, *x, *field, *option, *value, *file; + xmlnode *si, *feature, *x, *field, *option, *value; + const gchar *thumbnail_cid = NULL; xfer->filename = g_path_get_basename(xfer->local_filename); +#if ENABLE_FT_THUMBNAILS + thumbnail_cid = jabber_xfer_add_thumbnail(jsx->js, xfer); +#endif + iq = jabber_iq_new(jsx->js, JABBER_IQ_SET); xmlnode_set_attrib(iq->node, "to", xfer->who); si = xmlnode_new_child(iq->node, "si"); @@ -965,14 +970,8 @@ static void jabber_si_xfer_send_request( xmlnode_set_attrib(si, "id", jsx->stream_id); xmlnode_set_attrib(si, "profile", "http://jabber.org/protocol/si/profile/file-transfer"); - - file = jabber_xfer_create_file_element(xfer); - xmlnode_insert_child(si, file); - -#if ENABLE_FT_THUMBNAILS - jabber_xfer_add_thumbnail(jsx->js, file, xfer); -#endif - + xmlnode_insert_child(si, + jabber_xfer_create_file_element(xfer, thumbnail_cid)); feature = xmlnode_new_child(si, "feature"); xmlnode_set_namespace(feature, "http://jabber.org/protocol/feature-neg"); x = xmlnode_new_child(feature, "x"); ============================================================ --- libpurple/protocols/jabber/xfer.c d5c71410896fc9c0a0fe6638c4f296c1ba485ee1 +++ libpurple/protocols/jabber/xfer.c f0c7875618fd5c5171c44e32eab8df05ef259067 @@ -187,11 +187,11 @@ xmlnode * } xmlnode * -jabber_xfer_create_file_element(const PurpleXfer *xfer) +jabber_xfer_create_file_element(const PurpleXfer *xfer, const gchar *thumb_cid) { xmlnode *file = xmlnode_new("file"); gchar buf[32]; - + xmlnode_set_namespace(file, "http://jabber.org/protocol/si/profile/file-transfer"); xmlnode_set_attrib(file, "name", xfer->filename); @@ -200,6 +200,16 @@ jabber_xfer_create_file_element(const Pu /* maybe later we'll do hash and date attribs */ /* ... and file transfer thumbnails :) */ + /* add thumbnail, if appropriate */ + if (thumb_cid) { + const gchar *mimetype = purple_xfer_get_thumbnail_mimetype(xfer); + + xmlnode *thumbnail = xmlnode_new_child(file, "thumbnail"); + xmlnode_set_namespace(thumbnail, NS_THUMBS); + xmlnode_set_attrib(thumbnail, "cid", thumb_cid); + xmlnode_set_attrib(thumbnail, "mime-type", mimetype); + } + return file; } @@ -268,26 +278,25 @@ void jabber_xfer_request_thumbnail(Jabbe } } -void jabber_xfer_add_thumbnail(JabberStream *js, const xmlnode *file, - PurpleXfer *xfer) +const gchar * +jabber_xfer_add_thumbnail(JabberStream *js, PurpleXfer *xfer) { gconstpointer thumb; gsize thumb_size; - + const gchar *cid = NULL; + purple_xfer_prepare_thumbnail(xfer, "jpeg,png"); /* add thumbnail, if appropriate */ if ((thumb = purple_xfer_get_thumbnail(xfer, &thumb_size))) { const gchar *mimetype = purple_xfer_get_thumbnail_mimetype(xfer); JabberData *thumbnail_data = - jabber_data_create_from_data(thumb, thumb_size, - mimetype, TRUE, js); - xmlnode *thumbnail = xmlnode_new_child(file, "thumbnail"); - xmlnode_set_namespace(thumbnail, NS_THUMBS); - xmlnode_set_attrib(thumbnail, "cid", - jabber_data_get_cid(thumbnail_data)); - xmlnode_set_attrib(thumbnail, "mime-type", mimetype); + jabber_data_create_from_data(thumb, thumb_size, mimetype, TRUE, js); + + cid = jabber_data_get_cid(thumbnail_data); /* cache data */ jabber_data_associate_local(thumbnail_data, NULL); } + + return cid; } ============================================================ --- libpurple/protocols/jabber/xfer.h 2961f368261beb490b0878a84ae87d2813b01675 +++ libpurple/protocols/jabber/xfer.h ef5e64ff47a18f752ef3d58149f6a0c24d9026c0 @@ -28,7 +28,8 @@ void jabber_xfer_send(PurpleConnection * PurpleXfer *jabber_xfer_new(PurpleConnection *gc, const char *who); void jabber_xfer_send(PurpleConnection *gc, const char *who, const char *file); -xmlnode *jabber_xfer_create_file_element(const PurpleXfer *xfer); +xmlnode *jabber_xfer_create_file_element(const PurpleXfer *xfer, + const gchar *thumbnail_cid); PurpleXfer *jabber_xfer_create_from_xml(PurpleAccount *account, xmlnode *file, const gchar *who, gpointer data); @@ -37,8 +38,7 @@ void jabber_xfer_request_thumbnail(Jabbe void jabber_xfer_request_thumbnail(JabberStream *js, const xmlnode *file, PurpleXfer *xfer); -void jabber_xfer_add_thumbnail(JabberStream *js, const xmlnode *file, - PurpleXfer *xfer); +const gchar *jabber_xfer_add_thumbnail(JabberStream *js, PurpleXfer *xfer); #endif /* JABBER_XFER_H */ From malu at pidgin.im Tue Jun 1 16:15:50 2010 From: malu at pidgin.im (malu at pidgin.im) Date: Tue, 1 Jun 2010 16:15:50 -0400 (EDT) Subject: cpw.malu.xmpp.jingle_ft: c1a0e7e8: Removed an outdated comment. Message-ID: <20100601201550.C65D35BD00DF@rock.pidgin.im> ----------------------------------------------------------------- Revision: c1a0e7e813b5e2543e7f5b4e9421995a0d51022a Ancestor: 7a3603f1fc7bfea83297655c01786ad6e23e8954 Author: malu at pidgin.im Date: 2010-06-01T20:13:05 Branch: im.pidgin.cpw.malu.xmpp.jingle_ft URL: http://d.pidgin.im/viewmtn/revision/info/c1a0e7e813b5e2543e7f5b4e9421995a0d51022a Modified files: libpurple/protocols/jabber/data.c libpurple/protocols/jabber/jingle/file-transfer.c libpurple/protocols/jabber/xfer.c ChangeLog: Removed an outdated comment. Added guarding for a NULL argument to purple_debug_info -------------- next part -------------- ============================================================ --- libpurple/protocols/jabber/data.c bf7262ae17964ed2b2cf6f94c7f95f8c96a0c8a1 +++ libpurple/protocols/jabber/data.c 6fda9e25126487bc940d6926f96d328c0c9202b1 @@ -334,7 +334,7 @@ jabber_data_associate_local(JabberData * jabber_data_associate_local(JabberData *data, const gchar *alt) { purple_debug_info("jabber", "associating local data object\n alt = %s, cid = %s\n", - alt , jabber_data_get_cid(data)); + alt ? alt : "(null)", jabber_data_get_cid(data)); if (alt) g_hash_table_insert(local_data_by_alt, g_strdup(alt), data); g_hash_table_insert(local_data_by_cid, g_strdup(jabber_data_get_cid(data)), ============================================================ --- libpurple/protocols/jabber/jingle/file-transfer.c 9247e81da9f81a439aa7a144721cc89ea6066730 +++ libpurple/protocols/jabber/jingle/file-transfer.c 840680cb139c3b29fa48b30cbe47a0e91fffdb78 @@ -697,6 +697,7 @@ jingle_file_transfer_to_xml_internal(Jin JINGLE_FT_GET_PRIVATE(JINGLE_FT(ft))->thumbnail_cid)); } } + return node; } ============================================================ --- libpurple/protocols/jabber/xfer.c f0c7875618fd5c5171c44e32eab8df05ef259067 +++ libpurple/protocols/jabber/xfer.c 6358c383093ea205076faa9afbd79cdb0df7c4ee @@ -198,7 +198,6 @@ jabber_xfer_create_file_element(const Pu g_snprintf(buf, sizeof(buf), "%" G_GSIZE_FORMAT, xfer->size); xmlnode_set_attrib(file, "size", buf); /* maybe later we'll do hash and date attribs */ - /* ... and file transfer thumbnails :) */ /* add thumbnail, if appropriate */ if (thumb_cid) { From malu at pidgin.im Tue Jun 1 16:30:45 2010 From: malu at pidgin.im (malu at pidgin.im) Date: Tue, 1 Jun 2010 16:30:45 -0400 (EDT) Subject: cpw.malu.xmpp.jingle_ft: 42dee371: propagate from branch 'im.pidgin.pidgin'... Message-ID: <20100601203045.76E24AFD20EF@rock.pidgin.im> ----------------------------------------------------------------- Revision: 42dee37182f27e15715511311b5ea6344a884a07 Ancestor: 001baf5a55cf8ce2f642463c36cc79d93decb714 Ancestor: c1a0e7e813b5e2543e7f5b4e9421995a0d51022a Author: malu at pidgin.im Date: 2010-06-01T20:14:27 Branch: im.pidgin.cpw.malu.xmpp.jingle_ft URL: http://d.pidgin.im/viewmtn/revision/info/42dee37182f27e15715511311b5ea6344a884a07 Added files: libpurple/protocols/jabber/jingle/file-transfer.c libpurple/protocols/jabber/jingle/file-transfer.h libpurple/protocols/jabber/jingle/ibbs.c libpurple/protocols/jabber/jingle/ibbs.h libpurple/protocols/jabber/jingle/s5b.c libpurple/protocols/jabber/jingle/s5b.h libpurple/protocols/jabber/socks5.c libpurple/protocols/jabber/socks5.h libpurple/protocols/jabber/xfer.c libpurple/protocols/jabber/xfer.h Modified files: ChangeLog ChangeLog.API NEWS configure.ac libpurple/ft.c libpurple/protocols/jabber/Makefile.am libpurple/protocols/jabber/Makefile.mingw libpurple/protocols/jabber/data.c libpurple/protocols/jabber/jabber.c libpurple/protocols/jabber/jingle/jingle.c libpurple/protocols/jabber/jingle/jingle.h libpurple/protocols/jabber/jingle/session.c libpurple/protocols/jabber/jingle/session.h libpurple/protocols/jabber/libxmpp.c libpurple/protocols/jabber/si.c libpurple/protocols/msn/slplink.c libpurple/upnp.c po/ChangeLog po/POTFILES.in po/cs.po po/de.po po/he.po po/it.po po/nn.po po/pl.po po/sl.po po/uk.po po/zh_HK.po po/zh_TW.po ChangeLog: propagate from branch 'im.pidgin.pidgin' (head 001baf5a55cf8ce2f642463c36cc79d93decb714) to branch 'im.pidgin.cpw.malu.xmpp.jingle_ft' (head c1a0e7e813b5e2543e7f5b4e9421995a0d51022a) From nosnilmot at pidgin.im Tue Jun 1 21:45:45 2010 From: nosnilmot at pidgin.im (nosnilmot at pidgin.im) Date: Tue, 1 Jun 2010 21:45:45 -0400 (EDT) Subject: pidgin: 4e13d248: I forgot to update the RPM spec file for... Message-ID: <20100602014545.C5A0BAFD211B@rock.pidgin.im> ----------------------------------------------------------------- Revision: 4e13d24893523b8cf8f1197f69827e562fde3309 Ancestor: 913a8d73fc8635dab66f0c26561d1ec9fe366b09 Author: nosnilmot at pidgin.im Date: 2010-06-02T01:37:07 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/4e13d24893523b8cf8f1197f69827e562fde3309 Modified files: pidgin.spec.in ChangeLog: I forgot to update the RPM spec file for building for older releases with older hicolor-icon-theme packages before release. Oops. Refs: #12073 -------------- next part -------------- ============================================================ --- pidgin.spec.in 71c952c4fc12a30ef025dab77139689529f187fb +++ pidgin.spec.in 126eb8ab0c3700ac9c447484383da882884c6a6c @@ -241,7 +241,8 @@ CFLAGS="$RPM_OPT_FLAGS" ./configure --pr %{?_with_mono:--enable-mono} \ %{?_with_sasl:--enable-cyrus-sasl} \ %{?_without_tcl:--disable-tcl} \ - %{?_without_text:--disable-consoleui} + %{?_without_text:--disable-consoleui} \ + %{?_with_trayiconcompat:--enable-trayicon-compat} make %{?_smp_mflags} LIBTOOL=/usr/bin/libtool @@ -470,6 +471,10 @@ fi %endif %changelog +* Wed Jun 02 2010 Stu Tomlinson +- add an option to build RPMs using --enable-trayicon-compat + (--with trayiconcompat) + * Thu May 13 2010 Stu Tomlinson - Include all libpurple headers in libpurple-devel From nosnilmot at pidgin.im Tue Jun 1 22:15:36 2010 From: nosnilmot at pidgin.im (nosnilmot at pidgin.im) Date: Tue, 1 Jun 2010 22:15:36 -0400 (EDT) Subject: pidgin: 9ecf62ee: Minor comment fix. Message-ID: <20100602021536.A9A90AFD2189@rock.pidgin.im> ----------------------------------------------------------------- Revision: 9ecf62ee46d536646079029609eeab9559723f47 Ancestor: 4e13d24893523b8cf8f1197f69827e562fde3309 Author: nosnilmot at pidgin.im Date: 2010-06-02T02:13:59 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/9ecf62ee46d536646079029609eeab9559723f47 Modified files: libpurple/protocols/oscar/libaim.c ChangeLog: Minor comment fix. Refs: #12078 -------------- next part -------------- ============================================================ --- libpurple/protocols/oscar/libaim.c 3dc9d826ff98e1ff596fa383479b11c2cf677061 +++ libpurple/protocols/oscar/libaim.c 01b54961fcdc07ab86047966f1f0a83ee4bc4993 @@ -20,7 +20,7 @@ * */ -/* libaim is the AIM protocol plugin. It is linked against liboscarcommon, +/* libaim is the AIM protocol plugin. It is linked against liboscar, * which contains all the shared implementation code with libicq */ From nosnilmot at pidgin.im Tue Jun 1 22:40:36 2010 From: nosnilmot at pidgin.im (nosnilmot at pidgin.im) Date: Tue, 1 Jun 2010 22:40:36 -0400 (EDT) Subject: pidgin: a16b8324: Minor comment fix. Message-ID: <20100602024036.88630AFD2189@rock.pidgin.im> ----------------------------------------------------------------- Revision: a16b83242562658cc9f08739aedaa0a4b621077a Ancestor: 9ecf62ee46d536646079029609eeab9559723f47 Author: nosnilmot at pidgin.im Date: 2010-06-02T02:36:24 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/a16b83242562658cc9f08739aedaa0a4b621077a Modified files: libpurple/protocols/oscar/libicq.c ChangeLog: Minor comment fix. Refs: #12078 -------------- next part -------------- ============================================================ --- libpurple/protocols/oscar/libicq.c a45c5680773c949b0f6c3263afd58c6259f6fc23 +++ libpurple/protocols/oscar/libicq.c 08239dc16414230b4ee1fa40f853b9209711ca0b @@ -20,7 +20,7 @@ * */ -/* libicq is the ICQ protocol plugin. It is linked against liboscarcommon, +/* libicq is the ICQ protocol plugin. It is linked against liboscar, * which contains all the shared implementation code with libaim */ From malu at pidgin.im Wed Jun 2 17:10:59 2010 From: malu at pidgin.im (malu at pidgin.im) Date: Wed, 2 Jun 2010 17:10:59 -0400 (EDT) Subject: cpw.malu.xmpp.jingle_ft: 665c9dc6: propagate from branch 'im.pidgin.pidgin'... Message-ID: <20100602211059.7BAC6AFD1FFE@rock.pidgin.im> ----------------------------------------------------------------- Revision: 665c9dc6b4373984c459da460368975fc7dd2386 Ancestor: 42dee37182f27e15715511311b5ea6344a884a07 Ancestor: a16b83242562658cc9f08739aedaa0a4b621077a Author: malu at pidgin.im Date: 2010-06-02T21:05:16 Branch: im.pidgin.cpw.malu.xmpp.jingle_ft URL: http://d.pidgin.im/viewmtn/revision/info/665c9dc6b4373984c459da460368975fc7dd2386 Added files: libpurple/protocols/jabber/jingle/file-transfer.c libpurple/protocols/jabber/jingle/file-transfer.h libpurple/protocols/jabber/jingle/ibbs.c libpurple/protocols/jabber/jingle/ibbs.h libpurple/protocols/jabber/jingle/s5b.c libpurple/protocols/jabber/jingle/s5b.h libpurple/protocols/jabber/socks5.c libpurple/protocols/jabber/socks5.h libpurple/protocols/jabber/xfer.c libpurple/protocols/jabber/xfer.h Modified files: ChangeLog ChangeLog.API configure.ac libpurple/ft.c libpurple/protocols/jabber/Makefile.am libpurple/protocols/jabber/Makefile.mingw libpurple/protocols/jabber/data.c libpurple/protocols/jabber/jabber.c libpurple/protocols/jabber/jingle/jingle.c libpurple/protocols/jabber/jingle/jingle.h libpurple/protocols/jabber/jingle/session.c libpurple/protocols/jabber/jingle/session.h libpurple/protocols/jabber/libxmpp.c libpurple/protocols/jabber/si.c libpurple/protocols/msn/notification.c libpurple/protocols/oscar/libaim.c libpurple/protocols/oscar/libicq.c libpurple/protocols/oscar/oscar.c pidgin.spec.in po/af.po po/am.po po/ar.po po/az.po po/be at latin.po po/bg.po po/bn.po po/bn_IN.po po/bs.po po/ca.po po/ca at valencia.po po/cs.po po/da.po po/de.po po/dz.po po/el.po po/en_AU.po po/en_CA.po po/en_GB.po po/eo.po po/es.po po/et.po po/eu.po po/fa.po po/fi.po po/fr.po po/ga.po po/gl.po po/gu.po po/he.po po/hi.po po/hu.po po/hy.po po/id.po po/it.po po/ja.po po/ka.po po/km.po po/kn.po po/ko.po po/ku.po po/lo.po po/lt.po po/mk.po po/mn.po po/mr.po po/ms_MY.po po/my_MM.po po/nb.po po/ne.po po/nl.po po/nn.po po/oc.po po/or.po po/pa.po po/pl.po po/ps.po po/pt.po po/pt_BR.po po/ro.po po/ru.po po/si.po po/sk.po po/sl.po po/sq.po po/sr.po po/sr at latin.po po/sv.po po/sw.po po/ta.po po/te.po po/th.po po/tr.po po/uk.po po/ur.po po/vi.po po/xh.po po/zh_CN.po po/zh_HK.po po/zh_TW.po ChangeLog: propagate from branch 'im.pidgin.pidgin' (head a16b83242562658cc9f08739aedaa0a4b621077a) to branch 'im.pidgin.cpw.malu.xmpp.jingle_ft' (head 42dee37182f27e15715511311b5ea6344a884a07) From markdoliner at pidgin.im Wed Jun 2 17:45:41 2010 From: markdoliner at pidgin.im (markdoliner at pidgin.im) Date: Wed, 2 Jun 2010 17:45:41 -0400 (EDT) Subject: pidgin: 5659c7bb: Remove a stray word from a comment Message-ID: <20100602214541.513D1AFD1FFE@rock.pidgin.im> ----------------------------------------------------------------- Revision: 5659c7bbef24cb9a8c8a573ce4371598b5316649 Ancestor: a16b83242562658cc9f08739aedaa0a4b621077a Author: markdoliner at pidgin.im Date: 2010-06-02T21:41:16 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/5659c7bbef24cb9a8c8a573ce4371598b5316649 Modified files: libpurple/protocols/msn/user.h ChangeLog: Remove a stray word from a comment -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/user.h e64a306b01966c54fe466f68950dc7f90b32cd8c +++ libpurple/protocols/msn/user.h 0fce42b750855c05ade19564e81d510bd1c6ae96 @@ -57,8 +57,8 @@ typedef enum * put this info in in a separate struct to save memory because we * allocate an MsnUser struct for each buddy, but we generally only * need this information for a small percentage of our buddies - * (usually less than 1%). Putting it in a separate struct saves - * makes MsnUser smaller by the size of a few pointers. + * (usually less than 1%). Putting it in a separate struct makes + * MsnUser smaller by the size of a few pointers. */ typedef struct _MsnUserExtendedInfo { From andrew.victor at mxit.com Wed Jun 2 18:00:58 2010 From: andrew.victor at mxit.com (andrew.victor at mxit.com) Date: Wed, 2 Jun 2010 18:00:58 -0400 (EDT) Subject: pidgin.mxit: 5678075a: propagate from branch 'im.pidgin.pidgin'... Message-ID: <20100602220100.63F1CAFD1FFE@rock.pidgin.im> ----------------------------------------------------------------- Revision: 5678075aac60c9e2df31428334802e54973edbdb Ancestor: 695a97f9710d782a912735770e97840290fff5d9 Ancestor: 7f7ef3aa89b9c72fb9cb9d2eb1916d051a108d17 Author: andrew.victor at mxit.com Date: 2010-06-02T06:27:24 Branch: im.pidgin.pidgin.mxit URL: http://d.pidgin.im/viewmtn/revision/info/5678075aac60c9e2df31428334802e54973edbdb Modified files: ChangeLog configure.ac libpurple/dbus-analyze-functions.py libpurple/protocols/jabber/auth.c libpurple/protocols/jabber/chat.h libpurple/protocols/msn/directconn.c libpurple/protocols/msn/directconn.h libpurple/protocols/msn/slp.c libpurple/protocols/msn/slplink.c libpurple/protocols/mxit/http.c libpurple/protocols/mxit/login.c libpurple/protocols/mxit/markup.c libpurple/protocols/mxit/mxit.c libpurple/protocols/mxit/mxit.h libpurple/protocols/mxit/roster.c libpurple/protocols/qq/qq_base.c pidgin/gtkblist.c pidgin/pixmaps/Makefile.am pidgin/pixmaps/Makefile.mingw pidgin/pixmaps/tray/hicolor/index.theme pidgin/plugins/gevolution/add_buddy_dialog.c pidgin/plugins/gevolution/gevolution.c pidgin/plugins/gevolution/new_person_dialog.c po/ca at valencia.po ChangeLog: propagate from branch 'im.pidgin.pidgin' (head 7f7ef3aa89b9c72fb9cb9d2eb1916d051a108d17) to branch 'im.pidgin.pidgin.mxit' (head 695a97f9710d782a912735770e97840290fff5d9) From andrew.victor at mxit.com Wed Jun 2 18:01:02 2010 From: andrew.victor at mxit.com (andrew.victor at mxit.com) Date: Wed, 2 Jun 2010 18:01:02 -0400 (EDT) Subject: pidgin.mxit: 695a97f9: merge of 'c32c1fdff08db87b69fc0eb921a5ea... Message-ID: <20100602220102.7D90A5BD014E@rock.pidgin.im> ----------------------------------------------------------------- Revision: 695a97f9710d782a912735770e97840290fff5d9 Ancestor: c32c1fdff08db87b69fc0eb921a5eaafcb5ef67e Ancestor: fcd99a6bb8c6362d64f295a1b95a5b1130460b85 Author: andrew.victor at mxit.com Date: 2010-05-28T21:10:09 Branch: im.pidgin.pidgin.mxit URL: http://d.pidgin.im/viewmtn/revision/info/695a97f9710d782a912735770e97840290fff5d9 Added files: pidgin/pixmaps/tray/hicolor/index.theme Modified files: COPYRIGHT ChangeLog ChangeLog.win32 Makefile.am libpurple/media/backend-fs2.h libpurple/protocols/msn/Makefile.am libpurple/protocols/msn/Makefile.mingw libpurple/protocols/msn/directconn.c libpurple/protocols/msn/directconn.h libpurple/protocols/msn/msg.c libpurple/protocols/msn/slp.c libpurple/protocols/msn/slp.h libpurple/protocols/msn/slpcall.h libpurple/protocols/msn/slplink.c libpurple/protocols/msn/slplink.h libpurple/protocols/msn/slpmsg.c libpurple/protocols/msn/state.c libpurple/protocols/msn/switchboard.c libpurple/protocols/mxit/http.c libpurple/protocols/mxit/login.c libpurple/protocols/mxit/markup.c libpurple/protocols/mxit/mxit.c libpurple/protocols/mxit/mxit.h libpurple/protocols/mxit/roster.c libpurple/protocols/qq/qq_base.c pidgin/gtkdocklet-gtk.c pidgin/pixmaps/Makefile.am pidgin/win32/nsis/generate_gtk_zip.sh pidgin/win32/nsis/nsis_translations.desktop.in po/ca.po po/de.po po/fr.po ChangeLog: merge of 'c32c1fdff08db87b69fc0eb921a5eaafcb5ef67e' and 'fcd99a6bb8c6362d64f295a1b95a5b1130460b85' From andrew.victor at mxit.com Wed Jun 2 18:01:03 2010 From: andrew.victor at mxit.com (andrew.victor at mxit.com) Date: Wed, 2 Jun 2010 18:01:03 -0400 (EDT) Subject: pidgin.mxit: a0724faf: For the debug message: Message-ID: <20100602220103.723D45BD0149@rock.pidgin.im> ----------------------------------------------------------------- Revision: a0724fafa6049a9eceda5b9605e07a5a0f95e26f Ancestor: 5678075aac60c9e2df31428334802e54973edbdb Author: andrew.victor at mxit.com Date: 2010-06-02T06:38:22 Branch: im.pidgin.pidgin.mxit URL: http://d.pidgin.im/viewmtn/revision/info/a0724fafa6049a9eceda5b9605e07a5a0f95e26f Modified files: libpurple/protocols/mxit/protocol.c ChangeLog: For the debug message: Timeout awaiting ACK for command log the command code in decimal not hex. Less confusion that way. -------------- next part -------------- ============================================================ --- libpurple/protocols/mxit/protocol.c 45d6424a6c418ee410a41b95fa0d60b935c40af0 +++ libpurple/protocols/mxit/protocol.c b9ceffc9dbb27b91d58bc792ac63cda4ea7505c6 @@ -520,7 +520,7 @@ gboolean mxit_manage_queue( gpointer use /* we are still waiting for an outstanding ACK from the MXit server */ if ( session->last_tx <= time( NULL ) - MXIT_ACK_TIMEOUT ) { /* ack timeout! so we close the connection here */ - purple_debug_info( MXIT_PLUGIN_ID, "mxit_manage_queue: Timeout awaiting ACK for command '%X'\n", session->outack ); + purple_debug_info( MXIT_PLUGIN_ID, "mxit_manage_queue: Timeout awaiting ACK for command '%i'\n", session->outack ); purple_connection_error( session->con, _( "Timeout while waiting for a response from the MXit server." ) ); } return TRUE; From andrew.victor at mxit.com Wed Jun 2 18:01:03 2010 From: andrew.victor at mxit.com (andrew.victor at mxit.com) Date: Wed, 2 Jun 2010 18:01:03 -0400 (EDT) Subject: pidgin.mxit: 819b7b49: For MXit emoticons, it is "shocked.png" ... Message-ID: <20100602220103.17A3DAFD22D1@rock.pidgin.im> ----------------------------------------------------------------- Revision: 819b7b498d49ef63fabf7e08c3a5c9263294a09f Ancestor: a0724fafa6049a9eceda5b9605e07a5a0f95e26f Author: andrew.victor at mxit.com Date: 2010-06-02T21:55:44 Branch: im.pidgin.pidgin.mxit URL: http://d.pidgin.im/viewmtn/revision/info/819b7b498d49ef63fabf7e08c3a5c9263294a09f Modified files: pidgin/pixmaps/emotes/default/24/default.theme.in ChangeLog: For MXit emoticons, it is "shocked.png" and not "shock.png". -------------- next part -------------- ============================================================ --- pidgin/pixmaps/emotes/default/24/default.theme.in 89d38e159104c7dad0d27b27dfd9da88d9227ec7 +++ pidgin/pixmaps/emotes/default/24/default.theme.in 882e802df637b0fc04f23f7cb09f8949013a5ae9 @@ -459,7 +459,7 @@ neutral.png :-| :| wink.png ;-) ;) excited.png :-D :D :-> :> neutral.png :-| :| -shock.png :-O :O +shocked.png :-O :O tongue.png :-P :P embarrassed.png :-$ :$ glasses-cool.png 8-) From andrew.victor at mxit.com Wed Jun 2 18:01:03 2010 From: andrew.victor at mxit.com (andrew.victor at mxit.com) Date: Wed, 2 Jun 2010 18:01:03 -0400 (EDT) Subject: pidgin.mxit: c32c1fdf: Some spelling fixes to code comments. Message-ID: <20100602220103.CA3E45BD0148@rock.pidgin.im> ----------------------------------------------------------------- Revision: c32c1fdff08db87b69fc0eb921a5eaafcb5ef67e Ancestor: b4547e5df2f928e2dc0e471d88aa7a8975222c0e Author: andrew.victor at mxit.com Date: 2010-05-28T21:08:49 Branch: im.pidgin.pidgin.mxit URL: http://d.pidgin.im/viewmtn/revision/info/c32c1fdff08db87b69fc0eb921a5eaafcb5ef67e Modified files: libpurple/protocols/mxit/http.c libpurple/protocols/mxit/login.c libpurple/protocols/mxit/markup.c libpurple/protocols/mxit/mxit.c libpurple/protocols/mxit/mxit.h libpurple/protocols/mxit/roster.c ChangeLog: Some spelling fixes to code comments. -------------- next part -------------- ============================================================ --- libpurple/protocols/mxit/http.c 72cffec0b64f47965ba9a2e2817e0d39e8745507 +++ libpurple/protocols/mxit/http.c ea9ce725c8fc71cd140d4c946df23c58b5bec956 @@ -118,7 +118,7 @@ static void mxit_cb_http_read( gpointer /* read bytes from the socket */ len = read( session->fd, buf + buflen, sizeof( buf ) - buflen ); if ( len <= 0 ) { - /* connection has been terminated, or error occured */ + /* connection has been terminated, or error occurred */ goto done; } @@ -139,7 +139,7 @@ static void mxit_cb_http_read( gpointer } buflen += len; - /* we have the header's end now skip over the http seperator to get the body offset */ + /* we have the header's end now skip over the http separator to get the body offset */ ch += strlen( HTTP_11_SEPERATOR ); *(ch - 1) = '\0'; body = ch; @@ -206,7 +206,7 @@ static void mxit_cb_http_read( gpointer /* read bytes from the socket */ len = read( session->fd, &session->rx_dbuf[session->rx_i], session->rx_res ); if ( len <= 0 ) { - /* connection has been terminated, or error occured */ + /* connection has been terminated, or error occurred */ goto done; } ============================================================ --- libpurple/protocols/mxit/login.c 69634f73e44d7cd8202d919b719b3dfa0c8e15ab +++ libpurple/protocols/mxit/login.c 39098bab736b280eedce55173d685922a5fa7de9 @@ -637,7 +637,7 @@ static void mxit_cb_clientinfo1( PurpleU /* add the captcha */ logindata->captcha = purple_base64_decode( parts[3], &logindata->captcha_size ); - field = purple_request_field_image_new( "capcha", _( "Security Code" ), (gchar*) logindata->captcha, logindata->captcha_size ); + field = purple_request_field_image_new( "captcha", _( "Security Code" ), (gchar*) logindata->captcha, logindata->captcha_size ); purple_request_field_group_add_field( group, field ); /* ask for input (required) */ @@ -659,7 +659,7 @@ static void mxit_cb_clientinfo1( PurpleU } purple_request_field_list_add( field, country[1], g_strdup( country[0] ) ); if ( strcmp( country[1], parts[6] ) == 0 ) { - /* based on the user's ip, this is his current country code, so we default to it */ + /* based on the user's IP, this is his current country code, so we default to it */ purple_request_field_list_add_selected( field, country[1] ); } g_strfreev( country ); ============================================================ --- libpurple/protocols/mxit/markup.c 4a1308c1a56f8300203a78cbb2af6ece367479b5 +++ libpurple/protocols/mxit/markup.c 7425eff2b4c1e5c2e133fbcfaed2daff16f42444 @@ -257,7 +257,7 @@ static void mxit_show_split_message( str * all the text as is to the conversation window. this message dump is very * confusing and makes it totally unusable. to work around this we will count * the amount of tags and if its more than the pidgin threshold, we will just - * break the message up into smaller parts and send them seperately to pidgin. + * break the message up into smaller parts and send them separately to pidgin. * to the user it will look like multiple messages, but at least he will be able * to use and understand it. */ ============================================================ --- libpurple/protocols/mxit/mxit.c dc64911072f9358f2ee33af22ca466092ede07d9 +++ libpurple/protocols/mxit/mxit.c a1cb4e2f463dd954f5d9c073aa18708ebe4f88e8 @@ -145,7 +145,7 @@ void mxit_register_uri_handler(void) /*------------------------------------------------------------------------ - * Unegister MXit from receiving URI click notifications from the UI + * Unregister MXit from receiving URI click notifications from the UI */ static void mxit_unregister_uri_handler() { @@ -203,7 +203,7 @@ static void mxit_cb_chat_created( Purple if ( find_active_chat( session->active_chats, who ) ) return; - /* determite if this buddy is a MXit service */ + /* determine if this buddy is a MXit service */ switch ( contact->type ) { case MXIT_TYPE_BOT : case MXIT_TYPE_CHATROOM : @@ -594,7 +594,7 @@ static PurplePluginProtocolInfo proto_in 32, 32, /* min width & height */ MXIT_AVATAR_SIZE, /* max width */ MXIT_AVATAR_SIZE, /* max height */ - 100000, /* max filezize */ + 100000, /* max filesize */ PURPLE_ICON_SCALE_SEND | PURPLE_ICON_SCALE_DISPLAY /* scaling rules */ }, mxit_list_icon, /* list_icon */ ============================================================ --- libpurple/protocols/mxit/mxit.h 71ccf7b24a94ad4baec68faa1176290dd58fa454 +++ libpurple/protocols/mxit/mxit.h b8ba177f94dec3776b4703c253f1cbc3ab73ad91 @@ -105,7 +105,7 @@ /* Client session flags */ #define MXIT_FLAG_CONNECTED 0x01 /* established connection to the server */ #define MXIT_FLAG_LOGGEDIN 0x02 /* user currently logged in */ -#define MXIT_FLAG_FIRSTROSTER 0x04 /* set to true once the first roster update has been recevied and processed */ +#define MXIT_FLAG_FIRSTROSTER 0x04 /* set to true once the first roster update has been received and processed */ /* define this to enable the link clicking support */ ============================================================ --- libpurple/protocols/mxit/roster.c b15ba396586bf5ef56ff31581bc6b9bb0d2f097e +++ libpurple/protocols/mxit/roster.c 71537e47b6d178726ee7ba65bddb8b17c6bcc5fe @@ -44,12 +44,12 @@ static struct status /* statuses (reference: libpurple/status.h) */ static struct status { - PurpleStatusPrimitive primative; + PurpleStatusPrimitive primitive; int mxit; const char* id; const char* name; } const mxit_statuses[] = { - /* primative, no, id, name */ + /* primitive, no, id, name */ { PURPLE_STATUS_OFFLINE, MXIT_PRESENCE_OFFLINE, "offline", N_( "Offline" ) }, /* 0 */ { PURPLE_STATUS_AVAILABLE, MXIT_PRESENCE_ONLINE, "online", N_( "Available" ) }, /* 1 */ { PURPLE_STATUS_AWAY, MXIT_PRESENCE_AWAY, "away", N_( "Away" ) }, /* 2 */ @@ -74,7 +74,7 @@ GList* mxit_status_types( PurpleAccount* const struct status* status = &mxit_statuses[i]; /* add mxit status (reference: "libpurple/status.h") */ - type = purple_status_type_new_with_attrs( status->primative, status->id, _( status->name ), TRUE, TRUE, FALSE, + type = purple_status_type_new_with_attrs( status->primitive, status->id, _( status->name ), TRUE, TRUE, FALSE, "message", _( "Message" ), purple_value_new( PURPLE_TYPE_STRING ), NULL ); @@ -292,7 +292,7 @@ static PurpleBuddy* mxit_update_buddy_gr * XXX: libPurple does not currently provide an API to change or rename the group name * for a specific buddy. One option is to remove the buddy from the list and re-adding * him in the new group, but by doing that makes the buddy go offline and then online - * again. This is really not ideal and very iretating, but how else then? + * again. This is really not ideal and very irritating, but how else then? */ /* create new buddy */ From masca at cpw.pidgin.im Wed Jun 2 19:15:50 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Wed, 2 Jun 2010 19:15:50 -0400 (EDT) Subject: soc.2010.msn-tlc: 198af878: Document Flag field in the Slp binary he... Message-ID: <20100602231550.5125C5BD0149@rock.pidgin.im> ----------------------------------------------------------------- Revision: 198af8787bee2b92bcad264323c6f85a3eb55700 Ancestor: 55192b889c07b53b2299abae84dcff1c6d275a3d Author: masca at cpw.pidgin.im Date: 2010-06-02T09:00:21 Branch: im.pidgin.soc.2010.msn-tlc URL: http://d.pidgin.im/viewmtn/revision/info/198af8787bee2b92bcad264323c6f85a3eb55700 Modified files: libpurple/protocols/msn/msg.h ChangeLog: Document Flag field in the Slp binary header. -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/msg.h 3de3f539b888ce0bb26b84a7a8e1f0070bde3f84 +++ libpurple/protocols/msn/msg.h b551c58fefa3a0196d0927c76741434976a16b30 @@ -67,6 +67,23 @@ typedef void (*MsnMsgCb)(MsnMessage *, v #define MSG_OIM_BODY_DEM "\n\n" #define MSG_OIM_LINE_DEM "\n" +typedef enum +{ + SLP_HF_NO_FLAG = 0x0, /**< No flags specified */ + SLP_HF_OUT_OF_ORDER = 0x1, /**< Chunk out-of-order */ + SLP_HF_ACK = 0x2, /**< Acknowledgement */ + SLP_HF_PENDING_INVITE = 0x4, /**< There is a pending invite */ + SLP_HF_BINARY_ERROR = 0x8, /**< Error on the binary level */ + SLP_HF_MSN_OBJ_DATA = 0x20, /**< MsnObject data */ + SLP_HF_WML2009_COMP = 0x1000000, /**< Compatibility with WLM 2009 */ + SLP_HF_FILE_DATA = 0x1000030 /**< File transfer data */ +} SlpHeaderFlag; +/* Info From: + * http://msnpiki.msnfanatic.com/index.php/MSNC:P2Pv1_Headers#Flags + * http://trac.kmess.org/changeset/ba04d0c825769d23370511031c47f6be75fe9b86 + * #7180 + */ + typedef struct { guint32 session_id; From masca at cpw.pidgin.im Wed Jun 2 19:16:14 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Wed, 2 Jun 2010 19:16:14 -0400 (EDT) Subject: cpw.qulogic.msnp16: 49bf2f58: propagate from branch 'im.pidgin.pidgin'... Message-ID: <20100602231614.C9BD15BD0149@rock.pidgin.im> ----------------------------------------------------------------- Revision: 49bf2f5880edfe6f07decbf14418f2032ba59ad0 Ancestor: 6f45ed65a9417053e242214f5c2bc51028f8e01f Ancestor: a16b83242562658cc9f08739aedaa0a4b621077a Author: masca at cpw.pidgin.im Date: 2010-06-02T20:08:53 Branch: im.pidgin.cpw.qulogic.msnp16 URL: http://d.pidgin.im/viewmtn/revision/info/49bf2f5880edfe6f07decbf14418f2032ba59ad0 Deleted entries: libpurple/protocols/msn/dialog.c libpurple/protocols/msn/dialog.h libpurple/protocols/msn/sync.c libpurple/protocols/msn/sync.h Modified files: ChangeLog ChangeLog.API NEWS configure.ac libpurple/dbus-analyze-functions.py libpurple/protocols/jabber/auth.c libpurple/protocols/jabber/chat.h libpurple/protocols/msn/Makefile.am libpurple/protocols/msn/cmdproc.c libpurple/protocols/msn/cmdproc.h libpurple/protocols/msn/command.h libpurple/protocols/msn/directconn.c libpurple/protocols/msn/directconn.h libpurple/protocols/msn/error.c libpurple/protocols/msn/error.h libpurple/protocols/msn/msg.c libpurple/protocols/msn/msg.h libpurple/protocols/msn/msn.c libpurple/protocols/msn/msn.h libpurple/protocols/msn/msnutils.c libpurple/protocols/msn/msnutils.h libpurple/protocols/msn/notification.c libpurple/protocols/msn/notification.h libpurple/protocols/msn/oim.c libpurple/protocols/msn/session.c libpurple/protocols/msn/session.h libpurple/protocols/msn/slp.c libpurple/protocols/msn/slplink.c libpurple/protocols/msn/state.c libpurple/protocols/msn/state.h libpurple/protocols/msn/switchboard.c libpurple/protocols/msn/table.h libpurple/protocols/msn/transaction.c libpurple/protocols/msn/transaction.h libpurple/protocols/msn/user.c libpurple/protocols/msn/user.h libpurple/protocols/oscar/libaim.c libpurple/protocols/oscar/libicq.c libpurple/protocols/oscar/oscar.c libpurple/protocols/qq/qq_base.c libpurple/roomlist.h libpurple/upnp.c pidgin/gtkblist.c pidgin/pixmaps/Makefile.am pidgin/pixmaps/Makefile.mingw pidgin/pixmaps/tray/hicolor/index.theme pidgin/plugins/gevolution/add_buddy_dialog.c pidgin/plugins/gevolution/gevolution.c pidgin/plugins/gevolution/new_person_dialog.c pidgin.spec.in po/ChangeLog po/POTFILES.in po/af.po po/am.po po/ar.po po/az.po po/be at latin.po po/bg.po po/bn.po po/bn_IN.po po/bs.po po/ca.po po/ca at valencia.po po/cs.po po/da.po po/de.po po/dz.po po/el.po po/en_AU.po po/en_CA.po po/en_GB.po po/eo.po po/es.po po/et.po po/eu.po po/fa.po po/fi.po po/fr.po po/ga.po po/gl.po po/gu.po po/he.po po/hi.po po/hu.po po/hy.po po/id.po po/it.po po/ja.po po/ka.po po/km.po po/kn.po po/ko.po po/ku.po po/lo.po po/lt.po po/mk.po po/mn.po po/mr.po po/ms_MY.po po/my_MM.po po/nb.po po/ne.po po/nl.po po/nn.po po/oc.po po/or.po po/pa.po po/pl.po po/ps.po po/pt.po po/pt_BR.po po/ro.po po/ru.po po/si.po po/sk.po po/sl.po po/sq.po po/sr.po po/sr at latin.po po/sv.po po/sw.po po/ta.po po/te.po po/th.po po/tr.po po/uk.po po/ur.po po/vi.po po/xh.po po/zh_CN.po po/zh_HK.po po/zh_TW.po ChangeLog: propagate from branch 'im.pidgin.pidgin' (head a16b83242562658cc9f08739aedaa0a4b621077a) to branch 'im.pidgin.cpw.qulogic.msnp16' (head 6f45ed65a9417053e242214f5c2bc51028f8e01f) From masca at cpw.pidgin.im Wed Jun 2 19:16:27 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Wed, 2 Jun 2010 19:16:27 -0400 (EDT) Subject: soc.2010.msn-tlc: 5af6a35c: propagate from branch 'im.pidgin.cpw.qul... Message-ID: <20100602231627.4F2485BD0149@rock.pidgin.im> ----------------------------------------------------------------- Revision: 5af6a35c4c39341b79cc8d61c700da2b874b9b6b Ancestor: 49bf2f5880edfe6f07decbf14418f2032ba59ad0 Ancestor: b14a4e8fae0513bf8f5883c852a30bb8c3bcfc55 Author: masca at cpw.pidgin.im Date: 2010-06-02T20:51:24 Branch: im.pidgin.soc.2010.msn-tlc URL: http://d.pidgin.im/viewmtn/revision/info/5af6a35c4c39341b79cc8d61c700da2b874b9b6b Modified files: ChangeLog ChangeLog.API NEWS configure.ac libpurple/dbus-analyze-functions.py libpurple/protocols/jabber/auth.c libpurple/protocols/jabber/chat.h libpurple/protocols/msn/cmdproc.c libpurple/protocols/msn/cmdproc.h libpurple/protocols/msn/command.c libpurple/protocols/msn/contact.c libpurple/protocols/msn/directconn.c libpurple/protocols/msn/directconn.h libpurple/protocols/msn/error.c libpurple/protocols/msn/group.h libpurple/protocols/msn/history.h libpurple/protocols/msn/httpconn.h libpurple/protocols/msn/msg.c libpurple/protocols/msn/msg.h libpurple/protocols/msn/msn.c libpurple/protocols/msn/msn.h libpurple/protocols/msn/msnutils.c libpurple/protocols/msn/msnutils.h libpurple/protocols/msn/nexus.c libpurple/protocols/msn/nexus.h libpurple/protocols/msn/notification.c libpurple/protocols/msn/notification.h libpurple/protocols/msn/oim.c libpurple/protocols/msn/servconn.c libpurple/protocols/msn/servconn.h libpurple/protocols/msn/session.c libpurple/protocols/msn/session.h libpurple/protocols/msn/slp.c libpurple/protocols/msn/slp.h libpurple/protocols/msn/slpcall.c libpurple/protocols/msn/slpcall.h libpurple/protocols/msn/slplink.c libpurple/protocols/msn/slplink.h libpurple/protocols/msn/slpmsg.c libpurple/protocols/msn/state.c libpurple/protocols/msn/switchboard.c libpurple/protocols/msn/switchboard.h libpurple/protocols/msn/transaction.c libpurple/protocols/msn/transaction.h libpurple/protocols/msn/user.c libpurple/protocols/msn/user.h libpurple/protocols/msn/userlist.c libpurple/protocols/msn/userlist.h libpurple/protocols/oscar/libaim.c libpurple/protocols/oscar/libicq.c libpurple/protocols/oscar/oscar.c libpurple/protocols/qq/qq_base.c libpurple/roomlist.h libpurple/upnp.c pidgin/gtkblist.c pidgin/pixmaps/Makefile.am pidgin/pixmaps/Makefile.mingw pidgin/pixmaps/tray/hicolor/index.theme pidgin/plugins/gevolution/add_buddy_dialog.c pidgin/plugins/gevolution/gevolution.c pidgin/plugins/gevolution/new_person_dialog.c pidgin.spec.in po/ChangeLog po/POTFILES.in po/af.po po/am.po po/ar.po po/az.po po/be at latin.po po/bg.po po/bn.po po/bn_IN.po po/bs.po po/ca.po po/ca at valencia.po po/cs.po po/da.po po/de.po po/dz.po po/el.po po/en_AU.po po/en_CA.po po/en_GB.po po/eo.po po/es.po po/et.po po/eu.po po/fa.po po/fi.po po/fr.po po/ga.po po/gl.po po/gu.po po/he.po po/hi.po po/hu.po po/hy.po po/id.po po/it.po po/ja.po po/ka.po po/km.po po/kn.po po/ko.po po/ku.po po/lo.po po/lt.po po/mk.po po/mn.po po/mr.po po/ms_MY.po po/my_MM.po po/nb.po po/ne.po po/nl.po po/nn.po po/oc.po po/or.po po/pa.po po/pl.po po/ps.po po/pt.po po/pt_BR.po po/ro.po po/ru.po po/si.po po/sk.po po/sl.po po/sq.po po/sr.po po/sr at latin.po po/sv.po po/sw.po po/ta.po po/te.po po/th.po po/tr.po po/uk.po po/ur.po po/vi.po po/xh.po po/zh_CN.po po/zh_HK.po po/zh_TW.po ChangeLog: propagate from branch 'im.pidgin.cpw.qulogic.msnp16' (head 49bf2f5880edfe6f07decbf14418f2032ba59ad0) to branch 'im.pidgin.soc.2010.msn-tlc' (head b14a4e8fae0513bf8f5883c852a30bb8c3bcfc55) From masca at cpw.pidgin.im Wed Jun 2 19:16:27 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Wed, 2 Jun 2010 19:16:27 -0400 (EDT) Subject: soc.2010.msn-tlc: 6af873e1: Replace magic numbers with the enumed Sl... Message-ID: <20100602231627.CBDDC5BD0149@rock.pidgin.im> ----------------------------------------------------------------- Revision: 6af873e129a81446e3e36143b64e6d4e628e9f4c Ancestor: 198af8787bee2b92bcad264323c6f85a3eb55700 Author: masca at cpw.pidgin.im Date: 2010-06-02T09:01:12 Branch: im.pidgin.soc.2010.msn-tlc URL: http://d.pidgin.im/viewmtn/revision/info/6af873e129a81446e3e36143b64e6d4e628e9f4c Modified files: libpurple/protocols/msn/slp.c libpurple/protocols/msn/slpcall.c libpurple/protocols/msn/slplink.c ChangeLog: Replace magic numbers with the enumed SlpHeaderFlag. -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/slp.c 153e6fa85858c71e42eb824451aa16590f3d3623 +++ libpurple/protocols/msn/slp.c e5f88f0e646d8bb4cf031761501f3b8c5441b605 @@ -518,7 +518,7 @@ got_sessionreq(MsnSlpCall *slpcall, cons /* DATA */ slpmsg = msn_slpmsg_new(slplink); slpmsg->slpcall = slpcall; - slpmsg->flags = 0x20; + slpmsg->flags = SLP_HF_MSN_OBJ_DATA; slpmsg->info = "SLP DATA"; msn_slpmsg_set_image(slpmsg, img); msn_slplink_queue_slpmsg(slplink, slpmsg); ============================================================ --- libpurple/protocols/msn/slpcall.c 3ab2406763f6e87d90439c80321d016cb8f51589 +++ libpurple/protocols/msn/slpcall.c f2813c13816dc5d8ca5a40a961b963c9c39fdcaf @@ -204,7 +204,7 @@ msn_slp_process_msg(MsnSlpLink *slplink, body = slpmsg->buffer; body_len = slpmsg->offset; - if (slpmsg->flags == 0x0 || slpmsg->flags == 0x1000000) + if (slpmsg->flags == SLP_HF_NO_FLAG || slpmsg->flags == SLP_HF_WML2009_COMP) { char *body_str; @@ -265,9 +265,9 @@ msn_slp_process_msg(MsnSlpLink *slplink, } g_free(body_str); } - else if (slpmsg->flags == 0x20 || - slpmsg->flags == 0x1000020 || - slpmsg->flags == 0x1000030) + else if (slpmsg->flags == SLP_HF_MSN_OBJ_DATA || + slpmsg->flags == SLP_HF_WML2009_COMP & SLP_HF_MSN_OBJ_DATA || + slpmsg->flags == SLP_HF_FILE_DATA) { slpcall = msn_slplink_find_slp_call_with_session_id(slplink, slpmsg->session_id); @@ -293,7 +293,7 @@ msn_slp_process_msg(MsnSlpLink *slplink, msn_slpcall_session_init(slpcall); } #endif - else if (slpmsg->flags == 0x2) + else if (slpmsg->flags == SLP_HF_ACK) { /* Acknowledgement of previous message. Don't do anything currently. */ } ============================================================ --- libpurple/protocols/msn/slplink.c 1df1a2049667203aeca6e75594812bdd51a5b98e +++ libpurple/protocols/msn/slplink.c c51a106510d44c95be05c0e8e9094008f73913d2 @@ -294,7 +294,7 @@ msn_slplink_send_msgpart(MsnSlpLink *slp * reusing the same one all the time. */ msg = slpmsg->msg; - real_size = (slpmsg->flags == 0x2) ? 0 : slpmsg->size; + real_size = (slpmsg->flags == SLP_HF_ACK) ? 0 : slpmsg->size; if (slpmsg->offset < real_size) { @@ -329,8 +329,9 @@ msn_slplink_send_msgpart(MsnSlpLink *slp g_list_append(slpmsg->msgs, msn_message_ref(msg)); msn_slplink_send_msg(slplink, msg); - if ((slpmsg->flags == 0x20 || slpmsg->flags == 0x1000020 || - slpmsg->flags == 0x1000030) && + if ((slpmsg->flags == SLP_HF_MSN_OBJ_DATA || + slpmsg->flags == (SLP_HF_WML2009_COMP & SLP_HF_MSN_OBJ_DATA) || + slpmsg->flags == SLP_HF_FILE_DATA) && (slpmsg->slpcall != NULL)) { slpmsg->slpcall->progress = TRUE; @@ -354,7 +355,7 @@ msg_ack(MsnMessage *msg, void *data) slpmsg = data; - real_size = (slpmsg->flags == 0x2) ? 0 : slpmsg->size; + real_size = (slpmsg->flags == SLP_HF_ACK) ? 0 : slpmsg->size; slpmsg->offset += msg->msnslp_header.length; @@ -374,8 +375,9 @@ msg_ack(MsnMessage *msg, void *data) else { /* The whole message has been sent */ - if (slpmsg->flags == 0x20 || - slpmsg->flags == 0x1000020 || slpmsg->flags == 0x1000030) + if (slpmsg->flags == SLP_HF_MSN_OBJ_DATA || + slpmsg->flags == (SLP_HF_WML2009_COMP & SLP_HF_MSN_OBJ_DATA) || + slpmsg->flags == SLP_HF_FILE_DATA) { if (slpmsg->slpcall != NULL) { @@ -411,20 +413,21 @@ msn_slplink_release_slpmsg(MsnSlpLink *s slpmsg->msg = msg = msn_message_new_msnslp(); - if (slpmsg->flags == 0x0) + if (slpmsg->flags == SLP_HF_NO_FLAG) { msg->msnslp_header.session_id = slpmsg->session_id; msg->msnslp_header.ack_id = rand() % 0xFFFFFF00; } - else if (slpmsg->flags == 0x2) + else if (slpmsg->flags == SLP_HF_ACK) { msg->msnslp_header.session_id = slpmsg->session_id; msg->msnslp_header.ack_id = slpmsg->ack_id; msg->msnslp_header.ack_size = slpmsg->ack_size; msg->msnslp_header.ack_sub_id = slpmsg->ack_sub_id; } - else if (slpmsg->flags == 0x20 || - slpmsg->flags == 0x1000020 || slpmsg->flags == 0x1000030) + else if (slpmsg->flags == SLP_HF_MSN_OBJ_DATA || + slpmsg->flags == (SLP_HF_WML2009_COMP & SLP_HF_MSN_OBJ_DATA) || + slpmsg->flags == SLP_HF_FILE_DATA) { MsnSlpCall *slpcall; slpcall = slpmsg->slpcall; @@ -497,7 +500,7 @@ msn_slplink_create_ack(MsnSlpLink *slpli slpmsg->session_id = header->session_id; slpmsg->size = header->total_size; - slpmsg->flags = 0x02; + slpmsg->flags = SLP_HF_ACK; slpmsg->ack_id = header->id; slpmsg->ack_sub_id = header->ack_id; slpmsg->ack_size = header->total_size; @@ -535,7 +538,7 @@ send_file_cb(MsnSlpCall *slpcall) slpmsg = msn_slpmsg_new(slpcall->slplink); slpmsg->slpcall = slpcall; - slpmsg->flags = 0x1000030; + slpmsg->flags = SLP_HF_FILE_DATA; slpmsg->info = "SLP FILE"; slpmsg->size = purple_xfer_get_size(xfer); @@ -588,8 +591,9 @@ msn_slplink_process_msg(MsnSlpLink *slpl slpmsg->slpcall = msn_slplink_find_slp_call_with_session_id(slplink, slpmsg->session_id); if (slpmsg->slpcall != NULL) { - if (slpmsg->flags == 0x20 || - slpmsg->flags == 0x1000020 || slpmsg->flags == 0x1000030) + if (slpmsg->flags == SLP_HF_MSN_OBJ_DATA || + slpmsg->flags == (SLP_HF_WML2009_COMP & SLP_HF_MSN_OBJ_DATA) || + slpmsg->flags == SLP_HF_FILE_DATA) { PurpleXfer *xfer = slpmsg->slpcall->xfer; if (xfer != NULL) @@ -653,8 +657,9 @@ msn_slplink_process_msg(MsnSlpLink *slpl } } - if ((slpmsg->flags == 0x20 || - slpmsg->flags == 0x1000020 || slpmsg->flags == 0x1000030) && + if ((slpmsg->flags == SLP_HF_MSN_OBJ_DATA || + slpmsg->flags == (SLP_HF_WML2009_COMP & SLP_HF_MSN_OBJ_DATA) || + slpmsg->flags == SLP_HF_FILE_DATA) && (slpmsg->slpcall != NULL)) { slpmsg->slpcall->progress = TRUE; @@ -695,9 +700,10 @@ msn_slplink_process_msg(MsnSlpLink *slpl msn_directconn_send_handshake(directconn); #endif } - else if (slpmsg->flags == 0x00 || slpmsg->flags == 0x1000000 || - slpmsg->flags == 0x20 || slpmsg->flags == 0x1000020 || - slpmsg->flags == 0x1000030) + else if (slpmsg->flags == SLP_HF_NO_FLAG || slpmsg->flags == SLP_HF_WML2009_COMP || + slpmsg->flags == SLP_HF_MSN_OBJ_DATA || + slpmsg->flags == (SLP_HF_WML2009_COMP & SLP_HF_MSN_OBJ_DATA) || + slpmsg->flags == SLP_HF_FILE_DATA) { /* Release all the messages and send the ACK */ From masca at cpw.pidgin.im Wed Jun 2 19:16:28 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Wed, 2 Jun 2010 19:16:28 -0400 (EDT) Subject: soc.2010.msn-tlc: b14a4e8f: Cleanup notification.c includes Message-ID: <20100602231628.59AC35BD0149@rock.pidgin.im> ----------------------------------------------------------------- Revision: b14a4e8fae0513bf8f5883c852a30bb8c3bcfc55 Ancestor: 6af873e129a81446e3e36143b64e6d4e628e9f4c Author: masca at cpw.pidgin.im Date: 2010-06-02T09:33:21 Branch: im.pidgin.soc.2010.msn-tlc URL: http://d.pidgin.im/viewmtn/revision/info/b14a4e8fae0513bf8f5883c852a30bb8c3bcfc55 Modified files: libpurple/protocols/msn/notification.c ChangeLog: Cleanup notification.c includes * Delete slplink.h and page.h. * Alphabetize. -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/notification.c 42bc1771289edcf0e9fb3f9ee173aa6ea2d40f3a +++ libpurple/protocols/msn/notification.c e1745eb332c355b88c37e203bb16aca93d8cf0c2 @@ -23,19 +23,17 @@ */ #include "internal.h" -#include "debug.h" #include "cipher.h" +#include "core.h" +#include "debug.h" -#include "core.h" #include "notification.h" + #include "contact.h" -#include "state.h" #include "error.h" #include "msnutils.h" -#include "page.h" - +#include "state.h" #include "userlist.h" -#include "slplink.h" static MsnTable *cbs_table; From qulogic at pidgin.im Wed Jun 2 19:55:35 2010 From: qulogic at pidgin.im (qulogic at pidgin.im) Date: Wed, 2 Jun 2010 19:55:35 -0400 (EDT) Subject: pidgin: 18cd6564: We shouldn't free user->extinfo here bec... Message-ID: <20100602235535.D2E8EAFD214A@rock.pidgin.im> ----------------------------------------------------------------- Revision: 18cd6564fcc8549ee15525d25d4f913970d3732a Ancestor: 5659c7bbef24cb9a8c8a573ce4371598b5316649 Author: qulogic at pidgin.im Date: 2010-06-02T23:29:21 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/18cd6564fcc8549ee15525d25d4f913970d3732a Modified files: libpurple/protocols/msn/notification.c ChangeLog: We shouldn't free user->extinfo here because it can also contain phone numbers. Mark says freeing this struct at this point is not so much of a priority in the grand scheme of saving memory. -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/notification.c fdbe9376497f0701dc1405014f64977240d98a90 +++ libpurple/protocols/msn/notification.c 71c65de3d7d7119f105f39002f5d98c8856c748e @@ -1610,11 +1610,6 @@ ubx_cmd_post(MsnCmdProc *cmdproc, MsnCom msn_user_set_statusline(user, NULL); } - if (user->extinfo && user->extinfo->media_type == CURRENT_MEDIA_UNKNOWN) { - g_free(user->extinfo); - user->extinfo = NULL; - } - msn_user_update(user); } From markdoliner at pidgin.im Wed Jun 2 21:25:39 2010 From: markdoliner at pidgin.im (markdoliner at pidgin.im) Date: Wed, 2 Jun 2010 21:25:39 -0400 (EDT) Subject: pidgin: df74d7ca: I noticed that this wasn't being used Message-ID: <20100603012539.EE5EAAFD20EC@rock.pidgin.im> ----------------------------------------------------------------- Revision: df74d7caca3d52c69d1513a3e75f8b0b31ce5de9 Ancestor: 18cd6564fcc8549ee15525d25d4f913970d3732a Author: markdoliner at pidgin.im Date: 2010-06-03T01:22:31 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/df74d7caca3d52c69d1513a3e75f8b0b31ce5de9 Modified files: libpurple/protocols/msn/directconn.c ChangeLog: I noticed that this wasn't being used -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/directconn.c ec805da71f3a0f8d8e1a9a985490dc634965cfd1 +++ libpurple/protocols/msn/directconn.c e4c6df66387f55fbc08679c133b888ef6ae6b287 @@ -811,15 +811,12 @@ msn_dc_incoming_connection_timeout_cb(gp static gboolean msn_dc_incoming_connection_timeout_cb(gpointer data) { MsnDirectConn *dc = data; - MsnSlpCall *slpcall; if (purple_debug_is_verbose()) purple_debug_info("msn", "msn_dc_incoming_connection_timeout_cb %p\n", dc); g_return_val_if_fail(dc != NULL, FALSE); - slpcall = dc->slpcall; - if (dc->listen_data != NULL) { purple_network_listen_cancel(dc->listen_data); dc->listen_data = NULL; From datallah at pidgin.im Wed Jun 2 23:11:01 2010 From: datallah at pidgin.im (datallah at pidgin.im) Date: Wed, 2 Jun 2010 23:11:01 -0400 (EDT) Subject: pidgin: 1ea3865b: Make sure that the translations in the i... Message-ID: <20100603031101.312AAAFD1FA0@rock.pidgin.im> ----------------------------------------------------------------- Revision: 1ea3865b477734411bc371709c1d29d4a4be04ab Ancestor: df74d7caca3d52c69d1513a3e75f8b0b31ce5de9 Author: datallah at pidgin.im Date: 2010-06-03T03:08:22 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/1ea3865b477734411bc371709c1d29d4a4be04ab Modified files: Makefile.mingw ChangeLog: Make sure that the translations in the installer are displayed sorted. -------------- next part -------------- ============================================================ --- Makefile.mingw a1b1a8abd58ab26d2c76e3bb5213a37e12e93238 +++ Makefile.mingw 278b7927f9db6f3ca164fc359d0670cab097d1bb @@ -107,7 +107,7 @@ generate_installer_includes: create_rele rm -f pidgin/win32/nsis/pidgin-translations.nsh pidgin/win32/nsis/pidgin-spellcheck.nsh pidgin/win32/nsis/pidgin-spellcheck-preselect.nsh find $(STRIPPED_RELEASE_DIR)/locale -maxdepth 1 -mindepth 1 \ -exec basename {} ';' \ - | sed -e s/^/\!insertmacro\ LANG_SECTION\ \"/ -e s/$$/\"/ \ + | LC_ALL=C sort | sed -e s/^/\!insertmacro\ LANG_SECTION\ \"/ -e s/$$/\"/ \ > pidgin/win32/nsis/pidgin-translations.nsh #Convert the available.lst lines to "!insertmacro SPELLCHECK_SECTION lang lang_name lang_file" sed -e "/^#/d" -e "s/^[^,]\{1,\},[^,]\{1,\},/\"/" \ From sadrul at pidgin.im Wed Jun 2 23:25:32 2010 From: sadrul at pidgin.im (sadrul at pidgin.im) Date: Wed, 2 Jun 2010 23:25:32 -0400 (EDT) Subject: pidgin: 03c0ab28: merge of '1ea3865b477734411bc371709c1d29... Message-ID: <20100603032532.41975AFD1FA0@rock.pidgin.im> ----------------------------------------------------------------- Revision: 03c0ab2851cc27d6b9e3a270c343cf3116c485ac Ancestor: 1ea3865b477734411bc371709c1d29d4a4be04ab Ancestor: 2ac6557a402c32c1c9cc902a500058eb824f0795 Author: sadrul at pidgin.im Date: 2010-06-03T03:24:05 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/03c0ab2851cc27d6b9e3a270c343cf3116c485ac Modified files: Makefile.mingw pidgin/gtkconv.c pidgin/gtkimhtmltoolbar.c ChangeLog: merge of '1ea3865b477734411bc371709c1d29d4a4be04ab' and '2ac6557a402c32c1c9cc902a500058eb824f0795' From sadrul at pidgin.im Wed Jun 2 23:25:32 2010 From: sadrul at pidgin.im (sadrul at pidgin.im) Date: Wed, 2 Jun 2010 23:25:32 -0400 (EDT) Subject: pidgin: 2ac6557a: Do not trigger the formatting toolbar bu... Message-ID: <20100603032532.B465CAFD1FA0@rock.pidgin.im> ----------------------------------------------------------------- Revision: 2ac6557a402c32c1c9cc902a500058eb824f0795 Ancestor: 48534a1964f1e97c7be7d751cf33f9edbdf90422 Author: sadrul at pidgin.im Date: 2010-06-03T03:22:09 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/2ac6557a402c32c1c9cc902a500058eb824f0795 Modified files: pidgin/gtkimhtmltoolbar.c ChangeLog: Do not trigger the formatting toolbar buttons on right-click. Right-clicking the buttons on the formatting toolbar should not trigger the callback, instead it should pop up the '(Un)Group Items' menu. -------------- next part -------------- ============================================================ --- pidgin/gtkimhtmltoolbar.c ff592188a0b7b22cd29683fc96b21a5dd43d108c +++ pidgin/gtkimhtmltoolbar.c bc5fee66c34d6b952679849fbefcffe34e842ca9 @@ -49,6 +49,9 @@ static void toggle_button_set_active_blo gboolean is_active, GtkIMHtmlToolbar *toolbar); +static gboolean +gtk_imhtmltoolbar_popup_menu(GtkWidget *widget, + GdkEventButton *event, GtkIMHtmlToolbar *toolbar); static void do_bold(GtkWidget *bold, GtkIMHtmlToolbar *toolbar) { @@ -1098,6 +1101,16 @@ menu_position_func (GtkMenu *m *y -= widget->allocation.height; } +static gboolean +button_activate_on_click(GtkWidget *button, GdkEventButton *event, GtkIMHtmlToolbar *toolbar) +{ + if (event->button == 1 && GTK_IS_TOGGLE_BUTTON(button)) + gtk_widget_activate(button); + else if (event->button == 3) + return gtk_imhtmltoolbar_popup_menu(button, event, toolbar); + return FALSE; +} + static void pidgin_menu_clicked(GtkWidget *button, GtkMenu *menu) { gtk_widget_show_all(GTK_WIDGET(menu)); @@ -1241,6 +1254,7 @@ static void gtk_imhtmltoolbar_create_old for (iter = 0; buttons[iter].stock; iter++) { if (buttons[iter].stock[0]) { button = pidgin_pixbuf_toolbar_button_from_stock(buttons[iter].stock); + g_signal_connect(G_OBJECT(button), "button-press-event", G_CALLBACK(button_activate_on_click), toolbar); g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(buttons[iter].callback), toolbar); *(buttons[iter].button) = button; @@ -1251,6 +1265,7 @@ static void gtk_imhtmltoolbar_create_old } /* create the attention button (this is a bit hacky to not break ABI) */ button = pidgin_pixbuf_toolbar_button_from_stock(PIDGIN_STOCK_TOOLBAR_SEND_ATTENTION); + g_signal_connect(G_OBJECT(button), "button-press-event", G_CALLBACK(button_activate_on_click), toolbar); g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(send_attention_cb), toolbar); g_object_set_data(G_OBJECT(toolbar), "attention", button); @@ -1382,7 +1397,7 @@ static void gtk_imhtmltoolbar_init (GtkI gtk_container_foreach(GTK_CONTAINER(menuitem), (GtkCallback)enable_markup, NULL); } - g_signal_connect_swapped(G_OBJECT(font_button), "button-press-event", G_CALLBACK(gtk_widget_activate), font_button); + g_signal_connect(G_OBJECT(font_button), "button-press-event", G_CALLBACK(button_activate_on_click), toolbar); g_signal_connect(G_OBJECT(font_button), "activate", G_CALLBACK(pidgin_menu_clicked), font_menu); g_signal_connect(G_OBJECT(font_menu), "deactivate", G_CALLBACK(pidgin_menu_deactivate), font_button); @@ -1423,7 +1438,7 @@ static void gtk_imhtmltoolbar_init (GtkI gtk_menu_shell_append(GTK_MENU_SHELL(insert_menu), menuitem); toolbar->insert_hr = menuitem; - g_signal_connect_swapped(G_OBJECT(insert_button), "button-press-event", G_CALLBACK(gtk_widget_activate), insert_button); + g_signal_connect(G_OBJECT(insert_button), "button-press-event", G_CALLBACK(button_activate_on_click), toolbar); g_signal_connect(G_OBJECT(insert_button), "activate", G_CALLBACK(pidgin_menu_clicked), insert_menu); g_signal_connect(G_OBJECT(insert_menu), "deactivate", G_CALLBACK(pidgin_menu_deactivate), insert_button); toolbar->sml = NULL; @@ -1443,6 +1458,7 @@ static void gtk_imhtmltoolbar_init (GtkI label = gtk_label_new_with_mnemonic(_("_Smile!")); gtk_box_pack_start(GTK_BOX(bbox), label, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(box), smiley_button, FALSE, FALSE, 0); + g_signal_connect(G_OBJECT(smiley_button), "button-press-event", G_CALLBACK(button_activate_on_click), toolbar); g_signal_connect_swapped(G_OBJECT(smiley_button), "clicked", G_CALLBACK(gtk_button_clicked), toolbar->smiley); gtk_widget_show_all(smiley_button); From sadrul at pidgin.im Wed Jun 2 23:25:33 2010 From: sadrul at pidgin.im (sadrul at pidgin.im) Date: Wed, 2 Jun 2010 23:25:33 -0400 (EDT) Subject: pidgin: 48534a19: Reset 'undo' history when a message is s... Message-ID: <20100603032533.3B5EDAFD1FA0@rock.pidgin.im> ----------------------------------------------------------------- Revision: 48534a1964f1e97c7be7d751cf33f9edbdf90422 Ancestor: df74d7caca3d52c69d1513a3e75f8b0b31ce5de9 Author: sadrul at pidgin.im Date: 2010-06-03T02:19:28 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/48534a1964f1e97c7be7d751cf33f9edbdf90422 Modified files: pidgin/gtkconv.c ChangeLog: Reset 'undo' history when a message is sent. -------------- next part -------------- ============================================================ --- pidgin/gtkconv.c e16029d77834443edabb800e46530fb476afb54a +++ pidgin/gtkconv.c cef422192a37a5966dba76f5b879e24470fce162 @@ -282,6 +282,15 @@ static void } static void +conversation_entry_clear(PidginConversation *gtkconv) +{ + GtkIMHtml *imhtml = GTK_IMHTML(gtkconv->entry); + gtk_source_undo_manager_begin_not_undoable_action(imhtml->undo_manager); + gtk_imhtml_clear(imhtml); + gtk_source_undo_manager_end_not_undoable_action(imhtml->undo_manager); +} + +static void clear_formatting_cb(GtkIMHtml *imhtml, PidginConversation *gtkconv) { default_formatize(gtkconv); @@ -557,7 +566,7 @@ send_cb(GtkWidget *widget, PidginConvers account = purple_conversation_get_account(conv); if (check_for_and_do_command(conv)) { - gtk_imhtml_clear(GTK_IMHTML(gtkconv->entry)); + conversation_entry_clear(gtkconv); return; } @@ -612,7 +621,7 @@ send_cb(GtkWidget *widget, PidginConvers g_free(clean); g_free(buf); - gtk_imhtml_clear(GTK_IMHTML(gtkconv->entry)); + conversation_entry_clear(gtkconv); gtkconv_set_unseen(gtkconv, PIDGIN_UNSEEN_NONE); } From markdoliner at pidgin.im Thu Jun 3 00:16:33 2010 From: markdoliner at pidgin.im (markdoliner at pidgin.im) Date: Thu, 3 Jun 2010 00:16:33 -0400 (EDT) Subject: pidgin: 3ccde42b: I found these by running "strings" on so... Message-ID: <20100603041633.B8111AFD1FA0@rock.pidgin.im> ----------------------------------------------------------------- Revision: 3ccde42b2f5cfa1fae01e997cfa85f4f9b89abe5 Ancestor: 03c0ab2851cc27d6b9e3a270c343cf3116c485ac Author: markdoliner at pidgin.im Date: 2010-06-03T04:10:13 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/3ccde42b2f5cfa1fae01e997cfa85f4f9b89abe5 Modified files: libpurple/protocols/msn/notification.h ChangeLog: I found these by running "strings" on some MSN binary files. Doesn't seem like that could be considered copyright infringement. They're not used right now, but it seems like they could be useful in the future. -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/notification.h de4a25627d786e63a8c662cb4063fa38f984c5cd +++ libpurple/protocols/msn/notification.h bf3e0a2779f7b4dccf312cd252fc71c00e7ae9cf @@ -28,6 +28,10 @@ typedef struct _MsnNotification MsnNotif /* MSN protocol challenge info */ +/* MSNP18 challenge: WLM Version 2009 (Build 14.0.8089.726) */ +#define MSNP18_WLM_PRODUCT_KEY "C1BX{V4W}Q3*10SM" +#define MSNP18_WLM_PRODUCT_ID "PROD0120PW!CCV9@" + /* MSNP15 challenge: WLM 8.5.1288.816 */ #define MSNP15_WLM_PRODUCT_KEY "ILTXC!4IXB5FB*PX" #define MSNP15_WLM_PRODUCT_ID "PROD0119GSJUC$18" From sadrul at pidgin.im Thu Jun 3 19:15:47 2010 From: sadrul at pidgin.im (sadrul at pidgin.im) Date: Thu, 3 Jun 2010 19:15:47 -0400 (EDT) Subject: pidgin: 34e44fc5: Apparently file/directory names in windo.. Message-ID: <20100603231547.222FDAFD20B9@rock.pidgin.im> ----------------------------------------------------------------- Revision: 34e44fc5b81fa29b233deac42ea221cb1c367101 Ancestor: 507bed04f6c5d4527fe68ad2ee48f01ad9760a24 Author: sadrul at pidgin.im Date: 2010-06-03T23:08:57 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/34e44fc5b81fa29b233deac42ea221cb1c367101 Modified files: libpurple/util.c ChangeLog: Apparently file/directory names in windows cannot end in periods/spaces. -------------- next part -------------- ============================================================ --- libpurple/util.c fc38e7dbac7fec50b9ca8f1577d7529a16c529fb +++ libpurple/util.c 7f7d25705b11fab7757bae05ad90b85e4d28b3e1 @@ -4856,6 +4856,13 @@ purple_escape_filename(const char *str) } } } +#ifdef _WIN32 + /* File/Directory names in windows cannot end in periods/spaces. + * http://msdn.microsoft.com/en-us/library/aa365247%28VS.85%29.aspx + */ + while (j > 0 && (buf[j - 1] == '.' || buf[j - 1] == ' ')) + j--; +#endif buf[j] = '\0'; return buf; From sadrul at pidgin.im Thu Jun 3 19:15:47 2010 From: sadrul at pidgin.im (sadrul at pidgin.im) Date: Thu, 3 Jun 2010 19:15:47 -0400 (EDT) Subject: pidgin: 507bed04: Prevent an invalid read when a message s... Message-ID: <20100603231547.8CC65AFD20B9@rock.pidgin.im> ----------------------------------------------------------------- Revision: 507bed04f6c5d4527fe68ad2ee48f01ad9760a24 Ancestor: eeef28c55dd6e7476c35edde363fb045a2d939f6 Author: sadrul at pidgin.im Date: 2010-06-03T23:08:11 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/507bed04f6c5d4527fe68ad2ee48f01ad9760a24 Modified files: libpurple/util.c ChangeLog: Prevent an invalid read when a message starts with 'mailto:'. -------------- next part -------------- ============================================================ --- libpurple/util.c fc2537aa2ca610ff6748b55802bfd3ff898bf7c2 +++ libpurple/util.c fc38e7dbac7fec50b9ca8f1577d7529a16c529fb @@ -2163,7 +2163,7 @@ purple_markup_linkify(const char *text) if (t - c == 7) { break; } - if (*(t - 1) == '.') + if (t > text && *(t - 1) == '.') t--; if ((d = strstr(c + 7, "?")) != NULL && d < t) url_buf = g_strndup(c + 7, d - c - 7); @@ -2183,10 +2183,7 @@ purple_markup_linkify(const char *text) c = t; break; } - if (!t) - break; t++; - } } else if (c != text && (*c == '@')) { int flag; From sadrul at pidgin.im Thu Jun 3 19:15:48 2010 From: sadrul at pidgin.im (sadrul at pidgin.im) Date: Thu, 3 Jun 2010 19:15:48 -0400 (EDT) Subject: pidgin: b5a3bee9: Remove code duplications, and some inval... Message-ID: <20100603231548.59130AFD21A9@rock.pidgin.im> ----------------------------------------------------------------- Revision: b5a3bee907517738e6cf892ab912e6481d334c41 Ancestor: 03c0ab2851cc27d6b9e3a270c343cf3116c485ac Author: sadrul at pidgin.im Date: 2010-06-03T22:47:32 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/b5a3bee907517738e6cf892ab912e6481d334c41 Modified files: libpurple/util.c ChangeLog: Remove code duplications, and some invalid memory reads. -------------- next part -------------- ============================================================ --- libpurple/util.c 92788a8d213e33a08a93cd656dc1348ed73aa8e6 +++ libpurple/util.c 167c81b3ac913aadd56d105bedcec69860957242 @@ -2053,6 +2053,45 @@ badentity(const char *c) return FALSE; } +static const char * +process_link(GString *ret, + const char *start, const char *c, + int matchlen, + const char *urlprefix, + int inside_paren) +{ + char *url_buf, *tmpurlbuf; + const char *t; + + for (t = c;; t++) { + if (!badchar(*t) && !badentity(t)) + continue; + + if (t - c == matchlen) + break; + + if (*t == ',' && *(t + 1) != ' ') { + continue; + } + + if (t > start && *(t - 1) == '.') + t--; + if (t > start && *(t - 1) == ')' && inside_paren > 0) + t--; + + url_buf = g_strndup(c, t - c); + tmpurlbuf = purple_unescape_html(url_buf); + g_string_append_printf(ret, "%s", + urlprefix, + tmpurlbuf, url_buf); + g_free(tmpurlbuf); + g_free(url_buf); + return t; + } + + return c; +} + char * purple_markup_linkify(const char *text) { @@ -2100,129 +2139,20 @@ purple_markup_linkify(const char *text) break; } } - } else if ((*c=='h') && (!g_ascii_strncasecmp(c, "http://", 7) || - (!g_ascii_strncasecmp(c, "https://", 8)))) { - t = c; - while (1) { - if (badchar(*t) || badentity(t)) { - - if ((!g_ascii_strncasecmp(c, "http://", 7) && (t - c == 7)) || - (!g_ascii_strncasecmp(c, "https://", 8) && (t - c == 8))) { - break; - } - - if (*(t) == ',' && (*(t + 1) != ' ')) { - t++; - continue; - } - - if (*(t - 1) == '.') - t--; - if ((*(t - 1) == ')' && (inside_paren > 0))) { - t--; - } - - url_buf = g_strndup(c, t - c); - tmpurlbuf = purple_unescape_html(url_buf); - g_string_append_printf(ret, "%s", - tmpurlbuf, url_buf); - g_free(url_buf); - g_free(tmpurlbuf); - c = t; - break; - } - t++; - - } - } else if (!g_ascii_strncasecmp(c, "www.", 4) && (c == text || badchar(c[-1]) || badentity(c-1))) { - if (c[4] != '.') { - t = c; - while (1) { - if (badchar(*t) || badentity(t)) { - if (t - c == 4) { - break; - } - - if (*(t) == ',' && (*(t + 1) != ' ')) { - t++; - continue; - } - - if (*(t - 1) == '.') - t--; - if ((*(t - 1) == ')' && (inside_paren > 0))) { - t--; - } - url_buf = g_strndup(c, t - c); - tmpurlbuf = purple_unescape_html(url_buf); - g_string_append_printf(ret, - "%s", tmpurlbuf, - url_buf); - g_free(url_buf); - g_free(tmpurlbuf); - c = t; - break; - } - t++; - } - } - } else if (!g_ascii_strncasecmp(c, "ftp://", 6) || !g_ascii_strncasecmp(c, "sftp://", 7)) { - t = c; - while (1) { - if (badchar(*t) || badentity(t)) { - - if ((!g_ascii_strncasecmp(c, "ftp://", 6) && (t - c == 6)) || - (!g_ascii_strncasecmp(c, "sftp://", 7) && (t - c == 7))) { - break; - } - - if (*(t - 1) == '.') - t--; - if ((*(t - 1) == ')' && (inside_paren > 0))) { - t--; - } - url_buf = g_strndup(c, t - c); - tmpurlbuf = purple_unescape_html(url_buf); - g_string_append_printf(ret, "%s", - tmpurlbuf, url_buf); - g_free(url_buf); - g_free(tmpurlbuf); - c = t; - break; - } - if (!t) - break; - t++; - - } - } else if (!g_ascii_strncasecmp(c, "ftp.", 4) && (c == text || badchar(c[-1]) || badentity(c-1))) { - if (c[4] != '.') { - t = c; - while (1) { - if (badchar(*t) || badentity(t)) { - if (t - c == 4) { - break; - } - if (*(t - 1) == '.') - t--; - if ((*(t - 1) == ')' && (inside_paren > 0))) { - t--; - } - url_buf = g_strndup(c, t - c); - tmpurlbuf = purple_unescape_html(url_buf); - g_string_append_printf(ret, - "%s", tmpurlbuf, - url_buf); - g_free(url_buf); - g_free(tmpurlbuf); - c = t; - break; - } - if (!t) - break; - t++; - } - } + } else if (!g_ascii_strncasecmp(c, "http://", 7)) { + c = process_link(ret, text, c, 7, "", inside_paren); + } else if (!g_ascii_strncasecmp(c, "https://", 8)) { + c = process_link(ret, text, c, 8, "", inside_paren); + } else if (!g_ascii_strncasecmp(c, "ftp://", 6)) { + c = process_link(ret, text, c, 6, "", inside_paren); + } else if (!g_ascii_strncasecmp(c, "sftp://", 7)) { + c = process_link(ret, text, c, 7, "", inside_paren); + } else if (!g_ascii_strncasecmp(c, "www.", 4) && c[4] != '.' && (c == text || badchar(c[-1]) || badentity(c-1))) { + c = process_link(ret, text, c, 4, "http://", inside_paren); + } else if (!g_ascii_strncasecmp(c, "ftp.", 4) && c[4] != '.' && (c == text || badchar(c[-1]) || badentity(c-1))) { + c = process_link(ret, text, c, 4, "ftp://", inside_paren); + } else if (!g_ascii_strncasecmp(c, "xmpp:", 5) && (c == text || badchar(c[-1]) || badentity(c-1))) { + c = process_link(ret, text, c, 5, "", inside_paren); } else if (!g_ascii_strncasecmp(c, "mailto:", 7)) { t = c; while (1) { @@ -2256,39 +2186,6 @@ purple_markup_linkify(const char *text) t++; } - } else if ((*c=='x') && (!g_ascii_strncasecmp(c, "xmpp:", 5)) && - (c == text || badchar(c[-1]) || badentity(c-1))) { - t = c; - while (1) { - if (badchar(*t) || badentity(t)) { - - if (t - c == 5) { - break; - } - - if (*(t) == ',' && (*(t + 1) != ' ')) { - t++; - continue; - } - - if (*(t - 1) == '.') - t--; - if ((*(t - 1) == ')' && (inside_paren > 0))) { - t--; - } - - url_buf = g_strndup(c, t - c); - tmpurlbuf = purple_unescape_html(url_buf); - g_string_append_printf(ret, "%s", - tmpurlbuf, url_buf); - g_free(url_buf); - g_free(tmpurlbuf); - c = t; - break; - } - t++; - - } } else if (c != text && (*c == '@')) { int flag; GString *gurl_buf = NULL; @@ -4960,7 +4857,6 @@ purple_escape_filename(const char *str) } } } - buf[j] = '\0'; return buf; From sadrul at pidgin.im Thu Jun 3 19:15:49 2010 From: sadrul at pidgin.im (sadrul at pidgin.im) Date: Thu, 3 Jun 2010 19:15:49 -0400 (EDT) Subject: pidgin: eeef28c5: Linkify file:// Message-ID: <20100603231551.48CCDAFD21B3@rock.pidgin.im> ----------------------------------------------------------------- Revision: eeef28c55dd6e7476c35edde363fb045a2d939f6 Ancestor: b5a3bee907517738e6cf892ab912e6481d334c41 Author: sadrul at pidgin.im Date: 2010-06-03T22:59:19 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/eeef28c55dd6e7476c35edde363fb045a2d939f6 Modified files: libpurple/util.c ChangeLog: Linkify file:// Closes #11647. -------------- next part -------------- ============================================================ --- libpurple/util.c 167c81b3ac913aadd56d105bedcec69860957242 +++ libpurple/util.c fc2537aa2ca610ff6748b55802bfd3ff898bf7c2 @@ -2147,6 +2147,8 @@ purple_markup_linkify(const char *text) c = process_link(ret, text, c, 6, "", inside_paren); } else if (!g_ascii_strncasecmp(c, "sftp://", 7)) { c = process_link(ret, text, c, 7, "", inside_paren); + } else if (!g_ascii_strncasecmp(c, "file://", 7)) { + c = process_link(ret, text, c, 7, "", inside_paren); } else if (!g_ascii_strncasecmp(c, "www.", 4) && c[4] != '.' && (c == text || badchar(c[-1]) || badentity(c-1))) { c = process_link(ret, text, c, 4, "http://", inside_paren); } else if (!g_ascii_strncasecmp(c, "ftp.", 4) && c[4] != '.' && (c == text || badchar(c[-1]) || badentity(c-1))) { From sadrul at pidgin.im Thu Jun 3 19:35:27 2010 From: sadrul at pidgin.im (sadrul at pidgin.im) Date: Thu, 3 Jun 2010 19:35:27 -0400 (EDT) Subject: pidgin: 07a59c27: merge of '34e44fc5b81fa29b233deac42ea221... Message-ID: <20100603233527.139B8AFD20B9@rock.pidgin.im> ----------------------------------------------------------------- Revision: 07a59c27400e4ab651316adfa2c75c22ed085fe5 Ancestor: 34e44fc5b81fa29b233deac42ea221cb1c367101 Ancestor: 3ccde42b2f5cfa1fae01e997cfa85f4f9b89abe5 Author: sadrul at pidgin.im Date: 2010-06-03T23:13:03 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/07a59c27400e4ab651316adfa2c75c22ed085fe5 Modified files: libpurple/protocols/msn/notification.h libpurple/util.c ChangeLog: merge of '34e44fc5b81fa29b233deac42ea221cb1c367101' and '3ccde42b2f5cfa1fae01e997cfa85f4f9b89abe5' From qulogic at pidgin.im Thu Jun 3 21:25:38 2010 From: qulogic at pidgin.im (qulogic at pidgin.im) Date: Thu, 3 Jun 2010 21:25:38 -0400 (EDT) Subject: www: a3910223: KDE 3.1 is pretty old, but I guess some ... Message-ID: <20100604012538.CBDB6AFD0BA2@rock.pidgin.im> ----------------------------------------------------------------- Revision: a39102233886beb2a2abeaf91e6f3f80e2198ac8 Ancestor: d2ea7d7f64a059bd1fdebd87554160f8a4fc8a14 Author: qulogic at pidgin.im Date: 2010-06-03T20:34:36 Branch: im.pidgin.www URL: http://d.pidgin.im/viewmtn/revision/info/a39102233886beb2a2abeaf91e6f3f80e2198ac8 Modified files: htdocs/about/index.php ChangeLog: KDE 3.1 is pretty old, but I guess some people might still use KDE3... -------------- next part -------------- ============================================================ --- htdocs/about/index.php 4b150cfc7eb06271d30ab5b5348d98a7e7a8bc1e +++ htdocs/about/index.php d296a97e04a90e3f6cd0270ffb6245312f305439 @@ -45,7 +45,8 @@ beyond the standard features.

notifications. Numerous plugins also extend Pidgin's functionality above and beyond the standard features.

-

Pidgin integrates with the system tray on Windows, GNOME2, and KDE 3.1.

+

Pidgin integrates with the system tray on Windows, GNOME2, KDE 3, and +KDE 4.

Pidgin is under constant development. Releases are usually frequent and driven by user contributions, such as bug reports and From nosnilmot at pidgin.im Fri Jun 4 21:30:47 2010 From: nosnilmot at pidgin.im (nosnilmot at pidgin.im) Date: Fri, 4 Jun 2010 21:30:47 -0400 (EDT) Subject: pidgin: 5cd4c8d6: Make the advice for symlink-ing devhelp ... Message-ID: <20100605013047.B500BAFD0B8B@rock.pidgin.im> ----------------------------------------------------------------- Revision: 5cd4c8d6a9a467480e21ae349de63f7f200ad39b Ancestor: 07a59c27400e4ab651316adfa2c75c22ed085fe5 Author: nosnilmot at pidgin.im Date: 2010-06-05T01:28:37 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/5cd4c8d6a9a467480e21ae349de63f7f200ad39b Modified files: Makefile.am ChangeLog: Make the advice for symlink-ing devhelp docs more explicit to reduce the risk of broken relative symlinks -------------- next part -------------- ============================================================ --- Makefile.am aceee639ff2274f23c67afa91852df81c4b31b25 +++ Makefile.am 042cd4f1a587ff1633aaed103f0874c7cec999c6 @@ -136,7 +136,7 @@ if HAVE_XSLTPROC if HAVE_XSLTPROC @echo "Generating devhelp index..." @xsltproc $(top_srcdir)/doxy2devhelp.xsl doc/xml/index.xml > doc/html/pidgin.devhelp - @echo "(Symlink doc/html to ~/.local/share/gtk-doc/html/pidgin to make devhelp see the documentation)" + @echo "(Symlink $$(pwd)/doc/html to ~/.local/share/gtk-doc/html/pidgin to make devhelp see the documentation)" else @echo "Not generating devhelp index: xsltproc was not found by configure" endif From masca at cpw.pidgin.im Fri Jun 4 21:35:37 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Fri, 4 Jun 2010 21:35:37 -0400 (EDT) Subject: soc.2010.msn-tlc: 17457a26: Start moving p2p specific code to its ow... Message-ID: <20100605013537.4502EAFD21F3@rock.pidgin.im> ----------------------------------------------------------------- Revision: 17457a26c2a06781fae929e78e8b7d3bf59f3831 Ancestor: b14a4e8fae0513bf8f5883c852a30bb8c3bcfc55 Author: masca at cpw.pidgin.im Date: 2010-06-03T21:07:08 Branch: im.pidgin.soc.2010.msn-tlc URL: http://d.pidgin.im/viewmtn/revision/info/17457a26c2a06781fae929e78e8b7d3bf59f3831 Modified files: libpurple/protocols/msn/directconn.c libpurple/protocols/msn/msg.h libpurple/protocols/msn/slp.c libpurple/protocols/msn/slpcall.c libpurple/protocols/msn/slplink.c ChangeLog: Start moving p2p specific code to its own module. -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/directconn.c 8035a6be246891bc7c876564d583615ae655dd0a +++ libpurple/protocols/msn/directconn.c 5ab855487f6413d8c511e123b3d61acc3c41ceee @@ -31,25 +31,10 @@ #include "slp.h" #include "slpmsg.h" +#include "p2p.h" -#pragma pack(push,1) -typedef struct { - guint32 session_id; - guint32 seq_id; - guint64 offset; - guint64 total_size; - guint32 length; - guint32 flags; - guint32 ack_id; - guint32 ack_uid; - guint64 ack_size; -/* guint8 body[1]; */ -} MsnDcContext; -#pragma pack(pop) - -#define DC_PACKET_HEADER_SIZE sizeof(MsnDcContext) #define DC_MAX_BODY_SIZE 8*1024 -#define DC_MAX_PACKET_SIZE (DC_PACKET_HEADER_SIZE + DC_MAX_BODY_SIZE) +#define DC_MAX_PACKET_SIZE (P2P_PACKET_HEADER_SIZE + DC_MAX_BODY_SIZE) static void msn_dc_calculate_nonce_hash(MsnDirectConnNonceType type, @@ -356,13 +341,13 @@ msn_dc_parse_binary_header(MsnDirectConn msn_dc_parse_binary_header(MsnDirectConn *dc) { MsnSlpHeader *h; - MsnDcContext *context; + MsnP2PBinaryHeader *context; g_return_if_fail(dc != NULL); h = &dc->header; /* Skip packet size */ - context = (MsnDcContext *)(dc->in_buffer + 4); + context = (MsnP2PBinaryHeader *)(dc->in_buffer + 4); h->session_id = GUINT32_FROM_LE(context->session_id); h->id = GUINT32_FROM_LE(context->seq_id); @@ -378,7 +363,7 @@ msn_dc_serialize_binary_header(MsnDirect static const gchar * msn_dc_serialize_binary_header(MsnDirectConn *dc) { MsnSlpHeader *h; - static MsnDcContext bin_header; + static MsnP2PBinaryHeader bin_header; g_return_val_if_fail(dc != NULL, NULL); @@ -493,9 +478,9 @@ msn_dc_send_handshake_with_nonce(MsnDire const gchar *h; h = msn_dc_serialize_binary_header(dc); - memcpy(p->data, h, DC_PACKET_HEADER_SIZE); + memcpy(p->data, h, P2P_PACKET_HEADER_SIZE); - memcpy(p->data + offsetof(MsnDcContext, ack_id), dc->nonce, 16); + memcpy(p->data + offsetof(MsnP2PBinaryHeader, ack_id), dc->nonce, 16); msn_dc_enqueue_packet(dc, p); } @@ -505,7 +490,7 @@ msn_dc_send_handshake(MsnDirectConn *dc) { MsnDirectConnPacket *p; - p = msn_dc_new_packet(DC_PACKET_HEADER_SIZE); + p = msn_dc_new_packet(P2P_PACKET_HEADER_SIZE); dc->header.session_id = 0; dc->header.id = dc->slpcall->slplink->slp_seq_id++; @@ -522,7 +507,7 @@ msn_dc_send_handshake_reply(MsnDirectCon { MsnDirectConnPacket *p; - p = msn_dc_new_packet(DC_PACKET_HEADER_SIZE); + p = msn_dc_new_packet(P2P_PACKET_HEADER_SIZE); dc->header.id = dc->slpcall->slplink->slp_seq_id++; dc->header.length = 0; @@ -536,10 +521,10 @@ msn_dc_verify_handshake(MsnDirectConn *d guchar nonce[16]; gchar nonce_hash[37]; - if (packet_length != DC_PACKET_HEADER_SIZE) + if (packet_length != P2P_PACKET_HEADER_SIZE) return FALSE; - memcpy(nonce, dc->in_buffer + 4 + offsetof(MsnDcContext, ack_id), 16); + memcpy(nonce, dc->in_buffer + 4 + offsetof(MsnP2PBinaryHeader, ack_id), 16); if (dc->nonce_type == DC_NONCE_PLAIN) { if (memcmp(dc->nonce, nonce, 16) == 0) { @@ -589,11 +574,11 @@ msn_dc_enqueue_msg(MsnDirectConn *dc, Ms MsnDirectConnPacket *p; guint32 length; - length = msg->body_len + DC_PACKET_HEADER_SIZE; + length = msg->body_len + P2P_PACKET_HEADER_SIZE; p = msn_dc_new_packet(length); - memcpy(p->data, &msg->msnslp_header, DC_PACKET_HEADER_SIZE); - memcpy(p->data + DC_PACKET_HEADER_SIZE, msg->body, msg->body_len); + memcpy(p->data, &msg->msnslp_header, P2P_PACKET_HEADER_SIZE); + memcpy(p->data + P2P_PACKET_HEADER_SIZE, msg->body, msg->body_len); p->sent_cb = msn_dc_send_packet_cb; p->msg = msn_message_ref(msg); @@ -643,7 +628,7 @@ msn_dc_process_packet(MsnDirectConn *dc, msn_slplink_process_msg( dc->slplink, &dc->header, - dc->in_buffer + 4 + DC_PACKET_HEADER_SIZE, + dc->in_buffer + 4 + P2P_PACKET_HEADER_SIZE, dc->header.length ); ============================================================ --- libpurple/protocols/msn/msg.h b551c58fefa3a0196d0927c76741434976a16b30 +++ libpurple/protocols/msn/msg.h 3de3f539b888ce0bb26b84a7a8e1f0070bde3f84 @@ -67,23 +67,6 @@ typedef void (*MsnMsgCb)(MsnMessage *, v #define MSG_OIM_BODY_DEM "\n\n" #define MSG_OIM_LINE_DEM "\n" -typedef enum -{ - SLP_HF_NO_FLAG = 0x0, /**< No flags specified */ - SLP_HF_OUT_OF_ORDER = 0x1, /**< Chunk out-of-order */ - SLP_HF_ACK = 0x2, /**< Acknowledgement */ - SLP_HF_PENDING_INVITE = 0x4, /**< There is a pending invite */ - SLP_HF_BINARY_ERROR = 0x8, /**< Error on the binary level */ - SLP_HF_MSN_OBJ_DATA = 0x20, /**< MsnObject data */ - SLP_HF_WML2009_COMP = 0x1000000, /**< Compatibility with WLM 2009 */ - SLP_HF_FILE_DATA = 0x1000030 /**< File transfer data */ -} SlpHeaderFlag; -/* Info From: - * http://msnpiki.msnfanatic.com/index.php/MSNC:P2Pv1_Headers#Flags - * http://trac.kmess.org/changeset/ba04d0c825769d23370511031c47f6be75fe9b86 - * #7180 - */ - typedef struct { guint32 session_id; ============================================================ --- libpurple/protocols/msn/slp.c e5f88f0e646d8bb4cf031761501f3b8c5441b605 +++ libpurple/protocols/msn/slp.c fe547b7c58ac03c3c3ce51bcb1ca0617d8e50aae @@ -34,6 +34,7 @@ #include "user.h" #include "switchboard.h" #include "directconn.h" +#include "p2p.h" #include "smiley.h" @@ -518,7 +519,7 @@ got_sessionreq(MsnSlpCall *slpcall, cons /* DATA */ slpmsg = msn_slpmsg_new(slplink); slpmsg->slpcall = slpcall; - slpmsg->flags = SLP_HF_MSN_OBJ_DATA; + slpmsg->flags = P2P_MSN_OBJ_DATA; slpmsg->info = "SLP DATA"; msn_slpmsg_set_image(slpmsg, img); msn_slplink_queue_slpmsg(slplink, slpmsg); ============================================================ --- libpurple/protocols/msn/slpcall.c f2813c13816dc5d8ca5a40a961b963c9c39fdcaf +++ libpurple/protocols/msn/slpcall.c 9e5768e62f1e2c96a849f15b87431be710ce94e5 @@ -29,6 +29,7 @@ #include "slpcall.h" #include "slp.h" +#include "p2p.h" /************************************************************************** * Main @@ -204,7 +205,7 @@ msn_slp_process_msg(MsnSlpLink *slplink, body = slpmsg->buffer; body_len = slpmsg->offset; - if (slpmsg->flags == SLP_HF_NO_FLAG || slpmsg->flags == SLP_HF_WML2009_COMP) + if (slpmsg->flags == P2P_NO_FLAG || slpmsg->flags == P2P_WML2009_COMP) { char *body_str; @@ -265,9 +266,9 @@ msn_slp_process_msg(MsnSlpLink *slplink, } g_free(body_str); } - else if (slpmsg->flags == SLP_HF_MSN_OBJ_DATA || - slpmsg->flags == SLP_HF_WML2009_COMP & SLP_HF_MSN_OBJ_DATA || - slpmsg->flags == SLP_HF_FILE_DATA) + else if (slpmsg->flags == P2P_MSN_OBJ_DATA || + slpmsg->flags == P2P_WML2009_COMP & P2P_MSN_OBJ_DATA || + slpmsg->flags == P2P_FILE_DATA) { slpcall = msn_slplink_find_slp_call_with_session_id(slplink, slpmsg->session_id); @@ -293,7 +294,7 @@ msn_slp_process_msg(MsnSlpLink *slplink, msn_slpcall_session_init(slpcall); } #endif - else if (slpmsg->flags == SLP_HF_ACK) + else if (slpmsg->flags == P2P_ACK) { /* Acknowledgement of previous message. Don't do anything currently. */ } ============================================================ --- libpurple/protocols/msn/slplink.c c51a106510d44c95be05c0e8e9094008f73913d2 +++ libpurple/protocols/msn/slplink.c 18ec3f7b96fcc64b85bba3dc1119b4fd57930655 @@ -30,6 +30,7 @@ #include "switchboard.h" #include "slp.h" +#include "p2p.h" #ifdef MSN_DEBUG_SLP_FILES static int m_sc = 0; @@ -294,7 +295,7 @@ msn_slplink_send_msgpart(MsnSlpLink *slp * reusing the same one all the time. */ msg = slpmsg->msg; - real_size = (slpmsg->flags == SLP_HF_ACK) ? 0 : slpmsg->size; + real_size = (slpmsg->flags == P2P_ACK) ? 0 : slpmsg->size; if (slpmsg->offset < real_size) { @@ -329,9 +330,9 @@ msn_slplink_send_msgpart(MsnSlpLink *slp g_list_append(slpmsg->msgs, msn_message_ref(msg)); msn_slplink_send_msg(slplink, msg); - if ((slpmsg->flags == SLP_HF_MSN_OBJ_DATA || - slpmsg->flags == (SLP_HF_WML2009_COMP & SLP_HF_MSN_OBJ_DATA) || - slpmsg->flags == SLP_HF_FILE_DATA) && + if ((slpmsg->flags == P2P_MSN_OBJ_DATA || + slpmsg->flags == (P2P_WML2009_COMP & P2P_MSN_OBJ_DATA) || + slpmsg->flags == P2P_FILE_DATA) && (slpmsg->slpcall != NULL)) { slpmsg->slpcall->progress = TRUE; @@ -355,7 +356,7 @@ msg_ack(MsnMessage *msg, void *data) slpmsg = data; - real_size = (slpmsg->flags == SLP_HF_ACK) ? 0 : slpmsg->size; + real_size = (slpmsg->flags == P2P_ACK) ? 0 : slpmsg->size; slpmsg->offset += msg->msnslp_header.length; @@ -375,9 +376,9 @@ msg_ack(MsnMessage *msg, void *data) else { /* The whole message has been sent */ - if (slpmsg->flags == SLP_HF_MSN_OBJ_DATA || - slpmsg->flags == (SLP_HF_WML2009_COMP & SLP_HF_MSN_OBJ_DATA) || - slpmsg->flags == SLP_HF_FILE_DATA) + if (slpmsg->flags == P2P_MSN_OBJ_DATA || + slpmsg->flags == (P2P_WML2009_COMP & P2P_MSN_OBJ_DATA) || + slpmsg->flags == P2P_FILE_DATA) { if (slpmsg->slpcall != NULL) { @@ -413,21 +414,21 @@ msn_slplink_release_slpmsg(MsnSlpLink *s slpmsg->msg = msg = msn_message_new_msnslp(); - if (slpmsg->flags == SLP_HF_NO_FLAG) + if (slpmsg->flags == P2P_NO_FLAG) { msg->msnslp_header.session_id = slpmsg->session_id; msg->msnslp_header.ack_id = rand() % 0xFFFFFF00; } - else if (slpmsg->flags == SLP_HF_ACK) + else if (slpmsg->flags == P2P_ACK) { msg->msnslp_header.session_id = slpmsg->session_id; msg->msnslp_header.ack_id = slpmsg->ack_id; msg->msnslp_header.ack_size = slpmsg->ack_size; msg->msnslp_header.ack_sub_id = slpmsg->ack_sub_id; } - else if (slpmsg->flags == SLP_HF_MSN_OBJ_DATA || - slpmsg->flags == (SLP_HF_WML2009_COMP & SLP_HF_MSN_OBJ_DATA) || - slpmsg->flags == SLP_HF_FILE_DATA) + else if (slpmsg->flags == P2P_MSN_OBJ_DATA || + slpmsg->flags == (P2P_WML2009_COMP & P2P_MSN_OBJ_DATA) || + slpmsg->flags == P2P_FILE_DATA) { MsnSlpCall *slpcall; slpcall = slpmsg->slpcall; @@ -500,7 +501,7 @@ msn_slplink_create_ack(MsnSlpLink *slpli slpmsg->session_id = header->session_id; slpmsg->size = header->total_size; - slpmsg->flags = SLP_HF_ACK; + slpmsg->flags = P2P_ACK; slpmsg->ack_id = header->id; slpmsg->ack_sub_id = header->ack_id; slpmsg->ack_size = header->total_size; @@ -538,7 +539,7 @@ send_file_cb(MsnSlpCall *slpcall) slpmsg = msn_slpmsg_new(slpcall->slplink); slpmsg->slpcall = slpcall; - slpmsg->flags = SLP_HF_FILE_DATA; + slpmsg->flags = P2P_FILE_DATA; slpmsg->info = "SLP FILE"; slpmsg->size = purple_xfer_get_size(xfer); @@ -591,9 +592,9 @@ msn_slplink_process_msg(MsnSlpLink *slpl slpmsg->slpcall = msn_slplink_find_slp_call_with_session_id(slplink, slpmsg->session_id); if (slpmsg->slpcall != NULL) { - if (slpmsg->flags == SLP_HF_MSN_OBJ_DATA || - slpmsg->flags == (SLP_HF_WML2009_COMP & SLP_HF_MSN_OBJ_DATA) || - slpmsg->flags == SLP_HF_FILE_DATA) + if (slpmsg->flags == P2P_MSN_OBJ_DATA || + slpmsg->flags == (P2P_WML2009_COMP & P2P_MSN_OBJ_DATA) || + slpmsg->flags == P2P_FILE_DATA) { PurpleXfer *xfer = slpmsg->slpcall->xfer; if (xfer != NULL) @@ -657,9 +658,9 @@ msn_slplink_process_msg(MsnSlpLink *slpl } } - if ((slpmsg->flags == SLP_HF_MSN_OBJ_DATA || - slpmsg->flags == (SLP_HF_WML2009_COMP & SLP_HF_MSN_OBJ_DATA) || - slpmsg->flags == SLP_HF_FILE_DATA) && + if ((slpmsg->flags == P2P_MSN_OBJ_DATA || + slpmsg->flags == (P2P_WML2009_COMP & P2P_MSN_OBJ_DATA) || + slpmsg->flags == P2P_FILE_DATA) && (slpmsg->slpcall != NULL)) { slpmsg->slpcall->progress = TRUE; @@ -700,10 +701,10 @@ msn_slplink_process_msg(MsnSlpLink *slpl msn_directconn_send_handshake(directconn); #endif } - else if (slpmsg->flags == SLP_HF_NO_FLAG || slpmsg->flags == SLP_HF_WML2009_COMP || - slpmsg->flags == SLP_HF_MSN_OBJ_DATA || - slpmsg->flags == (SLP_HF_WML2009_COMP & SLP_HF_MSN_OBJ_DATA) || - slpmsg->flags == SLP_HF_FILE_DATA) + else if (slpmsg->flags == P2P_NO_FLAG || slpmsg->flags == P2P_WML2009_COMP || + slpmsg->flags == P2P_MSN_OBJ_DATA || + slpmsg->flags == (P2P_WML2009_COMP & P2P_MSN_OBJ_DATA) || + slpmsg->flags == P2P_FILE_DATA) { /* Release all the messages and send the ACK */ From masca at cpw.pidgin.im Fri Jun 4 21:35:37 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Fri, 4 Jun 2010 21:35:37 -0400 (EDT) Subject: soc.2010.msn-tlc: 229545fc: This one is not needed here. Message-ID: <20100605013537.B0AF1AFD21F3@rock.pidgin.im> ----------------------------------------------------------------- Revision: 229545fc9eb3612a643b83a54e3b92a41a4474ca Ancestor: 3939ac2f89ed5a58c967517d80e5768c9cfa9ddb Author: masca at cpw.pidgin.im Date: 2010-06-04T00:20:18 Branch: im.pidgin.soc.2010.msn-tlc URL: http://d.pidgin.im/viewmtn/revision/info/229545fc9eb3612a643b83a54e3b92a41a4474ca Modified files: libpurple/protocols/msn/p2p.h ChangeLog: This one is not needed here. -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/p2p.h eddd89e84bf65437d14eca6233a669a2bc15da93 +++ libpurple/protocols/msn/p2p.h 1ce371e06f8263949aac41bea8e88a8698541103 @@ -1,7 +1,6 @@ #ifndef MSN_P2P_H #define MSN_P2P_H -#include "msg.h" #pragma pack(push,1) typedef struct { From masca at cpw.pidgin.im Fri Jun 4 21:35:38 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Fri, 4 Jun 2010 21:35:38 -0400 (EDT) Subject: soc.2010.msn-tlc: 2f8e4a25: Use p2p functions in directconn too. Message-ID: <20100605013538.42164AFD21F3@rock.pidgin.im> ----------------------------------------------------------------- Revision: 2f8e4a25bf8df945806e65e13670d90305bde2d5 Ancestor: 391b9f6de2ac1a4197d7ce448dfa807a739641a1 Author: masca at cpw.pidgin.im Date: 2010-06-05T01:27:07 Branch: im.pidgin.soc.2010.msn-tlc URL: http://d.pidgin.im/viewmtn/revision/info/2f8e4a25bf8df945806e65e13670d90305bde2d5 Modified files: libpurple/protocols/msn/directconn.c ChangeLog: Use p2p functions in directconn too. -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/directconn.c 60f23f07985cc1fdb8e9cf34e5653582a69baadb +++ libpurple/protocols/msn/directconn.c 797ab5df5ab7637632cc217273c6f28d1acaf201 @@ -338,51 +338,6 @@ static void } static void -msn_dc_parse_binary_header(MsnDirectConn *dc) -{ - MsnP2PHeader *h; - MsnP2PHeader *context; - - g_return_if_fail(dc != NULL); - - h = &dc->header; - /* Skip packet size */ - context = (MsnP2PHeader *)(dc->in_buffer + 4); - - h->session_id = GUINT32_FROM_LE(context->session_id); - h->id = GUINT32_FROM_LE(context->id); - h->offset = GUINT64_FROM_LE(context->offset); - h->total_size = GUINT64_FROM_LE(context->total_size); - h->length = GUINT32_FROM_LE(context->length); - h->flags = GUINT32_FROM_LE(context->flags); - h->ack_id = GUINT32_FROM_LE(context->ack_id); - h->ack_sub_id = GUINT32_FROM_LE(context->ack_sub_id); - h->ack_size = GUINT64_FROM_LE(context->ack_size); -} - -static const gchar * -msn_dc_serialize_binary_header(MsnDirectConn *dc) { - MsnP2PHeader *h; - static MsnP2PHeader bin_header; - - g_return_val_if_fail(dc != NULL, NULL); - - h = &dc->header; - - bin_header.session_id = GUINT32_TO_LE(h->session_id); - bin_header.id = GUINT32_TO_LE(h->id); - bin_header.offset = GUINT64_TO_LE(h->offset); - bin_header.total_size = GUINT64_TO_LE(h->total_size); - bin_header.length = GUINT32_TO_LE(h->length); - bin_header.flags = GUINT32_TO_LE(h->flags); - bin_header.ack_id = GUINT32_TO_LE(h->ack_id); - bin_header.ack_sub_id = GUINT32_TO_LE(h->ack_sub_id); - bin_header.ack_size = GUINT64_TO_LE(h->ack_size); - - return (const gchar *)&bin_header; -} - -static void msn_dc_send_cb(gpointer data, gint fd, PurpleInputCondition cond) { MsnDirectConn *dc = data; @@ -477,7 +432,8 @@ msn_dc_send_handshake_with_nonce(MsnDire { const gchar *h; - h = msn_dc_serialize_binary_header(dc); + h = (gchar*) msn_p2p_header_to_wire(&dc->header); + memcpy(p->data, h, P2P_PACKET_HEADER_SIZE); memcpy(p->data + offsetof(MsnP2PHeader, ack_id), dc->nonce, 16); @@ -702,7 +658,15 @@ msn_dc_recv_cb(gpointer data, gint fd, P return; if (dc->state != DC_STATE_FOO) { - msn_dc_parse_binary_header(dc); + MsnP2PHeader *context; + MsnP2PHeader *h; + + /* Skip packet size */ + context = (MsnP2PHeader *)(dc->in_buffer + 4); + + h = msn_p2p_header_from_wire(context); + memcpy(&dc->header, h, P2P_PACKET_HEADER_SIZE); + g_free(h); } switch (msn_dc_process_packet(dc, packet_length)) { From masca at cpw.pidgin.im Fri Jun 4 21:35:38 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Fri, 4 Jun 2010 21:35:38 -0400 (EDT) Subject: soc.2010.msn-tlc: 391b9f6d: This include is needed here. Message-ID: <20100605013539.0D229AFD21F3@rock.pidgin.im> ----------------------------------------------------------------- Revision: 391b9f6de2ac1a4197d7ce448dfa807a739641a1 Ancestor: 9950ccdc3ca0e19a4e7fa3081eedcf77a77182e6 Author: masca at cpw.pidgin.im Date: 2010-06-04T00:33:29 Branch: im.pidgin.soc.2010.msn-tlc URL: http://d.pidgin.im/viewmtn/revision/info/391b9f6de2ac1a4197d7ce448dfa807a739641a1 Modified files: libpurple/protocols/msn/directconn.h ChangeLog: This include is needed here. -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/directconn.h ca15df57a2aaeb1fd19623530f507a66dce53594 +++ libpurple/protocols/msn/directconn.h 1cf4fc80e6485cf92eea1d289dde750dd4705a45 @@ -34,6 +34,7 @@ typedef struct _MsnDirectConn MsnDirectC #include "slp.h" #include "slplink.h" #include "slpmsg.h" +#include "p2p.h" typedef enum { From masca at cpw.pidgin.im Fri Jun 4 21:35:40 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Fri, 4 Jun 2010 21:35:40 -0400 (EDT) Subject: soc.2010.msn-tlc: 3939ac2f: Oops, forgot to save before commiting. Message-ID: <20100605013540.D25BEAFD22F5@rock.pidgin.im> ----------------------------------------------------------------- Revision: 3939ac2f89ed5a58c967517d80e5768c9cfa9ddb Ancestor: b8daaf2d21e3fa4b0c3672ad4e11eb1916e2ebee Author: masca at cpw.pidgin.im Date: 2010-06-04T00:20:00 Branch: im.pidgin.soc.2010.msn-tlc URL: http://d.pidgin.im/viewmtn/revision/info/3939ac2f89ed5a58c967517d80e5768c9cfa9ddb Modified files: libpurple/protocols/msn/p2p.c ChangeLog: Oops, forgot to save before commiting. -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/p2p.c 324243cc642672bad5aad04302450e93e429d010 +++ libpurple/protocols/msn/p2p.c 7f02940362f6f50e19e6a58661a1300ac2d940c9 @@ -1,5 +1,7 @@ -#include "p2p->h" +#include "internal.h" +#include "p2p.h" + MsnP2PHeader * msn_p2p_header_from_wire(MsnP2PHeader *wire) { @@ -25,7 +27,7 @@ msn_p2p_header_to_wire(MsnP2PHeader *hea { MsnP2PHeader *wire; - g_new(MsnP2PHeader, 1); + wire = g_new(MsnP2PHeader, 1); wire->session_id = GUINT32_TO_LE(header->session_id); wire->id = GUINT32_TO_LE(header->id); @@ -37,5 +39,7 @@ msn_p2p_header_to_wire(MsnP2PHeader *hea wire->ack_sub_id = GUINT32_TO_LE(header->ack_sub_id); wire->ack_size = GUINT64_TO_LE(header->ack_size); + return wire; + } From masca at cpw.pidgin.im Fri Jun 4 21:35:42 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Fri, 4 Jun 2010 21:35:42 -0400 (EDT) Subject: soc.2010.msn-tlc: 3fbfcbb7: Fix a warning. Message-ID: <20100605013542.39D4CAFD22FB@rock.pidgin.im> ----------------------------------------------------------------- Revision: 3fbfcbb72a2c73dd467d70c13157a4c0aadea69a Ancestor: 4d653ce95329041f869f74f3904d6bb8916551a5 Author: masca at cpw.pidgin.im Date: 2010-06-03T23:27:23 Branch: im.pidgin.soc.2010.msn-tlc URL: http://d.pidgin.im/viewmtn/revision/info/3fbfcbb72a2c73dd467d70c13157a4c0aadea69a Modified files: libpurple/protocols/msn/slpcall.c ChangeLog: Fix a warning. -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/slpcall.c 9e5768e62f1e2c96a849f15b87431be710ce94e5 +++ libpurple/protocols/msn/slpcall.c f308a2d9feed89f26c74b54fac6178bc76352d18 @@ -267,7 +267,7 @@ msn_slp_process_msg(MsnSlpLink *slplink, g_free(body_str); } else if (slpmsg->flags == P2P_MSN_OBJ_DATA || - slpmsg->flags == P2P_WML2009_COMP & P2P_MSN_OBJ_DATA || + slpmsg->flags == (P2P_WML2009_COMP & P2P_MSN_OBJ_DATA) || slpmsg->flags == P2P_FILE_DATA) { slpcall = msn_slplink_find_slp_call_with_session_id(slplink, slpmsg->session_id); From masca at cpw.pidgin.im Fri Jun 4 21:35:42 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Fri, 4 Jun 2010 21:35:42 -0400 (EDT) Subject: soc.2010.msn-tlc: 4d653ce9: Move parsing of the p2p header to p2p to... Message-ID: <20100605013543.0E512AFD22F3@rock.pidgin.im> ----------------------------------------------------------------- Revision: 4d653ce95329041f869f74f3904d6bb8916551a5 Ancestor: 586b6cf0962bb00bafabd83bc6872b07f8236e50 Author: masca at cpw.pidgin.im Date: 2010-06-03T22:55:52 Branch: im.pidgin.soc.2010.msn-tlc URL: http://d.pidgin.im/viewmtn/revision/info/4d653ce95329041f869f74f3904d6bb8916551a5 Added files: libpurple/protocols/msn/p2p.c Modified files: libpurple/protocols/msn/p2p.h ChangeLog: Move parsing of the p2p header to p2p to avoid duplicated code. -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/p2p.c 324243cc642672bad5aad04302450e93e429d010 +++ libpurple/protocols/msn/p2p.c 324243cc642672bad5aad04302450e93e429d010 @@ -0,0 +1,41 @@ +#include "p2p->h" + +MsnP2PHeader * +msn_p2p_header_from_wire(MsnP2PHeader *wire) +{ + MsnP2PHeader *header; + + header = g_new(MsnP2PHeader, 1); + + header->session_id = GUINT32_FROM_LE(wire->session_id); + header->id = GUINT32_FROM_LE(wire->id); + header->offset = GUINT64_FROM_LE(wire->offset); + header->total_size = GUINT64_FROM_LE(wire->total_size); + header->length = GUINT32_FROM_LE(wire->length); + header->flags = GUINT32_FROM_LE(wire->flags); + header->ack_id = GUINT32_FROM_LE(wire->ack_id); + header->ack_sub_id = GUINT32_FROM_LE(wire->ack_sub_id); + header->ack_size = GUINT64_FROM_LE(wire->ack_size); + + return header; +} + +MsnP2PHeader * +msn_p2p_header_to_wire(MsnP2PHeader *header) +{ + MsnP2PHeader *wire; + + g_new(MsnP2PHeader, 1); + + wire->session_id = GUINT32_TO_LE(header->session_id); + wire->id = GUINT32_TO_LE(header->id); + wire->offset = GUINT64_TO_LE(header->offset); + wire->total_size = GUINT64_TO_LE(header->total_size); + wire->length = GUINT32_TO_LE(header->length); + wire->flags = GUINT32_TO_LE(header->flags); + wire->ack_id = GUINT32_TO_LE(header->ack_id); + wire->ack_sub_id = GUINT32_TO_LE(header->ack_sub_id); + wire->ack_size = GUINT64_TO_LE(header->ack_size); + +} + ============================================================ --- libpurple/protocols/msn/p2p.h b6db22ce1132964133d8db7228d0f6eee6fa9a74 +++ libpurple/protocols/msn/p2p.h eddd89e84bf65437d14eca6233a669a2bc15da93 @@ -42,5 +42,10 @@ typedef enum #define P2P_PACKET_HEADER_SIZE sizeof(MsnP2PHeader) +MsnP2PHeader * +msn_p2p_header_from_wire(MsnP2PHeader *wire); +MsnP2PHeader * +msn_p2p_header_to_wire(MsnP2PHeader *header); + #endif /* MSN_P2P_H */ From masca at cpw.pidgin.im Fri Jun 4 21:35:45 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Fri, 4 Jun 2010 21:35:45 -0400 (EDT) Subject: soc.2010.msn-tlc: 59e73b2d: Drop MsnSlpFooter in favor of MsnP2pFoot... Message-ID: <20100605013545.85371AFD2300@rock.pidgin.im> ----------------------------------------------------------------- Revision: 59e73b2dc4289a910a495d7b3093684eea2b46b9 Ancestor: 9f062bc3f58c9172313bf9bd0f8641b1fb8aec8b Author: masca at cpw.pidgin.im Date: 2010-06-03T21:44:36 Branch: im.pidgin.soc.2010.msn-tlc URL: http://d.pidgin.im/viewmtn/revision/info/59e73b2dc4289a910a495d7b3093684eea2b46b9 Modified files: libpurple/protocols/msn/msg.c libpurple/protocols/msn/msg.h libpurple/protocols/msn/p2p.h ChangeLog: Drop MsnSlpFooter in favor of MsnP2pFooter. -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/msg.c 6f86c4b9b3b4879d26c03d3317baebc29368f675 +++ libpurple/protocols/msn/msg.c 3b7c8045bb937838073ce3d4aa5f806eb1b28e6e @@ -299,7 +299,7 @@ msn_message_parse_payload(MsnMessage *ms !strcmp(content_type, "application/x-msnmsgrp2p")) { MsnP2PBinaryHeader header; - MsnSlpFooter footer; + MsnP2PFooter footer; int body_len; if (payload_len - (tmp - tmp_base) < sizeof(header)) { @@ -476,7 +476,7 @@ msn_message_gen_payload(MsnMessage *msg, if (msg->msnslp_message) { MsnP2PBinaryHeader header; - MsnSlpFooter footer; + MsnP2PFooter footer; header.session_id = GUINT32_TO_LE(msg->msnslp_header.session_id); header.id = GUINT32_TO_LE(msg->msnslp_header.id); ============================================================ --- libpurple/protocols/msn/msg.h 6dd6b7f37f2bf09eab4183d9b518b24d5650d69f +++ libpurple/protocols/msn/msg.h 12d4829a7efc0f9abf29a473ad1ac7ebe8671301 @@ -68,11 +68,6 @@ typedef void (*MsnMsgCb)(MsnMessage *, v #define MSG_OIM_BODY_DEM "\n\n" #define MSG_OIM_LINE_DEM "\n" -typedef struct -{ - guint32 value; -} MsnSlpFooter; - /** * A message. */ @@ -95,7 +90,7 @@ struct _MsnMessage guint received_chunks; /**< How many chunks we've received so far */ MsnP2PBinaryHeader msnslp_header; - MsnSlpFooter msnslp_footer; + MsnP2PFooter msnslp_footer; GHashTable *header_table; GList *header_list; ============================================================ --- libpurple/protocols/msn/p2p.h 9fa1d84a98dd65bd40296be9250f4460ed252aa6 +++ libpurple/protocols/msn/p2p.h 5a952a7acef5c34ff5d7e16e8793ca9c7602aa91 @@ -18,6 +18,11 @@ typedef struct { } MsnP2PBinaryHeader; #pragma pack(pop) +typedef struct +{ + guint32 value; +} MsnP2PFooter; + typedef enum { P2P_NO_FLAG = 0x0, /**< No flags specified */ From masca at cpw.pidgin.im Fri Jun 4 21:35:44 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Fri, 4 Jun 2010 21:35:44 -0400 (EDT) Subject: soc.2010.msn-tlc: 586b6cf0: Drop Binary from the struct name. Message-ID: <20100605013544.8F7D7AFD22FD@rock.pidgin.im> ----------------------------------------------------------------- Revision: 586b6cf0962bb00bafabd83bc6872b07f8236e50 Ancestor: 59e73b2dc4289a910a495d7b3093684eea2b46b9 Author: masca at cpw.pidgin.im Date: 2010-06-03T21:50:45 Branch: im.pidgin.soc.2010.msn-tlc URL: http://d.pidgin.im/viewmtn/revision/info/586b6cf0962bb00bafabd83bc6872b07f8236e50 Modified files: libpurple/protocols/msn/directconn.c libpurple/protocols/msn/directconn.h libpurple/protocols/msn/msg.c libpurple/protocols/msn/msg.h libpurple/protocols/msn/p2p.h libpurple/protocols/msn/slplink.c libpurple/protocols/msn/slplink.h ChangeLog: Drop Binary from the struct name. -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/directconn.c 13bd0ad010cd9ad401de1b5b218b3bb247c034e4 +++ libpurple/protocols/msn/directconn.c 60f23f07985cc1fdb8e9cf34e5653582a69baadb @@ -340,14 +340,14 @@ msn_dc_parse_binary_header(MsnDirectConn static void msn_dc_parse_binary_header(MsnDirectConn *dc) { - MsnP2PBinaryHeader *h; - MsnP2PBinaryHeader *context; + MsnP2PHeader *h; + MsnP2PHeader *context; g_return_if_fail(dc != NULL); h = &dc->header; /* Skip packet size */ - context = (MsnP2PBinaryHeader *)(dc->in_buffer + 4); + context = (MsnP2PHeader *)(dc->in_buffer + 4); h->session_id = GUINT32_FROM_LE(context->session_id); h->id = GUINT32_FROM_LE(context->id); @@ -362,8 +362,8 @@ msn_dc_serialize_binary_header(MsnDirect static const gchar * msn_dc_serialize_binary_header(MsnDirectConn *dc) { - MsnP2PBinaryHeader *h; - static MsnP2PBinaryHeader bin_header; + MsnP2PHeader *h; + static MsnP2PHeader bin_header; g_return_val_if_fail(dc != NULL, NULL); @@ -480,7 +480,7 @@ msn_dc_send_handshake_with_nonce(MsnDire h = msn_dc_serialize_binary_header(dc); memcpy(p->data, h, P2P_PACKET_HEADER_SIZE); - memcpy(p->data + offsetof(MsnP2PBinaryHeader, ack_id), dc->nonce, 16); + memcpy(p->data + offsetof(MsnP2PHeader, ack_id), dc->nonce, 16); msn_dc_enqueue_packet(dc, p); } @@ -524,7 +524,7 @@ msn_dc_verify_handshake(MsnDirectConn *d if (packet_length != P2P_PACKET_HEADER_SIZE) return FALSE; - memcpy(nonce, dc->in_buffer + 4 + offsetof(MsnP2PBinaryHeader, ack_id), 16); + memcpy(nonce, dc->in_buffer + 4 + offsetof(MsnP2PHeader, ack_id), 16); if (dc->nonce_type == DC_NONCE_PLAIN) { if (memcmp(dc->nonce, nonce, 16) == 0) { ============================================================ --- libpurple/protocols/msn/directconn.h 9099a5aed644ee2b7a6b30b7b205b877a482e562 +++ libpurple/protocols/msn/directconn.h ca15df57a2aaeb1fd19623530f507a66dce53594 @@ -100,7 +100,7 @@ struct _MsnDirectConn GQueue *out_queue; /**< The outgoing packet queue */ int msg_pos; /**< The position of next byte to be sent in the actual packet */ - MsnP2PBinaryHeader header; /**< SLP header for parsing / serializing */ + MsnP2PHeader header; /**< SLP header for parsing / serializing */ /** The callback used for sending information to the peer about the opened socket */ void (*send_connection_info_msg_cb)(MsnDirectConn *); ============================================================ --- libpurple/protocols/msn/msg.c 3b7c8045bb937838073ce3d4aa5f806eb1b28e6e +++ libpurple/protocols/msn/msg.c d27d28b3d407f3900ab8c517b135a9e5a5e5dc08 @@ -163,7 +163,7 @@ msn_message_parse_slp_body(MsnMessage *m void msn_message_parse_slp_body(MsnMessage *msg, const char *body, size_t len) { - MsnP2PBinaryHeader header; + MsnP2PHeader header; const char *tmp; int body_len; @@ -298,7 +298,7 @@ msn_message_parse_payload(MsnMessage *ms if (content_type != NULL && !strcmp(content_type, "application/x-msnmsgrp2p")) { - MsnP2PBinaryHeader header; + MsnP2PHeader header; MsnP2PFooter footer; int body_len; @@ -384,7 +384,7 @@ msn_message_gen_slp_body(MsnMessage *msg char * msn_message_gen_slp_body(MsnMessage *msg, size_t *ret_size) { - MsnP2PBinaryHeader header; + MsnP2PHeader header; char *tmp, *base; const void *body; @@ -475,7 +475,7 @@ msn_message_gen_payload(MsnMessage *msg, if (msg->msnslp_message) { - MsnP2PBinaryHeader header; + MsnP2PHeader header; MsnP2PFooter footer; header.session_id = GUINT32_TO_LE(msg->msnslp_header.session_id); ============================================================ --- libpurple/protocols/msn/msg.h 12d4829a7efc0f9abf29a473ad1ac7ebe8671301 +++ libpurple/protocols/msn/msg.h e5c664027c0f16e394bc4e571746cd8df3cbc9f9 @@ -89,7 +89,7 @@ struct _MsnMessage guint total_chunks; /**< How many chunks in this multi-part message */ guint received_chunks; /**< How many chunks we've received so far */ - MsnP2PBinaryHeader msnslp_header; + MsnP2PHeader msnslp_header; MsnP2PFooter msnslp_footer; GHashTable *header_table; ============================================================ --- libpurple/protocols/msn/p2p.h 5a952a7acef5c34ff5d7e16e8793ca9c7602aa91 +++ libpurple/protocols/msn/p2p.h b6db22ce1132964133d8db7228d0f6eee6fa9a74 @@ -15,7 +15,7 @@ typedef struct { guint32 ack_sub_id; guint64 ack_size; /* guint8 body[1]; */ -} MsnP2PBinaryHeader; +} MsnP2PHeader; #pragma pack(pop) typedef struct @@ -40,7 +40,7 @@ typedef enum * #7180 */ -#define P2P_PACKET_HEADER_SIZE sizeof(MsnP2PBinaryHeader) +#define P2P_PACKET_HEADER_SIZE sizeof(MsnP2PHeader) #endif /* MSN_P2P_H */ ============================================================ --- libpurple/protocols/msn/slplink.c 1a5634fa8e93ee6c30adfde0bb08bd1d65573fc7 +++ libpurple/protocols/msn/slplink.c 00100cc1f2425a41fc8081757b100e5c96e14eda @@ -493,7 +493,7 @@ static MsnSlpMessage * } static MsnSlpMessage * -msn_slplink_create_ack(MsnSlpLink *slplink, MsnP2PBinaryHeader *header) +msn_slplink_create_ack(MsnSlpLink *slplink, MsnP2PHeader *header) { MsnSlpMessage *slpmsg; @@ -511,7 +511,7 @@ static void } static void -msn_slplink_send_ack(MsnSlpLink *slplink, MsnP2PBinaryHeader *header) +msn_slplink_send_ack(MsnSlpLink *slplink, MsnP2PHeader *header) { MsnSlpMessage *slpmsg = msn_slplink_create_ack(slplink, header); @@ -563,7 +563,7 @@ void } void -msn_slplink_process_msg(MsnSlpLink *slplink, MsnP2PBinaryHeader *header, const char *data, gsize len) +msn_slplink_process_msg(MsnSlpLink *slplink, MsnP2PHeader *header, const char *data, gsize len) { MsnSlpMessage *slpmsg; guint64 offset; ============================================================ --- libpurple/protocols/msn/slplink.h 75e772facbe1708e33b3324839306a5df671f472 +++ libpurple/protocols/msn/slplink.h ce4dec96a931dde16578c5ac5a0148c8fbe020fc @@ -81,7 +81,7 @@ void msn_slplink_send_queued_slpmsgs(Msn void msn_slplink_send_slpmsg(MsnSlpLink *slplink, MsnSlpMessage *slpmsg); void msn_slplink_send_queued_slpmsgs(MsnSlpLink *slplink); -void msn_slplink_process_msg(MsnSlpLink *slplink, MsnP2PBinaryHeader *header, const char *data, gsize len); +void msn_slplink_process_msg(MsnSlpLink *slplink, MsnP2PHeader *header, const char *data, gsize len); void msn_slplink_request_ft(MsnSlpLink *slplink, PurpleXfer *xfer); void msn_slplink_send_msg(MsnSlpLink *slplink, MsnMessage *msg); From masca at cpw.pidgin.im Fri Jun 4 21:35:46 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Fri, 4 Jun 2010 21:35:46 -0400 (EDT) Subject: soc.2010.msn-tlc: 6827410a: Chang member name so it is compatible wi... Message-ID: <20100605013546.94B4BAFD22F4@rock.pidgin.im> ----------------------------------------------------------------- Revision: 6827410a0577c6802d9cd3bbd3360a64f11c4acd Ancestor: daa1c9055c681df9e6c617eda9894c771c22df1d Author: masca at cpw.pidgin.im Date: 2010-06-03T21:18:53 Branch: im.pidgin.soc.2010.msn-tlc URL: http://d.pidgin.im/viewmtn/revision/info/6827410a0577c6802d9cd3bbd3360a64f11c4acd Modified files: libpurple/protocols/msn/directconn.c libpurple/protocols/msn/p2p.h ChangeLog: Chang member name so it is compatible with MsnSlpHeader struct names. -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/directconn.c 5ab855487f6413d8c511e123b3d61acc3c41ceee +++ libpurple/protocols/msn/directconn.c a42bdcc1c535ab6f7d212214c050f34924bf47be @@ -350,13 +350,13 @@ msn_dc_parse_binary_header(MsnDirectConn context = (MsnP2PBinaryHeader *)(dc->in_buffer + 4); h->session_id = GUINT32_FROM_LE(context->session_id); - h->id = GUINT32_FROM_LE(context->seq_id); + h->id = GUINT32_FROM_LE(context->id); h->offset = GUINT64_FROM_LE(context->offset); h->total_size = GUINT64_FROM_LE(context->total_size); h->length = GUINT32_FROM_LE(context->length); h->flags = GUINT32_FROM_LE(context->flags); h->ack_id = GUINT32_FROM_LE(context->ack_id); - h->ack_sub_id = GUINT32_FROM_LE(context->ack_uid); + h->ack_sub_id = GUINT32_FROM_LE(context->ack_sub_id); h->ack_size = GUINT64_FROM_LE(context->ack_size); } @@ -370,13 +370,13 @@ msn_dc_serialize_binary_header(MsnDirect h = &dc->header; bin_header.session_id = GUINT32_TO_LE(h->session_id); - bin_header.seq_id = GUINT32_TO_LE(h->id); + bin_header.id = GUINT32_TO_LE(h->id); bin_header.offset = GUINT64_TO_LE(h->offset); bin_header.total_size = GUINT64_TO_LE(h->total_size); bin_header.length = GUINT32_TO_LE(h->length); bin_header.flags = GUINT32_TO_LE(h->flags); bin_header.ack_id = GUINT32_TO_LE(h->ack_id); - bin_header.ack_uid = GUINT32_TO_LE(h->ack_sub_id); + bin_header.ack_sub_id = GUINT32_TO_LE(h->ack_sub_id); bin_header.ack_size = GUINT64_TO_LE(h->ack_size); return (const gchar *)&bin_header; ============================================================ --- libpurple/protocols/msn/p2p.h 88736c70817e5617d91b67125abc2ceec45962fd +++ libpurple/protocols/msn/p2p.h 9fa1d84a98dd65bd40296be9250f4460ed252aa6 @@ -6,13 +6,13 @@ typedef struct { #pragma pack(push,1) typedef struct { guint32 session_id; - guint32 seq_id; + guint32 id; guint64 offset; guint64 total_size; guint32 length; guint32 flags; guint32 ack_id; - guint32 ack_uid; + guint32 ack_sub_id; guint64 ack_size; /* guint8 body[1]; */ } MsnP2PBinaryHeader; From masca at cpw.pidgin.im Fri Jun 4 21:35:49 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Fri, 4 Jun 2010 21:35:49 -0400 (EDT) Subject: soc.2010.msn-tlc: 9950ccdc: Use convenient p2p functions to avoid co... Message-ID: <20100605013549.87B14AFD22DF@rock.pidgin.im> ----------------------------------------------------------------- Revision: 9950ccdc3ca0e19a4e7fa3081eedcf77a77182e6 Ancestor: 229545fc9eb3612a643b83a54e3b92a41a4474ca Author: masca at cpw.pidgin.im Date: 2010-06-04T00:21:00 Branch: im.pidgin.soc.2010.msn-tlc URL: http://d.pidgin.im/viewmtn/revision/info/9950ccdc3ca0e19a4e7fa3081eedcf77a77182e6 Modified files: libpurple/protocols/msn/msg.c ChangeLog: Use convenient p2p functions to avoid code here. There is a lot more code duplication to fix here. -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/msg.c d27d28b3d407f3900ab8c517b135a9e5a5e5dc08 +++ libpurple/protocols/msn/msg.c e3fa0c8943473f05f85aa2e334670e0a2fd0a3b2 @@ -28,6 +28,7 @@ #include "msn.h" #include "msg.h" #include "msnutils.h" +#include "p2p.h" MsnMessage * msn_message_new(MsnMsgType type) @@ -163,30 +164,27 @@ msn_message_parse_slp_body(MsnMessage *m void msn_message_parse_slp_body(MsnMessage *msg, const char *body, size_t len) { - MsnP2PHeader header; + MsnP2PHeader *header; + MsnP2PHeader wire; const char *tmp; int body_len; tmp = body; - if (len < sizeof(header)) { + if (len < sizeof(wire)) { g_return_if_reached(); } /* Extract the binary SLP header */ - memcpy(&header, tmp, sizeof(header)); - tmp += sizeof(header); + memcpy(&wire, tmp, sizeof(wire)); + tmp += sizeof(wire); - msg->msnslp_header.session_id = GUINT32_FROM_LE(header.session_id); - msg->msnslp_header.id = GUINT32_FROM_LE(header.id); - msg->msnslp_header.offset = GUINT64_FROM_LE(header.offset); - msg->msnslp_header.total_size = GUINT64_FROM_LE(header.total_size); - msg->msnslp_header.length = GUINT32_FROM_LE(header.length); - msg->msnslp_header.flags = GUINT32_FROM_LE(header.flags); - msg->msnslp_header.ack_id = GUINT32_FROM_LE(header.ack_id); - msg->msnslp_header.ack_sub_id = GUINT32_FROM_LE(header.ack_sub_id); - msg->msnslp_header.ack_size = GUINT64_FROM_LE(header.ack_size); + header = msn_p2p_header_from_wire(&wire); + memcpy(&msg->msnslp_header, (char*)header, sizeof(*header)); + + g_free(header); + /* Extract the body */ body_len = len - (tmp - body); /* msg->body_len = msg->msnslp_header.length; */ @@ -298,7 +296,8 @@ msn_message_parse_payload(MsnMessage *ms if (content_type != NULL && !strcmp(content_type, "application/x-msnmsgrp2p")) { - MsnP2PHeader header; + MsnP2PHeader *header; + MsnP2PHeader wire; MsnP2PFooter footer; int body_len; @@ -310,19 +309,15 @@ msn_message_parse_payload(MsnMessage *ms msg->msnslp_message = TRUE; /* Extract the binary SLP header */ - memcpy(&header, tmp, sizeof(header)); - tmp += sizeof(header); + memcpy(&wire, tmp, sizeof(wire)); + tmp += sizeof(wire); - msg->msnslp_header.session_id = GUINT32_FROM_LE(header.session_id); - msg->msnslp_header.id = GUINT32_FROM_LE(header.id); - msg->msnslp_header.offset = GUINT64_FROM_LE(header.offset); - msg->msnslp_header.total_size = GUINT64_FROM_LE(header.total_size); - msg->msnslp_header.length = GUINT32_FROM_LE(header.length); - msg->msnslp_header.flags = GUINT32_FROM_LE(header.flags); - msg->msnslp_header.ack_id = GUINT32_FROM_LE(header.ack_id); - msg->msnslp_header.ack_sub_id = GUINT32_FROM_LE(header.ack_sub_id); - msg->msnslp_header.ack_size = GUINT64_FROM_LE(header.ack_size); + header = msn_p2p_header_from_wire(&wire); + memcpy(&msg->msnslp_header, (char*)header, sizeof(*header)); + + g_free(header); + body_len = payload_len - (tmp - tmp_base) - sizeof(footer); /* Extract the body */ @@ -384,7 +379,7 @@ msn_message_gen_slp_body(MsnMessage *msg char * msn_message_gen_slp_body(MsnMessage *msg, size_t *ret_size) { - MsnP2PHeader header; + MsnP2PHeader *header; char *tmp, *base; const void *body; @@ -398,19 +393,13 @@ msn_message_gen_slp_body(MsnMessage *msg body = msn_message_get_bin_data(msg, &body_len); - header.session_id = GUINT32_TO_LE(msg->msnslp_header.session_id); - header.id = GUINT32_TO_LE(msg->msnslp_header.id); - header.offset = GUINT64_TO_LE(msg->msnslp_header.offset); - header.total_size = GUINT64_TO_LE(msg->msnslp_header.total_size); - header.length = GUINT32_TO_LE(msg->msnslp_header.length); - header.flags = GUINT32_TO_LE(msg->msnslp_header.flags); - header.ack_id = GUINT32_TO_LE(msg->msnslp_header.ack_id); - header.ack_sub_id = GUINT32_TO_LE(msg->msnslp_header.ack_sub_id); - header.ack_size = GUINT64_TO_LE(msg->msnslp_header.ack_size); + header = msn_p2p_header_to_wire(&(msg->msnslp_header)); - memcpy(tmp, &header, 48); + memcpy(tmp, header, 48); tmp += 48; + g_free(header); + if (body != NULL) { memcpy(tmp, body, body_len); @@ -475,22 +464,16 @@ msn_message_gen_payload(MsnMessage *msg, if (msg->msnslp_message) { - MsnP2PHeader header; + MsnP2PHeader *header; MsnP2PFooter footer; - header.session_id = GUINT32_TO_LE(msg->msnslp_header.session_id); - header.id = GUINT32_TO_LE(msg->msnslp_header.id); - header.offset = GUINT64_TO_LE(msg->msnslp_header.offset); - header.total_size = GUINT64_TO_LE(msg->msnslp_header.total_size); - header.length = GUINT32_TO_LE(msg->msnslp_header.length); - header.flags = GUINT32_TO_LE(msg->msnslp_header.flags); - header.ack_id = GUINT32_TO_LE(msg->msnslp_header.ack_id); - header.ack_sub_id = GUINT32_TO_LE(msg->msnslp_header.ack_sub_id); - header.ack_size = GUINT64_TO_LE(msg->msnslp_header.ack_size); + header = msn_p2p_header_to_wire(&(msg->msnslp_header)); - memcpy(n, &header, 48); + memcpy(n, header, 48); n += 48; + g_free(header); + if (body != NULL) { memcpy(n, body, body_len); From masca at cpw.pidgin.im Fri Jun 4 21:35:50 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Fri, 4 Jun 2010 21:35:50 -0400 (EDT) Subject: soc.2010.msn-tlc: 9f062bc3: Drop MsnSlpHeader in favor of MsnP2pBina... Message-ID: <20100605013552.D3F3FAFD22FF@rock.pidgin.im> ----------------------------------------------------------------- Revision: 9f062bc3f58c9172313bf9bd0f8641b1fb8aec8b Ancestor: 6827410a0577c6802d9cd3bbd3360a64f11c4acd Author: masca at cpw.pidgin.im Date: 2010-06-03T21:41:43 Branch: im.pidgin.soc.2010.msn-tlc URL: http://d.pidgin.im/viewmtn/revision/info/9f062bc3f58c9172313bf9bd0f8641b1fb8aec8b Modified files: libpurple/protocols/msn/directconn.c libpurple/protocols/msn/directconn.h libpurple/protocols/msn/msg.c libpurple/protocols/msn/msg.h libpurple/protocols/msn/slplink.c libpurple/protocols/msn/slplink.h ChangeLog: Drop MsnSlpHeader in favor of MsnP2pBinaryHeader. -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/directconn.c a42bdcc1c535ab6f7d212214c050f34924bf47be +++ libpurple/protocols/msn/directconn.c 13bd0ad010cd9ad401de1b5b218b3bb247c034e4 @@ -340,7 +340,7 @@ msn_dc_parse_binary_header(MsnDirectConn static void msn_dc_parse_binary_header(MsnDirectConn *dc) { - MsnSlpHeader *h; + MsnP2PBinaryHeader *h; MsnP2PBinaryHeader *context; g_return_if_fail(dc != NULL); @@ -362,7 +362,7 @@ msn_dc_serialize_binary_header(MsnDirect static const gchar * msn_dc_serialize_binary_header(MsnDirectConn *dc) { - MsnSlpHeader *h; + MsnP2PBinaryHeader *h; static MsnP2PBinaryHeader bin_header; g_return_val_if_fail(dc != NULL, NULL); ============================================================ --- libpurple/protocols/msn/directconn.h 8b56d2d2e95dd59e247a371807a5889e107e2a38 +++ libpurple/protocols/msn/directconn.h 9099a5aed644ee2b7a6b30b7b205b877a482e562 @@ -100,7 +100,7 @@ struct _MsnDirectConn GQueue *out_queue; /**< The outgoing packet queue */ int msg_pos; /**< The position of next byte to be sent in the actual packet */ - MsnSlpHeader header; /**< SLP header for parsing / serializing */ + MsnP2PBinaryHeader header; /**< SLP header for parsing / serializing */ /** The callback used for sending information to the peer about the opened socket */ void (*send_connection_info_msg_cb)(MsnDirectConn *); ============================================================ --- libpurple/protocols/msn/msg.c 9ebf6a0fedf0de21c281184e0babb007eba68bce +++ libpurple/protocols/msn/msg.c 6f86c4b9b3b4879d26c03d3317baebc29368f675 @@ -163,7 +163,7 @@ msn_message_parse_slp_body(MsnMessage *m void msn_message_parse_slp_body(MsnMessage *msg, const char *body, size_t len) { - MsnSlpHeader header; + MsnP2PBinaryHeader header; const char *tmp; int body_len; @@ -298,7 +298,7 @@ msn_message_parse_payload(MsnMessage *ms if (content_type != NULL && !strcmp(content_type, "application/x-msnmsgrp2p")) { - MsnSlpHeader header; + MsnP2PBinaryHeader header; MsnSlpFooter footer; int body_len; @@ -384,7 +384,7 @@ msn_message_gen_slp_body(MsnMessage *msg char * msn_message_gen_slp_body(MsnMessage *msg, size_t *ret_size) { - MsnSlpHeader header; + MsnP2PBinaryHeader header; char *tmp, *base; const void *body; @@ -475,7 +475,7 @@ msn_message_gen_payload(MsnMessage *msg, if (msg->msnslp_message) { - MsnSlpHeader header; + MsnP2PBinaryHeader header; MsnSlpFooter footer; header.session_id = GUINT32_TO_LE(msg->msnslp_header.session_id); ============================================================ --- libpurple/protocols/msn/msg.h 3de3f539b888ce0bb26b84a7a8e1f0070bde3f84 +++ libpurple/protocols/msn/msg.h 6dd6b7f37f2bf09eab4183d9b518b24d5650d69f @@ -58,6 +58,7 @@ typedef enum #include "session.h" #include "transaction.h" #include "user.h" +#include "p2p.h" typedef void (*MsnMsgCb)(MsnMessage *, void *data); @@ -69,19 +70,6 @@ typedef struct typedef struct { - guint32 session_id; - guint32 id; - guint64 offset; - guint64 total_size; - guint32 length; - guint32 flags; - guint32 ack_id; - guint32 ack_sub_id; - guint64 ack_size; -} MsnSlpHeader; - -typedef struct -{ guint32 value; } MsnSlpFooter; @@ -106,7 +94,7 @@ struct _MsnMessage guint total_chunks; /**< How many chunks in this multi-part message */ guint received_chunks; /**< How many chunks we've received so far */ - MsnSlpHeader msnslp_header; + MsnP2PBinaryHeader msnslp_header; MsnSlpFooter msnslp_footer; GHashTable *header_table; ============================================================ --- libpurple/protocols/msn/slplink.c 18ec3f7b96fcc64b85bba3dc1119b4fd57930655 +++ libpurple/protocols/msn/slplink.c 1a5634fa8e93ee6c30adfde0bb08bd1d65573fc7 @@ -493,7 +493,7 @@ static MsnSlpMessage * } static MsnSlpMessage * -msn_slplink_create_ack(MsnSlpLink *slplink, MsnSlpHeader *header) +msn_slplink_create_ack(MsnSlpLink *slplink, MsnP2PBinaryHeader *header) { MsnSlpMessage *slpmsg; @@ -511,7 +511,7 @@ static void } static void -msn_slplink_send_ack(MsnSlpLink *slplink, MsnSlpHeader *header) +msn_slplink_send_ack(MsnSlpLink *slplink, MsnP2PBinaryHeader *header) { MsnSlpMessage *slpmsg = msn_slplink_create_ack(slplink, header); @@ -563,7 +563,7 @@ void } void -msn_slplink_process_msg(MsnSlpLink *slplink, MsnSlpHeader *header, const char *data, gsize len) +msn_slplink_process_msg(MsnSlpLink *slplink, MsnP2PBinaryHeader *header, const char *data, gsize len) { MsnSlpMessage *slpmsg; guint64 offset; ============================================================ --- libpurple/protocols/msn/slplink.h 3029144787411e28c9b1d5e04db50114b09000e3 +++ libpurple/protocols/msn/slplink.h 75e772facbe1708e33b3324839306a5df671f472 @@ -81,7 +81,7 @@ void msn_slplink_send_queued_slpmsgs(Msn void msn_slplink_send_slpmsg(MsnSlpLink *slplink, MsnSlpMessage *slpmsg); void msn_slplink_send_queued_slpmsgs(MsnSlpLink *slplink); -void msn_slplink_process_msg(MsnSlpLink *slplink, MsnSlpHeader *header, const char *data, gsize len); +void msn_slplink_process_msg(MsnSlpLink *slplink, MsnP2PBinaryHeader *header, const char *data, gsize len); void msn_slplink_request_ft(MsnSlpLink *slplink, PurpleXfer *xfer); void msn_slplink_send_msg(MsnSlpLink *slplink, MsnMessage *msg); From masca at cpw.pidgin.im Fri Jun 4 21:35:53 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Fri, 4 Jun 2010 21:35:53 -0400 (EDT) Subject: soc.2010.msn-tlc: b4a877b5: Fix logic error as pointed out by Elliot... Message-ID: <20100605013554.0A276AFD2303@rock.pidgin.im> ----------------------------------------------------------------- Revision: b4a877b5d355860851acfe7ac186ba5d4f88d684 Ancestor: 2f8e4a25bf8df945806e65e13670d90305bde2d5 Author: masca at cpw.pidgin.im Date: 2010-06-05T01:31:25 Branch: im.pidgin.soc.2010.msn-tlc URL: http://d.pidgin.im/viewmtn/revision/info/b4a877b5d355860851acfe7ac186ba5d4f88d684 Modified files: libpurple/protocols/msn/slpcall.c libpurple/protocols/msn/slplink.c ChangeLog: Fix logic error as pointed out by Elliot. -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/slpcall.c f308a2d9feed89f26c74b54fac6178bc76352d18 +++ libpurple/protocols/msn/slpcall.c ae9171dc5430cfec6771c62e7ba03c3d56cfe684 @@ -267,7 +267,7 @@ msn_slp_process_msg(MsnSlpLink *slplink, g_free(body_str); } else if (slpmsg->flags == P2P_MSN_OBJ_DATA || - slpmsg->flags == (P2P_WML2009_COMP & P2P_MSN_OBJ_DATA) || + slpmsg->flags == (P2P_WML2009_COMP | P2P_MSN_OBJ_DATA) || slpmsg->flags == P2P_FILE_DATA) { slpcall = msn_slplink_find_slp_call_with_session_id(slplink, slpmsg->session_id); ============================================================ --- libpurple/protocols/msn/slplink.c 00100cc1f2425a41fc8081757b100e5c96e14eda +++ libpurple/protocols/msn/slplink.c b0c216542f5265a36cd6652b188d8c0ef9a17ac5 @@ -331,7 +331,7 @@ msn_slplink_send_msgpart(MsnSlpLink *slp msn_slplink_send_msg(slplink, msg); if ((slpmsg->flags == P2P_MSN_OBJ_DATA || - slpmsg->flags == (P2P_WML2009_COMP & P2P_MSN_OBJ_DATA) || + slpmsg->flags == (P2P_WML2009_COMP | P2P_MSN_OBJ_DATA) || slpmsg->flags == P2P_FILE_DATA) && (slpmsg->slpcall != NULL)) { @@ -377,7 +377,7 @@ msg_ack(MsnMessage *msg, void *data) { /* The whole message has been sent */ if (slpmsg->flags == P2P_MSN_OBJ_DATA || - slpmsg->flags == (P2P_WML2009_COMP & P2P_MSN_OBJ_DATA) || + slpmsg->flags == (P2P_WML2009_COMP | P2P_MSN_OBJ_DATA) || slpmsg->flags == P2P_FILE_DATA) { if (slpmsg->slpcall != NULL) @@ -427,7 +427,7 @@ msn_slplink_release_slpmsg(MsnSlpLink *s msg->msnslp_header.ack_sub_id = slpmsg->ack_sub_id; } else if (slpmsg->flags == P2P_MSN_OBJ_DATA || - slpmsg->flags == (P2P_WML2009_COMP & P2P_MSN_OBJ_DATA) || + slpmsg->flags == (P2P_WML2009_COMP | P2P_MSN_OBJ_DATA) || slpmsg->flags == P2P_FILE_DATA) { MsnSlpCall *slpcall; @@ -593,7 +593,7 @@ msn_slplink_process_msg(MsnSlpLink *slpl if (slpmsg->slpcall != NULL) { if (slpmsg->flags == P2P_MSN_OBJ_DATA || - slpmsg->flags == (P2P_WML2009_COMP & P2P_MSN_OBJ_DATA) || + slpmsg->flags == (P2P_WML2009_COMP | P2P_MSN_OBJ_DATA) || slpmsg->flags == P2P_FILE_DATA) { PurpleXfer *xfer = slpmsg->slpcall->xfer; @@ -659,7 +659,7 @@ msn_slplink_process_msg(MsnSlpLink *slpl } if ((slpmsg->flags == P2P_MSN_OBJ_DATA || - slpmsg->flags == (P2P_WML2009_COMP & P2P_MSN_OBJ_DATA) || + slpmsg->flags == (P2P_WML2009_COMP | P2P_MSN_OBJ_DATA) || slpmsg->flags == P2P_FILE_DATA) && (slpmsg->slpcall != NULL)) { @@ -703,7 +703,7 @@ msn_slplink_process_msg(MsnSlpLink *slpl } else if (slpmsg->flags == P2P_NO_FLAG || slpmsg->flags == P2P_WML2009_COMP || slpmsg->flags == P2P_MSN_OBJ_DATA || - slpmsg->flags == (P2P_WML2009_COMP & P2P_MSN_OBJ_DATA) || + slpmsg->flags == (P2P_WML2009_COMP | P2P_MSN_OBJ_DATA) || slpmsg->flags == P2P_FILE_DATA) { /* Release all the messages and send the ACK */ From masca at cpw.pidgin.im Fri Jun 4 21:35:55 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Fri, 4 Jun 2010 21:35:55 -0400 (EDT) Subject: soc.2010.msn-tlc: b8daaf2d: Add the new module to Makefiles. Message-ID: <20100605013556.142C3AFD2309@rock.pidgin.im> ----------------------------------------------------------------- Revision: b8daaf2d21e3fa4b0c3672ad4e11eb1916e2ebee Ancestor: 3fbfcbb72a2c73dd467d70c13157a4c0aadea69a Author: masca at cpw.pidgin.im Date: 2010-06-03T23:36:23 Branch: im.pidgin.soc.2010.msn-tlc URL: http://d.pidgin.im/viewmtn/revision/info/b8daaf2d21e3fa4b0c3672ad4e11eb1916e2ebee Modified files: libpurple/protocols/msn/Makefile.am libpurple/protocols/msn/Makefile.mingw ChangeLog: Add the new module to Makefiles. -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/Makefile.am a79c741defcde3b18e0f210917168ccb92376799 +++ libpurple/protocols/msn/Makefile.am c798a884bd63ad37644cbeafc082f26c95376307 @@ -34,6 +34,8 @@ MSNSOURCES = \ object.h \ oim.c\ oim.h\ + p2p.c \ + p2p.h \ page.c \ page.h \ servconn.c \ ============================================================ --- libpurple/protocols/msn/Makefile.mingw 6d868e3ff6b0abc9ab2505916a7783da251bd486 +++ libpurple/protocols/msn/Makefile.mingw 0d858261872c095dd105a45bad5d00921881a16c @@ -52,6 +52,7 @@ C_SRC = cmdproc.c \ notification.c \ object.c \ oim.c\ + p2p.c \ page.c \ servconn.c \ session.c \ From masca at cpw.pidgin.im Fri Jun 4 21:35:56 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Fri, 4 Jun 2010 21:35:56 -0400 (EDT) Subject: soc.2010.msn-tlc: daa1c905: Actually add the new file. Message-ID: <20100605013556.F3AE3AFD22FD@rock.pidgin.im> ----------------------------------------------------------------- Revision: daa1c9055c681df9e6c617eda9894c771c22df1d Ancestor: 17457a26c2a06781fae929e78e8b7d3bf59f3831 Author: masca at cpw.pidgin.im Date: 2010-06-03T21:16:24 Branch: im.pidgin.soc.2010.msn-tlc URL: http://d.pidgin.im/viewmtn/revision/info/daa1c9055c681df9e6c617eda9894c771c22df1d Added files: libpurple/protocols/msn/p2p.h ChangeLog: Actually add the new file. -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/p2p.h 88736c70817e5617d91b67125abc2ceec45962fd +++ libpurple/protocols/msn/p2p.h 88736c70817e5617d91b67125abc2ceec45962fd @@ -0,0 +1,41 @@ +#ifndef MSN_P2P_H +#define MSN_P2P_H + +#include "msg.h" + +#pragma pack(push,1) +typedef struct { + guint32 session_id; + guint32 seq_id; + guint64 offset; + guint64 total_size; + guint32 length; + guint32 flags; + guint32 ack_id; + guint32 ack_uid; + guint64 ack_size; +/* guint8 body[1]; */ +} MsnP2PBinaryHeader; +#pragma pack(pop) + +typedef enum +{ + P2P_NO_FLAG = 0x0, /**< No flags specified */ + P2P_OUT_OF_ORDER = 0x1, /**< Chunk out-of-order */ + P2P_ACK = 0x2, /**< Acknowledgement */ + P2P_PENDING_INVITE = 0x4, /**< There is a pending invite */ + P2P_BINARY_ERROR = 0x8, /**< Error on the binary level */ + P2P_MSN_OBJ_DATA = 0x20, /**< MsnObject data */ + P2P_WML2009_COMP = 0x1000000, /**< Compatibility with WLM 2009 */ + P2P_FILE_DATA = 0x1000030 /**< File transfer data */ +} MsnP2PHeaderFlag; +/* Info From: + * http://msnpiki.msnfanatic.com/index.php/MSNC:P2Pv1_Headers#Flags + * http://trac.kmess.org/changeset/ba04d0c825769d23370511031c47f6be75fe9b86 + * #7180 + */ + +#define P2P_PACKET_HEADER_SIZE sizeof(MsnP2PBinaryHeader) + + +#endif /* MSN_P2P_H */ From nosnilmot at pidgin.im Sat Jun 5 00:01:13 2010 From: nosnilmot at pidgin.im (nosnilmot at pidgin.im) Date: Sat, 5 Jun 2010 00:01:13 -0400 (EDT) Subject: pidgin: 2354bdb3: Fix parallel builds on win32 Message-ID: <20100605040113.ACD20AFD2034@rock.pidgin.im> ----------------------------------------------------------------- Revision: 2354bdb318de029dd9fd2b15e2bb66ffe99920a6 Ancestor: 915eb72db575b96b63275f0f1d857378adbf3420 Author: nosnilmot at pidgin.im Date: 2010-06-05T03:59:23 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/2354bdb318de029dd9fd2b15e2bb66ffe99920a6 Modified files: pidgin/Makefile.mingw ChangeLog: Fix parallel builds on win32 -------------- next part -------------- ============================================================ --- pidgin/Makefile.mingw 89c89a71ff1f596b225504d8f37bcbd3ebab183b +++ pidgin/Makefile.mingw 34e85ef9875bfd3f292e7400a169b3a36bee6640 @@ -162,7 +162,7 @@ $(PIDGIN_TARGET).dll $(PIDGIN_TARGET).dl $(PIDGIN_TARGET).dll $(PIDGIN_TARGET).dll.a: $(PURPLE_DLL).a $(PIDGIN_IDLETRACK_DLL).a $(PIDGIN_OBJECTS) $(CC) -shared $(PIDGIN_OBJECTS) $(LIB_PATHS) $(PIDGIN_LIBS) $(DLL_LD_FLAGS) -Wl,--output-def,$(PIDGIN_TARGET).def,--out-implib,$(PIDGIN_TARGET).dll.a -o $(PIDGIN_TARGET).dll -$(EXE_TARGET).exe: $(PIDGIN_CONFIG_H) $(PIDGIN_DLL).a $(PIDGIN_IDLETRACK_DLL).a $(EXE_OBJECTS) +$(EXE_TARGET).exe: $(PIDGIN_CONFIG_H) $(PIDGIN_DLL).a $(EXE_OBJECTS) $(PIDGIN_TARGET).dll $(CC) $(LDFLAGS) $(EXE_OBJECTS) -o $(EXE_TARGET).exe ## From nosnilmot at pidgin.im Sat Jun 5 00:21:36 2010 From: nosnilmot at pidgin.im (nosnilmot at pidgin.im) Date: Sat, 5 Jun 2010 00:21:36 -0400 (EDT) Subject: pidgin: 52f4817b: merge of '2354bdb318de029dd9fd2b15e2bb66... Message-ID: <20100605042136.9271BAFD2034@rock.pidgin.im> ----------------------------------------------------------------- Revision: 52f4817b6a7b2db5cad41758c4911c0f20f77eb2 Ancestor: 2354bdb318de029dd9fd2b15e2bb66ffe99920a6 Ancestor: 5cd4c8d6a9a467480e21ae349de63f7f200ad39b Author: nosnilmot at pidgin.im Date: 2010-06-05T04:16:12 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/52f4817b6a7b2db5cad41758c4911c0f20f77eb2 Modified files: ChangeLog ChangeLog.API Makefile.am Makefile.mingw NEWS configure.ac libpurple/protocols/msn/directconn.c libpurple/protocols/msn/notification.c libpurple/protocols/msn/notification.h libpurple/protocols/msn/user.h libpurple/protocols/oscar/libaim.c libpurple/protocols/oscar/libicq.c libpurple/protocols/oscar/oscar.c libpurple/util.c pidgin/Makefile.mingw pidgin/gtkconv.c pidgin/gtkimhtmltoolbar.c pidgin.spec.in po/af.po po/am.po po/ar.po po/az.po po/be at latin.po po/bg.po po/bn.po po/bn_IN.po po/bs.po po/ca.po po/ca at valencia.po po/cs.po po/da.po po/de.po po/dz.po po/el.po po/en_AU.po po/en_CA.po po/en_GB.po po/eo.po po/es.po po/et.po po/eu.po po/fa.po po/fi.po po/fr.po po/ga.po po/gl.po po/gu.po po/he.po po/hi.po po/hu.po po/hy.po po/id.po po/it.po po/ja.po po/ka.po po/km.po po/kn.po po/ko.po po/ku.po po/lo.po po/lt.po po/mk.po po/mn.po po/mr.po po/ms_MY.po po/my_MM.po po/nb.po po/ne.po po/nl.po po/nn.po po/oc.po po/or.po po/pa.po po/pl.po po/ps.po po/pt.po po/pt_BR.po po/ro.po po/ru.po po/si.po po/sk.po po/sl.po po/sq.po po/sr.po po/sr at latin.po po/sv.po po/sw.po po/ta.po po/te.po po/th.po po/tr.po po/uk.po po/ur.po po/vi.po po/xh.po po/zh_CN.po po/zh_HK.po po/zh_TW.po ChangeLog: merge of '2354bdb318de029dd9fd2b15e2bb66ffe99920a6' and '5cd4c8d6a9a467480e21ae349de63f7f200ad39b' From sadrul at pidgin.im Sat Jun 5 22:20:46 2010 From: sadrul at pidgin.im (sadrul at pidgin.im) Date: Sat, 5 Jun 2010 22:20:46 -0400 (EDT) Subject: pidgin: 66c343e5: merge of '52f4817b6a7b2db5cad41758c4911c... Message-ID: <20100606022046.333FBAFD0B98@rock.pidgin.im> ----------------------------------------------------------------- Revision: 66c343e57ba5828a78d88d159a594e3c4131e50e Ancestor: 52f4817b6a7b2db5cad41758c4911c0f20f77eb2 Ancestor: dfe958320740154e5d306f62dd8e7d260970ec29 Author: sadrul at pidgin.im Date: 2010-06-06T02:17:36 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/66c343e57ba5828a78d88d159a594e3c4131e50e Modified files: Makefile.am pidgin/Makefile.mingw pidgin/gtkimhtml.c ChangeLog: merge of '52f4817b6a7b2db5cad41758c4911c0f20f77eb2' and 'dfe958320740154e5d306f62dd8e7d260970ec29' From sadrul at pidgin.im Sat Jun 5 22:20:46 2010 From: sadrul at pidgin.im (sadrul at pidgin.im) Date: Sat, 5 Jun 2010 22:20:46 -0400 (EDT) Subject: pidgin: dfe95832: Do not paste in a read-only imhtml. Fixe... Message-ID: <20100606022046.A1CC0AFD0B98@rock.pidgin.im> ----------------------------------------------------------------- Revision: dfe958320740154e5d306f62dd8e7d260970ec29 Ancestor: 07a59c27400e4ab651316adfa2c75c22ed085fe5 Author: sadrul at pidgin.im Date: 2010-06-06T02:15:40 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/dfe958320740154e5d306f62dd8e7d260970ec29 Modified files: pidgin/gtkimhtml.c ChangeLog: Do not paste in a read-only imhtml. Fixes #12109. -------------- next part -------------- ============================================================ --- pidgin/gtkimhtml.c e05445dce47c3bf29c3cbe9d7279ec4c33175b3f +++ pidgin/gtkimhtml.c 9e71e4aad2a78354774e3eb6d67c3f8859ef3f90 @@ -1353,6 +1353,9 @@ imhtml_paste_cb(GtkIMHtml *imhtml, const static void imhtml_paste_cb(GtkIMHtml *imhtml, const char *str) { + if (!gtk_text_view_get_editable(GTK_TEXT_VIEW(imhtml))) + return; + if (!str || !*str || !strcmp(str, "html")) g_signal_emit_by_name(imhtml, "paste_clipboard"); else if (!strcmp(str, "text")) From malu at pidgin.im Sun Jun 6 14:25:41 2010 From: malu at pidgin.im (malu at pidgin.im) Date: Sun, 6 Jun 2010 14:25:41 -0400 (EDT) Subject: cpw.malu.xmpp.jingle_ft: 775a9f84: Don't send candidate-error more than onc... Message-ID: <20100606182541.1FC7CAFD0B92@rock.pidgin.im> ----------------------------------------------------------------- Revision: 775a9f847e8c3801a2f384bbdf89183db8dfd659 Ancestor: 665c9dc6b4373984c459da460368975fc7dd2386 Author: malu at pidgin.im Date: 2010-06-06T18:18:04 Branch: im.pidgin.cpw.malu.xmpp.jingle_ft URL: http://d.pidgin.im/viewmtn/revision/info/775a9f847e8c3801a2f384bbdf89183db8dfd659 Modified files: libpurple/protocols/jabber/jingle/s5b.c ChangeLog: Don't send candidate-error more than once -------------- next part -------------- ============================================================ --- libpurple/protocols/jabber/jingle/s5b.c f0785580714037a8410689c6b841f999b5c44098 +++ libpurple/protocols/jabber/jingle/s5b.c 1dde3c645af5c2dd106a00005acadf1888f26eb5 @@ -227,6 +227,7 @@ struct _JingleS5BPrivate { gboolean is_connected_to_remote; gboolean is_remote_connected; gboolean had_proxy_error; + gboolean had_candidate_error; }; #define JINGLE_S5B_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), JINGLE_TYPE_S5B, JingleS5BPrivate)) @@ -1142,7 +1143,10 @@ jingle_s5b_attempt_connect_internal(gpoi FALSE, jingle_s5b_connect_cb, jingle_s5b_connect_timeout_cb); } else { /* send candidate error */ - jabber_iq_send(jingle_s5b_create_candidate_error(session)); + if (!s5b->priv->had_candidate_error) { + jabber_iq_send(jingle_s5b_create_candidate_error(session)); + s5b->priv->had_candidate_error = TRUE; + } /* if the other end could connect to us (they sent a "candidate-used") we should use that */ @@ -1234,8 +1238,10 @@ jingle_s5b_handle_transport_info(JingleS if (!next_to_try || next_to_try->priority < cand->priority) { /* we don't have any remaining candidates to try, send a candidate-error if we aren't connected to the other client */ - if (!s5b->priv->successful_remote_candidate) { + if (!s5b->priv->successful_remote_candidate && + !s5b->priv->had_candidate_error) { jabber_iq_send(jingle_s5b_create_candidate_error(session)); + s5b->priv->had_candidate_error = TRUE; } jingle_s5b_stop_connection_attempts(s5b); From malu at pidgin.im Sun Jun 6 14:25:42 2010 From: malu at pidgin.im (malu at pidgin.im) Date: Sun, 6 Jun 2010 14:25:42 -0400 (EDT) Subject: cpw.malu.xmpp.jingle_ft: c4f7127d: propagate from branch 'im.pidgin.pidgin'... Message-ID: <20100606182542.02A93AFD0B92@rock.pidgin.im> ----------------------------------------------------------------- Revision: c4f7127dd8e10256b403364f3950e5302757aa54 Ancestor: 66c343e57ba5828a78d88d159a594e3c4131e50e Ancestor: 775a9f847e8c3801a2f384bbdf89183db8dfd659 Author: malu at pidgin.im Date: 2010-06-06T18:19:30 Branch: im.pidgin.cpw.malu.xmpp.jingle_ft URL: http://d.pidgin.im/viewmtn/revision/info/c4f7127dd8e10256b403364f3950e5302757aa54 Added files: libpurple/protocols/jabber/jingle/file-transfer.c libpurple/protocols/jabber/jingle/file-transfer.h libpurple/protocols/jabber/jingle/ibbs.c libpurple/protocols/jabber/jingle/ibbs.h libpurple/protocols/jabber/jingle/s5b.c libpurple/protocols/jabber/jingle/s5b.h libpurple/protocols/jabber/socks5.c libpurple/protocols/jabber/socks5.h libpurple/protocols/jabber/xfer.c libpurple/protocols/jabber/xfer.h Modified files: Makefile.am Makefile.mingw libpurple/ft.c libpurple/protocols/jabber/Makefile.am libpurple/protocols/jabber/Makefile.mingw libpurple/protocols/jabber/data.c libpurple/protocols/jabber/jabber.c libpurple/protocols/jabber/jingle/jingle.c libpurple/protocols/jabber/jingle/jingle.h libpurple/protocols/jabber/jingle/session.c libpurple/protocols/jabber/jingle/session.h libpurple/protocols/jabber/libxmpp.c libpurple/protocols/jabber/si.c libpurple/protocols/msn/directconn.c libpurple/protocols/msn/notification.c libpurple/protocols/msn/notification.h libpurple/protocols/msn/user.h libpurple/util.c pidgin/Makefile.mingw pidgin/gtkconv.c pidgin/gtkimhtml.c pidgin/gtkimhtmltoolbar.c ChangeLog: propagate from branch 'im.pidgin.pidgin' (head 66c343e57ba5828a78d88d159a594e3c4131e50e) to branch 'im.pidgin.cpw.malu.xmpp.jingle_ft' (head 775a9f847e8c3801a2f384bbdf89183db8dfd659) From masca at cpw.pidgin.im Sun Jun 6 19:11:00 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Sun, 6 Jun 2010 19:11:00 -0400 (EDT) Subject: soc.2010.msn-tlc: 66e4c816: merge of '5af6a35c4c39341b79cc8d61c700da... Message-ID: <20100606231100.2D0155BD001C@rock.pidgin.im> ----------------------------------------------------------------- Revision: 66e4c81623fbd6e1e033be30c81eb6f8e0cfb29a Ancestor: 5af6a35c4c39341b79cc8d61c700da2b874b9b6b Ancestor: b4a877b5d355860851acfe7ac186ba5d4f88d684 Author: masca at cpw.pidgin.im Date: 2010-06-06T21:27:12 Branch: im.pidgin.soc.2010.msn-tlc URL: http://d.pidgin.im/viewmtn/revision/info/66e4c81623fbd6e1e033be30c81eb6f8e0cfb29a Added files: libpurple/protocols/msn/p2p.c libpurple/protocols/msn/p2p.h Modified files: ChangeLog ChangeLog.API NEWS configure.ac libpurple/dbus-analyze-functions.py libpurple/protocols/jabber/auth.c libpurple/protocols/jabber/chat.h libpurple/protocols/msn/Makefile.am libpurple/protocols/msn/Makefile.mingw libpurple/protocols/msn/directconn.c libpurple/protocols/msn/directconn.h libpurple/protocols/msn/msg.c libpurple/protocols/msn/msg.h libpurple/protocols/msn/notification.c libpurple/protocols/msn/slp.c libpurple/protocols/msn/slpcall.c libpurple/protocols/msn/slplink.c libpurple/protocols/msn/slplink.h libpurple/protocols/oscar/libaim.c libpurple/protocols/oscar/libicq.c libpurple/protocols/oscar/oscar.c libpurple/protocols/qq/qq_base.c libpurple/roomlist.h libpurple/upnp.c pidgin/gtkblist.c pidgin/pixmaps/Makefile.am pidgin/pixmaps/Makefile.mingw pidgin/pixmaps/tray/hicolor/index.theme pidgin/plugins/gevolution/add_buddy_dialog.c pidgin/plugins/gevolution/gevolution.c pidgin/plugins/gevolution/new_person_dialog.c pidgin.spec.in po/ChangeLog po/POTFILES.in po/af.po po/am.po po/ar.po po/az.po po/be at latin.po po/bg.po po/bn.po po/bn_IN.po po/bs.po po/ca.po po/ca at valencia.po po/cs.po po/da.po po/de.po po/dz.po po/el.po po/en_AU.po po/en_CA.po po/en_GB.po po/eo.po po/es.po po/et.po po/eu.po po/fa.po po/fi.po po/fr.po po/ga.po po/gl.po po/gu.po po/he.po po/hi.po po/hu.po po/hy.po po/id.po po/it.po po/ja.po po/ka.po po/km.po po/kn.po po/ko.po po/ku.po po/lo.po po/lt.po po/mk.po po/mn.po po/mr.po po/ms_MY.po po/my_MM.po po/nb.po po/ne.po po/nl.po po/nn.po po/oc.po po/or.po po/pa.po po/pl.po po/ps.po po/pt.po po/pt_BR.po po/ro.po po/ru.po po/si.po po/sk.po po/sl.po po/sq.po po/sr.po po/sr at latin.po po/sv.po po/sw.po po/ta.po po/te.po po/th.po po/tr.po po/uk.po po/ur.po po/vi.po po/xh.po po/zh_CN.po po/zh_HK.po po/zh_TW.po ChangeLog: merge of '5af6a35c4c39341b79cc8d61c700da2b874b9b6b' and 'b4a877b5d355860851acfe7ac186ba5d4f88d684' From malu at pidgin.im Mon Jun 7 15:45:42 2010 From: malu at pidgin.im (malu at pidgin.im) Date: Mon, 7 Jun 2010 15:45:42 -0400 (EDT) Subject: pidgin: 3787c491: pidgin: Re-set focus after clicking on t... Message-ID: <20100607194542.E54A0AFD217E@rock.pidgin.im> ----------------------------------------------------------------- Revision: 3787c491815bdc62570cef158440584a850cee8d Ancestor: 66c343e57ba5828a78d88d159a594e3c4131e50e Author: malu at pidgin.im Date: 2010-06-07T19:41:55 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/3787c491815bdc62570cef158440584a850cee8d Modified files: ChangeLog libpurple/protocols/jabber/si.c pidgin/gtkimhtmltoolbar.c ChangeLog: pidgin: Re-set focus after clicking on the attention button. Closes #12124 -------------- next part -------------- ============================================================ --- ChangeLog 04aa577f39f4759a7677e6ecc0db9547d5c2d5a3 +++ ChangeLog 5dfe2d1234a64fc6f348ab1911c654d326c4dd8b @@ -1,6 +1,8 @@ version 2.7.2 (??/??/????): Pidgin and Finch: The Pimpin' Penguin IM Clients That're Good for the Soul version 2.7.2 (??/??/????): + Pidgin: + * Re-focus the input area after clicking the attention toolbar button. version 2.7.1 (05/29/2010): General: ============================================================ --- libpurple/protocols/jabber/si.c c3f9ed512b83933661995978936a65f03b685f24 +++ libpurple/protocols/jabber/si.c 89bd22bcd01c3ce92931e65c3995f7d90c6c89d8 @@ -40,7 +40,7 @@ #include "si.h" #define STREAMHOST_CONNECT_TIMEOUT 15 -#define ENABLE_FT_THUMBNAILS 0 +#define ENABLE_FT_THUMBNAILS 1 typedef struct _JabberSIXfer { JabberStream *js; ============================================================ --- pidgin/gtkimhtmltoolbar.c bc5fee66c34d6b952679849fbefcffe34e842ca9 +++ pidgin/gtkimhtmltoolbar.c 3fb984958bcede3195b7266fb79efa38eb8e021d @@ -911,6 +911,7 @@ static void send_attention_cb(GtkWidget toggle_button_set_active_block(GTK_TOGGLE_BUTTON(attention), FALSE, toolbar); purple_prpl_send_attention(gc, who, 0); + gtk_widget_grab_focus(toolbar->imhtml); } static void update_buttons_cb(GtkIMHtml *imhtml, GtkIMHtmlButtons buttons, GtkIMHtmlToolbar *toolbar) From malu at pidgin.im Mon Jun 7 16:06:03 2010 From: malu at pidgin.im (malu at pidgin.im) Date: Mon, 7 Jun 2010 16:06:03 -0400 (EDT) Subject: pidgin: 89754ca0: woops, this should remain de-activated f... Message-ID: <20100607200603.20D14AFD2034@rock.pidgin.im> ----------------------------------------------------------------- Revision: 89754ca00aa61a6a12a9087435c439f254f0bb52 Ancestor: 3787c491815bdc62570cef158440584a850cee8d Author: malu at pidgin.im Date: 2010-06-07T20:01:31 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/89754ca00aa61a6a12a9087435c439f254f0bb52 Modified files: libpurple/protocols/jabber/si.c ChangeLog: woops, this should remain de-activated for a while yet... :) -------------- next part -------------- ============================================================ --- libpurple/protocols/jabber/si.c 89bd22bcd01c3ce92931e65c3995f7d90c6c89d8 +++ libpurple/protocols/jabber/si.c c3f9ed512b83933661995978936a65f03b685f24 @@ -40,7 +40,7 @@ #include "si.h" #define STREAMHOST_CONNECT_TIMEOUT 15 -#define ENABLE_FT_THUMBNAILS 1 +#define ENABLE_FT_THUMBNAILS 0 typedef struct _JabberSIXfer { JabberStream *js; From malu at pidgin.im Mon Jun 7 16:10:26 2010 From: malu at pidgin.im (malu at pidgin.im) Date: Mon, 7 Jun 2010 16:10:26 -0400 (EDT) Subject: pidgin: a5baf7ca: Removed some commented-out code Message-ID: <20100607201026.D988EAFD2034@rock.pidgin.im> ----------------------------------------------------------------- Revision: a5baf7ca8907c15748c0a707d36aa836518b73ae Ancestor: 89754ca00aa61a6a12a9087435c439f254f0bb52 Author: malu at pidgin.im Date: 2010-06-07T20:05:15 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/a5baf7ca8907c15748c0a707d36aa836518b73ae Modified files: pidgin/gtkimhtmltoolbar.c ChangeLog: Removed some commented-out code -------------- next part -------------- ============================================================ --- pidgin/gtkimhtmltoolbar.c 3fb984958bcede3195b7266fb79efa38eb8e021d +++ pidgin/gtkimhtmltoolbar.c 8cc7f141906ff487c5be39d965a0e08f76b416bd @@ -1244,8 +1244,6 @@ static void gtk_imhtmltoolbar_create_old {PIDGIN_STOCK_TOOLBAR_INSERT_LINK, insert_link_cb, &toolbar->link, _("Insert Link")}, {"", NULL, NULL, NULL}, {PIDGIN_STOCK_TOOLBAR_SMILEY, insert_smiley_cb, &toolbar->smiley, _("Insert Smiley")}, - /*{PIDGIN_STOCK_TOOLBAR_SEND_ATTENTION, send_attention_cb, - g_object_get_data(G_OBJECT(toolbar->imhtml), "attention"), _("Send Attention")},*/ {NULL, NULL, NULL, NULL} }; int iter; From masca at cpw.pidgin.im Tue Jun 8 18:25:41 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Tue, 8 Jun 2010 18:25:41 -0400 (EDT) Subject: soc.2010.msn-tlc: 1914b79c: Add P2PFooter helper functions. Message-ID: <20100608222541.6AEC1AFD0BC0@rock.pidgin.im> ----------------------------------------------------------------- Revision: 1914b79c4fd991f47bd28881bf51f40fa3885727 Ancestor: 43b3034bb9b038e1fcdd89ca9a8eb428ff33cadb Author: masca at cpw.pidgin.im Date: 2010-06-08T21:08:13 Branch: im.pidgin.soc.2010.msn-tlc URL: http://d.pidgin.im/viewmtn/revision/info/1914b79c4fd991f47bd28881bf51f40fa3885727 Modified files: libpurple/protocols/msn/p2p.c libpurple/protocols/msn/p2p.h ChangeLog: Add P2PFooter helper functions. -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/p2p.c 7f02940362f6f50e19e6a58661a1300ac2d940c9 +++ libpurple/protocols/msn/p2p.c f2aeb70f2342054a2655a620d9f3f4e7cd967f0a @@ -43,3 +43,27 @@ msn_p2p_header_to_wire(MsnP2PHeader *hea } +MsnP2PFooter * +msn_p2p_footer_from_wire(MsnP2PFooter *wire) +{ + MsnP2PFooter *footer; + + footer = g_new(MsnP2PFooter, 1); + + footer->value = GUINT32_FROM_BE(wire->value); + + return footer; +} + +MsnP2PFooter * +msn_p2p_footer_to_wire(MsnP2PFooter *footer) +{ + MsnP2PFooter *wire; + + wire = g_new(MsnP2PFooter, 1); + + wire->value = GUINT32_TO_BE(footer->value); + + return wire; +} + ============================================================ --- libpurple/protocols/msn/p2p.h 1ce371e06f8263949aac41bea8e88a8698541103 +++ libpurple/protocols/msn/p2p.h 29d576e7dd3da553521a05ef018d9300e2d870ef @@ -47,4 +47,10 @@ msn_p2p_header_to_wire(MsnP2PHeader *hea MsnP2PHeader * msn_p2p_header_to_wire(MsnP2PHeader *header); +MsnP2PFooter * +msn_p2p_footer_from_wire(MsnP2PFooter *wire); + +MsnP2PFooter * +msn_p2p_footer_to_wire(MsnP2PFooter *footer); + #endif /* MSN_P2P_H */ From masca at cpw.pidgin.im Tue Jun 8 18:25:41 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Tue, 8 Jun 2010 18:25:41 -0400 (EDT) Subject: soc.2010.msn-tlc: 43b3034b: Allow temporary SlpMessages so we can ge... Message-ID: <20100608222542.092D2AFD0BC0@rock.pidgin.im> ----------------------------------------------------------------- Revision: 43b3034bb9b038e1fcdd89ca9a8eb428ff33cadb Ancestor: ece60cf5e8864f651e02e8b50350ca5c6cd659ca Author: masca at cpw.pidgin.im Date: 2010-06-08T01:45:49 Branch: im.pidgin.soc.2010.msn-tlc URL: http://d.pidgin.im/viewmtn/revision/info/43b3034bb9b038e1fcdd89ca9a8eb428ff33cadb Modified files: libpurple/protocols/msn/slpmsg.c libpurple/protocols/msn/slpmsg.h ChangeLog: Allow temporary SlpMessages so we can get slp specific code from MsnMessage. -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/slpmsg.c 95fa4210f3a853ca9229a205cf3dcd909ed61c8e +++ libpurple/protocols/msn/slpmsg.c 04c5f7eb550f0eb0e564ed29aa64f00849048a4e @@ -42,10 +42,13 @@ msn_slpmsg_new(MsnSlpLink *slplink) if (purple_debug_is_verbose()) purple_debug_info("msn", "slpmsg new (%p)\n", slpmsg); - slpmsg->slplink = slplink; + if (slplink) { + slpmsg->slplink = slplink; - slplink->slp_msgs = - g_list_append(slplink->slp_msgs, slpmsg); + slplink->slp_msgs = + g_list_append(slplink->slp_msgs, slpmsg); + } else + slpmsg->slplink = NULL; slpmsg->header = NULL; slpmsg->footer = NULL; ============================================================ --- libpurple/protocols/msn/slpmsg.h 13a2040810f261b2d1aa93fab3941c23f9997db2 +++ libpurple/protocols/msn/slpmsg.h 85589294b2abbca2e5d5f311b0571772b91398b9 @@ -88,6 +88,7 @@ struct _MsnSlpMessage * Creates a new slp message * * @param slplink The slplink through which this slp message will be sent. + * If it's set to NULL, it is a temporary SlpMessage. * @return The created slp message. */ MsnSlpMessage *msn_slpmsg_new(MsnSlpLink *slplink); From masca at cpw.pidgin.im Tue Jun 8 18:25:42 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Tue, 8 Jun 2010 18:25:42 -0400 (EDT) Subject: soc.2010.msn-tlc: 770fd6a2: Drop slp header and footer from MsnMessa... Message-ID: <20100608222542.DD8135BD00DC@rock.pidgin.im> ----------------------------------------------------------------- Revision: 770fd6a263447036b891bcab480f640894b26298 Ancestor: dfe571b8a1cbc768ce058e22ca86265cee393189 Author: masca at cpw.pidgin.im Date: 2010-06-08T21:26:39 Branch: im.pidgin.soc.2010.msn-tlc URL: http://d.pidgin.im/viewmtn/revision/info/770fd6a263447036b891bcab480f640894b26298 Modified files: libpurple/protocols/msn/directconn.c libpurple/protocols/msn/msg.h libpurple/protocols/msn/slp.c libpurple/protocols/msn/slplink.c libpurple/protocols/msn/slpmsg.c ChangeLog: Drop slp header and footer from MsnMessage in favor of MsnSlpMessage->header and footer. -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/directconn.c c195d08efa377e920a3c37095bd528ef14be782d +++ libpurple/protocols/msn/directconn.c 2ba2caccaa232c569aee2a7a80c6010821004953 @@ -548,7 +548,7 @@ msn_dc_enqueue_msg(MsnDirectConn *dc, Ms length = msg->body_len + P2P_PACKET_HEADER_SIZE; p = msn_dc_new_packet(length); - memcpy(p->data, &msg->msnslp_header, P2P_PACKET_HEADER_SIZE); + memcpy(p->data, msg->slpmsg->header, P2P_PACKET_HEADER_SIZE); memcpy(p->data + P2P_PACKET_HEADER_SIZE, msg->body, msg->body_len); p->sent_cb = msn_dc_send_packet_cb; ============================================================ --- libpurple/protocols/msn/msg.h e5c664027c0f16e394bc4e571746cd8df3cbc9f9 +++ libpurple/protocols/msn/msg.h 7c034264171cab1d93018fb274b9ab6ba9758a20 @@ -58,7 +58,7 @@ typedef enum #include "session.h" #include "transaction.h" #include "user.h" -#include "p2p.h" +#include "slpmsg.h" typedef void (*MsnMsgCb)(MsnMessage *, void *data); @@ -78,6 +78,7 @@ struct _MsnMessage MsnMsgType type; gboolean msnslp_message; + MsnSlpMessage *slpmsg; char *remote_user; char flag; @@ -89,9 +90,6 @@ struct _MsnMessage guint total_chunks; /**< How many chunks in this multi-part message */ guint received_chunks; /**< How many chunks we've received so far */ - MsnP2PHeader msnslp_header; - MsnP2PFooter msnslp_footer; - GHashTable *header_table; GList *header_list; ============================================================ --- libpurple/protocols/msn/slp.c c688532169a5513bf3d4ae4c704ca4e772fe73c9 +++ libpurple/protocols/msn/slp.c f88c999f8ae623e7ecb6fb87d4e1be9d8908ea1f @@ -1112,7 +1112,7 @@ msn_p2p_msg(MsnCmdProc *cmdproc, MsnMess data = msn_message_get_bin_data(msg, &len); - msn_slplink_process_msg(slplink, &msg->msnslp_header, data, len); + msn_slplink_process_msg(slplink, msg->slpmsg->header, data, len); } static void ============================================================ --- libpurple/protocols/msn/slplink.c 2ba74b8cc41197be7a95b3579367fa01a2aea837 +++ libpurple/protocols/msn/slplink.c b0caf7d5dca0655ea59d394ca4beeb722ff093e6 @@ -319,8 +319,8 @@ msn_slplink_send_msgpart(MsnSlpLink *slp msn_message_set_bin_data(msg, slpmsg->buffer + slpmsg->offset, len); } - msg->msnslp_header.offset = slpmsg->offset; - msg->msnslp_header.length = len; + slpmsg->header->offset = slpmsg->offset; + slpmsg->header->length = len; } if (purple_debug_is_verbose()) @@ -362,7 +362,7 @@ msg_ack(MsnMessage *msg, void *data) real_size = (slpmsg->flags == P2P_ACK) ? 0 : slpmsg->size; - slpmsg->offset += msg->msnslp_header.length; + slpmsg->offset += msg->slpmsg->header->length; slpmsg->msgs = g_list_remove(slpmsg->msgs, msg); @@ -418,17 +418,21 @@ msn_slplink_release_slpmsg(MsnSlpLink *s slpmsg->msg = msg = msn_message_new_msnslp(); + msg->slpmsg = slpmsg; + msg->slpmsg->header = g_new0(MsnP2PHeader, 1); + msg->slpmsg->footer = g_new0(MsnP2PFooter, 1); + if (slpmsg->flags == P2P_NO_FLAG) { - msg->msnslp_header.session_id = slpmsg->session_id; - msg->msnslp_header.ack_id = rand() % 0xFFFFFF00; + msg->slpmsg->header->session_id = slpmsg->session_id; + msg->slpmsg->header->ack_id = rand() % 0xFFFFFF00; } else if (slpmsg->flags == P2P_ACK) { - msg->msnslp_header.session_id = slpmsg->session_id; - msg->msnslp_header.ack_id = slpmsg->ack_id; - msg->msnslp_header.ack_size = slpmsg->ack_size; - msg->msnslp_header.ack_sub_id = slpmsg->ack_sub_id; + msg->slpmsg->header->session_id = slpmsg->session_id; + msg->slpmsg->header->ack_id = slpmsg->ack_id; + msg->slpmsg->header->ack_size = slpmsg->ack_size; + msg->slpmsg->header->ack_sub_id = slpmsg->ack_sub_id; } else if (slpmsg->flags == P2P_MSN_OBJ_DATA || slpmsg->flags == (P2P_WML2009_COMP | P2P_MSN_OBJ_DATA) || @@ -438,21 +442,21 @@ msn_slplink_release_slpmsg(MsnSlpLink *s slpcall = slpmsg->slpcall; g_return_if_fail(slpcall != NULL); - msg->msnslp_header.session_id = slpcall->session_id; - msg->msnslp_footer.value = slpcall->app_id; - msg->msnslp_header.ack_id = rand() % 0xFFFFFF00; + msg->slpmsg->header->session_id = slpcall->session_id; + msg->slpmsg->footer->value = slpcall->app_id; + msg->slpmsg->header->ack_id = rand() % 0xFFFFFF00; } else if (slpmsg->flags == 0x100) { - msg->msnslp_header.ack_id = slpmsg->ack_id; - msg->msnslp_header.ack_sub_id = slpmsg->ack_sub_id; - msg->msnslp_header.ack_size = slpmsg->ack_size; + msg->slpmsg->header->ack_id = slpmsg->ack_id; + msg->slpmsg->header->ack_sub_id = slpmsg->ack_sub_id; + msg->slpmsg->header->ack_size = slpmsg->ack_size; } - msg->msnslp_header.id = slpmsg->id; - msg->msnslp_header.flags = slpmsg->flags; + msg->slpmsg->header->id = slpmsg->id; + msg->slpmsg->header->flags = (guint32)slpmsg->flags; - msg->msnslp_header.total_size = slpmsg->size; + msg->slpmsg->header->total_size = slpmsg->size; passport = purple_normalize(slplink->session->account, slplink->remote_user); msn_message_set_header(msg, "P2P-Dest", passport); ============================================================ --- libpurple/protocols/msn/slpmsg.c 205952ffc365e6441162a4e94f69c224fa73ea95 +++ libpurple/protocols/msn/slpmsg.c 99dd7d9f8a010d85f499fdced91be98fd3124d3b @@ -172,7 +172,7 @@ msn_slpmsg_show(MsnMessage *msg) text = FALSE; - flags = GUINT32_TO_LE(msg->msnslp_header.flags); + flags = GUINT32_TO_LE(msg->slpmsg->header->flags); switch (flags) { From masca at cpw.pidgin.im Tue Jun 8 18:25:43 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Tue, 8 Jun 2010 18:25:43 -0400 (EDT) Subject: soc.2010.msn-tlc: 9b332ad8: Use slp parse code that was just moved t... Message-ID: <20100608222543.A9B5AAFD20B1@rock.pidgin.im> ----------------------------------------------------------------- Revision: 9b332ad8cd71ea42d5f550b014577faf4361d628 Ancestor: 770fd6a263447036b891bcab480f640894b26298 Author: masca at cpw.pidgin.im Date: 2010-06-08T21:32:12 Branch: im.pidgin.soc.2010.msn-tlc URL: http://d.pidgin.im/viewmtn/revision/info/9b332ad8cd71ea42d5f550b014577faf4361d628 Modified files: libpurple/protocols/msn/msg.c ChangeLog: Use slp parse code that was just moved to SlpMessage since it belongs there instead of the one in MsnMessage (the code was just moved). Also, a little bit more drop of MsnMessage header and footer (this is in the same commit because It's not possible to split changes in the same file). -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/msg.c e3fa0c8943473f05f85aa2e334670e0a2fd0a3b2 +++ libpurple/protocols/msn/msg.c f68e3e8ffa29733b9d4b1c9f97c89c6231d78d96 @@ -28,7 +28,7 @@ #include "msn.h" #include "msg.h" #include "msnutils.h" -#include "p2p.h" +#include "slpmsg.h" MsnMessage * msn_message_new(MsnMsgType type) @@ -161,6 +161,7 @@ msn_message_new_nudge(void) return msg; } +#if 0 void msn_message_parse_slp_body(MsnMessage *msg, const char *body, size_t len) { @@ -197,6 +198,7 @@ msn_message_parse_slp_body(MsnMessage *m tmp += body_len; } } +#endif void msn_message_parse_payload(MsnMessage *msg, @@ -294,7 +296,12 @@ msn_message_parse_payload(MsnMessage *ms content_type = msn_message_get_content_type(msg); if (content_type != NULL && - !strcmp(content_type, "application/x-msnmsgrp2p")) + !strcmp(content_type, "application/x-msnmsgrp2p")) { + msg->msnslp_message = TRUE; + msg->slpmsg = msn_slpmsg_new_from_data(tmp, payload_len - (tmp - tmp_base)); + } + +#if 0 { MsnP2PHeader *header; MsnP2PHeader wire; @@ -339,6 +346,7 @@ msn_message_parse_payload(MsnMessage *ms } else { +#endif if (payload_len - (tmp - tmp_base) > 0) { msg->body_len = payload_len - (tmp - tmp_base); g_free(msg->body); @@ -355,7 +363,9 @@ msn_message_parse_payload(MsnMessage *ms msg->body = body; msg->charset = g_strdup("UTF-8"); } +#if 0 } +#endif g_free(tmp_base); } @@ -379,6 +389,7 @@ msn_message_gen_slp_body(MsnMessage *msg char * msn_message_gen_slp_body(MsnMessage *msg, size_t *ret_size) { +#if 0 MsnP2PHeader *header; char *tmp, *base; @@ -410,6 +421,11 @@ msn_message_gen_slp_body(MsnMessage *msg *ret_size = tmp - base; return base; +#endif + char *tmp; + + tmp = msn_slpmsg_serialize(msg->slpmsg, ret_size); + return tmp; } char * @@ -464,6 +480,14 @@ msn_message_gen_payload(MsnMessage *msg, if (msg->msnslp_message) { + size_t siz; + char *body; + + body = msn_slpmsg_serialize(msg->slpmsg, &siz); + + memcpy(n, body, siz); + n += siz; +#if 0 MsnP2PHeader *header; MsnP2PFooter footer; @@ -485,6 +509,7 @@ msn_message_gen_payload(MsnMessage *msg, memcpy(n, &footer, 4); n += 4; +#endif } else { @@ -744,15 +769,15 @@ msn_message_show_readable(MsnMessage *ms if (msg->msnslp_message) { - g_string_append_printf(str, "Session ID: %u\r\n", msg->msnslp_header.session_id); - g_string_append_printf(str, "ID: %u\r\n", msg->msnslp_header.id); - g_string_append_printf(str, "Offset: %" G_GUINT64_FORMAT "\r\n", msg->msnslp_header.offset); - g_string_append_printf(str, "Total size: %" G_GUINT64_FORMAT "\r\n", msg->msnslp_header.total_size); - g_string_append_printf(str, "Length: %u\r\n", msg->msnslp_header.length); - g_string_append_printf(str, "Flags: 0x%x\r\n", msg->msnslp_header.flags); - g_string_append_printf(str, "ACK ID: %u\r\n", msg->msnslp_header.ack_id); - g_string_append_printf(str, "SUB ID: %u\r\n", msg->msnslp_header.ack_sub_id); - g_string_append_printf(str, "ACK Size: %" G_GUINT64_FORMAT "\r\n", msg->msnslp_header.ack_size); + g_string_append_printf(str, "Session ID: %u\r\n", msg->slpmsg->header->session_id); + g_string_append_printf(str, "ID: %u\r\n", msg->slpmsg->header->id); + g_string_append_printf(str, "Offset: %" G_GUINT64_FORMAT "\r\n", msg->slpmsg->header->offset); + g_string_append_printf(str, "Total size: %" G_GUINT64_FORMAT "\r\n", msg->slpmsg->header->total_size); + g_string_append_printf(str, "Length: %u\r\n", msg->slpmsg->header->length); + g_string_append_printf(str, "Flags: 0x%x\r\n", msg->slpmsg->header->flags); + g_string_append_printf(str, "ACK ID: %u\r\n", msg->slpmsg->header->ack_id); + g_string_append_printf(str, "SUB ID: %u\r\n", msg->slpmsg->header->ack_sub_id); + g_string_append_printf(str, "ACK Size: %" G_GUINT64_FORMAT "\r\n", msg->slpmsg->header->ack_size); if (purple_debug_is_verbose() && body != NULL) { @@ -779,7 +804,7 @@ msn_message_show_readable(MsnMessage *ms } } - g_string_append_printf(str, "Footer: %u\r\n", msg->msnslp_footer.value); + g_string_append_printf(str, "Footer: %u\r\n", msg->slpmsg->footer->value); } else { From masca at cpw.pidgin.im Tue Jun 8 18:25:47 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Tue, 8 Jun 2010 18:25:47 -0400 (EDT) Subject: soc.2010.msn-tlc: dfe571b8: Add SlpMessage parser and serializer fun... Message-ID: <20100608222547.564A6AFD20B1@rock.pidgin.im> ----------------------------------------------------------------- Revision: dfe571b8a1cbc768ce058e22ca86265cee393189 Ancestor: 1914b79c4fd991f47bd28881bf51f40fa3885727 Author: masca at cpw.pidgin.im Date: 2010-06-08T21:21:49 Branch: im.pidgin.soc.2010.msn-tlc URL: http://d.pidgin.im/viewmtn/revision/info/dfe571b8a1cbc768ce058e22ca86265cee393189 Modified files: libpurple/protocols/msn/slpmsg.c libpurple/protocols/msn/slpmsg.h ChangeLog: Add SlpMessage parser and serializer functions to SlpMessage module. -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/slpmsg.c 04c5f7eb550f0eb0e564ed29aa64f00849048a4e +++ libpurple/protocols/msn/slpmsg.c 205952ffc365e6441162a4e94f69c224fa73ea95 @@ -56,6 +56,41 @@ msn_slpmsg_new(MsnSlpLink *slplink) return slpmsg; } +MsnSlpMessage *msn_slpmsg_new_from_data(const char *data, size_t data_len) +{ + MsnSlpMessage *slpmsg; + MsnP2PHeader *header; + const char *tmp; + int body_len; + + tmp = data; + slpmsg = msn_slpmsg_new(NULL); + + if (data_len < sizeof(*header)) { + return NULL; + } + + /* Extract the binary SLP header */ + slpmsg->header = msn_p2p_header_from_wire((MsnP2PHeader*)tmp); + + /* Extract the body */ + body_len = data_len - (tmp - data); + /* msg->body_len = msg->msnslp_header.length; */ + + if (body_len > 0) { + slpmsg->size = body_len; + slpmsg->buffer = g_malloc(body_len); + memcpy(slpmsg->buffer, tmp, body_len); + tmp += body_len; + } + + /* Extract the footer */ + if (body_len >= 0) + slpmsg->footer = msn_p2p_footer_from_wire((MsnP2PFooter*)tmp); + + return slpmsg; +} + void msn_slpmsg_destroy(MsnSlpMessage *slpmsg) { @@ -218,3 +253,36 @@ msn_slpmsg_sip_new(MsnSlpCall *slpcall, return slpmsg; } + +char *msn_slpmsg_serialize(MsnSlpMessage *slpmsg, size_t *ret_size) +{ + MsnP2PHeader *header; + MsnP2PFooter *footer; + char *base; + char *tmp; + size_t siz; + + base = g_malloc(P2P_PACKET_HEADER_SIZE + slpmsg->size + sizeof(MsnP2PFooter)); + tmp = base; + + header = msn_p2p_header_to_wire(slpmsg->header); + footer = msn_p2p_footer_to_wire(slpmsg->footer); + + siz = sizeof(MsnP2PHeader); + /* Copy header */ + memcpy(tmp, (char*)header, siz); + tmp += siz; + + /* Copy body */ + memcpy(tmp, slpmsg->buffer, slpmsg->size); + tmp += slpmsg->size; + + /* Copy footer */ + siz = sizeof(MsnP2PFooter); + memcpy(tmp, (char*)footer, siz); + tmp += siz; + + *ret_size = tmp - base; + + return base; +} ============================================================ --- libpurple/protocols/msn/slpmsg.h 85589294b2abbca2e5d5f311b0571772b91398b9 +++ libpurple/protocols/msn/slpmsg.h d908e8ec199df6b6d8ca6103e8c065b1eb3586dc @@ -94,6 +94,16 @@ MsnSlpMessage *msn_slpmsg_new(MsnSlpLink MsnSlpMessage *msn_slpmsg_new(MsnSlpLink *slplink); /** + * Creates a MsnSlpMessage without a MsnSlpLink by parsing the raw data. + * + * @param data The raw data with the slp message. + * @param data_len The len of the data + * + * @return The createed slp message. + */ +MsnSlpMessage *msn_slpmsg_new_from_data(const char *data, size_t data_len); + +/** * Destroys a slp message * * @param slpmsg The slp message to destory. @@ -113,4 +123,14 @@ void msn_slpmsg_show(MsnMessage *msg); void msn_slpmsg_show(MsnMessage *msg); +/** + * Serialize the MsnSlpMessage in a way it can be used to be transmited + * + * @param slpmsg The MsnSlpMessage. + * @param ret_size The size of the buffer cointaining the message. + * + * @return a buffer with the serialized data. + */ +char *msn_slpmsg_serialize(MsnSlpMessage *slpmsg, size_t *ret_size); + #endif /* _MSN_SLPMSG_H_ */ From masca at cpw.pidgin.im Tue Jun 8 18:25:47 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Tue, 8 Jun 2010 18:25:47 -0400 (EDT) Subject: soc.2010.msn-tlc: ece60cf5: This bits belong to SlpMessage, lets han... Message-ID: <20100608222547.EE05D5BD00E4@rock.pidgin.im> ----------------------------------------------------------------- Revision: ece60cf5e8864f651e02e8b50350ca5c6cd659ca Ancestor: 66e4c81623fbd6e1e033be30c81eb6f8e0cfb29a Author: masca at cpw.pidgin.im Date: 2010-06-08T01:40:39 Branch: im.pidgin.soc.2010.msn-tlc URL: http://d.pidgin.im/viewmtn/revision/info/ece60cf5e8864f651e02e8b50350ca5c6cd659ca Modified files: libpurple/protocols/msn/slpmsg.c libpurple/protocols/msn/slpmsg.h ChangeLog: This bits belong to SlpMessage, lets handle here, also I think it's easier to manage this bits being a pointer. -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/slpmsg.c 24176b26442035aeb6b30b85bba08b09ccce060e +++ libpurple/protocols/msn/slpmsg.c 95fa4210f3a853ca9229a205cf3dcd909ed61c8e @@ -47,6 +47,9 @@ msn_slpmsg_new(MsnSlpLink *slplink) slplink->slp_msgs = g_list_append(slplink->slp_msgs, slpmsg); + slpmsg->header = NULL; + slpmsg->footer = NULL; + return slpmsg; } @@ -86,6 +89,9 @@ msn_slpmsg_destroy(MsnSlpMessage *slpmsg slplink->slp_msgs = g_list_remove(slplink->slp_msgs, slpmsg); + g_free(slpmsg->header); + g_free(slpmsg->footer); + g_free(slpmsg); } ============================================================ --- libpurple/protocols/msn/slpmsg.h 279a011d89a98b0c85a8c37eeae1f11e6dc2ce10 +++ libpurple/protocols/msn/slpmsg.h 13a2040810f261b2d1aa93fab3941c23f9997db2 @@ -45,6 +45,9 @@ struct _MsnSlpMessage MsnSlpLink *slplink; /**< The slplink through which this slp message is being sent. */ MsnSession *session; + MsnP2PHeader *header; + MsnP2PFooter *footer; + long session_id; long id; long ack_id; From qulogic at pidgin.im Wed Jun 9 01:25:03 2010 From: qulogic at pidgin.im (qulogic at pidgin.im) Date: Wed, 9 Jun 2010 01:25:03 -0400 (EDT) Subject: cpw.qulogic.gtk3: 0161ccb7: propagate from branch 'im.pidgin.pidgin'... Message-ID: <20100609052503.1A2AEAFD0BA2@rock.pidgin.im> ----------------------------------------------------------------- Revision: 0161ccb7481e21a3f58e8b6b0b6c1cdd69594120 Ancestor: 09d4e9b50dd8919f186c2221e24b5f388bec7a88 Ancestor: 52f4817b6a7b2db5cad41758c4911c0f20f77eb2 Author: qulogic at pidgin.im Date: 2010-06-05T21:22:26 Branch: im.pidgin.cpw.qulogic.gtk3 URL: http://d.pidgin.im/viewmtn/revision/info/0161ccb7481e21a3f58e8b6b0b6c1cdd69594120 Deleted entries: libpurple/protocols/msn/README libpurple/protocols/msnp9 libpurple/protocols/msnp9/Makefile.am libpurple/protocols/msnp9/Makefile.mingw libpurple/protocols/msnp9/cmdproc.c libpurple/protocols/msnp9/cmdproc.h libpurple/protocols/msnp9/command.c libpurple/protocols/msnp9/command.h libpurple/protocols/msnp9/dialog.c libpurple/protocols/msnp9/dialog.h libpurple/protocols/msnp9/directconn.c libpurple/protocols/msnp9/directconn.h libpurple/protocols/msnp9/error.c libpurple/protocols/msnp9/error.h libpurple/protocols/msnp9/group.c libpurple/protocols/msnp9/group.h libpurple/protocols/msnp9/history.c libpurple/protocols/msnp9/history.h libpurple/protocols/msnp9/httpconn.c libpurple/protocols/msnp9/httpconn.h libpurple/protocols/msnp9/msg.c libpurple/protocols/msnp9/msg.h libpurple/protocols/msnp9/msn-utils.c libpurple/protocols/msnp9/msn-utils.h libpurple/protocols/msnp9/msn.c libpurple/protocols/msnp9/msn.h libpurple/protocols/msnp9/nexus.c libpurple/protocols/msnp9/nexus.h libpurple/protocols/msnp9/notification.c libpurple/protocols/msnp9/notification.h libpurple/protocols/msnp9/object.c libpurple/protocols/msnp9/object.h libpurple/protocols/msnp9/page.c libpurple/protocols/msnp9/page.h libpurple/protocols/msnp9/servconn.c libpurple/protocols/msnp9/servconn.h libpurple/protocols/msnp9/session.c libpurple/protocols/msnp9/session.h libpurple/protocols/msnp9/slp.c libpurple/protocols/msnp9/slp.h libpurple/protocols/msnp9/slpcall.c libpurple/protocols/msnp9/slpcall.h libpurple/protocols/msnp9/slplink.c libpurple/protocols/msnp9/slplink.h libpurple/protocols/msnp9/slpmsg.c libpurple/protocols/msnp9/slpmsg.h libpurple/protocols/msnp9/slpsession.c libpurple/protocols/msnp9/slpsession.h libpurple/protocols/msnp9/state.c libpurple/protocols/msnp9/state.h libpurple/protocols/msnp9/switchboard.c libpurple/protocols/msnp9/switchboard.h libpurple/protocols/msnp9/sync.c libpurple/protocols/msnp9/sync.h libpurple/protocols/msnp9/table.c libpurple/protocols/msnp9/table.h libpurple/protocols/msnp9/transaction.c libpurple/protocols/msnp9/transaction.h libpurple/protocols/msnp9/user.c libpurple/protocols/msnp9/user.h libpurple/protocols/msnp9/userlist.c libpurple/protocols/msnp9/userlist.h pidgin/eggtrayicon.c pidgin/eggtrayicon.h pidgin/gtkdocklet-x11.c pidgin/win32/nsis/langmacros.nsh pidgin/win32/nsis/translations pidgin/win32/nsis/translations/afrikaans.nsh pidgin/win32/nsis/translations/albanian.nsh pidgin/win32/nsis/translations/arabic.nsh pidgin/win32/nsis/translations/basque.nsh pidgin/win32/nsis/translations/bulgarian.nsh pidgin/win32/nsis/translations/catalan.nsh pidgin/win32/nsis/translations/czech.nsh pidgin/win32/nsis/translations/danish.nsh pidgin/win32/nsis/translations/dutch.nsh pidgin/win32/nsis/translations/english.nsh pidgin/win32/nsis/translations/finnish.nsh pidgin/win32/nsis/translations/french.nsh pidgin/win32/nsis/translations/galician.nsh pidgin/win32/nsis/translations/german.nsh pidgin/win32/nsis/translations/hebrew.nsh pidgin/win32/nsis/translations/hungarian.nsh pidgin/win32/nsis/translations/italian.nsh pidgin/win32/nsis/translations/japanese.nsh pidgin/win32/nsis/translations/korean.nsh pidgin/win32/nsis/translations/kurdish.nsh pidgin/win32/nsis/translations/lithuanian.nsh pidgin/win32/nsis/translations/norwegian.nsh pidgin/win32/nsis/translations/norwegian_nynorsk.nsh pidgin/win32/nsis/translations/persian.nsh pidgin/win32/nsis/translations/polish.nsh pidgin/win32/nsis/translations/portuguese-br.nsh pidgin/win32/nsis/translations/portuguese.nsh pidgin/win32/nsis/translations/romanian.nsh pidgin/win32/nsis/translations/russian.nsh pidgin/win32/nsis/translations/serbian-latin.nsh pidgin/win32/nsis/translations/simp-chinese.nsh pidgin/win32/nsis/translations/slovak.nsh pidgin/win32/nsis/translations/slovenian.nsh pidgin/win32/nsis/translations/spanish.nsh pidgin/win32/nsis/translations/swedish.nsh pidgin/win32/nsis/translations/trad-chinese.nsh pidgin/win32/nsis/translations/valencian.nsh pidgin/win32/nsis/translations/vietnamese.nsh Renamed entries: pidgin/pixmaps/emblems/16/mobile.png to pidgin/pixmaps/emotes/small/16/mobile.png pidgin/pixmaps/emblems/16/music.png to pidgin/pixmaps/emotes/small/16/music.png pidgin/pixmaps/emblems/scalable/mobile.svg to pidgin/pixmaps/emotes/small/16/scalable/mobile.svg pidgin/pixmaps/emblems/scalable/music.svg to pidgin/pixmaps/emotes/small/16/scalable/music.svg pidgin/pixmaps/emotes/default/24/eat.png to pidgin/pixmaps/emotes/default/24/hungry.png pidgin/pixmaps/emotes/default/24/in-love.png to pidgin/pixmaps/emotes/default/24/amorous.png pidgin/pixmaps/emotes/default/24/love.png to pidgin/pixmaps/emotes/default/24/in_love.png pidgin/pixmaps/emotes/default/24/nailbiting.png to pidgin/pixmaps/emotes/default/24/nervous.png pidgin/pixmaps/emotes/default/24/shock.png to pidgin/pixmaps/emotes/default/24/shocked.png pidgin/pixmaps/emotes/default/24/sleepy.png to pidgin/pixmaps/emotes/default/24/sleeping.png pidgin/pixmaps/emotes/default/24/smile-big.png to pidgin/pixmaps/emotes/default/24/excited.png pidgin/pixmaps/emotes/default/24/smile.png to pidgin/pixmaps/emotes/default/24/happy.png pidgin/pixmaps/emotes/default/24/sweat.png to pidgin/pixmaps/emotes/default/24/hot.png pidgin/pixmaps/emotes/default/24/tremble.png to pidgin/pixmaps/emotes/default/24/afraid.png pidgin/pixmaps/emotes/default/24/yawn.png to pidgin/pixmaps/emotes/default/24/sleepy.png pidgin/pixmaps/emotes/small/16/love.png to pidgin/pixmaps/emotes/small/16/in_love.png pidgin/pixmaps/emotes/small/16/shock.png to pidgin/pixmaps/emotes/small/16/shocked.png pidgin/pixmaps/emotes/small/16/sleepy.png to pidgin/pixmaps/emotes/small/16/sleeping.png pidgin/pixmaps/emotes/small/16/smile-big.png to pidgin/pixmaps/emotes/small/16/excited.png pidgin/pixmaps/emotes/small/16/smile.png to pidgin/pixmaps/emotes/small/16/happy.png pidgin/pixmaps/emotes/small/16/yawn.png to pidgin/pixmaps/emotes/small/16/sleepy.png Added files: libpurple/protocols/gg/lib/dcc7.c libpurple/protocols/gg/lib/libgadu-internal.h libpurple/protocols/gg/lib/protocol.h libpurple/protocols/gg/lib/resolver.c libpurple/protocols/gg/lib/resolver.h libpurple/protocols/gg/lib/sha1.c pidgin/pixmaps/emotes/default/24/chilli.png pidgin/pixmaps/emotes/default/24/mrgreen.png pidgin/pixmaps/emotes/small/16/afraid.png pidgin/pixmaps/emotes/small/16/amorous.png pidgin/pixmaps/emotes/small/16/bathing.png pidgin/pixmaps/emotes/small/16/cinema.png pidgin/pixmaps/emotes/small/16/disappointed.png pidgin/pixmaps/emotes/small/16/embarrassed.png pidgin/pixmaps/emotes/small/16/grumpy.png pidgin/pixmaps/emotes/small/16/hot.png pidgin/pixmaps/emotes/small/16/hungry.png pidgin/pixmaps/emotes/small/16/internet.png pidgin/pixmaps/emotes/small/16/invincible.png pidgin/pixmaps/emotes/small/16/mean.png pidgin/pixmaps/emotes/small/16/nervous.png pidgin/pixmaps/emotes/small/16/restroom.png pidgin/pixmaps/emotes/small/16/sarcastic.png pidgin/pixmaps/emotes/small/16/shopping.png pidgin/pixmaps/emotes/small/16/studying.png pidgin/pixmaps/emotes/small/16/suit.png pidgin/pixmaps/emotes/small/16/surfing.png pidgin/pixmaps/emotes/small/16/typing.png pidgin/pixmaps/emotes/small/16/working.png pidgin/pixmaps/emotes/small/16/writing.png pidgin/pixmaps/tray/hicolor/index.theme pidgin/win32/nsis/create_nsis_translations.pl pidgin/win32/nsis/generate_gtk_zip.sh pidgin/win32/nsis/nsis_translations.desktop.in pidgin/win32/nsis/rpm2zip.sh po/as.po po/bn_IN.po po/ml.po Modified files: .mtn-ignore COPYRIGHT ChangeLog ChangeLog.API ChangeLog.win32 Makefile.am Makefile.mingw NEWS configure.ac doc/PERL-HOWTO.dox doc/account-signals.dox doc/blist-signals.dox doc/connection-signals.dox doc/conversation-signals.dox doc/finch.1.in doc/funniest_home_convos.txt doc/gtkblist-signals.dox doc/gtkimhtml-signals.dox doc/gtkrc-2.0 finch/gntblist.c finch/gntplugin.c finch/gntprefs.c finch/libgnt/gntbox.c finch/libgnt/gntentry.c finch/libgnt/gntentry.h finch/plugins/gnthistory.c libpurple/account.c libpurple/account.h libpurple/certificate.c libpurple/certificate.h libpurple/connection.c libpurple/connection.h libpurple/dbus-analyze-functions.py libpurple/example/nullclient.c libpurple/ft.c libpurple/ft.h libpurple/gconf/Makefile.am libpurple/log.c libpurple/media/backend-fs2.h libpurple/network.c libpurple/network.h libpurple/plugins/log_reader.c libpurple/plugins/perl/common/Makefile.mingw libpurple/plugins/perl/common/Request.xs libpurple/plugins/perl/common/module.h libpurple/plugins/perl/perl-common.c libpurple/plugins/perl/perl-common.h libpurple/plugins/perl/perl-handlers.c libpurple/plugins/perl/scripts/account.pl libpurple/plugins/perl/scripts/buddy_list.pl libpurple/plugins/perl/scripts/conversation.pl libpurple/plugins/perl/scripts/plugin_pref.pl libpurple/plugins/ssl/Makefile.mingw libpurple/plugins/ssl/ssl-gnutls.c libpurple/plugins/ssl/ssl-nss.c libpurple/protocols/Makefile.am libpurple/protocols/bonjour/bonjour.c libpurple/protocols/bonjour/bonjour_ft.c libpurple/protocols/bonjour/jabber.c libpurple/protocols/bonjour/jabber.h libpurple/protocols/bonjour/mdns_avahi.c libpurple/protocols/bonjour/mdns_win32.c libpurple/protocols/gg/Makefile.am libpurple/protocols/gg/Makefile.mingw libpurple/protocols/gg/buddylist.c libpurple/protocols/gg/gg.c libpurple/protocols/gg/lib/common.c libpurple/protocols/gg/lib/compat.h libpurple/protocols/gg/lib/dcc.c libpurple/protocols/gg/lib/events.c libpurple/protocols/gg/lib/http.c libpurple/protocols/gg/lib/libgadu.c libpurple/protocols/gg/lib/libgadu.h libpurple/protocols/gg/lib/obsolete.c libpurple/protocols/gg/lib/pubdir.c libpurple/protocols/gg/lib/pubdir50.c libpurple/protocols/gg/search.c libpurple/protocols/irc/irc.c libpurple/protocols/irc/msgs.c libpurple/protocols/jabber/auth.c libpurple/protocols/jabber/auth.h libpurple/protocols/jabber/auth_cyrus.c libpurple/protocols/jabber/auth_digest_md5.c libpurple/protocols/jabber/auth_plain.c libpurple/protocols/jabber/auth_scram.c libpurple/protocols/jabber/bosh.c libpurple/protocols/jabber/bosh.h libpurple/protocols/jabber/buddy.c libpurple/protocols/jabber/caps.c libpurple/protocols/jabber/chat.h libpurple/protocols/jabber/data.c libpurple/protocols/jabber/data.h libpurple/protocols/jabber/disco.c libpurple/protocols/jabber/ibb.c libpurple/protocols/jabber/ibb.h libpurple/protocols/jabber/jabber.c libpurple/protocols/jabber/jabber.h libpurple/protocols/jabber/jutil.c libpurple/protocols/jabber/jutil.h libpurple/protocols/jabber/libxmpp.c libpurple/protocols/jabber/message.c libpurple/protocols/jabber/namespaces.h libpurple/protocols/jabber/parser.c libpurple/protocols/jabber/pep.c libpurple/protocols/jabber/presence.c libpurple/protocols/jabber/presence.h libpurple/protocols/jabber/si.c libpurple/protocols/jabber/useravatar.c libpurple/protocols/jabber/usermood.c libpurple/protocols/jabber/usermood.h libpurple/protocols/jabber/usernick.c libpurple/protocols/jabber/xdata.c libpurple/protocols/msn/Makefile.am libpurple/protocols/msn/Makefile.mingw libpurple/protocols/msn/directconn.c libpurple/protocols/msn/directconn.h libpurple/protocols/msn/msg.c libpurple/protocols/msn/msn.c libpurple/protocols/msn/msn.h libpurple/protocols/msn/notification.c libpurple/protocols/msn/notification.h libpurple/protocols/msn/session.c libpurple/protocols/msn/slp.c libpurple/protocols/msn/slp.h libpurple/protocols/msn/slpcall.h libpurple/protocols/msn/slplink.c libpurple/protocols/msn/slplink.h libpurple/protocols/msn/slpmsg.c libpurple/protocols/msn/state.c libpurple/protocols/msn/switchboard.c libpurple/protocols/msn/user.h libpurple/protocols/mxit/actions.c libpurple/protocols/mxit/chunk.h libpurple/protocols/mxit/formcmds.c libpurple/protocols/mxit/login.c libpurple/protocols/mxit/multimx.c libpurple/protocols/mxit/multimx.h libpurple/protocols/mxit/mxit.c libpurple/protocols/mxit/mxit.h libpurple/protocols/mxit/profile.c libpurple/protocols/mxit/profile.h libpurple/protocols/mxit/protocol.c libpurple/protocols/mxit/protocol.h libpurple/protocols/mxit/roster.c libpurple/protocols/mxit/roster.h libpurple/protocols/myspace/myspace.c libpurple/protocols/novell/novell.c libpurple/protocols/null/nullprpl.c libpurple/protocols/oscar/clientlogin.c libpurple/protocols/oscar/family_buddy.c libpurple/protocols/oscar/family_chatnav.c libpurple/protocols/oscar/family_icbm.c libpurple/protocols/oscar/family_icq.c libpurple/protocols/oscar/family_locate.c libpurple/protocols/oscar/family_oservice.c libpurple/protocols/oscar/flap_connection.c libpurple/protocols/oscar/libaim.c libpurple/protocols/oscar/libicq.c libpurple/protocols/oscar/misc.c libpurple/protocols/oscar/msgcookie.c libpurple/protocols/oscar/oft.c libpurple/protocols/oscar/oscar.c libpurple/protocols/oscar/oscar.h libpurple/protocols/oscar/oscarcommon.h libpurple/protocols/oscar/peer.c libpurple/protocols/oscar/peer.h libpurple/protocols/oscar/snac.c libpurple/protocols/oscar/tlv.c libpurple/protocols/oscar/util.c libpurple/protocols/qq/group_info.c libpurple/protocols/qq/qq.c libpurple/protocols/qq/qq_base.c libpurple/protocols/sametime/sametime.c libpurple/protocols/silc/buddy.c libpurple/protocols/silc/chat.c libpurple/protocols/silc/silc.c libpurple/protocols/silc10/buddy.c libpurple/protocols/silc10/chat.c libpurple/protocols/silc10/silc.c libpurple/protocols/simple/simple.c libpurple/protocols/simple/sipmsg.c libpurple/protocols/yahoo/libyahoo.c libpurple/protocols/yahoo/libyahoojp.c libpurple/protocols/yahoo/libymsg.c libpurple/protocols/yahoo/libymsg.h libpurple/protocols/zephyr/zephyr.c libpurple/proxy.c libpurple/prpl.h libpurple/request.c libpurple/request.h libpurple/roomlist.h libpurple/savedstatuses.c libpurple/signals.c libpurple/signals.h libpurple/status.c libpurple/status.h libpurple/tests/check_libpurple.c libpurple/tests/test_util.c libpurple/upnp.c libpurple/util.c libpurple/util.h libpurple/win32/global.mak libpurple/win32/libc_interface.c libpurple/win32/rules.mak libpurple/win32/win32dep.c pidgin/Makefile.am pidgin/Makefile.mingw pidgin/gtkblist.c pidgin/gtkblist.h pidgin/gtkconv.c pidgin/gtkconv.h pidgin/gtkconvwin.h pidgin/gtkdialogs.c pidgin/gtkdocklet-gtk.c pidgin/gtkeventloop.c pidgin/gtkft.c pidgin/gtkimhtml.c pidgin/gtkimhtmltoolbar.c pidgin/gtkimhtmltoolbar.h pidgin/gtkmain.c pidgin/gtkmedia.c pidgin/gtkmenutray.c pidgin/gtkmenutray.h pidgin/gtkprefs.c pidgin/gtkrequest.c pidgin/gtksavedstatuses.c pidgin/gtksession.c pidgin/gtkutils.c pidgin/gtkutils.h pidgin/pidginstock.c pidgin/pixmaps/Makefile.am pidgin/pixmaps/Makefile.mingw pidgin/pixmaps/emotes/default/24/Makefile.am pidgin/pixmaps/emotes/default/24/default.theme.in pidgin/pixmaps/emotes/small/16/Makefile.am pidgin/pixmaps/emotes/small/16/TODO pidgin/pixmaps/emotes/small/16/small.theme.in pidgin/plugins/convcolors.c pidgin/plugins/disco/gtkdisco.c pidgin/plugins/gestures/stroke-draw.c pidgin/plugins/gevolution/add_buddy_dialog.c pidgin/plugins/gevolution/gevo-util.c pidgin/plugins/gevolution/gevolution.c pidgin/plugins/gevolution/new_person_dialog.c pidgin/plugins/gtkbuddynote.c pidgin/plugins/notify.c pidgin/plugins/perl/common/Makefile.mingw pidgin/plugins/pidginrc.c pidgin/plugins/themeedit.c pidgin/plugins/ticker/gtkticker.c pidgin/plugins/timestamp_format.c pidgin/plugins/win32/transparency/win2ktrans.c pidgin/plugins/xmppconsole.c pidgin/win32/gtkdocklet-win32.c pidgin/win32/gtkwin32dep.c pidgin/win32/nsis/available.lst pidgin/win32/nsis/pidgin-installer.nsi pidgin/win32/winpidgin.c pidgin/win32/wspell.c pidgin.spec.in po/ChangeLog po/POTFILES.in po/af.po po/am.po po/ar.po po/az.po po/be at latin.po po/bg.po po/bn.po po/bs.po po/ca.po po/ca at valencia.po po/cs.po po/da.po po/de.po po/dz.po po/el.po po/en_AU.po po/en_CA.po po/en_GB.po po/eo.po po/es.po po/et.po po/eu.po po/fa.po po/fi.po po/fr.po po/ga.po po/gl.po po/gu.po po/he.po po/hi.po po/hu.po po/hy.po po/id.po po/it.po po/ja.po po/ka.po po/km.po po/kn.po po/ko.po po/ku.po po/lo.po po/lt.po po/mk.po po/mn.po po/mr.po po/ms_MY.po po/my_MM.po po/nb.po po/ne.po po/nl.po po/nn.po po/oc.po po/or.po po/pa.po po/pl.po po/ps.po po/pt.po po/pt_BR.po po/ro.po po/ru.po po/si.po po/sk.po po/sl.po po/sq.po po/sr.po po/sr at latin.po po/sv.po po/sw.po po/ta.po po/te.po po/th.po po/tr.po po/uk.po po/ur.po po/vi.po po/xh.po po/zh_CN.po po/zh_HK.po po/zh_TW.po Modified attrs: pidgin/pixmaps/emotes/default/24/chilli.png pidgin/pixmaps/emotes/default/24/mrgreen.png pidgin/pixmaps/emotes/small/16/afraid.png pidgin/pixmaps/emotes/small/16/amorous.png pidgin/pixmaps/emotes/small/16/bathing.png pidgin/pixmaps/emotes/small/16/cinema.png pidgin/pixmaps/emotes/small/16/disappointed.png pidgin/pixmaps/emotes/small/16/embarrassed.png pidgin/pixmaps/emotes/small/16/grumpy.png pidgin/pixmaps/emotes/small/16/hot.png pidgin/pixmaps/emotes/small/16/hungry.png pidgin/pixmaps/emotes/small/16/internet.png pidgin/pixmaps/emotes/small/16/invincible.png pidgin/pixmaps/emotes/small/16/mean.png pidgin/pixmaps/emotes/small/16/nervous.png pidgin/pixmaps/emotes/small/16/restroom.png pidgin/pixmaps/emotes/small/16/sarcastic.png pidgin/pixmaps/emotes/small/16/shopping.png pidgin/pixmaps/emotes/small/16/studying.png pidgin/pixmaps/emotes/small/16/suit.png pidgin/pixmaps/emotes/small/16/surfing.png pidgin/pixmaps/emotes/small/16/typing.png pidgin/pixmaps/emotes/small/16/working.png pidgin/pixmaps/emotes/small/16/writing.png pidgin/win32/nsis/generate_gtk_zip.sh pidgin/win32/nsis/rpm2zip.sh ChangeLog: propagate from branch 'im.pidgin.pidgin' (head 52f4817b6a7b2db5cad41758c4911c0f20f77eb2) to branch 'im.pidgin.cpw.qulogic.gtk3' (head 09d4e9b50dd8919f186c2221e24b5f388bec7a88) From qulogic at pidgin.im Wed Jun 9 01:25:12 2010 From: qulogic at pidgin.im (qulogic at pidgin.im) Date: Wed, 9 Jun 2010 01:25:12 -0400 (EDT) Subject: gobjectification: 0c4ae04f: explicit merge of '33247eb604d4bf72c0c2f... Message-ID: <20100609052512.E66D35BD00DE@rock.pidgin.im> ----------------------------------------------------------------- Revision: 0c4ae04f361863a08dc15a87ec30894c44a3d9c1 Ancestor: 22261b99d2ad17ef170a39aa2726e47fd8d339cb Ancestor: 33247eb604d4bf72c0c2fdf0f89348db8cc960c6 Author: qulogic at pidgin.im Date: 2010-06-08T07:41:27 Branch: im.pidgin.gobjectification URL: http://d.pidgin.im/viewmtn/revision/info/0c4ae04f361863a08dc15a87ec30894c44a3d9c1 Added files: doc/hierarchy.dot libpurple/accountmanager.c libpurple/accountmanager.h libpurple/blist-node.c libpurple/blist-node.h libpurple/buddy.c libpurple/buddy.h libpurple/chat.c libpurple/chat.h libpurple/contact.c libpurple/contact.h libpurple/des3cipher.c libpurple/des3cipher.h libpurple/descipher.c libpurple/descipher.h libpurple/ghash.c libpurple/ghash.h libpurple/group.c libpurple/group.h libpurple/gsignal.c libpurple/gsignal.h libpurple/hash.c libpurple/hash.h libpurple/hmaccipher.c libpurple/hmaccipher.h libpurple/md4hash.c libpurple/md4hash.h libpurple/md5cipher.c libpurple/md5cipher.h libpurple/plugins/perl/common/Hash.xs libpurple/pobject.c libpurple/pobject.h libpurple/rc4cipher.c libpurple/rc4cipher.h libpurple/sha1cipher.c libpurple/sha1cipher.h libpurple/sha256cipher.c libpurple/sha256cipher.h Modified files: COPYRIGHT ChangeLog ChangeLog.API acinclude.m4 configure.ac finch/finch.c finch/finch.h finch/gntaccount.c finch/gntblist.c finch/gntconn.c finch/gntconv.c finch/gntlog.c finch/gntpounce.c finch/gntrequest.c finch/gntsound.c finch/gntui.c finch/plugins/gnthistory.c finch/plugins/grouping.c libpurple/Makefile.am libpurple/Makefile.mingw libpurple/account.c libpurple/account.h libpurple/blist.c libpurple/blist.h libpurple/buddyicon.c libpurple/cipher.c libpurple/cipher.h libpurple/connection.c libpurple/connection.h libpurple/conversation.c libpurple/conversation.h libpurple/core.c libpurple/dbus-analyze-functions.py libpurple/dbus-define-api.h libpurple/dbus-server.c libpurple/dbus-useful.c libpurple/dbus-useful.h libpurple/example/nullclient.c libpurple/ft.c libpurple/ft.h libpurple/idle.c libpurple/internal.h libpurple/log.c libpurple/marshallers.list libpurple/network.c libpurple/ntlm.c libpurple/plugins/Makefile.am libpurple/plugins/autoaccept.c libpurple/plugins/ciphertest.c libpurple/plugins/filectl.c libpurple/plugins/idle.c libpurple/plugins/log_reader.c libpurple/plugins/one_time_password.c libpurple/plugins/perl/common/Account.xs libpurple/plugins/perl/common/BuddyList.xs libpurple/plugins/perl/common/Cipher.xs libpurple/plugins/perl/common/Connection.xs libpurple/plugins/perl/common/MANIFEST libpurple/plugins/perl/common/Makefile.mingw libpurple/plugins/perl/common/Prpl.xs libpurple/plugins/perl/common/Status.xs libpurple/plugins/perl/common/Util.xs libpurple/plugins/perl/common/module.h libpurple/plugins/perl/common/typemap libpurple/plugins/signals-test.c libpurple/plugins/tcl/tcl_cmds.c libpurple/plugins/tcl/tcl_signals.c libpurple/pounce.c libpurple/protocols/bonjour/Makefile.mingw libpurple/protocols/bonjour/bonjour.c libpurple/protocols/bonjour/bonjour_ft.c libpurple/protocols/bonjour/buddy.c libpurple/protocols/bonjour/jabber.c libpurple/protocols/bonjour/mdns_avahi.c libpurple/protocols/bonjour/mdns_win32.c libpurple/protocols/gg/Makefile.mingw libpurple/protocols/gg/buddylist.c libpurple/protocols/gg/confer.c libpurple/protocols/gg/gg.c libpurple/protocols/gg/search.c libpurple/protocols/irc/Makefile.mingw libpurple/protocols/irc/cmds.c libpurple/protocols/irc/dcc_send.c libpurple/protocols/irc/irc.c libpurple/protocols/irc/msgs.c libpurple/protocols/irc/parse.c libpurple/protocols/jabber/adhoccommands.c libpurple/protocols/jabber/auth.c libpurple/protocols/jabber/buddy.c libpurple/protocols/jabber/caps.c libpurple/protocols/jabber/caps.h libpurple/protocols/jabber/chat.c libpurple/protocols/jabber/data.c libpurple/protocols/jabber/data.h libpurple/protocols/jabber/disco.c libpurple/protocols/jabber/google.c libpurple/protocols/jabber/jabber.c libpurple/protocols/jabber/jutil.c libpurple/protocols/jabber/message.c libpurple/protocols/jabber/namespaces.h libpurple/protocols/jabber/oob.c libpurple/protocols/jabber/presence.c libpurple/protocols/jabber/roster.c libpurple/protocols/jabber/si.c libpurple/protocols/jabber/usermood.c libpurple/protocols/jabber/usernick.c libpurple/protocols/jabber/usertune.c libpurple/protocols/msn/Makefile.mingw libpurple/protocols/msn/contact.c libpurple/protocols/msn/dialog.c libpurple/protocols/msn/error.c libpurple/protocols/msn/httpconn.c libpurple/protocols/msn/msg.c libpurple/protocols/msn/msn.c libpurple/protocols/msn/msn.h libpurple/protocols/msn/msnutils.c libpurple/protocols/msn/nexus.c libpurple/protocols/msn/notification.c libpurple/protocols/msn/object.c libpurple/protocols/msn/oim.c libpurple/protocols/msn/servconn.c libpurple/protocols/msn/session.c libpurple/protocols/msn/slp.c libpurple/protocols/msn/slplink.c libpurple/protocols/msn/switchboard.c libpurple/protocols/msn/sync.c libpurple/protocols/msn/user.c libpurple/protocols/msn/userlist.c libpurple/protocols/myspace/Makefile.mingw libpurple/protocols/myspace/myspace.c libpurple/protocols/myspace/myspace.h libpurple/protocols/myspace/user.c libpurple/protocols/myspace/zap.c libpurple/protocols/novell/Makefile.mingw libpurple/protocols/novell/novell.c libpurple/protocols/null/Makefile.mingw libpurple/protocols/null/nullprpl.c libpurple/protocols/oscar/Makefile.mingw libpurple/protocols/oscar/clientlogin.c libpurple/protocols/oscar/family_auth.c libpurple/protocols/oscar/family_oservice.c libpurple/protocols/oscar/flap_connection.c libpurple/protocols/oscar/oscar.c libpurple/protocols/qq/Makefile.mingw libpurple/protocols/qq/buddy_info.c libpurple/protocols/qq/buddy_list.c libpurple/protocols/qq/buddy_memo.c libpurple/protocols/qq/buddy_opt.c libpurple/protocols/qq/file_trans.c libpurple/protocols/qq/group.c libpurple/protocols/qq/group_im.c libpurple/protocols/qq/group_info.c libpurple/protocols/qq/group_internal.c libpurple/protocols/qq/group_join.c libpurple/protocols/qq/group_opt.c libpurple/protocols/qq/im.c libpurple/protocols/qq/qq.c libpurple/protocols/qq/qq_base.c libpurple/protocols/qq/qq_network.c libpurple/protocols/qq/qq_process.c libpurple/protocols/qq/qq_trans.c libpurple/protocols/qq/send_file.c libpurple/protocols/qq/utils.c libpurple/protocols/sametime/Makefile.mingw libpurple/protocols/sametime/sametime.c libpurple/protocols/silc/Makefile.mingw libpurple/protocols/silc/buddy.c libpurple/protocols/silc/chat.c libpurple/protocols/silc/ft.c libpurple/protocols/silc/ops.c libpurple/protocols/silc/pk.c libpurple/protocols/silc/silc.c libpurple/protocols/silc/util.c libpurple/protocols/silc/wb.c libpurple/protocols/silc10/buddy.c libpurple/protocols/silc10/chat.c libpurple/protocols/silc10/ft.c libpurple/protocols/silc10/ops.c libpurple/protocols/silc10/silc.c libpurple/protocols/silc10/util.c libpurple/protocols/simple/Makefile.mingw libpurple/protocols/simple/simple.c libpurple/protocols/yahoo/Makefile.mingw libpurple/protocols/yahoo/libymsg.c libpurple/protocols/yahoo/util.c libpurple/protocols/yahoo/yahoo_aliases.c libpurple/protocols/yahoo/yahoo_doodle.c libpurple/protocols/yahoo/yahoo_filexfer.c libpurple/protocols/yahoo/yahoo_friend.c libpurple/protocols/yahoo/yahoo_picture.c libpurple/protocols/yahoo/yahoo_profile.c libpurple/protocols/yahoo/yahoochat.c libpurple/protocols/yahoo/ycht.c libpurple/protocols/zephyr/zephyr.c libpurple/proxy.c libpurple/prpl.c libpurple/prpl.h libpurple/purple.h.in libpurple/request.c libpurple/request.h libpurple/savedstatuses.c libpurple/server.c libpurple/server.h libpurple/signals.c libpurple/signals.h libpurple/status.c libpurple/status.h libpurple/tests/check_libpurple.c libpurple/tests/test_cipher.c libpurple/util.c libpurple/util.h libpurple/value.c libpurple/value.h libpurple/win32/global.mak pidgin/Makefile.am pidgin/gtkaccount.c pidgin/gtkblist.c pidgin/gtkblist.h pidgin/gtkconn.c pidgin/gtkconv.c pidgin/gtkdialogs.c pidgin/gtkdocklet.c pidgin/gtkft.c pidgin/gtkimhtml.c pidgin/gtklog.c pidgin/gtkmain.c pidgin/gtknotify.c pidgin/gtkpounce.c pidgin/gtkprefs.c pidgin/gtkprivacy.c pidgin/gtkrequest.c pidgin/gtkroomlist.c pidgin/gtksound.c pidgin/gtkstatusbox.c pidgin/gtkutils.c pidgin/plugins/cap/cap.c pidgin/plugins/disco/xmppdisco.c pidgin/plugins/gevolution/gevolution.c pidgin/plugins/gtk-signals-test.c pidgin/plugins/history.c pidgin/plugins/mailchk.c pidgin/plugins/perl/common/GtkBlist.xs pidgin/plugins/pidgininc.c pidgin/plugins/raw.c pidgin/plugins/relnot.c pidgin/plugins/themeedit-icon.c pidgin/plugins/themeedit.c pidgin/plugins/ticker/ticker.c pidgin/plugins/xmppconsole.c po/POTFILES.in ChangeLog: explicit merge of '33247eb604d4bf72c0c2fdf0f89348db8cc960c6' and '22261b99d2ad17ef170a39aa2726e47fd8d339cb' From qulogic at pidgin.im Wed Jun 9 01:25:21 2010 From: qulogic at pidgin.im (qulogic at pidgin.im) Date: Wed, 9 Jun 2010 01:25:21 -0400 (EDT) Subject: gobjectification: 0ddd2464: explicit merge of '76c08f9df332fb22059ad... Message-ID: <20100609052521.EB9435BD00E1@rock.pidgin.im> ----------------------------------------------------------------- Revision: 0ddd24646c1e205e2b76c521f685d315bcf78a12 Ancestor: 76c08f9df332fb22059ada8287a5da4b7a1d37fa Ancestor: e4d0f77a96e74fce51ffa66001fd267673e02b1b Author: qulogic at pidgin.im Date: 2010-06-06T00:52:01 Branch: im.pidgin.gobjectification URL: http://d.pidgin.im/viewmtn/revision/info/0ddd24646c1e205e2b76c521f685d315bcf78a12 Added files: doc/hierarchy.dot libpurple/accountmanager.c libpurple/accountmanager.h libpurple/blist-node.c libpurple/blist-node.h libpurple/buddy.c libpurple/buddy.h libpurple/chat.c libpurple/chat.h libpurple/contact.c libpurple/contact.h libpurple/des3cipher.c libpurple/des3cipher.h libpurple/descipher.c libpurple/descipher.h libpurple/ghash.c libpurple/ghash.h libpurple/group.c libpurple/group.h libpurple/gsignal.c libpurple/gsignal.h libpurple/hash.c libpurple/hash.h libpurple/hmaccipher.c libpurple/hmaccipher.h libpurple/md4hash.c libpurple/md4hash.h libpurple/md5cipher.c libpurple/md5cipher.h libpurple/plugins/perl/common/Hash.xs libpurple/pobject.c libpurple/pobject.h libpurple/rc4cipher.c libpurple/rc4cipher.h libpurple/sha1cipher.c libpurple/sha1cipher.h libpurple/sha256cipher.c libpurple/sha256cipher.h Modified files: COPYRIGHT ChangeLog ChangeLog.API ChangeLog.win32 NEWS acinclude.m4 configure.ac finch/finch.c finch/finch.h finch/gntaccount.c finch/gntblist.c finch/gntconn.c finch/gntconv.c finch/gntlog.c finch/gntpounce.c finch/gntrequest.c finch/gntsound.c finch/gntui.c finch/plugins/gnthistory.c finch/plugins/grouping.c libpurple/Makefile.am libpurple/Makefile.mingw libpurple/account.c libpurple/account.h libpurple/blist.c libpurple/blist.h libpurple/buddyicon.c libpurple/cipher.c libpurple/cipher.h libpurple/connection.c libpurple/connection.h libpurple/conversation.c libpurple/conversation.h libpurple/core.c libpurple/dbus-analyze-functions.py libpurple/dbus-define-api.h libpurple/dbus-server.c libpurple/dbus-useful.c libpurple/dbus-useful.h libpurple/example/nullclient.c libpurple/idle.c libpurple/idle.h libpurple/internal.h libpurple/log.c libpurple/marshallers.list libpurple/network.c libpurple/ntlm.c libpurple/plugins/Makefile.am libpurple/plugins/autoaccept.c libpurple/plugins/ciphertest.c libpurple/plugins/filectl.c libpurple/plugins/idle.c libpurple/plugins/log_reader.c libpurple/plugins/one_time_password.c libpurple/plugins/perl/common/Account.xs libpurple/plugins/perl/common/BuddyList.xs libpurple/plugins/perl/common/Cipher.xs libpurple/plugins/perl/common/Connection.xs libpurple/plugins/perl/common/MANIFEST libpurple/plugins/perl/common/Makefile.mingw libpurple/plugins/perl/common/Prpl.xs libpurple/plugins/perl/common/Status.xs libpurple/plugins/perl/common/Util.xs libpurple/plugins/perl/common/module.h libpurple/plugins/perl/common/typemap libpurple/plugins/signals-test.c libpurple/plugins/tcl/tcl_cmds.c libpurple/plugins/tcl/tcl_signals.c libpurple/pounce.c libpurple/protocols/bonjour/Makefile.mingw libpurple/protocols/bonjour/bonjour.c libpurple/protocols/bonjour/bonjour_ft.c libpurple/protocols/bonjour/buddy.c libpurple/protocols/bonjour/jabber.c libpurple/protocols/bonjour/mdns_avahi.c libpurple/protocols/bonjour/mdns_win32.c libpurple/protocols/gg/Makefile.mingw libpurple/protocols/gg/buddylist.c libpurple/protocols/gg/confer.c libpurple/protocols/gg/gg.c libpurple/protocols/gg/search.c libpurple/protocols/irc/Makefile.mingw libpurple/protocols/irc/cmds.c libpurple/protocols/irc/dcc_send.c libpurple/protocols/irc/irc.c libpurple/protocols/irc/msgs.c libpurple/protocols/irc/parse.c libpurple/protocols/jabber/adhoccommands.c libpurple/protocols/jabber/auth.c libpurple/protocols/jabber/buddy.c libpurple/protocols/jabber/caps.c libpurple/protocols/jabber/caps.h libpurple/protocols/jabber/chat.c libpurple/protocols/jabber/disco.c libpurple/protocols/jabber/google.c libpurple/protocols/jabber/jabber.c libpurple/protocols/jabber/jutil.c libpurple/protocols/jabber/message.c libpurple/protocols/jabber/oob.c libpurple/protocols/jabber/presence.c libpurple/protocols/jabber/roster.c libpurple/protocols/jabber/si.c libpurple/protocols/jabber/usermood.c libpurple/protocols/jabber/usernick.c libpurple/protocols/jabber/usertune.c libpurple/protocols/msn/Makefile.mingw libpurple/protocols/msn/contact.c libpurple/protocols/msn/dialog.c libpurple/protocols/msn/error.c libpurple/protocols/msn/httpconn.c libpurple/protocols/msn/msg.c libpurple/protocols/msn/msn.c libpurple/protocols/msn/msn.h libpurple/protocols/msn/msnutils.c libpurple/protocols/msn/nexus.c libpurple/protocols/msn/notification.c libpurple/protocols/msn/object.c libpurple/protocols/msn/oim.c libpurple/protocols/msn/servconn.c libpurple/protocols/msn/session.c libpurple/protocols/msn/slp.c libpurple/protocols/msn/switchboard.c libpurple/protocols/msn/sync.c libpurple/protocols/msn/user.c libpurple/protocols/msn/userlist.c libpurple/protocols/msnp9/Makefile.mingw libpurple/protocols/msnp9/dialog.c libpurple/protocols/msnp9/error.c libpurple/protocols/msnp9/msn.c libpurple/protocols/msnp9/msn.h libpurple/protocols/msnp9/nexus.c libpurple/protocols/msnp9/notification.c libpurple/protocols/msnp9/object.c libpurple/protocols/msnp9/servconn.c libpurple/protocols/msnp9/session.c libpurple/protocols/msnp9/slp.c libpurple/protocols/msnp9/switchboard.c libpurple/protocols/msnp9/sync.c libpurple/protocols/msnp9/userlist.c libpurple/protocols/myspace/Makefile.mingw libpurple/protocols/myspace/myspace.c libpurple/protocols/myspace/myspace.h libpurple/protocols/myspace/user.c libpurple/protocols/myspace/zap.c libpurple/protocols/novell/Makefile.mingw libpurple/protocols/novell/novell.c libpurple/protocols/null/Makefile.mingw libpurple/protocols/null/nullprpl.c libpurple/protocols/oscar/Makefile.mingw libpurple/protocols/oscar/clientlogin.c libpurple/protocols/oscar/family_auth.c libpurple/protocols/oscar/family_oservice.c libpurple/protocols/oscar/flap_connection.c libpurple/protocols/oscar/oscar.c libpurple/protocols/qq/Makefile.mingw libpurple/protocols/qq/buddy_info.c libpurple/protocols/qq/buddy_list.c libpurple/protocols/qq/buddy_memo.c libpurple/protocols/qq/buddy_opt.c libpurple/protocols/qq/file_trans.c libpurple/protocols/qq/group.c libpurple/protocols/qq/group_im.c libpurple/protocols/qq/group_info.c libpurple/protocols/qq/group_internal.c libpurple/protocols/qq/group_join.c libpurple/protocols/qq/group_opt.c libpurple/protocols/qq/im.c libpurple/protocols/qq/qq.c libpurple/protocols/qq/qq_base.c libpurple/protocols/qq/qq_network.c libpurple/protocols/qq/qq_process.c libpurple/protocols/qq/qq_trans.c libpurple/protocols/qq/send_file.c libpurple/protocols/qq/utils.c libpurple/protocols/sametime/Makefile.mingw libpurple/protocols/sametime/sametime.c libpurple/protocols/silc/Makefile.mingw libpurple/protocols/silc/buddy.c libpurple/protocols/silc/chat.c libpurple/protocols/silc/ft.c libpurple/protocols/silc/ops.c libpurple/protocols/silc/pk.c libpurple/protocols/silc/silc.c libpurple/protocols/silc/util.c libpurple/protocols/silc/wb.c libpurple/protocols/silc10/buddy.c libpurple/protocols/silc10/chat.c libpurple/protocols/silc10/ft.c libpurple/protocols/silc10/ops.c libpurple/protocols/silc10/silc.c libpurple/protocols/silc10/util.c libpurple/protocols/simple/Makefile.mingw libpurple/protocols/simple/simple.c libpurple/protocols/yahoo/Makefile.mingw libpurple/protocols/yahoo/libymsg.c libpurple/protocols/yahoo/util.c libpurple/protocols/yahoo/yahoo_aliases.c libpurple/protocols/yahoo/yahoo_doodle.c libpurple/protocols/yahoo/yahoo_filexfer.c libpurple/protocols/yahoo/yahoo_friend.c libpurple/protocols/yahoo/yahoo_picture.c libpurple/protocols/yahoo/yahoo_profile.c libpurple/protocols/yahoo/yahoochat.c libpurple/protocols/yahoo/ycht.c libpurple/protocols/zephyr/zephyr.c libpurple/proxy.c libpurple/prpl.c libpurple/purple.h.in libpurple/savedstatuses.c libpurple/server.c libpurple/server.h libpurple/signals.c libpurple/signals.h libpurple/status.c libpurple/status.h libpurple/tests/check_libpurple.c libpurple/tests/test_cipher.c libpurple/tests/test_yahoo_util.c libpurple/util.c libpurple/util.h libpurple/value.c libpurple/value.h libpurple/win32/global.mak pidgin/Makefile.am pidgin/gtkaccount.c pidgin/gtkblist.c pidgin/gtkblist.h pidgin/gtkconn.c pidgin/gtkconv.c pidgin/gtkdialogs.c pidgin/gtkdocklet.c pidgin/gtkimhtml.c pidgin/gtklog.c pidgin/gtkmain.c pidgin/gtknotify.c pidgin/gtkpounce.c pidgin/gtkprefs.c pidgin/gtkprivacy.c pidgin/gtkroomlist.c pidgin/gtksound.c pidgin/gtkstatusbox.c pidgin/gtkutils.c pidgin/plugins/cap/cap.c pidgin/plugins/disco/Makefile.am pidgin/plugins/disco/xmppdisco.c pidgin/plugins/gevolution/gevo-util.c pidgin/plugins/gevolution/gevolution.c pidgin/plugins/gtk-signals-test.c pidgin/plugins/history.c pidgin/plugins/mailchk.c pidgin/plugins/perl/common/GtkBlist.xs pidgin/plugins/pidgininc.c pidgin/plugins/raw.c pidgin/plugins/relnot.c pidgin/plugins/themeedit-icon.c pidgin/plugins/themeedit.c pidgin/plugins/ticker/ticker.c pidgin/plugins/xmppconsole.c po/ChangeLog po/POTFILES.in ChangeLog: explicit merge of '76c08f9df332fb22059ada8287a5da4b7a1d37fa' and 'e4d0f77a96e74fce51ffa66001fd267673e02b1b' From qulogic at pidgin.im Wed Jun 9 01:25:24 2010 From: qulogic at pidgin.im (qulogic at pidgin.im) Date: Wed, 9 Jun 2010 01:25:24 -0400 (EDT) Subject: gobjectification: 0e74096b: explicit merge of '60c9671daa2b521f9de4c... Message-ID: <20100609052524.D64395BD00EB@rock.pidgin.im> ----------------------------------------------------------------- Revision: 0e74096b1180cb06ad368d228e61caee62372b63 Ancestor: 60c9671daa2b521f9de4c0980f8798876959570e Ancestor: 76b6bf5fe40f0133b6d78f8b1547f17da2aa983d Author: qulogic at pidgin.im Date: 2010-06-08T06:41:07 Branch: im.pidgin.gobjectification URL: http://d.pidgin.im/viewmtn/revision/info/0e74096b1180cb06ad368d228e61caee62372b63 Deleted entries: libpurple/protocols/msnp9 libpurple/protocols/msnp9/Makefile.am libpurple/protocols/msnp9/Makefile.mingw libpurple/protocols/msnp9/cmdproc.c libpurple/protocols/msnp9/cmdproc.h libpurple/protocols/msnp9/command.c libpurple/protocols/msnp9/command.h libpurple/protocols/msnp9/dialog.c libpurple/protocols/msnp9/dialog.h libpurple/protocols/msnp9/directconn.c libpurple/protocols/msnp9/directconn.h libpurple/protocols/msnp9/error.c libpurple/protocols/msnp9/error.h libpurple/protocols/msnp9/group.c libpurple/protocols/msnp9/group.h libpurple/protocols/msnp9/history.c libpurple/protocols/msnp9/history.h libpurple/protocols/msnp9/httpconn.c libpurple/protocols/msnp9/httpconn.h libpurple/protocols/msnp9/msg.c libpurple/protocols/msnp9/msg.h libpurple/protocols/msnp9/msn-utils.c libpurple/protocols/msnp9/msn-utils.h libpurple/protocols/msnp9/msn.c libpurple/protocols/msnp9/msn.h libpurple/protocols/msnp9/nexus.c libpurple/protocols/msnp9/nexus.h libpurple/protocols/msnp9/notification.c libpurple/protocols/msnp9/notification.h libpurple/protocols/msnp9/object.c libpurple/protocols/msnp9/object.h libpurple/protocols/msnp9/page.c libpurple/protocols/msnp9/page.h libpurple/protocols/msnp9/servconn.c libpurple/protocols/msnp9/servconn.h libpurple/protocols/msnp9/session.c libpurple/protocols/msnp9/session.h libpurple/protocols/msnp9/slp.c libpurple/protocols/msnp9/slp.h libpurple/protocols/msnp9/slpcall.c libpurple/protocols/msnp9/slpcall.h libpurple/protocols/msnp9/slplink.c libpurple/protocols/msnp9/slplink.h libpurple/protocols/msnp9/slpmsg.c libpurple/protocols/msnp9/slpmsg.h libpurple/protocols/msnp9/slpsession.c libpurple/protocols/msnp9/slpsession.h libpurple/protocols/msnp9/state.c libpurple/protocols/msnp9/state.h libpurple/protocols/msnp9/switchboard.c libpurple/protocols/msnp9/switchboard.h libpurple/protocols/msnp9/sync.c libpurple/protocols/msnp9/sync.h libpurple/protocols/msnp9/table.c libpurple/protocols/msnp9/table.h libpurple/protocols/msnp9/transaction.c libpurple/protocols/msnp9/transaction.h libpurple/protocols/msnp9/user.c libpurple/protocols/msnp9/user.h libpurple/protocols/msnp9/userlist.c libpurple/protocols/msnp9/userlist.h Added files: doc/hierarchy.dot libpurple/accountmanager.c libpurple/accountmanager.h libpurple/blist-node.c libpurple/blist-node.h libpurple/buddy.c libpurple/buddy.h libpurple/chat.c libpurple/chat.h libpurple/contact.c libpurple/contact.h libpurple/des3cipher.c libpurple/des3cipher.h libpurple/descipher.c libpurple/descipher.h libpurple/ghash.c libpurple/ghash.h libpurple/group.c libpurple/group.h libpurple/gsignal.c libpurple/gsignal.h libpurple/hash.c libpurple/hash.h libpurple/hmaccipher.c libpurple/hmaccipher.h libpurple/md4hash.c libpurple/md4hash.h libpurple/md5cipher.c libpurple/md5cipher.h libpurple/plugins/perl/common/Hash.xs libpurple/pobject.c libpurple/pobject.h libpurple/rc4cipher.c libpurple/rc4cipher.h libpurple/sha1cipher.c libpurple/sha1cipher.h libpurple/sha256cipher.c libpurple/sha256cipher.h Modified files: COPYRIGHT ChangeLog acinclude.m4 configure.ac finch/finch.c finch/finch.h finch/gntaccount.c finch/gntblist.c finch/gntconn.c finch/gntconv.c finch/gntlog.c finch/gntpounce.c finch/gntrequest.c finch/gntsound.c finch/gntui.c finch/plugins/gnthistory.c finch/plugins/grouping.c libpurple/Makefile.am libpurple/Makefile.mingw libpurple/account.c libpurple/account.h libpurple/blist.c libpurple/blist.h libpurple/buddyicon.c libpurple/cipher.c libpurple/cipher.h libpurple/connection.c libpurple/connection.h libpurple/conversation.c libpurple/conversation.h libpurple/core.c libpurple/dbus-analyze-functions.py libpurple/dbus-define-api.h libpurple/dbus-server.c libpurple/dbus-useful.c libpurple/dbus-useful.h libpurple/example/nullclient.c libpurple/idle.c libpurple/internal.h libpurple/log.c libpurple/marshallers.list libpurple/network.c libpurple/ntlm.c libpurple/plugins/Makefile.am libpurple/plugins/autoaccept.c libpurple/plugins/ciphertest.c libpurple/plugins/filectl.c libpurple/plugins/idle.c libpurple/plugins/log_reader.c libpurple/plugins/one_time_password.c libpurple/plugins/perl/common/Account.xs libpurple/plugins/perl/common/BuddyList.xs libpurple/plugins/perl/common/Cipher.xs libpurple/plugins/perl/common/Connection.xs libpurple/plugins/perl/common/MANIFEST libpurple/plugins/perl/common/Makefile.mingw libpurple/plugins/perl/common/Prpl.xs libpurple/plugins/perl/common/Status.xs libpurple/plugins/perl/common/Util.xs libpurple/plugins/perl/common/module.h libpurple/plugins/perl/common/typemap libpurple/plugins/signals-test.c libpurple/plugins/tcl/tcl_cmds.c libpurple/plugins/tcl/tcl_signals.c libpurple/pounce.c libpurple/protocols/Makefile.am libpurple/protocols/bonjour/Makefile.mingw libpurple/protocols/bonjour/bonjour.c libpurple/protocols/bonjour/bonjour_ft.c libpurple/protocols/bonjour/buddy.c libpurple/protocols/bonjour/jabber.c libpurple/protocols/bonjour/mdns_avahi.c libpurple/protocols/bonjour/mdns_win32.c libpurple/protocols/gg/Makefile.mingw libpurple/protocols/gg/buddylist.c libpurple/protocols/gg/confer.c libpurple/protocols/gg/gg.c libpurple/protocols/gg/search.c libpurple/protocols/irc/Makefile.mingw libpurple/protocols/irc/cmds.c libpurple/protocols/irc/dcc_send.c libpurple/protocols/irc/irc.c libpurple/protocols/irc/msgs.c libpurple/protocols/irc/parse.c libpurple/protocols/jabber/adhoccommands.c libpurple/protocols/jabber/auth.c libpurple/protocols/jabber/buddy.c libpurple/protocols/jabber/caps.c libpurple/protocols/jabber/caps.h libpurple/protocols/jabber/chat.c libpurple/protocols/jabber/disco.c libpurple/protocols/jabber/google.c libpurple/protocols/jabber/jabber.c libpurple/protocols/jabber/jutil.c libpurple/protocols/jabber/message.c libpurple/protocols/jabber/oob.c libpurple/protocols/jabber/presence.c libpurple/protocols/jabber/roster.c libpurple/protocols/jabber/si.c libpurple/protocols/jabber/usermood.c libpurple/protocols/jabber/usernick.c libpurple/protocols/jabber/usertune.c libpurple/protocols/msn/Makefile.mingw libpurple/protocols/msn/contact.c libpurple/protocols/msn/dialog.c libpurple/protocols/msn/error.c libpurple/protocols/msn/httpconn.c libpurple/protocols/msn/msg.c libpurple/protocols/msn/msn.c libpurple/protocols/msn/msn.h libpurple/protocols/msn/msnutils.c libpurple/protocols/msn/nexus.c libpurple/protocols/msn/notification.c libpurple/protocols/msn/object.c libpurple/protocols/msn/oim.c libpurple/protocols/msn/servconn.c libpurple/protocols/msn/session.c libpurple/protocols/msn/slp.c libpurple/protocols/msn/switchboard.c libpurple/protocols/msn/sync.c libpurple/protocols/msn/user.c libpurple/protocols/msn/userlist.c libpurple/protocols/myspace/Makefile.mingw libpurple/protocols/myspace/myspace.c libpurple/protocols/myspace/myspace.h libpurple/protocols/myspace/user.c libpurple/protocols/myspace/zap.c libpurple/protocols/novell/Makefile.mingw libpurple/protocols/novell/novell.c libpurple/protocols/null/Makefile.mingw libpurple/protocols/null/nullprpl.c libpurple/protocols/oscar/Makefile.mingw libpurple/protocols/oscar/clientlogin.c libpurple/protocols/oscar/family_auth.c libpurple/protocols/oscar/family_oservice.c libpurple/protocols/oscar/flap_connection.c libpurple/protocols/oscar/oscar.c libpurple/protocols/qq/Makefile.mingw libpurple/protocols/qq/buddy_info.c libpurple/protocols/qq/buddy_list.c libpurple/protocols/qq/buddy_memo.c libpurple/protocols/qq/buddy_opt.c libpurple/protocols/qq/file_trans.c libpurple/protocols/qq/group.c libpurple/protocols/qq/group_im.c libpurple/protocols/qq/group_info.c libpurple/protocols/qq/group_internal.c libpurple/protocols/qq/group_join.c libpurple/protocols/qq/group_opt.c libpurple/protocols/qq/im.c libpurple/protocols/qq/qq.c libpurple/protocols/qq/qq_base.c libpurple/protocols/qq/qq_network.c libpurple/protocols/qq/qq_process.c libpurple/protocols/qq/qq_trans.c libpurple/protocols/qq/send_file.c libpurple/protocols/qq/utils.c libpurple/protocols/sametime/Makefile.mingw libpurple/protocols/sametime/sametime.c libpurple/protocols/silc/Makefile.mingw libpurple/protocols/silc/buddy.c libpurple/protocols/silc/chat.c libpurple/protocols/silc/ft.c libpurple/protocols/silc/ops.c libpurple/protocols/silc/pk.c libpurple/protocols/silc/silc.c libpurple/protocols/silc/util.c libpurple/protocols/silc/wb.c libpurple/protocols/silc10/buddy.c libpurple/protocols/silc10/chat.c libpurple/protocols/silc10/ft.c libpurple/protocols/silc10/ops.c libpurple/protocols/silc10/silc.c libpurple/protocols/silc10/util.c libpurple/protocols/simple/Makefile.mingw libpurple/protocols/simple/simple.c libpurple/protocols/yahoo/Makefile.mingw libpurple/protocols/yahoo/libymsg.c libpurple/protocols/yahoo/util.c libpurple/protocols/yahoo/yahoo_aliases.c libpurple/protocols/yahoo/yahoo_doodle.c libpurple/protocols/yahoo/yahoo_filexfer.c libpurple/protocols/yahoo/yahoo_friend.c libpurple/protocols/yahoo/yahoo_picture.c libpurple/protocols/yahoo/yahoo_profile.c libpurple/protocols/yahoo/yahoochat.c libpurple/protocols/yahoo/ycht.c libpurple/protocols/zephyr/zephyr.c libpurple/proxy.c libpurple/prpl.c libpurple/purple.h.in libpurple/savedstatuses.c libpurple/server.c libpurple/server.h libpurple/signals.c libpurple/signals.h libpurple/status.c libpurple/status.h libpurple/tests/check_libpurple.c libpurple/tests/test_cipher.c libpurple/util.c libpurple/util.h libpurple/value.c libpurple/value.h libpurple/win32/global.mak pidgin/Makefile.am pidgin/gtkaccount.c pidgin/gtkblist.c pidgin/gtkblist.h pidgin/gtkconn.c pidgin/gtkconv.c pidgin/gtkdialogs.c pidgin/gtkdocklet.c pidgin/gtkimhtml.c pidgin/gtklog.c pidgin/gtkmain.c pidgin/gtknotify.c pidgin/gtkpounce.c pidgin/gtkprefs.c pidgin/gtkprivacy.c pidgin/gtkroomlist.c pidgin/gtksound.c pidgin/gtkstatusbox.c pidgin/gtkutils.c pidgin/plugins/cap/cap.c pidgin/plugins/disco/xmppdisco.c pidgin/plugins/gevolution/gevo-util.c pidgin/plugins/gevolution/gevolution.c pidgin/plugins/gtk-signals-test.c pidgin/plugins/history.c pidgin/plugins/mailchk.c pidgin/plugins/perl/common/GtkBlist.xs pidgin/plugins/pidgininc.c pidgin/plugins/raw.c pidgin/plugins/relnot.c pidgin/plugins/themeedit-icon.c pidgin/plugins/themeedit.c pidgin/plugins/ticker/ticker.c pidgin/plugins/xmppconsole.c po/POTFILES.in ChangeLog: explicit merge of '60c9671daa2b521f9de4c0980f8798876959570e' and '76b6bf5fe40f0133b6d78f8b1547f17da2aa983d' From qulogic at pidgin.im Wed Jun 9 01:25:51 2010 From: qulogic at pidgin.im (qulogic at pidgin.im) Date: Wed, 9 Jun 2010 01:25:51 -0400 (EDT) Subject: gobjectification: 0e945700: explicit merge of '3c54c32773c1f4469b356... Message-ID: <20100609052552.05E49AFD0BA2@rock.pidgin.im> ----------------------------------------------------------------- Revision: 0e94570097ea4629b61e98655860b129ff5d03e4 Ancestor: 3c54c32773c1f4469b35603025eb4516315aebf0 Ancestor: a49300fe29e4aab06919dc169479b04c113f3830 Author: qulogic at pidgin.im Date: 2010-06-07T05:12:24 Branch: im.pidgin.gobjectification URL: http://d.pidgin.im/viewmtn/revision/info/0e94570097ea4629b61e98655860b129ff5d03e4 Added files: doc/hierarchy.dot libpurple/accountmanager.c libpurple/accountmanager.h libpurple/blist-node.c libpurple/blist-node.h libpurple/buddy.c libpurple/buddy.h libpurple/chat.c libpurple/chat.h libpurple/contact.c libpurple/contact.h libpurple/des3cipher.c libpurple/des3cipher.h libpurple/descipher.c libpurple/descipher.h libpurple/ghash.c libpurple/ghash.h libpurple/group.c libpurple/group.h libpurple/gsignal.c libpurple/gsignal.h libpurple/hash.c libpurple/hash.h libpurple/hmaccipher.c libpurple/hmaccipher.h libpurple/md4hash.c libpurple/md4hash.h libpurple/md5cipher.c libpurple/md5cipher.h libpurple/plugins/perl/common/Hash.xs libpurple/pobject.c libpurple/pobject.h libpurple/protocols/jabber/namespaces.h libpurple/rc4cipher.c libpurple/rc4cipher.h libpurple/sha1cipher.c libpurple/sha1cipher.h libpurple/sha256cipher.c libpurple/sha256cipher.h po/ms_MY.po Modified files: COPYRIGHT ChangeLog ChangeLog.API ChangeLog.win32 NEWS acinclude.m4 configure.ac doc/finch.1.in finch/finch.c finch/finch.h finch/gntaccount.c finch/gntblist.c finch/gntconn.c finch/gntconv.c finch/gntlog.c finch/gntpounce.c finch/gntrequest.c finch/gntsound.c finch/gntui.c finch/libgnt/gntbox.c finch/libgnt/gntbutton.c finch/libgnt/gntcheckbox.c finch/libgnt/gntcombobox.c finch/libgnt/gntentry.c finch/libgnt/gntinternal.h finch/libgnt/gntlabel.c finch/libgnt/gntmain.c finch/libgnt/gntmenu.c finch/libgnt/gnttextview.c finch/libgnt/gnttree.c finch/libgnt/gntws.c finch/plugins/gnthistory.c finch/plugins/grouping.c libpurple/Makefile.am libpurple/Makefile.mingw libpurple/account.c libpurple/account.h libpurple/blist.c libpurple/blist.h libpurple/buddyicon.c libpurple/certificate.c libpurple/cipher.c libpurple/cipher.h libpurple/cmds.c libpurple/connection.c libpurple/connection.h libpurple/conversation.c libpurple/conversation.h libpurple/core.c libpurple/dbus-analyze-functions.py libpurple/dbus-define-api.h libpurple/dbus-server.c libpurple/dbus-useful.c libpurple/dbus-useful.h libpurple/debug.c libpurple/desktopitem.c libpurple/eventloop.c libpurple/example/nullclient.c libpurple/ft.c libpurple/ft.h libpurple/idle.c libpurple/imgstore.c libpurple/internal.h libpurple/log.c libpurple/marshallers.list libpurple/media.c libpurple/mime.c libpurple/nat-pmp.c libpurple/network.c libpurple/ntlm.c libpurple/plugins/Makefile.am libpurple/plugins/autoaccept.c libpurple/plugins/ciphertest.c libpurple/plugins/filectl.c libpurple/plugins/idle.c libpurple/plugins/log_reader.c libpurple/plugins/one_time_password.c libpurple/plugins/perl/common/Account.xs libpurple/plugins/perl/common/BuddyList.xs libpurple/plugins/perl/common/Cipher.xs libpurple/plugins/perl/common/Connection.xs libpurple/plugins/perl/common/MANIFEST libpurple/plugins/perl/common/Makefile.mingw libpurple/plugins/perl/common/Prpl.xs libpurple/plugins/perl/common/Status.xs libpurple/plugins/perl/common/Util.xs libpurple/plugins/perl/common/module.h libpurple/plugins/perl/common/typemap libpurple/plugins/signals-test.c libpurple/plugins/tcl/tcl_cmds.c libpurple/plugins/tcl/tcl_signals.c libpurple/pounce.c libpurple/protocols/bonjour/Makefile.mingw libpurple/protocols/bonjour/bonjour.c libpurple/protocols/bonjour/bonjour_ft.c libpurple/protocols/bonjour/buddy.c libpurple/protocols/bonjour/jabber.c libpurple/protocols/bonjour/mdns_avahi.c libpurple/protocols/bonjour/mdns_win32.c libpurple/protocols/gg/Makefile.mingw libpurple/protocols/gg/buddylist.c libpurple/protocols/gg/confer.c libpurple/protocols/gg/gg.c libpurple/protocols/gg/search.c libpurple/protocols/irc/Makefile.mingw libpurple/protocols/irc/cmds.c libpurple/protocols/irc/dcc_send.c libpurple/protocols/irc/irc.c libpurple/protocols/irc/msgs.c libpurple/protocols/irc/parse.c libpurple/protocols/jabber/Makefile.am libpurple/protocols/jabber/adhoccommands.c libpurple/protocols/jabber/auth.c libpurple/protocols/jabber/bosh.c libpurple/protocols/jabber/buddy.c libpurple/protocols/jabber/caps.c libpurple/protocols/jabber/caps.h libpurple/protocols/jabber/chat.c libpurple/protocols/jabber/data.c libpurple/protocols/jabber/data.h libpurple/protocols/jabber/disco.c libpurple/protocols/jabber/google.c libpurple/protocols/jabber/google.h libpurple/protocols/jabber/ibb.c libpurple/protocols/jabber/ibb.h libpurple/protocols/jabber/iq.c libpurple/protocols/jabber/jabber.c libpurple/protocols/jabber/jabber.h libpurple/protocols/jabber/jingle/session.c libpurple/protocols/jabber/jutil.c libpurple/protocols/jabber/message.c libpurple/protocols/jabber/message.h libpurple/protocols/jabber/oob.c libpurple/protocols/jabber/parser.c libpurple/protocols/jabber/ping.c libpurple/protocols/jabber/presence.c libpurple/protocols/jabber/roster.c libpurple/protocols/jabber/si.c libpurple/protocols/jabber/useravatar.h libpurple/protocols/jabber/usermood.c libpurple/protocols/jabber/usernick.c libpurple/protocols/jabber/usertune.c libpurple/protocols/msn/Makefile.mingw libpurple/protocols/msn/contact.c libpurple/protocols/msn/dialog.c libpurple/protocols/msn/error.c libpurple/protocols/msn/httpconn.c libpurple/protocols/msn/msg.c libpurple/protocols/msn/msn.c libpurple/protocols/msn/msn.h libpurple/protocols/msn/msnutils.c libpurple/protocols/msn/nexus.c libpurple/protocols/msn/notification.c libpurple/protocols/msn/object.c libpurple/protocols/msn/oim.c libpurple/protocols/msn/servconn.c libpurple/protocols/msn/session.c libpurple/protocols/msn/slp.c libpurple/protocols/msn/switchboard.c libpurple/protocols/msn/sync.c libpurple/protocols/msn/user.c libpurple/protocols/msn/userlist.c libpurple/protocols/msnp9/Makefile.mingw libpurple/protocols/msnp9/dialog.c libpurple/protocols/msnp9/error.c libpurple/protocols/msnp9/msn.c libpurple/protocols/msnp9/msn.h libpurple/protocols/msnp9/nexus.c libpurple/protocols/msnp9/notification.c libpurple/protocols/msnp9/object.c libpurple/protocols/msnp9/servconn.c libpurple/protocols/msnp9/session.c libpurple/protocols/msnp9/slp.c libpurple/protocols/msnp9/switchboard.c libpurple/protocols/msnp9/sync.c libpurple/protocols/msnp9/userlist.c libpurple/protocols/mxit/actions.c libpurple/protocols/mxit/chunk.c libpurple/protocols/mxit/chunk.h libpurple/protocols/mxit/formcmds.c libpurple/protocols/mxit/login.c libpurple/protocols/mxit/markup.c libpurple/protocols/mxit/multimx.c libpurple/protocols/mxit/mxit.c libpurple/protocols/mxit/mxit.h libpurple/protocols/mxit/protocol.c libpurple/protocols/mxit/roster.c libpurple/protocols/mxit/splashscreen.c libpurple/protocols/mxit/splashscreen.h libpurple/protocols/myspace/Makefile.mingw libpurple/protocols/myspace/myspace.c libpurple/protocols/myspace/myspace.h libpurple/protocols/myspace/user.c libpurple/protocols/myspace/zap.c libpurple/protocols/novell/Makefile.mingw libpurple/protocols/novell/nmuser.c libpurple/protocols/novell/novell.c libpurple/protocols/null/Makefile.mingw libpurple/protocols/null/nullprpl.c libpurple/protocols/oscar/Makefile.mingw libpurple/protocols/oscar/clientlogin.c libpurple/protocols/oscar/family_auth.c libpurple/protocols/oscar/family_oservice.c libpurple/protocols/oscar/flap_connection.c libpurple/protocols/oscar/odc.c libpurple/protocols/oscar/oscar.c libpurple/protocols/oscar/oscar.h libpurple/protocols/qq/Makefile.mingw libpurple/protocols/qq/buddy_info.c libpurple/protocols/qq/buddy_list.c libpurple/protocols/qq/buddy_memo.c libpurple/protocols/qq/buddy_opt.c libpurple/protocols/qq/char_conv.c libpurple/protocols/qq/file_trans.c libpurple/protocols/qq/group.c libpurple/protocols/qq/group_im.c libpurple/protocols/qq/group_info.c libpurple/protocols/qq/group_internal.c libpurple/protocols/qq/group_join.c libpurple/protocols/qq/group_opt.c libpurple/protocols/qq/im.c libpurple/protocols/qq/qq.c libpurple/protocols/qq/qq.h libpurple/protocols/qq/qq_base.c libpurple/protocols/qq/qq_network.c libpurple/protocols/qq/qq_process.c libpurple/protocols/qq/qq_trans.c libpurple/protocols/qq/send_file.c libpurple/protocols/qq/utils.c libpurple/protocols/sametime/Makefile.mingw libpurple/protocols/sametime/sametime.c libpurple/protocols/silc/Makefile.mingw libpurple/protocols/silc/buddy.c libpurple/protocols/silc/chat.c libpurple/protocols/silc/ft.c libpurple/protocols/silc/ops.c libpurple/protocols/silc/pk.c libpurple/protocols/silc/silc.c libpurple/protocols/silc/util.c libpurple/protocols/silc/wb.c libpurple/protocols/silc10/buddy.c libpurple/protocols/silc10/chat.c libpurple/protocols/silc10/ft.c libpurple/protocols/silc10/ops.c libpurple/protocols/silc10/silc.c libpurple/protocols/silc10/util.c libpurple/protocols/simple/Makefile.mingw libpurple/protocols/simple/simple.c libpurple/protocols/yahoo/Makefile.mingw libpurple/protocols/yahoo/libymsg.c libpurple/protocols/yahoo/util.c libpurple/protocols/yahoo/yahoo_aliases.c libpurple/protocols/yahoo/yahoo_doodle.c libpurple/protocols/yahoo/yahoo_filexfer.c libpurple/protocols/yahoo/yahoo_friend.c libpurple/protocols/yahoo/yahoo_picture.c libpurple/protocols/yahoo/yahoo_profile.c libpurple/protocols/yahoo/yahoochat.c libpurple/protocols/yahoo/ycht.c libpurple/protocols/zephyr/zephyr.c libpurple/proxy.c libpurple/prpl.c libpurple/prpl.h libpurple/purple.h.in libpurple/roomlist.c libpurple/savedstatuses.c libpurple/server.c libpurple/server.h libpurple/signals.c libpurple/signals.h libpurple/status.c libpurple/status.h libpurple/tests/check_libpurple.c libpurple/tests/test_cipher.c libpurple/tests/test_jabber_jutil.c libpurple/tests/test_yahoo_util.c libpurple/theme-manager.c libpurple/theme.c libpurple/util.c libpurple/util.h libpurple/value.c libpurple/value.h libpurple/whiteboard.c libpurple/win32/global.mak libpurple/xmlnode.c pidgin/Makefile.am pidgin/gtkaccount.c pidgin/gtkblist.c pidgin/gtkblist.h pidgin/gtkcertmgr.c pidgin/gtkconn.c pidgin/gtkconv.c pidgin/gtkdialogs.c pidgin/gtkdocklet.c pidgin/gtkimhtml.c pidgin/gtkimhtmltoolbar.c pidgin/gtklog.c pidgin/gtkmain.c pidgin/gtkmedia.c pidgin/gtknotify.c pidgin/gtkpounce.c pidgin/gtkprefs.c pidgin/gtkprivacy.c pidgin/gtkroomlist.c pidgin/gtksavedstatuses.c pidgin/gtksound.c pidgin/gtkstatusbox.c pidgin/gtkutils.c pidgin/gtkwhiteboard.c pidgin/plugins/cap/cap.c pidgin/plugins/disco/xmppdisco.c pidgin/plugins/gevolution/gevo-util.c pidgin/plugins/gevolution/gevolution.c pidgin/plugins/gtk-signals-test.c pidgin/plugins/history.c pidgin/plugins/mailchk.c pidgin/plugins/perl/common/GtkBlist.xs pidgin/plugins/pidgininc.c pidgin/plugins/raw.c pidgin/plugins/relnot.c pidgin/plugins/themeedit-icon.c pidgin/plugins/themeedit.c pidgin/plugins/ticker/ticker.c pidgin/plugins/xmppconsole.c pidgin/win32/nsis/pidgin-installer.nsi po/ChangeLog po/POTFILES.in po/af.po po/ca.po po/ca at valencia.po po/cs.po po/de.po po/fr.po po/he.po po/hu.po po/nn.po po/pl.po po/ru.po po/sl.po po/stats.pl po/uk.po po/zh_CN.po po/zh_HK.po po/zh_TW.po ChangeLog: explicit merge of '3c54c32773c1f4469b35603025eb4516315aebf0' and 'a49300fe29e4aab06919dc169479b04c113f3830' From qulogic at pidgin.im Wed Jun 9 01:26:32 2010 From: qulogic at pidgin.im (qulogic at pidgin.im) Date: Wed, 9 Jun 2010 01:26:32 -0400 (EDT) Subject: gobjectification: 0ecc99ce: explicit merge of '50f8b5029615ef7f34813... Message-ID: <20100609052632.541975BD00DE@rock.pidgin.im> ----------------------------------------------------------------- Revision: 0ecc99ce4e098b73b3373d8778005589f6b37424 Ancestor: 2d14f6232a78e4d9c9e9470170a3e4c80947299b Ancestor: 50f8b5029615ef7f34813221c1194d6eef1ef421 Author: qulogic at pidgin.im Date: 2010-06-08T07:15:14 Branch: im.pidgin.gobjectification URL: http://d.pidgin.im/viewmtn/revision/info/0ecc99ce4e098b73b3373d8778005589f6b37424 Deleted entries: libpurple/protocols/msn/README Added files: doc/hierarchy.dot libpurple/accountmanager.c libpurple/accountmanager.h libpurple/blist-node.c libpurple/blist-node.h libpurple/buddy.c libpurple/buddy.h libpurple/chat.c libpurple/chat.h libpurple/contact.c libpurple/contact.h libpurple/des3cipher.c libpurple/des3cipher.h libpurple/descipher.c libpurple/descipher.h libpurple/ghash.c libpurple/ghash.h libpurple/group.c libpurple/group.h libpurple/gsignal.c libpurple/gsignal.h libpurple/hash.c libpurple/hash.h libpurple/hmaccipher.c libpurple/hmaccipher.h libpurple/md4hash.c libpurple/md4hash.h libpurple/md5cipher.c libpurple/md5cipher.h libpurple/plugins/perl/common/Hash.xs libpurple/pobject.c libpurple/pobject.h libpurple/rc4cipher.c libpurple/rc4cipher.h libpurple/sha1cipher.c libpurple/sha1cipher.h libpurple/sha256cipher.c libpurple/sha256cipher.h po/bn_IN.po Modified files: COPYRIGHT ChangeLog ChangeLog.API acinclude.m4 configure.ac doc/finch.1.in doc/gtkblist-signals.dox doc/gtkimhtml-signals.dox doc/gtkrc-2.0 finch/finch.c finch/finch.h finch/gntaccount.c finch/gntblist.c finch/gntconn.c finch/gntconv.c finch/gntlog.c finch/gntpounce.c finch/gntrequest.c finch/gntsound.c finch/gntui.c finch/libgnt/gntbox.c finch/libgnt/gntentry.c finch/libgnt/gntentry.h finch/plugins/gnthistory.c finch/plugins/grouping.c libpurple/Makefile.am libpurple/Makefile.mingw libpurple/account.c libpurple/account.h libpurple/blist.c libpurple/blist.h libpurple/buddyicon.c libpurple/certificate.c libpurple/certificate.h libpurple/cipher.c libpurple/cipher.h libpurple/connection.c libpurple/connection.h libpurple/conversation.c libpurple/conversation.h libpurple/core.c libpurple/dbus-analyze-functions.py libpurple/dbus-define-api.h libpurple/dbus-server.c libpurple/dbus-useful.c libpurple/dbus-useful.h libpurple/example/nullclient.c libpurple/ft.c libpurple/idle.c libpurple/internal.h libpurple/log.c libpurple/marshallers.list libpurple/network.c libpurple/ntlm.c libpurple/plugins/Makefile.am libpurple/plugins/autoaccept.c libpurple/plugins/ciphertest.c libpurple/plugins/filectl.c libpurple/plugins/idle.c libpurple/plugins/log_reader.c libpurple/plugins/one_time_password.c libpurple/plugins/perl/common/Account.xs libpurple/plugins/perl/common/BuddyList.xs libpurple/plugins/perl/common/Cipher.xs libpurple/plugins/perl/common/Connection.xs libpurple/plugins/perl/common/MANIFEST libpurple/plugins/perl/common/Makefile.mingw libpurple/plugins/perl/common/Prpl.xs libpurple/plugins/perl/common/Status.xs libpurple/plugins/perl/common/Util.xs libpurple/plugins/perl/common/module.h libpurple/plugins/perl/common/typemap libpurple/plugins/perl/scripts/account.pl libpurple/plugins/perl/scripts/buddy_list.pl libpurple/plugins/perl/scripts/conversation.pl libpurple/plugins/perl/scripts/plugin_pref.pl libpurple/plugins/signals-test.c libpurple/plugins/ssl/ssl-gnutls.c libpurple/plugins/ssl/ssl-nss.c libpurple/plugins/tcl/tcl_cmds.c libpurple/plugins/tcl/tcl_signals.c libpurple/pounce.c libpurple/protocols/bonjour/Makefile.mingw libpurple/protocols/bonjour/bonjour.c libpurple/protocols/bonjour/bonjour_ft.c libpurple/protocols/bonjour/buddy.c libpurple/protocols/bonjour/jabber.c libpurple/protocols/bonjour/mdns_avahi.c libpurple/protocols/bonjour/mdns_win32.c libpurple/protocols/gg/Makefile.mingw libpurple/protocols/gg/buddylist.c libpurple/protocols/gg/confer.c libpurple/protocols/gg/gg.c libpurple/protocols/gg/search.c libpurple/protocols/irc/Makefile.mingw libpurple/protocols/irc/cmds.c libpurple/protocols/irc/dcc_send.c libpurple/protocols/irc/irc.c libpurple/protocols/irc/msgs.c libpurple/protocols/irc/parse.c libpurple/protocols/jabber/adhoccommands.c libpurple/protocols/jabber/auth.c libpurple/protocols/jabber/auth_cyrus.c libpurple/protocols/jabber/buddy.c libpurple/protocols/jabber/caps.c libpurple/protocols/jabber/caps.h libpurple/protocols/jabber/chat.c libpurple/protocols/jabber/data.c libpurple/protocols/jabber/data.h libpurple/protocols/jabber/disco.c libpurple/protocols/jabber/google.c libpurple/protocols/jabber/jabber.c libpurple/protocols/jabber/jutil.c libpurple/protocols/jabber/jutil.h libpurple/protocols/jabber/message.c libpurple/protocols/jabber/oob.c libpurple/protocols/jabber/presence.c libpurple/protocols/jabber/roster.c libpurple/protocols/jabber/si.c libpurple/protocols/jabber/useravatar.c libpurple/protocols/jabber/usermood.c libpurple/protocols/jabber/usernick.c libpurple/protocols/jabber/usertune.c libpurple/protocols/msn/Makefile.mingw libpurple/protocols/msn/contact.c libpurple/protocols/msn/dialog.c libpurple/protocols/msn/error.c libpurple/protocols/msn/httpconn.c libpurple/protocols/msn/msg.c libpurple/protocols/msn/msn.c libpurple/protocols/msn/msn.h libpurple/protocols/msn/msnutils.c libpurple/protocols/msn/nexus.c libpurple/protocols/msn/notification.c libpurple/protocols/msn/object.c libpurple/protocols/msn/oim.c libpurple/protocols/msn/servconn.c libpurple/protocols/msn/session.c libpurple/protocols/msn/slp.c libpurple/protocols/msn/switchboard.c libpurple/protocols/msn/sync.c libpurple/protocols/msn/user.c libpurple/protocols/msn/userlist.c libpurple/protocols/mxit/actions.c libpurple/protocols/mxit/profile.c libpurple/protocols/myspace/Makefile.mingw libpurple/protocols/myspace/myspace.c libpurple/protocols/myspace/myspace.h libpurple/protocols/myspace/user.c libpurple/protocols/myspace/zap.c libpurple/protocols/novell/Makefile.mingw libpurple/protocols/novell/novell.c libpurple/protocols/null/Makefile.mingw libpurple/protocols/null/nullprpl.c libpurple/protocols/oscar/Makefile.mingw libpurple/protocols/oscar/clientlogin.c libpurple/protocols/oscar/family_auth.c libpurple/protocols/oscar/family_icq.c libpurple/protocols/oscar/family_oservice.c libpurple/protocols/oscar/flap_connection.c libpurple/protocols/oscar/oft.c libpurple/protocols/oscar/oscar.c libpurple/protocols/oscar/oscar.h libpurple/protocols/oscar/peer.h libpurple/protocols/qq/Makefile.mingw libpurple/protocols/qq/buddy_info.c libpurple/protocols/qq/buddy_list.c libpurple/protocols/qq/buddy_memo.c libpurple/protocols/qq/buddy_opt.c libpurple/protocols/qq/file_trans.c libpurple/protocols/qq/group.c libpurple/protocols/qq/group_im.c libpurple/protocols/qq/group_info.c libpurple/protocols/qq/group_internal.c libpurple/protocols/qq/group_join.c libpurple/protocols/qq/group_opt.c libpurple/protocols/qq/im.c libpurple/protocols/qq/qq.c libpurple/protocols/qq/qq_base.c libpurple/protocols/qq/qq_network.c libpurple/protocols/qq/qq_process.c libpurple/protocols/qq/qq_trans.c libpurple/protocols/qq/send_file.c libpurple/protocols/qq/utils.c libpurple/protocols/sametime/Makefile.mingw libpurple/protocols/sametime/sametime.c libpurple/protocols/silc/Makefile.mingw libpurple/protocols/silc/buddy.c libpurple/protocols/silc/chat.c libpurple/protocols/silc/ft.c libpurple/protocols/silc/ops.c libpurple/protocols/silc/pk.c libpurple/protocols/silc/silc.c libpurple/protocols/silc/util.c libpurple/protocols/silc/wb.c libpurple/protocols/silc10/buddy.c libpurple/protocols/silc10/chat.c libpurple/protocols/silc10/ft.c libpurple/protocols/silc10/ops.c libpurple/protocols/silc10/silc.c libpurple/protocols/silc10/util.c libpurple/protocols/simple/Makefile.mingw libpurple/protocols/simple/simple.c libpurple/protocols/yahoo/Makefile.mingw libpurple/protocols/yahoo/libyahoo.c libpurple/protocols/yahoo/libyahoojp.c libpurple/protocols/yahoo/libymsg.c libpurple/protocols/yahoo/libymsg.h libpurple/protocols/yahoo/util.c libpurple/protocols/yahoo/yahoo_aliases.c libpurple/protocols/yahoo/yahoo_doodle.c libpurple/protocols/yahoo/yahoo_filexfer.c libpurple/protocols/yahoo/yahoo_friend.c libpurple/protocols/yahoo/yahoo_picture.c libpurple/protocols/yahoo/yahoo_profile.c libpurple/protocols/yahoo/yahoochat.c libpurple/protocols/yahoo/ycht.c libpurple/protocols/zephyr/zephyr.c libpurple/proxy.c libpurple/prpl.c libpurple/purple.h.in libpurple/savedstatuses.c libpurple/server.c libpurple/server.h libpurple/signals.c libpurple/signals.h libpurple/status.c libpurple/status.h libpurple/tests/check_libpurple.c libpurple/tests/test_cipher.c libpurple/util.c libpurple/util.h libpurple/value.c libpurple/value.h libpurple/win32/global.mak pidgin/Makefile.am pidgin/gtkaccount.c pidgin/gtkblist.c pidgin/gtkblist.h pidgin/gtkconn.c pidgin/gtkconv.c pidgin/gtkdialogs.c pidgin/gtkdocklet.c pidgin/gtkimhtml.c pidgin/gtklog.c pidgin/gtkmain.c pidgin/gtknotify.c pidgin/gtkpounce.c pidgin/gtkprefs.c pidgin/gtkprivacy.c pidgin/gtkroomlist.c pidgin/gtksound.c pidgin/gtkstatusbox.c pidgin/gtkutils.c pidgin/plugins/cap/cap.c pidgin/plugins/disco/xmppdisco.c pidgin/plugins/gevolution/add_buddy_dialog.c pidgin/plugins/gevolution/gevo-util.c pidgin/plugins/gevolution/gevolution.c pidgin/plugins/gevolution/new_person_dialog.c pidgin/plugins/gtk-signals-test.c pidgin/plugins/history.c pidgin/plugins/mailchk.c pidgin/plugins/perl/common/GtkBlist.xs pidgin/plugins/pidgininc.c pidgin/plugins/raw.c pidgin/plugins/relnot.c pidgin/plugins/themeedit-icon.c pidgin/plugins/themeedit.c pidgin/plugins/ticker/ticker.c pidgin/plugins/xmppconsole.c po/ChangeLog po/POTFILES.in po/af.po po/am.po po/ar.po po/az.po po/be at latin.po po/bg.po po/bn.po po/bs.po po/ca.po po/ca at valencia.po po/cs.po po/da.po po/de.po po/dz.po po/el.po po/en_AU.po po/en_CA.po po/en_GB.po po/eo.po po/es.po po/et.po po/eu.po po/fa.po po/fi.po po/fr.po po/ga.po po/gl.po po/gu.po po/he.po po/hi.po po/hu.po po/hy.po po/id.po po/it.po po/ja.po po/ka.po po/km.po po/kn.po po/ko.po po/ku.po po/lo.po po/lt.po po/mk.po po/mn.po po/mr.po po/ms_MY.po po/my_MM.po po/nb.po po/ne.po po/nl.po po/nn.po po/oc.po po/or.po po/pa.po po/pl.po po/ps.po po/pt.po po/pt_BR.po po/ro.po po/ru.po po/si.po po/sk.po po/sl.po po/sq.po po/sr.po po/sr at latin.po po/sv.po po/sw.po po/ta.po po/te.po po/th.po po/tr.po po/uk.po po/ur.po po/vi.po po/xh.po po/zh_CN.po po/zh_HK.po po/zh_TW.po ChangeLog: explicit merge of '50f8b5029615ef7f34813221c1194d6eef1ef421' and '2d14f6232a78e4d9c9e9470170a3e4c80947299b' From qulogic at pidgin.im Wed Jun 9 01:26:45 2010 From: qulogic at pidgin.im (qulogic at pidgin.im) Date: Wed, 9 Jun 2010 01:26:45 -0400 (EDT) Subject: gobjectification: 111ec6a7: explicit merge of 'a5baf7ca8907c15748c0a... Message-ID: <20100609052646.259885BD00DE@rock.pidgin.im> ----------------------------------------------------------------- Revision: 111ec6a77e9e523e8d77c5950d77a3019caa65cf Ancestor: 8d4ee1027315fea460b5522ad554aacba6382c88 Ancestor: a5baf7ca8907c15748c0a707d36aa836518b73ae Author: qulogic at pidgin.im Date: 2010-06-08T08:13:13 Branch: im.pidgin.gobjectification URL: http://d.pidgin.im/viewmtn/revision/info/111ec6a77e9e523e8d77c5950d77a3019caa65cf Added files: doc/hierarchy.dot libpurple/accountmanager.c libpurple/accountmanager.h libpurple/blist-node.c libpurple/blist-node.h libpurple/buddy.c libpurple/buddy.h libpurple/chat.c libpurple/chat.h libpurple/contact.c libpurple/contact.h libpurple/des3cipher.c libpurple/des3cipher.h libpurple/descipher.c libpurple/descipher.h libpurple/ghash.c libpurple/ghash.h libpurple/group.c libpurple/group.h libpurple/gsignal.c libpurple/gsignal.h libpurple/hash.c libpurple/hash.h libpurple/hmaccipher.c libpurple/hmaccipher.h libpurple/md4hash.c libpurple/md4hash.h libpurple/md5cipher.c libpurple/md5cipher.h libpurple/plugins/perl/common/Hash.xs libpurple/pobject.c libpurple/pobject.h libpurple/rc4cipher.c libpurple/rc4cipher.h libpurple/sha1cipher.c libpurple/sha1cipher.h libpurple/sha256cipher.c libpurple/sha256cipher.h Modified files: COPYRIGHT ChangeLog ChangeLog.API Makefile.am Makefile.mingw NEWS acinclude.m4 configure.ac finch/finch.c finch/finch.h finch/gntaccount.c finch/gntblist.c finch/gntconn.c finch/gntconv.c finch/gntlog.c finch/gntpounce.c finch/gntrequest.c finch/gntsound.c finch/gntui.c finch/plugins/gnthistory.c finch/plugins/grouping.c libpurple/Makefile.am libpurple/Makefile.mingw libpurple/account.c libpurple/account.h libpurple/blist.c libpurple/blist.h libpurple/buddyicon.c libpurple/cipher.c libpurple/cipher.h libpurple/connection.c libpurple/connection.h libpurple/conversation.c libpurple/conversation.h libpurple/core.c libpurple/dbus-analyze-functions.py libpurple/dbus-define-api.h libpurple/dbus-server.c libpurple/dbus-useful.c libpurple/dbus-useful.h libpurple/example/nullclient.c libpurple/idle.c libpurple/internal.h libpurple/log.c libpurple/marshallers.list libpurple/network.c libpurple/ntlm.c libpurple/plugins/Makefile.am libpurple/plugins/autoaccept.c libpurple/plugins/ciphertest.c libpurple/plugins/filectl.c libpurple/plugins/idle.c libpurple/plugins/log_reader.c libpurple/plugins/one_time_password.c libpurple/plugins/perl/common/Account.xs libpurple/plugins/perl/common/BuddyList.xs libpurple/plugins/perl/common/Cipher.xs libpurple/plugins/perl/common/Connection.xs libpurple/plugins/perl/common/MANIFEST libpurple/plugins/perl/common/Makefile.mingw libpurple/plugins/perl/common/Prpl.xs libpurple/plugins/perl/common/Status.xs libpurple/plugins/perl/common/Util.xs libpurple/plugins/perl/common/module.h libpurple/plugins/perl/common/typemap libpurple/plugins/signals-test.c libpurple/plugins/tcl/tcl_cmds.c libpurple/plugins/tcl/tcl_signals.c libpurple/pounce.c libpurple/protocols/bonjour/Makefile.mingw libpurple/protocols/bonjour/bonjour.c libpurple/protocols/bonjour/bonjour_ft.c libpurple/protocols/bonjour/buddy.c libpurple/protocols/bonjour/jabber.c libpurple/protocols/bonjour/mdns_avahi.c libpurple/protocols/bonjour/mdns_win32.c libpurple/protocols/gg/Makefile.mingw libpurple/protocols/gg/buddylist.c libpurple/protocols/gg/confer.c libpurple/protocols/gg/gg.c libpurple/protocols/gg/search.c libpurple/protocols/irc/Makefile.mingw libpurple/protocols/irc/cmds.c libpurple/protocols/irc/dcc_send.c libpurple/protocols/irc/irc.c libpurple/protocols/irc/msgs.c libpurple/protocols/irc/parse.c libpurple/protocols/jabber/adhoccommands.c libpurple/protocols/jabber/auth.c libpurple/protocols/jabber/buddy.c libpurple/protocols/jabber/caps.c libpurple/protocols/jabber/caps.h libpurple/protocols/jabber/chat.c libpurple/protocols/jabber/disco.c libpurple/protocols/jabber/google.c libpurple/protocols/jabber/jabber.c libpurple/protocols/jabber/jutil.c libpurple/protocols/jabber/message.c libpurple/protocols/jabber/oob.c libpurple/protocols/jabber/presence.c libpurple/protocols/jabber/roster.c libpurple/protocols/jabber/si.c libpurple/protocols/jabber/usermood.c libpurple/protocols/jabber/usernick.c libpurple/protocols/jabber/usertune.c libpurple/protocols/msn/Makefile.mingw libpurple/protocols/msn/contact.c libpurple/protocols/msn/dialog.c libpurple/protocols/msn/directconn.c libpurple/protocols/msn/error.c libpurple/protocols/msn/httpconn.c libpurple/protocols/msn/msg.c libpurple/protocols/msn/msn.c libpurple/protocols/msn/msn.h libpurple/protocols/msn/msnutils.c libpurple/protocols/msn/nexus.c libpurple/protocols/msn/notification.c libpurple/protocols/msn/notification.h libpurple/protocols/msn/object.c libpurple/protocols/msn/oim.c libpurple/protocols/msn/servconn.c libpurple/protocols/msn/session.c libpurple/protocols/msn/slp.c libpurple/protocols/msn/switchboard.c libpurple/protocols/msn/sync.c libpurple/protocols/msn/user.c libpurple/protocols/msn/user.h libpurple/protocols/msn/userlist.c libpurple/protocols/myspace/Makefile.mingw libpurple/protocols/myspace/myspace.c libpurple/protocols/myspace/myspace.h libpurple/protocols/myspace/user.c libpurple/protocols/myspace/zap.c libpurple/protocols/novell/Makefile.mingw libpurple/protocols/novell/novell.c libpurple/protocols/null/Makefile.mingw libpurple/protocols/null/nullprpl.c libpurple/protocols/oscar/Makefile.mingw libpurple/protocols/oscar/clientlogin.c libpurple/protocols/oscar/family_auth.c libpurple/protocols/oscar/family_oservice.c libpurple/protocols/oscar/flap_connection.c libpurple/protocols/oscar/libaim.c libpurple/protocols/oscar/libicq.c libpurple/protocols/oscar/oscar.c libpurple/protocols/qq/Makefile.mingw libpurple/protocols/qq/buddy_info.c libpurple/protocols/qq/buddy_list.c libpurple/protocols/qq/buddy_memo.c libpurple/protocols/qq/buddy_opt.c libpurple/protocols/qq/file_trans.c libpurple/protocols/qq/group.c libpurple/protocols/qq/group_im.c libpurple/protocols/qq/group_info.c libpurple/protocols/qq/group_internal.c libpurple/protocols/qq/group_join.c libpurple/protocols/qq/group_opt.c libpurple/protocols/qq/im.c libpurple/protocols/qq/qq.c libpurple/protocols/qq/qq_base.c libpurple/protocols/qq/qq_network.c libpurple/protocols/qq/qq_process.c libpurple/protocols/qq/qq_trans.c libpurple/protocols/qq/send_file.c libpurple/protocols/qq/utils.c libpurple/protocols/sametime/Makefile.mingw libpurple/protocols/sametime/sametime.c libpurple/protocols/silc/Makefile.mingw libpurple/protocols/silc/buddy.c libpurple/protocols/silc/chat.c libpurple/protocols/silc/ft.c libpurple/protocols/silc/ops.c libpurple/protocols/silc/pk.c libpurple/protocols/silc/silc.c libpurple/protocols/silc/util.c libpurple/protocols/silc/wb.c libpurple/protocols/silc10/buddy.c libpurple/protocols/silc10/chat.c libpurple/protocols/silc10/ft.c libpurple/protocols/silc10/ops.c libpurple/protocols/silc10/silc.c libpurple/protocols/silc10/util.c libpurple/protocols/simple/Makefile.mingw libpurple/protocols/simple/simple.c libpurple/protocols/yahoo/Makefile.mingw libpurple/protocols/yahoo/libymsg.c libpurple/protocols/yahoo/util.c libpurple/protocols/yahoo/yahoo_aliases.c libpurple/protocols/yahoo/yahoo_doodle.c libpurple/protocols/yahoo/yahoo_filexfer.c libpurple/protocols/yahoo/yahoo_friend.c libpurple/protocols/yahoo/yahoo_picture.c libpurple/protocols/yahoo/yahoo_profile.c libpurple/protocols/yahoo/yahoochat.c libpurple/protocols/yahoo/ycht.c libpurple/protocols/zephyr/zephyr.c libpurple/proxy.c libpurple/prpl.c libpurple/purple.h.in libpurple/savedstatuses.c libpurple/server.c libpurple/server.h libpurple/signals.c libpurple/signals.h libpurple/status.c libpurple/status.h libpurple/tests/check_libpurple.c libpurple/tests/test_cipher.c libpurple/util.c libpurple/util.h libpurple/value.c libpurple/value.h libpurple/win32/global.mak pidgin/Makefile.am pidgin/Makefile.mingw pidgin/gtkaccount.c pidgin/gtkblist.c pidgin/gtkblist.h pidgin/gtkconn.c pidgin/gtkconv.c pidgin/gtkdialogs.c pidgin/gtkdocklet.c pidgin/gtkimhtml.c pidgin/gtkimhtmltoolbar.c pidgin/gtklog.c pidgin/gtkmain.c pidgin/gtknotify.c pidgin/gtkpounce.c pidgin/gtkprefs.c pidgin/gtkprivacy.c pidgin/gtkroomlist.c pidgin/gtksound.c pidgin/gtkstatusbox.c pidgin/gtkutils.c pidgin/plugins/cap/cap.c pidgin/plugins/disco/xmppdisco.c pidgin/plugins/gevolution/gevolution.c pidgin/plugins/gtk-signals-test.c pidgin/plugins/history.c pidgin/plugins/mailchk.c pidgin/plugins/perl/common/GtkBlist.xs pidgin/plugins/pidgininc.c pidgin/plugins/raw.c pidgin/plugins/relnot.c pidgin/plugins/themeedit-icon.c pidgin/plugins/themeedit.c pidgin/plugins/ticker/ticker.c pidgin/plugins/xmppconsole.c pidgin.spec.in po/POTFILES.in po/af.po po/am.po po/ar.po po/az.po po/be at latin.po po/bg.po po/bn.po po/bn_IN.po po/bs.po po/ca.po po/ca at valencia.po po/cs.po po/da.po po/de.po po/dz.po po/el.po po/en_AU.po po/en_CA.po po/en_GB.po po/eo.po po/es.po po/et.po po/eu.po po/fa.po po/fi.po po/fr.po po/ga.po po/gl.po po/gu.po po/he.po po/hi.po po/hu.po po/hy.po po/id.po po/it.po po/ja.po po/ka.po po/km.po po/kn.po po/ko.po po/ku.po po/lo.po po/lt.po po/mk.po po/mn.po po/mr.po po/ms_MY.po po/my_MM.po po/nb.po po/ne.po po/nl.po po/nn.po po/oc.po po/or.po po/pa.po po/pl.po po/ps.po po/pt.po po/pt_BR.po po/ro.po po/ru.po po/si.po po/sk.po po/sl.po po/sq.po po/sr.po po/sr at latin.po po/sv.po po/sw.po po/ta.po po/te.po po/th.po po/tr.po po/uk.po po/ur.po po/vi.po po/xh.po po/zh_CN.po po/zh_HK.po po/zh_TW.po ChangeLog: explicit merge of 'a5baf7ca8907c15748c0a707d36aa836518b73ae' and '8d4ee1027315fea460b5522ad554aacba6382c88' From qulogic at pidgin.im Wed Jun 9 01:26:50 2010 From: qulogic at pidgin.im (qulogic at pidgin.im) Date: Wed, 9 Jun 2010 01:26:50 -0400 (EDT) Subject: gobjectification: 120eaa1b: explicit merge of 'b060669c75e310157924b... Message-ID: <20100609052650.B55915BD00E6@rock.pidgin.im> ----------------------------------------------------------------- Revision: 120eaa1b1898d09118a9fbb8262652c9d8f39081 Ancestor: 0c4ae04f361863a08dc15a87ec30894c44a3d9c1 Ancestor: b060669c75e310157924baab4aa716f3cda4f3b9 Author: qulogic at pidgin.im Date: 2010-06-08T07:44:22 Branch: im.pidgin.gobjectification URL: http://d.pidgin.im/viewmtn/revision/info/120eaa1b1898d09118a9fbb8262652c9d8f39081 Added files: doc/hierarchy.dot libpurple/accountmanager.c libpurple/accountmanager.h libpurple/blist-node.c libpurple/blist-node.h libpurple/buddy.c libpurple/buddy.h libpurple/chat.c libpurple/chat.h libpurple/contact.c libpurple/contact.h libpurple/des3cipher.c libpurple/des3cipher.h libpurple/descipher.c libpurple/descipher.h libpurple/ghash.c libpurple/ghash.h libpurple/group.c libpurple/group.h libpurple/gsignal.c libpurple/gsignal.h libpurple/hash.c libpurple/hash.h libpurple/hmaccipher.c libpurple/hmaccipher.h libpurple/md4hash.c libpurple/md4hash.h libpurple/md5cipher.c libpurple/md5cipher.h libpurple/plugins/perl/common/Hash.xs libpurple/pobject.c libpurple/pobject.h libpurple/rc4cipher.c libpurple/rc4cipher.h libpurple/sha1cipher.c libpurple/sha1cipher.h libpurple/sha256cipher.c libpurple/sha256cipher.h Modified files: COPYRIGHT ChangeLog ChangeLog.API acinclude.m4 configure.ac finch/finch.c finch/finch.h finch/gntaccount.c finch/gntblist.c finch/gntconn.c finch/gntconv.c finch/gntlog.c finch/gntpounce.c finch/gntrequest.c finch/gntsound.c finch/gntui.c finch/plugins/gnthistory.c finch/plugins/grouping.c libpurple/Makefile.am libpurple/Makefile.mingw libpurple/account.c libpurple/account.h libpurple/blist.c libpurple/blist.h libpurple/buddyicon.c libpurple/cipher.c libpurple/cipher.h libpurple/connection.c libpurple/connection.h libpurple/conversation.c libpurple/conversation.h libpurple/core.c libpurple/dbus-analyze-functions.py libpurple/dbus-define-api.h libpurple/dbus-server.c libpurple/dbus-useful.c libpurple/dbus-useful.h libpurple/example/nullclient.c libpurple/ft.c libpurple/idle.c libpurple/internal.h libpurple/log.c libpurple/marshallers.list libpurple/network.c libpurple/ntlm.c libpurple/plugins/Makefile.am libpurple/plugins/autoaccept.c libpurple/plugins/ciphertest.c libpurple/plugins/filectl.c libpurple/plugins/idle.c libpurple/plugins/log_reader.c libpurple/plugins/one_time_password.c libpurple/plugins/perl/common/Account.xs libpurple/plugins/perl/common/BuddyList.xs libpurple/plugins/perl/common/Cipher.xs libpurple/plugins/perl/common/Connection.xs libpurple/plugins/perl/common/MANIFEST libpurple/plugins/perl/common/Makefile.mingw libpurple/plugins/perl/common/Prpl.xs libpurple/plugins/perl/common/Status.xs libpurple/plugins/perl/common/Util.xs libpurple/plugins/perl/common/module.h libpurple/plugins/perl/common/typemap libpurple/plugins/signals-test.c libpurple/plugins/tcl/tcl_cmds.c libpurple/plugins/tcl/tcl_signals.c libpurple/pounce.c libpurple/protocols/bonjour/Makefile.mingw libpurple/protocols/bonjour/bonjour.c libpurple/protocols/bonjour/bonjour_ft.c libpurple/protocols/bonjour/buddy.c libpurple/protocols/bonjour/jabber.c libpurple/protocols/bonjour/mdns_avahi.c libpurple/protocols/bonjour/mdns_win32.c libpurple/protocols/gg/Makefile.mingw libpurple/protocols/gg/buddylist.c libpurple/protocols/gg/confer.c libpurple/protocols/gg/gg.c libpurple/protocols/gg/search.c libpurple/protocols/irc/Makefile.mingw libpurple/protocols/irc/cmds.c libpurple/protocols/irc/dcc_send.c libpurple/protocols/irc/irc.c libpurple/protocols/irc/msgs.c libpurple/protocols/irc/parse.c libpurple/protocols/jabber/adhoccommands.c libpurple/protocols/jabber/auth.c libpurple/protocols/jabber/auth.h libpurple/protocols/jabber/auth_cyrus.c libpurple/protocols/jabber/auth_digest_md5.c libpurple/protocols/jabber/auth_plain.c libpurple/protocols/jabber/auth_scram.c libpurple/protocols/jabber/buddy.c libpurple/protocols/jabber/caps.c libpurple/protocols/jabber/caps.h libpurple/protocols/jabber/chat.c libpurple/protocols/jabber/disco.c libpurple/protocols/jabber/google.c libpurple/protocols/jabber/jabber.c libpurple/protocols/jabber/jabber.h libpurple/protocols/jabber/jutil.c libpurple/protocols/jabber/libxmpp.c libpurple/protocols/jabber/message.c libpurple/protocols/jabber/oob.c libpurple/protocols/jabber/presence.c libpurple/protocols/jabber/roster.c libpurple/protocols/jabber/si.c libpurple/protocols/jabber/usermood.c libpurple/protocols/jabber/usernick.c libpurple/protocols/jabber/usertune.c libpurple/protocols/msn/Makefile.mingw libpurple/protocols/msn/contact.c libpurple/protocols/msn/dialog.c libpurple/protocols/msn/error.c libpurple/protocols/msn/httpconn.c libpurple/protocols/msn/msg.c libpurple/protocols/msn/msn.c libpurple/protocols/msn/msn.h libpurple/protocols/msn/msnutils.c libpurple/protocols/msn/nexus.c libpurple/protocols/msn/notification.c libpurple/protocols/msn/object.c libpurple/protocols/msn/oim.c libpurple/protocols/msn/servconn.c libpurple/protocols/msn/session.c libpurple/protocols/msn/slp.c libpurple/protocols/msn/switchboard.c libpurple/protocols/msn/sync.c libpurple/protocols/msn/user.c libpurple/protocols/msn/userlist.c libpurple/protocols/mxit/mxit.c libpurple/protocols/mxit/protocol.c libpurple/protocols/myspace/Makefile.mingw libpurple/protocols/myspace/myspace.c libpurple/protocols/myspace/myspace.h libpurple/protocols/myspace/user.c libpurple/protocols/myspace/zap.c libpurple/protocols/novell/Makefile.mingw libpurple/protocols/novell/novell.c libpurple/protocols/null/Makefile.mingw libpurple/protocols/null/nullprpl.c libpurple/protocols/oscar/Makefile.mingw libpurple/protocols/oscar/clientlogin.c libpurple/protocols/oscar/family_auth.c libpurple/protocols/oscar/family_oservice.c libpurple/protocols/oscar/flap_connection.c libpurple/protocols/oscar/libaim.c libpurple/protocols/oscar/libicq.c libpurple/protocols/oscar/oscar.c libpurple/protocols/qq/Makefile.mingw libpurple/protocols/qq/buddy_info.c libpurple/protocols/qq/buddy_list.c libpurple/protocols/qq/buddy_memo.c libpurple/protocols/qq/buddy_opt.c libpurple/protocols/qq/file_trans.c libpurple/protocols/qq/group.c libpurple/protocols/qq/group_im.c libpurple/protocols/qq/group_info.c libpurple/protocols/qq/group_internal.c libpurple/protocols/qq/group_join.c libpurple/protocols/qq/group_opt.c libpurple/protocols/qq/im.c libpurple/protocols/qq/qq.c libpurple/protocols/qq/qq_base.c libpurple/protocols/qq/qq_network.c libpurple/protocols/qq/qq_process.c libpurple/protocols/qq/qq_trans.c libpurple/protocols/qq/send_file.c libpurple/protocols/qq/utils.c libpurple/protocols/sametime/Makefile.mingw libpurple/protocols/sametime/sametime.c libpurple/protocols/silc/Makefile.mingw libpurple/protocols/silc/buddy.c libpurple/protocols/silc/chat.c libpurple/protocols/silc/ft.c libpurple/protocols/silc/ops.c libpurple/protocols/silc/pk.c libpurple/protocols/silc/silc.c libpurple/protocols/silc/util.c libpurple/protocols/silc/wb.c libpurple/protocols/silc10/buddy.c libpurple/protocols/silc10/chat.c libpurple/protocols/silc10/ft.c libpurple/protocols/silc10/ops.c libpurple/protocols/silc10/silc.c libpurple/protocols/silc10/util.c libpurple/protocols/simple/Makefile.mingw libpurple/protocols/simple/simple.c libpurple/protocols/yahoo/Makefile.mingw libpurple/protocols/yahoo/libyahoo.c libpurple/protocols/yahoo/libyahoojp.c libpurple/protocols/yahoo/libymsg.c libpurple/protocols/yahoo/util.c libpurple/protocols/yahoo/yahoo_aliases.c libpurple/protocols/yahoo/yahoo_doodle.c libpurple/protocols/yahoo/yahoo_filexfer.c libpurple/protocols/yahoo/yahoo_friend.c libpurple/protocols/yahoo/yahoo_picture.c libpurple/protocols/yahoo/yahoo_profile.c libpurple/protocols/yahoo/yahoochat.c libpurple/protocols/yahoo/ycht.c libpurple/protocols/zephyr/zephyr.c libpurple/proxy.c libpurple/prpl.c libpurple/prpl.h libpurple/purple.h.in libpurple/request.c libpurple/request.h libpurple/savedstatuses.c libpurple/server.c libpurple/server.h libpurple/signals.c libpurple/signals.h libpurple/status.c libpurple/status.h libpurple/tests/check_libpurple.c libpurple/tests/test_cipher.c libpurple/tests/test_util.c libpurple/util.c libpurple/util.h libpurple/value.c libpurple/value.h libpurple/win32/global.mak pidgin/Makefile.am pidgin/gtkaccount.c pidgin/gtkblist.c pidgin/gtkblist.h pidgin/gtkconn.c pidgin/gtkconv.c pidgin/gtkdialogs.c pidgin/gtkdocklet.c pidgin/gtkimhtml.c pidgin/gtklog.c pidgin/gtkmain.c pidgin/gtknotify.c pidgin/gtkpounce.c pidgin/gtkprefs.c pidgin/gtkprivacy.c pidgin/gtkrequest.c pidgin/gtkroomlist.c pidgin/gtksound.c pidgin/gtkstatusbox.c pidgin/gtkutils.c pidgin/plugins/cap/cap.c pidgin/plugins/disco/xmppdisco.c pidgin/plugins/gevolution/gevolution.c pidgin/plugins/gtk-signals-test.c pidgin/plugins/history.c pidgin/plugins/mailchk.c pidgin/plugins/perl/common/GtkBlist.xs pidgin/plugins/pidgininc.c pidgin/plugins/raw.c pidgin/plugins/relnot.c pidgin/plugins/themeedit-icon.c pidgin/plugins/themeedit.c pidgin/plugins/ticker/ticker.c pidgin/plugins/xmppconsole.c po/POTFILES.in po/ca.po po/de.po ChangeLog: explicit merge of 'b060669c75e310157924baab4aa716f3cda4f3b9' and '0c4ae04f361863a08dc15a87ec30894c44a3d9c1' From qulogic at pidgin.im Wed Jun 9 01:26:57 2010 From: qulogic at pidgin.im (qulogic at pidgin.im) Date: Wed, 9 Jun 2010 01:26:57 -0400 (EDT) Subject: gobjectification: 1f1b7343: explicit merge of '122c09fb418ceb629bb94... Message-ID: <20100609052657.EA5415BD00E5@rock.pidgin.im> ----------------------------------------------------------------- Revision: 1f1b7343bd021866e6857dca0404342741049452 Ancestor: 122c09fb418ceb629bb942da06d3a45a22f19680 Ancestor: 80692b9f8d960702b4dd35cc5c315845a6d0a1ea Author: qulogic at pidgin.im Date: 2010-06-07T04:10:07 Branch: im.pidgin.gobjectification URL: http://d.pidgin.im/viewmtn/revision/info/1f1b7343bd021866e6857dca0404342741049452 Renamed entries: libpurple/protocols/jabber/JEPS to libpurple/protocols/jabber/XEPS Added files: doc/hierarchy.dot libpurple/accountmanager.c libpurple/accountmanager.h libpurple/blist-node.c libpurple/blist-node.h libpurple/buddy.c libpurple/buddy.h libpurple/chat.c libpurple/chat.h libpurple/contact.c libpurple/contact.h libpurple/des3cipher.c libpurple/des3cipher.h libpurple/descipher.c libpurple/descipher.h libpurple/ghash.c libpurple/ghash.h libpurple/group.c libpurple/group.h libpurple/gsignal.c libpurple/gsignal.h libpurple/hash.c libpurple/hash.h libpurple/hmaccipher.c libpurple/hmaccipher.h libpurple/md4hash.c libpurple/md4hash.h libpurple/md5cipher.c libpurple/md5cipher.h libpurple/plugins/perl/common/Hash.xs libpurple/pobject.c libpurple/pobject.h libpurple/rc4cipher.c libpurple/rc4cipher.h libpurple/sha1cipher.c libpurple/sha1cipher.h libpurple/sha256cipher.c libpurple/sha256cipher.h share/ca-certs/Entrust.net_Secure_Server_CA.pem Modified files: COPYRIGHT ChangeLog ChangeLog.API ChangeLog.win32 NEWS acinclude.m4 autogen.sh configure.ac finch/finch.c finch/finch.h finch/gntaccount.c finch/gntblist.c finch/gntconn.c finch/gntconv.c finch/gntlog.c finch/gntpounce.c finch/gntrequest.c finch/gntsound.c finch/gntui.c finch/libgnt/gntbindable.h finch/libgnt/gntbox.c finch/libgnt/gntentry.c finch/libgnt/gntfilesel.c finch/libgnt/gnttextview.c finch/libgnt/gnttree.c finch/libgnt/gntutils.c finch/plugins/gnthistory.c finch/plugins/gnttinyurl.c finch/plugins/grouping.c libpurple/Makefile.am libpurple/Makefile.mingw libpurple/account.c libpurple/account.h libpurple/blist.c libpurple/blist.h libpurple/buddyicon.c libpurple/certificate.c libpurple/cipher.c libpurple/cipher.h libpurple/connection.c libpurple/connection.h libpurple/conversation.c libpurple/conversation.h libpurple/core.c libpurple/dbus-analyze-functions.py libpurple/dbus-define-api.h libpurple/dbus-server.c libpurple/dbus-useful.c libpurple/dbus-useful.h libpurple/dnsquery.c libpurple/dnssrv.c libpurple/example/nullclient.c libpurple/ft.c libpurple/ft.h libpurple/idle.c libpurple/internal.h libpurple/log.c libpurple/marshallers.list libpurple/media.c libpurple/network.c libpurple/ntlm.c libpurple/plugins/Makefile.am libpurple/plugins/autoaccept.c libpurple/plugins/ciphertest.c libpurple/plugins/filectl.c libpurple/plugins/idle.c libpurple/plugins/log_reader.c libpurple/plugins/one_time_password.c libpurple/plugins/perl/Makefile.mingw libpurple/plugins/perl/common/Account.xs libpurple/plugins/perl/common/BuddyList.xs libpurple/plugins/perl/common/Cipher.xs libpurple/plugins/perl/common/Connection.xs libpurple/plugins/perl/common/MANIFEST libpurple/plugins/perl/common/Makefile.mingw libpurple/plugins/perl/common/Prpl.xs libpurple/plugins/perl/common/Status.xs libpurple/plugins/perl/common/Util.xs libpurple/plugins/perl/common/module.h libpurple/plugins/perl/common/typemap libpurple/plugins/perl/perl-handlers.c libpurple/plugins/perl/perl.c libpurple/plugins/signals-test.c libpurple/plugins/ssl/ssl-gnutls.c libpurple/plugins/tcl/tcl_cmds.c libpurple/plugins/tcl/tcl_signals.c libpurple/pounce.c libpurple/protocols/bonjour/Makefile.mingw libpurple/protocols/bonjour/bonjour.c libpurple/protocols/bonjour/bonjour_ft.c libpurple/protocols/bonjour/buddy.c libpurple/protocols/bonjour/jabber.c libpurple/protocols/bonjour/mdns_avahi.c libpurple/protocols/bonjour/mdns_win32.c libpurple/protocols/gg/Makefile.mingw libpurple/protocols/gg/buddylist.c libpurple/protocols/gg/confer.c libpurple/protocols/gg/gg.c libpurple/protocols/gg/search.c libpurple/protocols/irc/Makefile.mingw libpurple/protocols/irc/cmds.c libpurple/protocols/irc/dcc_send.c libpurple/protocols/irc/irc.c libpurple/protocols/irc/msgs.c libpurple/protocols/irc/parse.c libpurple/protocols/jabber/XEPS libpurple/protocols/jabber/adhoccommands.c libpurple/protocols/jabber/auth.c libpurple/protocols/jabber/buddy.c libpurple/protocols/jabber/caps.c libpurple/protocols/jabber/caps.h libpurple/protocols/jabber/chat.c libpurple/protocols/jabber/chat.h libpurple/protocols/jabber/disco.c libpurple/protocols/jabber/google.c libpurple/protocols/jabber/google.h libpurple/protocols/jabber/iq.c libpurple/protocols/jabber/jabber.c libpurple/protocols/jabber/jabber.h libpurple/protocols/jabber/jingle/jingle.c libpurple/protocols/jabber/jutil.c libpurple/protocols/jabber/libxmpp.c libpurple/protocols/jabber/message.c libpurple/protocols/jabber/oob.c libpurple/protocols/jabber/parser.c libpurple/protocols/jabber/presence.c libpurple/protocols/jabber/roster.c libpurple/protocols/jabber/si.c libpurple/protocols/jabber/useravatar.c libpurple/protocols/jabber/usermood.c libpurple/protocols/jabber/usernick.c libpurple/protocols/jabber/usertune.c libpurple/protocols/msn/Makefile.mingw libpurple/protocols/msn/contact.c libpurple/protocols/msn/dialog.c libpurple/protocols/msn/error.c libpurple/protocols/msn/httpconn.c libpurple/protocols/msn/msg.c libpurple/protocols/msn/msn.c libpurple/protocols/msn/msn.h libpurple/protocols/msn/msnutils.c libpurple/protocols/msn/nexus.c libpurple/protocols/msn/notification.c libpurple/protocols/msn/object.c libpurple/protocols/msn/oim.c libpurple/protocols/msn/servconn.c libpurple/protocols/msn/servconn.h libpurple/protocols/msn/session.c libpurple/protocols/msn/slp.c libpurple/protocols/msn/switchboard.c libpurple/protocols/msn/sync.c libpurple/protocols/msn/transaction.c libpurple/protocols/msn/transaction.h libpurple/protocols/msn/user.c libpurple/protocols/msn/userlist.c libpurple/protocols/msnp9/Makefile.mingw libpurple/protocols/msnp9/dialog.c libpurple/protocols/msnp9/error.c libpurple/protocols/msnp9/msn.c libpurple/protocols/msnp9/msn.h libpurple/protocols/msnp9/nexus.c libpurple/protocols/msnp9/notification.c libpurple/protocols/msnp9/object.c libpurple/protocols/msnp9/servconn.c libpurple/protocols/msnp9/session.c libpurple/protocols/msnp9/slp.c libpurple/protocols/msnp9/switchboard.c libpurple/protocols/msnp9/sync.c libpurple/protocols/msnp9/userlist.c libpurple/protocols/myspace/Makefile.mingw libpurple/protocols/myspace/myspace.c libpurple/protocols/myspace/myspace.h libpurple/protocols/myspace/user.c libpurple/protocols/myspace/zap.c libpurple/protocols/novell/Makefile.mingw libpurple/protocols/novell/novell.c libpurple/protocols/null/Makefile.mingw libpurple/protocols/null/nullprpl.c libpurple/protocols/oscar/Makefile.mingw libpurple/protocols/oscar/clientlogin.c libpurple/protocols/oscar/family_auth.c libpurple/protocols/oscar/family_feedbag.c libpurple/protocols/oscar/family_icbm.c libpurple/protocols/oscar/family_oservice.c libpurple/protocols/oscar/flap_connection.c libpurple/protocols/oscar/libaim.c libpurple/protocols/oscar/libicq.c libpurple/protocols/oscar/oscar.c libpurple/protocols/oscar/oscar.h libpurple/protocols/oscar/oscarcommon.h libpurple/protocols/qq/Makefile.mingw libpurple/protocols/qq/buddy_info.c libpurple/protocols/qq/buddy_list.c libpurple/protocols/qq/buddy_memo.c libpurple/protocols/qq/buddy_opt.c libpurple/protocols/qq/file_trans.c libpurple/protocols/qq/group.c libpurple/protocols/qq/group_im.c libpurple/protocols/qq/group_info.c libpurple/protocols/qq/group_internal.c libpurple/protocols/qq/group_join.c libpurple/protocols/qq/group_opt.c libpurple/protocols/qq/im.c libpurple/protocols/qq/qq.c libpurple/protocols/qq/qq_base.c libpurple/protocols/qq/qq_network.c libpurple/protocols/qq/qq_process.c libpurple/protocols/qq/qq_trans.c libpurple/protocols/qq/send_file.c libpurple/protocols/qq/utils.c libpurple/protocols/sametime/Makefile.mingw libpurple/protocols/sametime/sametime.c libpurple/protocols/silc/Makefile.mingw libpurple/protocols/silc/buddy.c libpurple/protocols/silc/chat.c libpurple/protocols/silc/ft.c libpurple/protocols/silc/ops.c libpurple/protocols/silc/pk.c libpurple/protocols/silc/silc.c libpurple/protocols/silc/util.c libpurple/protocols/silc/wb.c libpurple/protocols/silc10/Makefile.mingw libpurple/protocols/silc10/buddy.c libpurple/protocols/silc10/chat.c libpurple/protocols/silc10/ft.c libpurple/protocols/silc10/ops.c libpurple/protocols/silc10/silc.c libpurple/protocols/silc10/util.c libpurple/protocols/simple/Makefile.mingw libpurple/protocols/simple/simple.c libpurple/protocols/yahoo/Makefile.mingw libpurple/protocols/yahoo/libyahoo.c libpurple/protocols/yahoo/libymsg.c libpurple/protocols/yahoo/libymsg.h libpurple/protocols/yahoo/util.c libpurple/protocols/yahoo/yahoo_aliases.c libpurple/protocols/yahoo/yahoo_doodle.c libpurple/protocols/yahoo/yahoo_filexfer.c libpurple/protocols/yahoo/yahoo_filexfer.h libpurple/protocols/yahoo/yahoo_friend.c libpurple/protocols/yahoo/yahoo_friend.h libpurple/protocols/yahoo/yahoo_picture.c libpurple/protocols/yahoo/yahoo_profile.c libpurple/protocols/yahoo/yahoochat.c libpurple/protocols/yahoo/ycht.c libpurple/protocols/zephyr/zephyr.c libpurple/proxy.c libpurple/prpl.c libpurple/purple.h.in libpurple/savedstatuses.c libpurple/server.c libpurple/server.h libpurple/signals.c libpurple/signals.h libpurple/status.c libpurple/status.h libpurple/tests/check_libpurple.c libpurple/tests/test_cipher.c libpurple/tests/test_jabber_jutil.c libpurple/tests/test_yahoo_util.c libpurple/theme-loader.c libpurple/util.c libpurple/util.h libpurple/value.c libpurple/value.h libpurple/win32/global.mak pidgin/Makefile.am pidgin/Makefile.mingw pidgin/gtkaccount.c pidgin/gtkblist.c pidgin/gtkblist.h pidgin/gtkconn.c pidgin/gtkconv.c pidgin/gtkdialogs.c pidgin/gtkdocklet.c pidgin/gtkimhtml.c pidgin/gtklog.c pidgin/gtkmain.c pidgin/gtkmedia.c pidgin/gtknotify.c pidgin/gtkpounce.c pidgin/gtkprefs.c pidgin/gtkprivacy.c pidgin/gtkrequest.c pidgin/gtkroomlist.c pidgin/gtksound.c pidgin/gtkstatusbox.c pidgin/gtkutils.c pidgin/plugins/cap/cap.c pidgin/plugins/disco/gtkdisco.c pidgin/plugins/disco/gtkdisco.h pidgin/plugins/disco/xmppdisco.c pidgin/plugins/gevolution/gevo-util.c pidgin/plugins/gevolution/gevolution.c pidgin/plugins/gtk-signals-test.c pidgin/plugins/history.c pidgin/plugins/mailchk.c pidgin/plugins/perl/common/GtkBlist.xs pidgin/plugins/perl/common/Makefile.mingw pidgin/plugins/pidgininc.c pidgin/plugins/raw.c pidgin/plugins/relnot.c pidgin/plugins/themeedit-icon.c pidgin/plugins/themeedit.c pidgin/plugins/ticker/ticker.c pidgin/plugins/win32/winprefs/Makefile.mingw pidgin/plugins/xmppconsole.c pidgin/win32/nsis/pidgin-installer.nsi pidgin.desktop.in po/ChangeLog po/POTFILES.in po/ca.po po/de.po share/ca-certs/Makefile.am ChangeLog: explicit merge of '122c09fb418ceb629bb942da06d3a45a22f19680' and '80692b9f8d960702b4dd35cc5c315845a6d0a1ea' From qulogic at pidgin.im Wed Jun 9 01:27:01 2010 From: qulogic at pidgin.im (qulogic at pidgin.im) Date: Wed, 9 Jun 2010 01:27:01 -0400 (EDT) Subject: gobjectification: 22261b99: explicit merge of '024731c3cb9e8c0e0479d... Message-ID: <20100609052701.E3D955BD00DE@rock.pidgin.im> ----------------------------------------------------------------- Revision: 22261b99d2ad17ef170a39aa2726e47fd8d339cb Ancestor: 024731c3cb9e8c0e0479d91f68aeaf7fae9a978b Ancestor: e34c41c333f186f3a458ce5547ea3e68e318a014 Author: qulogic at pidgin.im Date: 2010-06-08T07:40:44 Branch: im.pidgin.gobjectification URL: http://d.pidgin.im/viewmtn/revision/info/22261b99d2ad17ef170a39aa2726e47fd8d339cb Added files: doc/hierarchy.dot libpurple/accountmanager.c libpurple/accountmanager.h libpurple/blist-node.c libpurple/blist-node.h libpurple/buddy.c libpurple/buddy.h libpurple/chat.c libpurple/chat.h libpurple/contact.c libpurple/contact.h libpurple/des3cipher.c libpurple/des3cipher.h libpurple/descipher.c libpurple/descipher.h libpurple/ghash.c libpurple/ghash.h libpurple/group.c libpurple/group.h libpurple/gsignal.c libpurple/gsignal.h libpurple/hash.c libpurple/hash.h libpurple/hmaccipher.c libpurple/hmaccipher.h libpurple/md4hash.c libpurple/md4hash.h libpurple/md5cipher.c libpurple/md5cipher.h libpurple/plugins/perl/common/Hash.xs libpurple/pobject.c libpurple/pobject.h libpurple/rc4cipher.c libpurple/rc4cipher.h libpurple/sha1cipher.c libpurple/sha1cipher.h libpurple/sha256cipher.c libpurple/sha256cipher.h Modified files: COPYRIGHT ChangeLog ChangeLog.API acinclude.m4 configure.ac doc/blist-signals.dox doc/connection-signals.dox doc/conversation-signals.dox doc/gtkimhtml-signals.dox finch/finch.c finch/finch.h finch/gntaccount.c finch/gntblist.c finch/gntconn.c finch/gntconv.c finch/gntlog.c finch/gntpounce.c finch/gntrequest.c finch/gntsound.c finch/gntui.c finch/plugins/gnthistory.c finch/plugins/grouping.c libpurple/Makefile.am libpurple/Makefile.mingw libpurple/account.c libpurple/account.h libpurple/blist.c libpurple/blist.h libpurple/buddyicon.c libpurple/cipher.c libpurple/cipher.h libpurple/connection.c libpurple/connection.h libpurple/conversation.c libpurple/conversation.h libpurple/core.c libpurple/dbus-analyze-functions.py libpurple/dbus-define-api.h libpurple/dbus-server.c libpurple/dbus-useful.c libpurple/dbus-useful.h libpurple/example/nullclient.c libpurple/idle.c libpurple/internal.h libpurple/log.c libpurple/marshallers.list libpurple/network.c libpurple/network.h libpurple/ntlm.c libpurple/plugins/Makefile.am libpurple/plugins/autoaccept.c libpurple/plugins/ciphertest.c libpurple/plugins/filectl.c libpurple/plugins/idle.c libpurple/plugins/log_reader.c libpurple/plugins/one_time_password.c libpurple/plugins/perl/common/Account.xs libpurple/plugins/perl/common/BuddyList.xs libpurple/plugins/perl/common/Cipher.xs libpurple/plugins/perl/common/Connection.xs libpurple/plugins/perl/common/MANIFEST libpurple/plugins/perl/common/Makefile.mingw libpurple/plugins/perl/common/Prpl.xs libpurple/plugins/perl/common/Status.xs libpurple/plugins/perl/common/Util.xs libpurple/plugins/perl/common/module.h libpurple/plugins/perl/common/typemap libpurple/plugins/signals-test.c libpurple/plugins/tcl/tcl_cmds.c libpurple/plugins/tcl/tcl_signals.c libpurple/pounce.c libpurple/protocols/bonjour/Makefile.mingw libpurple/protocols/bonjour/bonjour.c libpurple/protocols/bonjour/bonjour_ft.c libpurple/protocols/bonjour/buddy.c libpurple/protocols/bonjour/jabber.c libpurple/protocols/bonjour/mdns_avahi.c libpurple/protocols/bonjour/mdns_win32.c libpurple/protocols/gg/Makefile.mingw libpurple/protocols/gg/buddylist.c libpurple/protocols/gg/confer.c libpurple/protocols/gg/gg.c libpurple/protocols/gg/search.c libpurple/protocols/irc/Makefile.mingw libpurple/protocols/irc/cmds.c libpurple/protocols/irc/dcc_send.c libpurple/protocols/irc/irc.c libpurple/protocols/irc/msgs.c libpurple/protocols/irc/parse.c libpurple/protocols/jabber/adhoccommands.c libpurple/protocols/jabber/auth.c libpurple/protocols/jabber/auth_scram.c libpurple/protocols/jabber/bosh.c libpurple/protocols/jabber/bosh.h libpurple/protocols/jabber/buddy.c libpurple/protocols/jabber/caps.c libpurple/protocols/jabber/caps.h libpurple/protocols/jabber/chat.c libpurple/protocols/jabber/disco.c libpurple/protocols/jabber/google.c libpurple/protocols/jabber/jabber.c libpurple/protocols/jabber/jabber.h libpurple/protocols/jabber/jutil.c libpurple/protocols/jabber/message.c libpurple/protocols/jabber/oob.c libpurple/protocols/jabber/presence.c libpurple/protocols/jabber/roster.c libpurple/protocols/jabber/si.c libpurple/protocols/jabber/usermood.c libpurple/protocols/jabber/usernick.c libpurple/protocols/jabber/usertune.c libpurple/protocols/msn/Makefile.mingw libpurple/protocols/msn/contact.c libpurple/protocols/msn/dialog.c libpurple/protocols/msn/error.c libpurple/protocols/msn/httpconn.c libpurple/protocols/msn/msg.c libpurple/protocols/msn/msn.c libpurple/protocols/msn/msn.h libpurple/protocols/msn/msnutils.c libpurple/protocols/msn/nexus.c libpurple/protocols/msn/notification.c libpurple/protocols/msn/object.c libpurple/protocols/msn/oim.c libpurple/protocols/msn/servconn.c libpurple/protocols/msn/session.c libpurple/protocols/msn/slp.c libpurple/protocols/msn/slplink.c libpurple/protocols/msn/slplink.h libpurple/protocols/msn/switchboard.c libpurple/protocols/msn/sync.c libpurple/protocols/msn/user.c libpurple/protocols/msn/userlist.c libpurple/protocols/myspace/Makefile.mingw libpurple/protocols/myspace/myspace.c libpurple/protocols/myspace/myspace.h libpurple/protocols/myspace/user.c libpurple/protocols/myspace/zap.c libpurple/protocols/novell/Makefile.mingw libpurple/protocols/novell/novell.c libpurple/protocols/null/Makefile.mingw libpurple/protocols/null/nullprpl.c libpurple/protocols/oscar/Makefile.mingw libpurple/protocols/oscar/clientlogin.c libpurple/protocols/oscar/family_auth.c libpurple/protocols/oscar/family_icbm.c libpurple/protocols/oscar/family_oservice.c libpurple/protocols/oscar/flap_connection.c libpurple/protocols/oscar/oscar.c libpurple/protocols/oscar/oscar.h libpurple/protocols/qq/Makefile.mingw libpurple/protocols/qq/buddy_info.c libpurple/protocols/qq/buddy_list.c libpurple/protocols/qq/buddy_memo.c libpurple/protocols/qq/buddy_opt.c libpurple/protocols/qq/file_trans.c libpurple/protocols/qq/group.c libpurple/protocols/qq/group_im.c libpurple/protocols/qq/group_info.c libpurple/protocols/qq/group_internal.c libpurple/protocols/qq/group_join.c libpurple/protocols/qq/group_opt.c libpurple/protocols/qq/im.c libpurple/protocols/qq/qq.c libpurple/protocols/qq/qq_base.c libpurple/protocols/qq/qq_network.c libpurple/protocols/qq/qq_process.c libpurple/protocols/qq/qq_trans.c libpurple/protocols/qq/send_file.c libpurple/protocols/qq/utils.c libpurple/protocols/sametime/Makefile.mingw libpurple/protocols/sametime/sametime.c libpurple/protocols/silc/Makefile.mingw libpurple/protocols/silc/buddy.c libpurple/protocols/silc/chat.c libpurple/protocols/silc/ft.c libpurple/protocols/silc/ops.c libpurple/protocols/silc/pk.c libpurple/protocols/silc/silc.c libpurple/protocols/silc/util.c libpurple/protocols/silc/wb.c libpurple/protocols/silc10/buddy.c libpurple/protocols/silc10/chat.c libpurple/protocols/silc10/ft.c libpurple/protocols/silc10/ops.c libpurple/protocols/silc10/silc.c libpurple/protocols/silc10/util.c libpurple/protocols/simple/Makefile.mingw libpurple/protocols/simple/simple.c libpurple/protocols/yahoo/Makefile.mingw libpurple/protocols/yahoo/libymsg.c libpurple/protocols/yahoo/util.c libpurple/protocols/yahoo/yahoo_aliases.c libpurple/protocols/yahoo/yahoo_doodle.c libpurple/protocols/yahoo/yahoo_filexfer.c libpurple/protocols/yahoo/yahoo_friend.c libpurple/protocols/yahoo/yahoo_picture.c libpurple/protocols/yahoo/yahoo_profile.c libpurple/protocols/yahoo/yahoochat.c libpurple/protocols/yahoo/ycht.c libpurple/protocols/zephyr/zephyr.c libpurple/proxy.c libpurple/prpl.c libpurple/purple.h.in libpurple/savedstatuses.c libpurple/server.c libpurple/server.h libpurple/signals.c libpurple/signals.h libpurple/status.c libpurple/status.h libpurple/tests/check_libpurple.c libpurple/tests/test_cipher.c libpurple/util.c libpurple/util.h libpurple/value.c libpurple/value.h libpurple/win32/global.mak pidgin/Makefile.am pidgin/gtkaccount.c pidgin/gtkblist.c pidgin/gtkblist.h pidgin/gtkconn.c pidgin/gtkconv.c pidgin/gtkdialogs.c pidgin/gtkdocklet.c pidgin/gtkimhtml.c pidgin/gtklog.c pidgin/gtkmain.c pidgin/gtknotify.c pidgin/gtkpounce.c pidgin/gtkprefs.c pidgin/gtkprivacy.c pidgin/gtkroomlist.c pidgin/gtksound.c pidgin/gtkstatusbox.c pidgin/gtkutils.c pidgin/plugins/cap/cap.c pidgin/plugins/disco/xmppdisco.c pidgin/plugins/gevolution/gevolution.c pidgin/plugins/gtk-signals-test.c pidgin/plugins/history.c pidgin/plugins/mailchk.c pidgin/plugins/perl/common/GtkBlist.xs pidgin/plugins/pidgininc.c pidgin/plugins/raw.c pidgin/plugins/relnot.c pidgin/plugins/themeedit-icon.c pidgin/plugins/themeedit.c pidgin/plugins/ticker/gtkticker.c pidgin/plugins/ticker/ticker.c pidgin/plugins/timestamp_format.c pidgin/plugins/xmppconsole.c po/POTFILES.in po/ca.po ChangeLog: explicit merge of '024731c3cb9e8c0e0479d91f68aeaf7fae9a978b' and 'e34c41c333f186f3a458ce5547ea3e68e318a014' From qulogic at pidgin.im Wed Jun 9 01:27:03 2010 From: qulogic at pidgin.im (qulogic at pidgin.im) Date: Wed, 9 Jun 2010 01:27:03 -0400 (EDT) Subject: cpw.qulogic.gtk3: 2467f64b: With 2.7.0, we don't need these GTK_CHEC... Message-ID: <20100609052703.ADCCA5BD00DE@rock.pidgin.im> ----------------------------------------------------------------- Revision: 2467f64b9a1f8eefa825f2a81646d45aa59ff942 Ancestor: 0161ccb7481e21a3f58e8b6b0b6c1cdd69594120 Author: qulogic at pidgin.im Date: 2010-06-05T22:30:51 Branch: im.pidgin.cpw.qulogic.gtk3 URL: http://d.pidgin.im/viewmtn/revision/info/2467f64b9a1f8eefa825f2a81646d45aa59ff942 Modified files: pidgin/gtkprefs.c ChangeLog: With 2.7.0, we don't need these GTK_CHECK_VERSION's any more. -------------- next part -------------- ============================================================ --- pidgin/gtkprefs.c 4d4b4b3bfe0002a704ad15f83d07f17a06a7f216 +++ pidgin/gtkprefs.c 7e69cdc63c98884f05707705ca0cd6e8770eae0c @@ -196,13 +196,12 @@ dropdown_set(GObject *w, const char *key int int_value; gboolean bool_value; PurplePrefType type; - -#if GTK_CHECK_VERSION(2,4,0) GtkTreeIter iter; GtkTreeModel *tree_model; tree_model = gtk_combo_box_get_model(GTK_COMBO_BOX(w)); - gtk_combo_box_get_active_iter(GTK_COMBO_BOX(w), &iter); + if (!gtk_combo_box_get_active_iter(GTK_COMBO_BOX(w), &iter)) + return; type = GPOINTER_TO_INT(g_object_get_data(w, "type")); @@ -227,24 +226,6 @@ dropdown_set(GObject *w, const char *key purple_prefs_set_bool(key, bool_value); } -#else - type = GPOINTER_TO_INT(g_object_get_data(w, "type")); - - if (type == PURPLE_PREF_INT) { - int_value = GPOINTER_TO_INT(g_object_get_data(w, "value")); - - purple_prefs_set_int(key, int_value); - } - else if (type == PURPLE_PREF_STRING) { - str_value = (const char *)g_object_get_data(w, "value"); - - purple_prefs_set_string(key, str_value); - } - else if (type == PURPLE_PREF_BOOLEAN) { - bool_value = (gboolean)GPOINTER_TO_INT(g_object_get_data(w, "value")); - purple_prefs_set_bool(key, bool_value); - } -#endif } GtkWidget * @@ -260,7 +241,6 @@ pidgin_prefs_dropdown_from_list(GtkWidge int int_value = 0; const char *str_value = NULL; gboolean bool_value = FALSE; -#if GTK_CHECK_VERSION(2,4,0) GtkListStore *store; GtkTreeIter iter; GtkTreeIter active; @@ -333,62 +313,6 @@ pidgin_prefs_dropdown_from_list(GtkWidge g_signal_connect(G_OBJECT(dropdown), "changed", G_CALLBACK(dropdown_set), (char *)key); -#else - GtkWidget *opt, *menu; - int o = 0; - - g_return_val_if_fail(menuitems != NULL, NULL); - - dropdown = gtk_option_menu_new(); - menu = gtk_menu_new(); - - if (type == PURPLE_PREF_INT) - stored_int = purple_prefs_get_int(key); - else if (type == PURPLE_PREF_STRING) - stored_str = purple_prefs_get_string(key); - else if (type == PURPLE_PREF_BOOLEAN) - stored_bool = purple_prefs_get_bool(key); - - while (menuitems != NULL && (text = (char *)menuitems->data) != NULL) { - menuitems = g_list_next(menuitems); - g_return_val_if_fail(menuitems != NULL, NULL); - - opt = gtk_menu_item_new_with_label(text); - - g_object_set_data(G_OBJECT(opt), "type", GINT_TO_POINTER(type)); - g_object_set_data(G_OBJECT(opt), "value", menuitems->data); - - if (type == PURPLE_PREF_INT) - int_value = GPOINTER_TO_INT(menuitems->data); - else if (type == PURPLE_PREF_STRING) - str_value = (const char *)menuitems->data; - else if (type == PURPLE_PREF_BOOLEAN) - bool_value = (gboolean)GPOINTER_TO_INT(menuitems->data); - - g_signal_connect(G_OBJECT(opt), "activate", - G_CALLBACK(dropdown_set), (char *)key); - - gtk_widget_show(opt); - gtk_menu_shell_append(GTK_MENU_SHELL(menu), opt); - - if ((type == PURPLE_PREF_INT && stored_int == int_value) || - (type == PURPLE_PREF_STRING && stored_str != NULL && - !strcmp(stored_str, str_value)) || - (type == PURPLE_PREF_BOOLEAN && - (stored_bool == bool_value))) { - - gtk_menu_set_active(GTK_MENU(menu), o); - } - - menuitems = g_list_next(menuitems); - - o++; - } - - gtk_option_menu_set_menu(GTK_OPTION_MENU(dropdown), menu); - -#endif - pidgin_add_widget_to_vbox(GTK_BOX(box), title, NULL, dropdown, FALSE, &label); return label; From qulogic at pidgin.im Wed Jun 9 01:27:04 2010 From: qulogic at pidgin.im (qulogic at pidgin.im) Date: Wed, 9 Jun 2010 01:27:04 -0400 (EDT) Subject: gobjectification: 2931c8b8: Not-yet-complete compile of Pidgin. Message-ID: <20100609052704.CE4985BD00EB@rock.pidgin.im> ----------------------------------------------------------------- Revision: 2931c8b8e1a900b7964d6fe88a458e120b423ca9 Ancestor: b1644c83a3106c43f068d68e392c2ff06e8f9e25 Author: qulogic at pidgin.im Date: 2010-06-09T05:09:01 Branch: im.pidgin.gobjectification URL: http://d.pidgin.im/viewmtn/revision/info/2931c8b8e1a900b7964d6fe88a458e120b423ca9 Modified files: pidgin/gtkblist.c pidgin/gtkconv.c pidgin/gtkdialogs.c pidgin/gtknotify.c pidgin/gtkprefs.c ChangeLog: Not-yet-complete compile of Pidgin. -------------- next part -------------- ============================================================ --- pidgin/gtkblist.c 0467cc75f2f00b323ebc1a07a4cfd773b2f2b511 +++ pidgin/gtkblist.c 8ae72819ca6e194808ebe08d94f040813b83bdf9 @@ -132,25 +132,25 @@ static struct pidgin_blist_sort_method * static GList *pidgin_blist_sort_methods = NULL; static struct pidgin_blist_sort_method *current_sort_method = NULL; -static void sort_method_none(PurpleBlistNode *node, PurpleBuddyList *blist, GtkTreeIter groupiter, GtkTreeIter *cur, GtkTreeIter *iter); +static void sort_method_none(PurpleBlistNode *node, GtkTreeIter groupiter, GtkTreeIter *cur, GtkTreeIter *iter); -static void sort_method_alphabetical(PurpleBlistNode *node, PurpleBuddyList *blist, GtkTreeIter groupiter, GtkTreeIter *cur, GtkTreeIter *iter); -static void sort_method_status(PurpleBlistNode *node, PurpleBuddyList *blist, GtkTreeIter groupiter, GtkTreeIter *cur, GtkTreeIter *iter); -static void sort_method_log_activity(PurpleBlistNode *node, PurpleBuddyList *blist, GtkTreeIter groupiter, GtkTreeIter *cur, GtkTreeIter *iter); +static void sort_method_alphabetical(PurpleBlistNode *node, GtkTreeIter groupiter, GtkTreeIter *cur, GtkTreeIter *iter); +static void sort_method_status(PurpleBlistNode *node, GtkTreeIter groupiter, GtkTreeIter *cur, GtkTreeIter *iter); +static void sort_method_log_activity(PurpleBlistNode *node, GtkTreeIter groupiter, GtkTreeIter *cur, GtkTreeIter *iter); static PidginBuddyList *gtkblist = NULL; static GList *groups_tree(void); -static gboolean pidgin_blist_refresh_timer(PurpleBuddyList *list); -static void pidgin_blist_update_buddy(PurpleBuddyList *list, PurpleBlistNode *node, gboolean status_change); +static gboolean pidgin_blist_refresh_timer(void); +static void pidgin_blist_update_buddy(PurpleBlistNode *node, gboolean status_change); static void pidgin_blist_selection_changed(GtkTreeSelection *selection, gpointer data); -static void pidgin_blist_update(PurpleBuddyList *list, PurpleBlistNode *node); -static void pidgin_blist_update_group(PurpleBuddyList *list, PurpleBlistNode *node); -static void pidgin_blist_update_contact(PurpleBuddyList *list, PurpleBlistNode *node); +static void pidgin_blist_update(PurpleBlistNode *node); +static void pidgin_blist_update_group(PurpleBlistNode *node); +static void pidgin_blist_update_contact(PurpleBlistNode *node); static char *pidgin_get_tooltip_text(PurpleBlistNode *node, gboolean full); static const char *item_factory_translate_func (const char *path, gpointer func_data); static gboolean get_iter_from_node(PurpleBlistNode *node, GtkTreeIter *iter); static gboolean buddy_is_displayable(PurpleBuddy *buddy); -static void redo_buddy_list(PurpleBuddyList *list, gboolean remove, gboolean rerender); +static void redo_buddy_list(gboolean remove, gboolean rerender); static void pidgin_blist_collapse_contact_cb(GtkWidget *w, PurpleBlistNode *node); static char *pidgin_get_group_title(PurpleBlistNode *gnode, gboolean expanded); static void pidgin_blist_expand_contact_cb(GtkWidget *w, PurpleBlistNode *node); ============================================================ --- pidgin/gtkconv.c de1ca1fb8e059629fbed67ad1457278278c6a2cc +++ pidgin/gtkconv.c 305f5dd2a86bd7a23fe213b945b29043b93cdd05 @@ -2513,7 +2513,7 @@ pidgin_conv_get_icon(PurpleConversation * displays in the conv tab even though it shouldn't. * A better solution would be great. */ if (ops && ops->update) - ops->update(NULL, (PurpleBlistNode*)b); + ops->update((PurpleBlistNode*)b); } } @@ -4463,7 +4463,7 @@ blist_node_aliased_cb(PurpleBlistNode *n else if (PURPLE_IS_BUDDY(node)) update_chat_alias((PurpleBuddy *)node, conv, gc, prpl_info); else if (PURPLE_IS_CHAT(node) && - purple_conversation_get_account(conv) == ((PurpleChat*)node)->account) + purple_conversation_get_account(conv) == purple_chat_get_account((PurpleChat*)node)) { if (old_alias == NULL || g_utf8_collate(old_alias, purple_conversation_get_title(conv)) == 0) pidgin_conv_update_fields(conv, PIDGIN_CONV_SET_TITLE); @@ -7567,7 +7567,7 @@ account_signed_off_cb(PurpleConnection * if (PURPLE_PLUGIN_PROTOCOL_INFO(purple_connection_get_prpl(gc))->chat_info_defaults != NULL) comps = PURPLE_PLUGIN_PROTOCOL_INFO(purple_connection_get_prpl(gc))->chat_info_defaults(gc, conv->name); } else { - comps = chat->components; + comps = purple_chat_get_components(chat); } serv_join_chat(gc, comps); if (chat == NULL && comps != NULL) @@ -8107,7 +8107,7 @@ pidgin_conversations_init(void) purple_signal_connect(NULL, "signed-off", handle, G_CALLBACK(account_signed_off_cb), GINT_TO_POINTER(PURPLE_CONV_ACCOUNT_OFFLINE)); - purple_signal_connect(purple_connections_get_handle(), "signing-off", handle, + purple_signal_connect(NULL, "signing-off", handle, G_CALLBACK(account_signing_off), NULL); purple_signal_connect(purple_conversations_get_handle(), "received-im-msg", ============================================================ --- pidgin/gtkdialogs.c f75317d94ee36e1544947cae19b64f739c502779 +++ pidgin/gtkdialogs.c 70375ca910d1fc2ca596228a3bda915a4026de2f @@ -1120,10 +1120,10 @@ pidgin_dialogs_alias_chat(PurpleChat *ch purple_request_input(NULL, _("Alias Chat"), NULL, _("Enter an alias for this chat."), - chat->alias, FALSE, FALSE, NULL, + purple_chat_get_alias(chat), FALSE, FALSE, NULL, _("Alias"), G_CALLBACK(pidgin_dialogs_alias_chat_cb), _("Cancel"), NULL, - chat->account, NULL, NULL, + purple_chat_get_account(chat), NULL, NULL, chat); } @@ -1140,7 +1140,7 @@ pidgin_dialogs_remove_contact_cb(PurpleC if (purple_account_is_connected(purple_buddy_get_account(buddy))) purple_account_remove_buddy(purple_buddy_get_account(buddy), buddy, group); } - purple_blist_remove_contact(contact); + purple_blist_node_remove(PURPLE_BLIST_NODE(contact)); } void @@ -1201,7 +1201,8 @@ pidgin_dialogs_merge_groups(PurpleGroup text = g_strdup_printf( _("You are about to merge the group called %s into the group " - "called %s. Do you want to continue?"), source->name, new_name); + "called %s. Do you want to continue?"), + purple_group_get_name(source), new_name); ggp = g_new(struct _PidginGroupMergeObject, 1); ggp->parent = source; @@ -1234,7 +1235,7 @@ pidgin_dialogs_remove_group_cb(PurpleGro bnode = bnode->next; if (purple_account_is_connected(purple_buddy_get_account(buddy))) { purple_account_remove_buddy(purple_buddy_get_account(buddy), buddy, group); - purple_blist_remove_buddy(buddy); + purple_blist_node_remove(PURPLE_BLIST_NODE(buddy)); } } else { bnode = bnode->next; @@ -1243,14 +1244,14 @@ pidgin_dialogs_remove_group_cb(PurpleGro } else if (PURPLE_IS_CHAT(cnode)) { PurpleChat *chat = (PurpleChat *)cnode; cnode = cnode->next; - if (purple_account_is_connected(chat->account)) - purple_blist_remove_chat(chat); + if (purple_account_is_connected(purple_chat_get_account(chat))) + purple_blist_node_remove(PURPLE_BLIST_NODE(chat)); } else { cnode = cnode->next; } } - purple_blist_remove_group(group); + purple_blist_node_remove(PURPLE_BLIST_NODE(group)); } void @@ -1261,7 +1262,7 @@ pidgin_dialogs_remove_group(PurpleGroup g_return_if_fail(group != NULL); text = g_strdup_printf(_("You are about to remove the group %s and all its members from your buddy list. Do you want to continue?"), - group->name); + purple_group_get_name(group)); purple_request_action(group, NULL, _("Remove Group"), text, 0, NULL, NULL, NULL, @@ -1287,7 +1288,7 @@ pidgin_dialogs_remove_buddy_cb(PurpleBud purple_debug_info("blist", "Removing '%s' from buddy list.\n", purple_buddy_get_name(buddy)); /* TODO - Should remove from blist first... then call purple_account_remove_buddy()? */ purple_account_remove_buddy(purple_buddy_get_account(buddy), buddy, group); - purple_blist_remove_buddy(buddy); + purple_blist_node_remove(PURPLE_BLIST_NODE(buddy)); g_free(name); } @@ -1314,7 +1315,7 @@ pidgin_dialogs_remove_chat_cb(PurpleChat static void pidgin_dialogs_remove_chat_cb(PurpleChat *chat) { - purple_blist_remove_chat(chat); + purple_blist_node_remove(PURPLE_BLIST_NODE(chat)); } void @@ -1330,7 +1331,7 @@ pidgin_dialogs_remove_chat(PurpleChat *c name ? name : ""); purple_request_action(chat, NULL, _("Remove Chat"), text, 0, - chat->account, NULL, NULL, + purple_chat_get_account(chat), NULL, NULL, chat, 2, _("_Remove Chat"), G_CALLBACK(pidgin_dialogs_remove_chat_cb), _("Cancel"), NULL); ============================================================ --- pidgin/gtknotify.c 99a0b455a573f0477a65f27d37e80d6bf589390b +++ pidgin/gtknotify.c 765b55254fc2e3b0096c1ed57179dc738108fbfb @@ -1658,7 +1658,7 @@ void pidgin_notify_init(void) { void *handle = pidgin_notify_get_handle(); - purple_signal_connect(purple_connections_get_handle(), "signed-off", + purple_signal_connect(NULL, "signed-off", handle, PURPLE_CALLBACK(signed_off_cb), NULL); } ============================================================ --- pidgin/gtkprefs.c f99c27e6c464aaa60b4142fa4b450bf22510bc9b +++ pidgin/gtkprefs.c 755c44c2507f39e0666eeafa6b362c44a09cb4b6 @@ -1037,7 +1037,7 @@ prefs_set_status_icon_theme_cb(GtkComboB g_free(name); pidgin_stock_load_status_icon_theme(theme); - pidgin_blist_refresh(purple_get_blist()); + pidgin_blist_refresh(); } } From qulogic at pidgin.im Wed Jun 9 01:27:10 2010 From: qulogic at pidgin.im (qulogic at pidgin.im) Date: Wed, 9 Jun 2010 01:27:10 -0400 (EDT) Subject: gobjectification: 2d14f623: explicit merge of '95ba441d77fc560a693ae... Message-ID: <20100609052712.501F25BD00E4@rock.pidgin.im> ----------------------------------------------------------------- Revision: 2d14f6232a78e4d9c9e9470170a3e4c80947299b Ancestor: 6597c8683801d91dc7d74e7956e42030fde55e84 Ancestor: 95ba441d77fc560a693ae0aae28b37402bc5ec2f Author: qulogic at pidgin.im Date: 2010-06-08T06:59:56 Branch: im.pidgin.gobjectification URL: http://d.pidgin.im/viewmtn/revision/info/2d14f6232a78e4d9c9e9470170a3e4c80947299b Added files: doc/hierarchy.dot libpurple/accountmanager.c libpurple/accountmanager.h libpurple/blist-node.c libpurple/blist-node.h libpurple/buddy.c libpurple/buddy.h libpurple/chat.c libpurple/chat.h libpurple/contact.c libpurple/contact.h libpurple/des3cipher.c libpurple/des3cipher.h libpurple/descipher.c libpurple/descipher.h libpurple/ghash.c libpurple/ghash.h libpurple/group.c libpurple/group.h libpurple/gsignal.c libpurple/gsignal.h libpurple/hash.c libpurple/hash.h libpurple/hmaccipher.c libpurple/hmaccipher.h libpurple/md4hash.c libpurple/md4hash.h libpurple/md5cipher.c libpurple/md5cipher.h libpurple/plugins/perl/common/Hash.xs libpurple/pobject.c libpurple/pobject.h libpurple/rc4cipher.c libpurple/rc4cipher.h libpurple/sha1cipher.c libpurple/sha1cipher.h libpurple/sha256cipher.c libpurple/sha256cipher.h Modified files: COPYRIGHT ChangeLog Makefile.am acinclude.m4 configure.ac finch/finch.c finch/finch.h finch/gntaccount.c finch/gntblist.c finch/gntconn.c finch/gntconv.c finch/gntlog.c finch/gntpounce.c finch/gntrequest.c finch/gntsound.c finch/gntui.c finch/plugins/gnthistory.c finch/plugins/grouping.c libpurple/Makefile.am libpurple/Makefile.mingw libpurple/account.c libpurple/account.h libpurple/blist.c libpurple/blist.h libpurple/buddyicon.c libpurple/cipher.c libpurple/cipher.h libpurple/connection.c libpurple/connection.h libpurple/conversation.c libpurple/conversation.h libpurple/core.c libpurple/dbus-analyze-functions.py libpurple/dbus-define-api.h libpurple/dbus-server.c libpurple/dbus-useful.c libpurple/dbus-useful.h libpurple/example/nullclient.c libpurple/gconf/Makefile.am libpurple/idle.c libpurple/internal.h libpurple/log.c libpurple/marshallers.list libpurple/network.c libpurple/ntlm.c libpurple/plugins/Makefile.am libpurple/plugins/autoaccept.c libpurple/plugins/ciphertest.c libpurple/plugins/filectl.c libpurple/plugins/idle.c libpurple/plugins/log_reader.c libpurple/plugins/one_time_password.c libpurple/plugins/perl/common/Account.xs libpurple/plugins/perl/common/BuddyList.xs libpurple/plugins/perl/common/Cipher.xs libpurple/plugins/perl/common/Connection.xs libpurple/plugins/perl/common/MANIFEST libpurple/plugins/perl/common/Makefile.mingw libpurple/plugins/perl/common/Prpl.xs libpurple/plugins/perl/common/Status.xs libpurple/plugins/perl/common/Util.xs libpurple/plugins/perl/common/module.h libpurple/plugins/perl/common/typemap libpurple/plugins/signals-test.c libpurple/plugins/tcl/tcl_cmds.c libpurple/plugins/tcl/tcl_signals.c libpurple/pounce.c libpurple/protocols/bonjour/Makefile.mingw libpurple/protocols/bonjour/bonjour.c libpurple/protocols/bonjour/bonjour_ft.c libpurple/protocols/bonjour/buddy.c libpurple/protocols/bonjour/jabber.c libpurple/protocols/bonjour/mdns_avahi.c libpurple/protocols/bonjour/mdns_win32.c libpurple/protocols/gg/Makefile.mingw libpurple/protocols/gg/buddylist.c libpurple/protocols/gg/confer.c libpurple/protocols/gg/gg.c libpurple/protocols/gg/search.c libpurple/protocols/irc/Makefile.mingw libpurple/protocols/irc/cmds.c libpurple/protocols/irc/dcc_send.c libpurple/protocols/irc/irc.c libpurple/protocols/irc/msgs.c libpurple/protocols/irc/parse.c libpurple/protocols/jabber/adhoccommands.c libpurple/protocols/jabber/auth.c libpurple/protocols/jabber/buddy.c libpurple/protocols/jabber/caps.c libpurple/protocols/jabber/caps.h libpurple/protocols/jabber/chat.c libpurple/protocols/jabber/data.c libpurple/protocols/jabber/data.h libpurple/protocols/jabber/disco.c libpurple/protocols/jabber/google.c libpurple/protocols/jabber/ibb.c libpurple/protocols/jabber/ibb.h libpurple/protocols/jabber/jabber.c libpurple/protocols/jabber/jutil.c libpurple/protocols/jabber/message.c libpurple/protocols/jabber/oob.c libpurple/protocols/jabber/presence.c libpurple/protocols/jabber/roster.c libpurple/protocols/jabber/si.c libpurple/protocols/jabber/usermood.c libpurple/protocols/jabber/usernick.c libpurple/protocols/jabber/usertune.c libpurple/protocols/msn/Makefile.mingw libpurple/protocols/msn/contact.c libpurple/protocols/msn/dialog.c libpurple/protocols/msn/error.c libpurple/protocols/msn/httpconn.c libpurple/protocols/msn/msg.c libpurple/protocols/msn/msn.c libpurple/protocols/msn/msn.h libpurple/protocols/msn/msnutils.c libpurple/protocols/msn/nexus.c libpurple/protocols/msn/notification.c libpurple/protocols/msn/object.c libpurple/protocols/msn/oim.c libpurple/protocols/msn/servconn.c libpurple/protocols/msn/session.c libpurple/protocols/msn/slp.c libpurple/protocols/msn/switchboard.c libpurple/protocols/msn/sync.c libpurple/protocols/msn/user.c libpurple/protocols/msn/userlist.c libpurple/protocols/myspace/Makefile.mingw libpurple/protocols/myspace/myspace.c libpurple/protocols/myspace/myspace.h libpurple/protocols/myspace/user.c libpurple/protocols/myspace/zap.c libpurple/protocols/novell/Makefile.mingw libpurple/protocols/novell/novell.c libpurple/protocols/null/Makefile.mingw libpurple/protocols/null/nullprpl.c libpurple/protocols/oscar/Makefile.mingw libpurple/protocols/oscar/clientlogin.c libpurple/protocols/oscar/family_auth.c libpurple/protocols/oscar/family_locate.c libpurple/protocols/oscar/family_oservice.c libpurple/protocols/oscar/flap_connection.c libpurple/protocols/oscar/msgcookie.c libpurple/protocols/oscar/oscar.c libpurple/protocols/oscar/oscar.h libpurple/protocols/oscar/peer.c libpurple/protocols/oscar/peer.h libpurple/protocols/oscar/tlv.c libpurple/protocols/qq/Makefile.mingw libpurple/protocols/qq/buddy_info.c libpurple/protocols/qq/buddy_list.c libpurple/protocols/qq/buddy_memo.c libpurple/protocols/qq/buddy_opt.c libpurple/protocols/qq/file_trans.c libpurple/protocols/qq/group.c libpurple/protocols/qq/group_im.c libpurple/protocols/qq/group_info.c libpurple/protocols/qq/group_internal.c libpurple/protocols/qq/group_join.c libpurple/protocols/qq/group_opt.c libpurple/protocols/qq/im.c libpurple/protocols/qq/qq.c libpurple/protocols/qq/qq_base.c libpurple/protocols/qq/qq_network.c libpurple/protocols/qq/qq_process.c libpurple/protocols/qq/qq_trans.c libpurple/protocols/qq/send_file.c libpurple/protocols/qq/utils.c libpurple/protocols/sametime/Makefile.mingw libpurple/protocols/sametime/sametime.c libpurple/protocols/silc/Makefile.mingw libpurple/protocols/silc/buddy.c libpurple/protocols/silc/chat.c libpurple/protocols/silc/ft.c libpurple/protocols/silc/ops.c libpurple/protocols/silc/pk.c libpurple/protocols/silc/silc.c libpurple/protocols/silc/util.c libpurple/protocols/silc/wb.c libpurple/protocols/silc10/buddy.c libpurple/protocols/silc10/chat.c libpurple/protocols/silc10/ft.c libpurple/protocols/silc10/ops.c libpurple/protocols/silc10/silc.c libpurple/protocols/silc10/util.c libpurple/protocols/simple/Makefile.mingw libpurple/protocols/simple/simple.c libpurple/protocols/yahoo/Makefile.mingw libpurple/protocols/yahoo/libymsg.c libpurple/protocols/yahoo/util.c libpurple/protocols/yahoo/yahoo_aliases.c libpurple/protocols/yahoo/yahoo_doodle.c libpurple/protocols/yahoo/yahoo_filexfer.c libpurple/protocols/yahoo/yahoo_friend.c libpurple/protocols/yahoo/yahoo_picture.c libpurple/protocols/yahoo/yahoo_profile.c libpurple/protocols/yahoo/yahoochat.c libpurple/protocols/yahoo/ycht.c libpurple/protocols/zephyr/zephyr.c libpurple/proxy.c libpurple/prpl.c libpurple/purple.h.in libpurple/savedstatuses.c libpurple/server.c libpurple/server.h libpurple/signals.c libpurple/signals.h libpurple/status.c libpurple/status.h libpurple/tests/check_libpurple.c libpurple/tests/test_cipher.c libpurple/util.c libpurple/util.h libpurple/value.c libpurple/value.h libpurple/win32/global.mak pidgin/Makefile.am pidgin/gtkaccount.c pidgin/gtkblist.c pidgin/gtkblist.h pidgin/gtkconn.c pidgin/gtkconv.c pidgin/gtkdialogs.c pidgin/gtkdocklet.c pidgin/gtkimhtml.c pidgin/gtklog.c pidgin/gtkmain.c pidgin/gtknotify.c pidgin/gtkpounce.c pidgin/gtkprefs.c pidgin/gtkprivacy.c pidgin/gtkroomlist.c pidgin/gtksound.c pidgin/gtkstatusbox.c pidgin/gtkutils.c pidgin/gtkutils.h pidgin/plugins/cap/cap.c pidgin/plugins/disco/xmppdisco.c pidgin/plugins/gevolution/gevo-util.c pidgin/plugins/gevolution/gevolution.c pidgin/plugins/gtk-signals-test.c pidgin/plugins/history.c pidgin/plugins/mailchk.c pidgin/plugins/perl/common/GtkBlist.xs pidgin/plugins/pidgininc.c pidgin/plugins/raw.c pidgin/plugins/relnot.c pidgin/plugins/themeedit-icon.c pidgin/plugins/themeedit.c pidgin/plugins/ticker/ticker.c pidgin/plugins/xmppconsole.c po/POTFILES.in ChangeLog: explicit merge of '95ba441d77fc560a693ae0aae28b37402bc5ec2f' and '6597c8683801d91dc7d74e7956e42030fde55e84' From qulogic at pidgin.im Wed Jun 9 01:27:46 2010 From: qulogic at pidgin.im (qulogic at pidgin.im) Date: Wed, 9 Jun 2010 01:27:46 -0400 (EDT) Subject: gobjectification: 3312e940: explicit merge of '95470d310d5d3a229c0b9... Message-ID: <20100609052746.B57EF5BD00DE@rock.pidgin.im> ----------------------------------------------------------------- Revision: 3312e940c7ef040c69fa790d2dd8d18a36ddf1b3 Ancestor: 0ddd24646c1e205e2b76c521f685d315bcf78a12 Ancestor: 95470d310d5d3a229c0b9fc4232da9bfeafaeb5b Author: qulogic at pidgin.im Date: 2010-06-07T02:03:34 Branch: im.pidgin.gobjectification URL: http://d.pidgin.im/viewmtn/revision/info/3312e940c7ef040c69fa790d2dd8d18a36ddf1b3 Renamed entries: pidgin/pixmaps/toolbar/22/scalable/voice-call.svg to pidgin/pixmaps/toolbar/22/scalable/audio-call.svg pidgin/pixmaps/toolbar/22/voice-call.png to pidgin/pixmaps/toolbar/22/audio-call.png pidgin/pixmaps/toolbar/32/scalable/voice-call.svg to pidgin/pixmaps/toolbar/32/scalable/audio-call.svg pidgin/pixmaps/toolbar/32/voice-call.png to pidgin/pixmaps/toolbar/32/audio-call.png pidgin/pixmaps/toolbar/48/scalable/voice-call.svg to pidgin/pixmaps/toolbar/48/scalable/audio-call.svg pidgin/pixmaps/toolbar/48/voice-call.png to pidgin/pixmaps/toolbar/48/audio-call.png Added files: doc/hierarchy.dot libpurple/accountmanager.c libpurple/accountmanager.h libpurple/blist-node.c libpurple/blist-node.h libpurple/buddy.c libpurple/buddy.h libpurple/chat.c libpurple/chat.h libpurple/contact.c libpurple/contact.h libpurple/des3cipher.c libpurple/des3cipher.h libpurple/descipher.c libpurple/descipher.h libpurple/ghash.c libpurple/ghash.h libpurple/group.c libpurple/group.h libpurple/gsignal.c libpurple/gsignal.h libpurple/hash.c libpurple/hash.h libpurple/hmaccipher.c libpurple/hmaccipher.h libpurple/md4hash.c libpurple/md4hash.h libpurple/md5cipher.c libpurple/md5cipher.h libpurple/plugins/perl/common/Hash.xs libpurple/pobject.c libpurple/pobject.h libpurple/rc4cipher.c libpurple/rc4cipher.h libpurple/sha1cipher.c libpurple/sha1cipher.h libpurple/sha256cipher.c libpurple/sha256cipher.h libpurple/tests/test_qq.c pidgin/plugins/vvconfig.c Modified files: COPYRIGHT ChangeLog ChangeLog.API ChangeLog.win32 Makefile.am NEWS PLUGIN_HOWTO acinclude.m4 configure.ac finch/Makefile.am finch/finch.c finch/finch.h finch/gntaccount.c finch/gntblist.c finch/gntconn.c finch/gntconv.c finch/gntlog.c finch/gntmedia.c finch/gntpounce.c finch/gntrequest.c finch/gntsound.c finch/gntui.c finch/libgnt/configure.ac finch/libgnt/gntmain.c finch/plugins/gnthistory.c finch/plugins/gnttinyurl.c finch/plugins/grouping.c libpurple/Makefile.am libpurple/Makefile.mingw libpurple/account.c libpurple/account.h libpurple/blist.c libpurple/blist.h libpurple/buddyicon.c libpurple/certificate.c libpurple/cipher.c libpurple/cipher.h libpurple/connection.c libpurple/connection.h libpurple/conversation.c libpurple/conversation.h libpurple/core.c libpurple/core.h libpurple/dbus-analyze-functions.py libpurple/dbus-define-api.h libpurple/dbus-server.c libpurple/dbus-useful.c libpurple/dbus-useful.h libpurple/dnssrv.c libpurple/dnssrv.h libpurple/example/Makefile.am libpurple/example/nullclient.c libpurple/ft.c libpurple/idle.c libpurple/internal.h libpurple/log.c libpurple/marshallers.list libpurple/media-gst.h libpurple/media.c libpurple/media.h libpurple/mediamanager.c libpurple/mediamanager.h libpurple/network.c libpurple/ntlm.c libpurple/plugins/Makefile.am libpurple/plugins/autoaccept.c libpurple/plugins/ciphertest.c libpurple/plugins/filectl.c libpurple/plugins/idle.c libpurple/plugins/joinpart.c libpurple/plugins/log_reader.c libpurple/plugins/one_time_password.c libpurple/plugins/perl/common/Account.xs libpurple/plugins/perl/common/BuddyList.xs libpurple/plugins/perl/common/Cipher.xs libpurple/plugins/perl/common/Connection.xs libpurple/plugins/perl/common/MANIFEST libpurple/plugins/perl/common/Makefile.mingw libpurple/plugins/perl/common/Prpl.xs libpurple/plugins/perl/common/Status.xs libpurple/plugins/perl/common/Util.xs libpurple/plugins/perl/common/XMLNode.xs libpurple/plugins/perl/common/module.h libpurple/plugins/perl/common/typemap libpurple/plugins/signals-test.c libpurple/plugins/tcl/tcl_cmds.c libpurple/plugins/tcl/tcl_signals.c libpurple/pounce.c libpurple/protocols/bonjour/Makefile.mingw libpurple/protocols/bonjour/bonjour.c libpurple/protocols/bonjour/bonjour_ft.c libpurple/protocols/bonjour/bonjour_ft.h libpurple/protocols/bonjour/buddy.c libpurple/protocols/bonjour/jabber.c libpurple/protocols/bonjour/mdns_avahi.c libpurple/protocols/bonjour/mdns_win32.c libpurple/protocols/gg/Makefile.mingw libpurple/protocols/gg/buddylist.c libpurple/protocols/gg/confer.c libpurple/protocols/gg/gg.c libpurple/protocols/gg/search.c libpurple/protocols/irc/Makefile.mingw libpurple/protocols/irc/cmds.c libpurple/protocols/irc/dcc_send.c libpurple/protocols/irc/irc.c libpurple/protocols/irc/msgs.c libpurple/protocols/irc/parse.c libpurple/protocols/jabber/adhoccommands.c libpurple/protocols/jabber/adhoccommands.h libpurple/protocols/jabber/auth.c libpurple/protocols/jabber/auth.h libpurple/protocols/jabber/bosh.c libpurple/protocols/jabber/bosh.h libpurple/protocols/jabber/buddy.c libpurple/protocols/jabber/buddy.h libpurple/protocols/jabber/caps.c libpurple/protocols/jabber/caps.h libpurple/protocols/jabber/chat.c libpurple/protocols/jabber/chat.h libpurple/protocols/jabber/data.c libpurple/protocols/jabber/data.h libpurple/protocols/jabber/disco.c libpurple/protocols/jabber/disco.h libpurple/protocols/jabber/google.c libpurple/protocols/jabber/ibb.c libpurple/protocols/jabber/ibb.h libpurple/protocols/jabber/iq.c libpurple/protocols/jabber/iq.h libpurple/protocols/jabber/jabber.c libpurple/protocols/jabber/jabber.h libpurple/protocols/jabber/jingle/content.c libpurple/protocols/jabber/jingle/content.h libpurple/protocols/jabber/jingle/iceudp.c libpurple/protocols/jabber/jingle/iceudp.h libpurple/protocols/jabber/jingle/jingle.c libpurple/protocols/jabber/jingle/jingle.h libpurple/protocols/jabber/jingle/rawudp.c libpurple/protocols/jabber/jingle/rawudp.h libpurple/protocols/jabber/jingle/rtp.c libpurple/protocols/jabber/jingle/rtp.h libpurple/protocols/jabber/jingle/session.c libpurple/protocols/jabber/jingle/session.h libpurple/protocols/jabber/jingle/transport.c libpurple/protocols/jabber/jingle/transport.h libpurple/protocols/jabber/jutil.c libpurple/protocols/jabber/jutil.h libpurple/protocols/jabber/message.c libpurple/protocols/jabber/message.h libpurple/protocols/jabber/oob.c libpurple/protocols/jabber/oob.h libpurple/protocols/jabber/parser.c libpurple/protocols/jabber/parser.h libpurple/protocols/jabber/pep.c libpurple/protocols/jabber/pep.h libpurple/protocols/jabber/ping.c libpurple/protocols/jabber/ping.h libpurple/protocols/jabber/presence.c libpurple/protocols/jabber/presence.h libpurple/protocols/jabber/roster.c libpurple/protocols/jabber/roster.h libpurple/protocols/jabber/si.c libpurple/protocols/jabber/si.h libpurple/protocols/jabber/useravatar.c libpurple/protocols/jabber/useravatar.h libpurple/protocols/jabber/usermood.c libpurple/protocols/jabber/usermood.h libpurple/protocols/jabber/usernick.c libpurple/protocols/jabber/usernick.h libpurple/protocols/jabber/usertune.c libpurple/protocols/jabber/usertune.h libpurple/protocols/jabber/xdata.c libpurple/protocols/jabber/xdata.h libpurple/protocols/msn/Makefile.mingw libpurple/protocols/msn/cmdproc.h libpurple/protocols/msn/contact.c libpurple/protocols/msn/contact.h libpurple/protocols/msn/dialog.c libpurple/protocols/msn/error.c libpurple/protocols/msn/httpconn.c libpurple/protocols/msn/msg.c libpurple/protocols/msn/msn.c libpurple/protocols/msn/msn.h libpurple/protocols/msn/msnutils.c libpurple/protocols/msn/nexus.c libpurple/protocols/msn/notification.c libpurple/protocols/msn/object.c libpurple/protocols/msn/oim.c libpurple/protocols/msn/oim.h libpurple/protocols/msn/servconn.c libpurple/protocols/msn/session.c libpurple/protocols/msn/slp.c libpurple/protocols/msn/slpcall.c libpurple/protocols/msn/slplink.c libpurple/protocols/msn/soap.c libpurple/protocols/msn/soap.h libpurple/protocols/msn/switchboard.c libpurple/protocols/msn/sync.c libpurple/protocols/msn/user.c libpurple/protocols/msn/userlist.c libpurple/protocols/msnp9/Makefile.mingw libpurple/protocols/msnp9/dialog.c libpurple/protocols/msnp9/error.c libpurple/protocols/msnp9/msn.c libpurple/protocols/msnp9/msn.h libpurple/protocols/msnp9/nexus.c libpurple/protocols/msnp9/notification.c libpurple/protocols/msnp9/object.c libpurple/protocols/msnp9/servconn.c libpurple/protocols/msnp9/session.c libpurple/protocols/msnp9/slp.c libpurple/protocols/msnp9/switchboard.c libpurple/protocols/msnp9/sync.c libpurple/protocols/msnp9/userlist.c libpurple/protocols/myspace/Makefile.mingw libpurple/protocols/myspace/myspace.c libpurple/protocols/myspace/myspace.h libpurple/protocols/myspace/user.c libpurple/protocols/myspace/zap.c libpurple/protocols/novell/Makefile.mingw libpurple/protocols/novell/novell.c libpurple/protocols/null/Makefile.mingw libpurple/protocols/null/nullprpl.c libpurple/protocols/oscar/Makefile.mingw libpurple/protocols/oscar/clientlogin.c libpurple/protocols/oscar/family_auth.c libpurple/protocols/oscar/family_buddy.c libpurple/protocols/oscar/family_locate.c libpurple/protocols/oscar/family_oservice.c libpurple/protocols/oscar/flap_connection.c libpurple/protocols/oscar/oscar.c libpurple/protocols/oscar/oscar.h libpurple/protocols/oscar/snactypes.h libpurple/protocols/qq/Makefile.mingw libpurple/protocols/qq/buddy_info.c libpurple/protocols/qq/buddy_list.c libpurple/protocols/qq/buddy_memo.c libpurple/protocols/qq/buddy_opt.c libpurple/protocols/qq/file_trans.c libpurple/protocols/qq/group.c libpurple/protocols/qq/group_im.c libpurple/protocols/qq/group_info.c libpurple/protocols/qq/group_internal.c libpurple/protocols/qq/group_join.c libpurple/protocols/qq/group_opt.c libpurple/protocols/qq/im.c libpurple/protocols/qq/qq.c libpurple/protocols/qq/qq_base.c libpurple/protocols/qq/qq_crypt.c libpurple/protocols/qq/qq_crypt.h libpurple/protocols/qq/qq_network.c libpurple/protocols/qq/qq_process.c libpurple/protocols/qq/qq_trans.c libpurple/protocols/qq/send_file.c libpurple/protocols/qq/utils.c libpurple/protocols/sametime/Makefile.mingw libpurple/protocols/sametime/sametime.c libpurple/protocols/silc/Makefile.mingw libpurple/protocols/silc/buddy.c libpurple/protocols/silc/chat.c libpurple/protocols/silc/ft.c libpurple/protocols/silc/ops.c libpurple/protocols/silc/pk.c libpurple/protocols/silc/silc.c libpurple/protocols/silc/util.c libpurple/protocols/silc/wb.c libpurple/protocols/silc10/buddy.c libpurple/protocols/silc10/chat.c libpurple/protocols/silc10/ft.c libpurple/protocols/silc10/ops.c libpurple/protocols/silc10/silc.c libpurple/protocols/silc10/util.c libpurple/protocols/simple/Makefile.am libpurple/protocols/simple/Makefile.mingw libpurple/protocols/simple/simple.c libpurple/protocols/yahoo/Makefile.mingw libpurple/protocols/yahoo/libyahoo.c libpurple/protocols/yahoo/libyahoojp.c libpurple/protocols/yahoo/libymsg.c libpurple/protocols/yahoo/libymsg.h libpurple/protocols/yahoo/util.c libpurple/protocols/yahoo/yahoo_aliases.c libpurple/protocols/yahoo/yahoo_doodle.c libpurple/protocols/yahoo/yahoo_filexfer.c libpurple/protocols/yahoo/yahoo_friend.c libpurple/protocols/yahoo/yahoo_picture.c libpurple/protocols/yahoo/yahoo_profile.c libpurple/protocols/yahoo/yahoochat.c libpurple/protocols/yahoo/ycht.c libpurple/protocols/zephyr/zephyr.c libpurple/proxy.c libpurple/prpl.c libpurple/purple.h.in libpurple/savedstatuses.c libpurple/server.c libpurple/server.h libpurple/signals.c libpurple/signals.h libpurple/smiley.c libpurple/smiley.h libpurple/status.c libpurple/status.h libpurple/tests/Makefile.am libpurple/tests/check_libpurple.c libpurple/tests/test_cipher.c libpurple/tests/test_jabber_jutil.c libpurple/tests/test_yahoo_util.c libpurple/tests/tests.h libpurple/theme-loader.c libpurple/theme-loader.h libpurple/theme.c libpurple/theme.h libpurple/util.c libpurple/util.h libpurple/value.c libpurple/value.h libpurple/win32/global.mak pidgin/Makefile.am pidgin/gtkaccount.c pidgin/gtkblist-theme.c pidgin/gtkblist.c pidgin/gtkblist.h pidgin/gtkconn.c pidgin/gtkconv.c pidgin/gtkdialogs.c pidgin/gtkdocklet.c pidgin/gtkimhtml.c pidgin/gtkimhtml.h pidgin/gtklog.c pidgin/gtkmain.c pidgin/gtkmedia.c pidgin/gtkmedia.h pidgin/gtknotify.c pidgin/gtkpounce.c pidgin/gtkprefs.c pidgin/gtkprivacy.c pidgin/gtkroomlist.c pidgin/gtksound.c pidgin/gtkstatusbox.c pidgin/gtkutils.c pidgin/pidginstock.c pidgin/pixmaps/Makefile.am pidgin/pixmaps/status/11/invisible.png pidgin/plugins/Makefile.am pidgin/plugins/cap/cap.c pidgin/plugins/disco/gtkdisco.c pidgin/plugins/disco/xmppdisco.c pidgin/plugins/gestures/stroke.c pidgin/plugins/gevolution/eds-utils.c pidgin/plugins/gevolution/gevo-util.c pidgin/plugins/gevolution/gevolution.c pidgin/plugins/gtk-signals-test.c pidgin/plugins/history.c pidgin/plugins/mailchk.c pidgin/plugins/perl/common/GtkBlist.xs pidgin/plugins/pidgininc.c pidgin/plugins/raw.c pidgin/plugins/relnot.c pidgin/plugins/themeedit-icon.c pidgin/plugins/themeedit.c pidgin/plugins/ticker/ticker.c pidgin/plugins/xmppconsole.c pidgin/win32/nsis/pidgin-installer.nsi pidgin.spec.in po/ChangeLog po/POTFILES.in po/af.po po/bn.po po/check_po.pl po/cs.po po/de.po po/el.po po/es.po po/eu.po po/fi.po po/fr.po po/he.po po/hu.po po/it.po po/lt.po po/mn.po po/pt_BR.po po/ro.po po/sk.po po/sl.po po/sq.po po/sv.po po/zh_CN.po po/zh_HK.po po/zh_TW.po ChangeLog: explicit merge of '95470d310d5d3a229c0b9fc4232da9bfeafaeb5b' and '0ddd24646c1e205e2b76c521f685d315bcf78a12' From qulogic at pidgin.im Wed Jun 9 01:27:49 2010 From: qulogic at pidgin.im (qulogic at pidgin.im) Date: Wed, 9 Jun 2010 01:27:49 -0400 (EDT) Subject: gobjectification: 347f3b00: explicit merge of '78026d85fc783da9d0cb9... Message-ID: <20100609052750.1EE2E5BD00DE@rock.pidgin.im> ----------------------------------------------------------------- Revision: 347f3b003166f679850225067f26275d8e866a01 Ancestor: 76b6bf5fe40f0133b6d78f8b1547f17da2aa983d Ancestor: 78026d85fc783da9d0cb93283729d22e5248c42b Author: qulogic at pidgin.im Date: 2010-06-08T06:44:42 Branch: im.pidgin.gobjectification URL: http://d.pidgin.im/viewmtn/revision/info/347f3b003166f679850225067f26275d8e866a01 Added files: doc/hierarchy.dot libpurple/accountmanager.c libpurple/accountmanager.h libpurple/blist-node.c libpurple/blist-node.h libpurple/buddy.c libpurple/buddy.h libpurple/chat.c libpurple/chat.h libpurple/contact.c libpurple/contact.h libpurple/des3cipher.c libpurple/des3cipher.h libpurple/descipher.c libpurple/descipher.h libpurple/ghash.c libpurple/ghash.h libpurple/group.c libpurple/group.h libpurple/gsignal.c libpurple/gsignal.h libpurple/hash.c libpurple/hash.h libpurple/hmaccipher.c libpurple/hmaccipher.h libpurple/md4hash.c libpurple/md4hash.h libpurple/md5cipher.c libpurple/md5cipher.h libpurple/plugins/perl/common/Hash.xs libpurple/pobject.c libpurple/pobject.h libpurple/rc4cipher.c libpurple/rc4cipher.h libpurple/sha1cipher.c libpurple/sha1cipher.h libpurple/sha256cipher.c libpurple/sha256cipher.h Modified files: COPYRIGHT ChangeLog acinclude.m4 configure.ac finch/finch.c finch/finch.h finch/gntaccount.c finch/gntblist.c finch/gntconn.c finch/gntconv.c finch/gntlog.c finch/gntpounce.c finch/gntrequest.c finch/gntsound.c finch/gntui.c finch/plugins/gnthistory.c finch/plugins/grouping.c libpurple/Makefile.am libpurple/Makefile.mingw libpurple/account.c libpurple/account.h libpurple/blist.c libpurple/blist.h libpurple/buddyicon.c libpurple/cipher.c libpurple/cipher.h libpurple/connection.c libpurple/connection.h libpurple/conversation.c libpurple/conversation.h libpurple/core.c libpurple/dbus-analyze-functions.py libpurple/dbus-define-api.h libpurple/dbus-server.c libpurple/dbus-useful.c libpurple/dbus-useful.h libpurple/example/nullclient.c libpurple/idle.c libpurple/internal.h libpurple/log.c libpurple/marshallers.list libpurple/network.c libpurple/ntlm.c libpurple/plugins/Makefile.am libpurple/plugins/autoaccept.c libpurple/plugins/ciphertest.c libpurple/plugins/filectl.c libpurple/plugins/idle.c libpurple/plugins/log_reader.c libpurple/plugins/one_time_password.c libpurple/plugins/perl/common/Account.xs libpurple/plugins/perl/common/BuddyList.xs libpurple/plugins/perl/common/Cipher.xs libpurple/plugins/perl/common/Connection.xs libpurple/plugins/perl/common/MANIFEST libpurple/plugins/perl/common/Makefile.mingw libpurple/plugins/perl/common/Prpl.xs libpurple/plugins/perl/common/Status.xs libpurple/plugins/perl/common/Util.xs libpurple/plugins/perl/common/module.h libpurple/plugins/perl/common/typemap libpurple/plugins/signals-test.c libpurple/plugins/tcl/tcl_cmds.c libpurple/plugins/tcl/tcl_signals.c libpurple/pounce.c libpurple/protocols/bonjour/Makefile.mingw libpurple/protocols/bonjour/bonjour.c libpurple/protocols/bonjour/bonjour_ft.c libpurple/protocols/bonjour/buddy.c libpurple/protocols/bonjour/jabber.c libpurple/protocols/bonjour/mdns_avahi.c libpurple/protocols/bonjour/mdns_win32.c libpurple/protocols/gg/Makefile.mingw libpurple/protocols/gg/buddylist.c libpurple/protocols/gg/confer.c libpurple/protocols/gg/gg.c libpurple/protocols/gg/search.c libpurple/protocols/irc/Makefile.mingw libpurple/protocols/irc/cmds.c libpurple/protocols/irc/dcc_send.c libpurple/protocols/irc/irc.c libpurple/protocols/irc/msgs.c libpurple/protocols/irc/parse.c libpurple/protocols/jabber/adhoccommands.c libpurple/protocols/jabber/auth.c libpurple/protocols/jabber/bosh.c libpurple/protocols/jabber/buddy.c libpurple/protocols/jabber/caps.c libpurple/protocols/jabber/caps.h libpurple/protocols/jabber/chat.c libpurple/protocols/jabber/data.c libpurple/protocols/jabber/disco.c libpurple/protocols/jabber/google.c libpurple/protocols/jabber/jabber.c libpurple/protocols/jabber/jabber.h libpurple/protocols/jabber/jutil.c libpurple/protocols/jabber/libxmpp.c libpurple/protocols/jabber/message.c libpurple/protocols/jabber/oob.c libpurple/protocols/jabber/parser.c libpurple/protocols/jabber/presence.c libpurple/protocols/jabber/presence.h libpurple/protocols/jabber/roster.c libpurple/protocols/jabber/si.c libpurple/protocols/jabber/usermood.c libpurple/protocols/jabber/usernick.c libpurple/protocols/jabber/usertune.c libpurple/protocols/msn/Makefile.mingw libpurple/protocols/msn/contact.c libpurple/protocols/msn/dialog.c libpurple/protocols/msn/error.c libpurple/protocols/msn/httpconn.c libpurple/protocols/msn/msg.c libpurple/protocols/msn/msn.c libpurple/protocols/msn/msn.h libpurple/protocols/msn/msnutils.c libpurple/protocols/msn/nexus.c libpurple/protocols/msn/notification.c libpurple/protocols/msn/object.c libpurple/protocols/msn/oim.c libpurple/protocols/msn/servconn.c libpurple/protocols/msn/session.c libpurple/protocols/msn/slp.c libpurple/protocols/msn/switchboard.c libpurple/protocols/msn/sync.c libpurple/protocols/msn/user.c libpurple/protocols/msn/userlist.c libpurple/protocols/msnp9/Makefile.mingw libpurple/protocols/msnp9/dialog.c libpurple/protocols/msnp9/error.c libpurple/protocols/msnp9/msn.c libpurple/protocols/msnp9/msn.h libpurple/protocols/msnp9/nexus.c libpurple/protocols/msnp9/notification.c libpurple/protocols/msnp9/object.c libpurple/protocols/msnp9/servconn.c libpurple/protocols/msnp9/session.c libpurple/protocols/msnp9/slp.c libpurple/protocols/msnp9/switchboard.c libpurple/protocols/msnp9/sync.c libpurple/protocols/msnp9/userlist.c libpurple/protocols/myspace/Makefile.mingw libpurple/protocols/myspace/myspace.c libpurple/protocols/myspace/myspace.h libpurple/protocols/myspace/user.c libpurple/protocols/myspace/zap.c libpurple/protocols/novell/Makefile.mingw libpurple/protocols/novell/novell.c libpurple/protocols/null/Makefile.mingw libpurple/protocols/null/nullprpl.c libpurple/protocols/oscar/Makefile.mingw libpurple/protocols/oscar/clientlogin.c libpurple/protocols/oscar/family_auth.c libpurple/protocols/oscar/family_oservice.c libpurple/protocols/oscar/flap_connection.c libpurple/protocols/oscar/oscar.c libpurple/protocols/qq/Makefile.mingw libpurple/protocols/qq/buddy_info.c libpurple/protocols/qq/buddy_list.c libpurple/protocols/qq/buddy_memo.c libpurple/protocols/qq/buddy_opt.c libpurple/protocols/qq/file_trans.c libpurple/protocols/qq/group.c libpurple/protocols/qq/group_im.c libpurple/protocols/qq/group_info.c libpurple/protocols/qq/group_internal.c libpurple/protocols/qq/group_join.c libpurple/protocols/qq/group_opt.c libpurple/protocols/qq/im.c libpurple/protocols/qq/qq.c libpurple/protocols/qq/qq_base.c libpurple/protocols/qq/qq_network.c libpurple/protocols/qq/qq_process.c libpurple/protocols/qq/qq_trans.c libpurple/protocols/qq/send_file.c libpurple/protocols/qq/utils.c libpurple/protocols/sametime/Makefile.mingw libpurple/protocols/sametime/sametime.c libpurple/protocols/silc/Makefile.mingw libpurple/protocols/silc/buddy.c libpurple/protocols/silc/chat.c libpurple/protocols/silc/ft.c libpurple/protocols/silc/ops.c libpurple/protocols/silc/pk.c libpurple/protocols/silc/silc.c libpurple/protocols/silc/util.c libpurple/protocols/silc/wb.c libpurple/protocols/silc10/buddy.c libpurple/protocols/silc10/chat.c libpurple/protocols/silc10/ft.c libpurple/protocols/silc10/ops.c libpurple/protocols/silc10/silc.c libpurple/protocols/silc10/util.c libpurple/protocols/simple/Makefile.mingw libpurple/protocols/simple/simple.c libpurple/protocols/yahoo/Makefile.mingw libpurple/protocols/yahoo/libymsg.c libpurple/protocols/yahoo/util.c libpurple/protocols/yahoo/yahoo_aliases.c libpurple/protocols/yahoo/yahoo_doodle.c libpurple/protocols/yahoo/yahoo_filexfer.c libpurple/protocols/yahoo/yahoo_friend.c libpurple/protocols/yahoo/yahoo_picture.c libpurple/protocols/yahoo/yahoo_profile.c libpurple/protocols/yahoo/yahoochat.c libpurple/protocols/yahoo/ycht.c libpurple/protocols/zephyr/zephyr.c libpurple/proxy.c libpurple/prpl.c libpurple/purple.h.in libpurple/savedstatuses.c libpurple/server.c libpurple/server.h libpurple/signals.c libpurple/signals.h libpurple/status.c libpurple/status.h libpurple/tests/check_libpurple.c libpurple/tests/test_cipher.c libpurple/util.c libpurple/util.h libpurple/value.c libpurple/value.h libpurple/win32/global.mak pidgin/Makefile.am pidgin/gtkaccount.c pidgin/gtkblist.c pidgin/gtkblist.h pidgin/gtkconn.c pidgin/gtkconv.c pidgin/gtkdialogs.c pidgin/gtkdocklet.c pidgin/gtkimhtml.c pidgin/gtklog.c pidgin/gtkmain.c pidgin/gtknotify.c pidgin/gtkpounce.c pidgin/gtkprefs.c pidgin/gtkprivacy.c pidgin/gtkroomlist.c pidgin/gtksound.c pidgin/gtkstatusbox.c pidgin/gtkutils.c pidgin/plugins/cap/cap.c pidgin/plugins/disco/xmppdisco.c pidgin/plugins/gevolution/gevo-util.c pidgin/plugins/gevolution/gevolution.c pidgin/plugins/gtk-signals-test.c pidgin/plugins/history.c pidgin/plugins/mailchk.c pidgin/plugins/perl/common/GtkBlist.xs pidgin/plugins/pidgininc.c pidgin/plugins/raw.c pidgin/plugins/relnot.c pidgin/plugins/themeedit-icon.c pidgin/plugins/themeedit.c pidgin/plugins/ticker/ticker.c pidgin/plugins/xmppconsole.c po/POTFILES.in ChangeLog: explicit merge of '78026d85fc783da9d0cb93283729d22e5248c42b' and '76b6bf5fe40f0133b6d78f8b1547f17da2aa983d' From qulogic at pidgin.im Wed Jun 9 01:27:52 2010 From: qulogic at pidgin.im (qulogic at pidgin.im) Date: Wed, 9 Jun 2010 01:27:52 -0400 (EDT) Subject: gobjectification: 37ff8aa4: explicit merge of '9484d318c55139eed1c19... Message-ID: <20100609052753.798265BD00E1@rock.pidgin.im> ----------------------------------------------------------------- Revision: 37ff8aa47f7798bb93dde63e4357c8262d52494e Ancestor: 9484d318c55139eed1c1919a2e793af4bab3b9e5 Ancestor: b3e23b435652ec5b6a77f81851d4f27dfccaa276 Author: qulogic at pidgin.im Date: 2010-06-07T06:41:05 Branch: im.pidgin.gobjectification URL: http://d.pidgin.im/viewmtn/revision/info/37ff8aa47f7798bb93dde63e4357c8262d52494e Renamed entries: pidgin/pixmaps/emblems/16/mobile.png to pidgin/pixmaps/emotes/small/16/mobile.png pidgin/pixmaps/emblems/16/music.png to pidgin/pixmaps/emotes/small/16/music.png pidgin/pixmaps/emblems/scalable/mobile.svg to pidgin/pixmaps/emotes/small/16/scalable/mobile.svg pidgin/pixmaps/emblems/scalable/music.svg to pidgin/pixmaps/emotes/small/16/scalable/music.svg pidgin/pixmaps/emotes/default/24/eat.png to pidgin/pixmaps/emotes/default/24/hungry.png pidgin/pixmaps/emotes/default/24/in-love.png to pidgin/pixmaps/emotes/default/24/amorous.png pidgin/pixmaps/emotes/default/24/love.png to pidgin/pixmaps/emotes/default/24/in_love.png pidgin/pixmaps/emotes/default/24/nailbiting.png to pidgin/pixmaps/emotes/default/24/nervous.png pidgin/pixmaps/emotes/default/24/shock.png to pidgin/pixmaps/emotes/default/24/shocked.png pidgin/pixmaps/emotes/default/24/sleepy.png to pidgin/pixmaps/emotes/default/24/sleeping.png pidgin/pixmaps/emotes/default/24/smile-big.png to pidgin/pixmaps/emotes/default/24/excited.png pidgin/pixmaps/emotes/default/24/smile.png to pidgin/pixmaps/emotes/default/24/happy.png pidgin/pixmaps/emotes/default/24/sweat.png to pidgin/pixmaps/emotes/default/24/hot.png pidgin/pixmaps/emotes/default/24/tremble.png to pidgin/pixmaps/emotes/default/24/afraid.png pidgin/pixmaps/emotes/default/24/yawn.png to pidgin/pixmaps/emotes/default/24/sleepy.png pidgin/pixmaps/emotes/small/16/love.png to pidgin/pixmaps/emotes/small/16/in_love.png pidgin/pixmaps/emotes/small/16/shock.png to pidgin/pixmaps/emotes/small/16/shocked.png pidgin/pixmaps/emotes/small/16/sleepy.png to pidgin/pixmaps/emotes/small/16/sleeping.png pidgin/pixmaps/emotes/small/16/smile-big.png to pidgin/pixmaps/emotes/small/16/excited.png pidgin/pixmaps/emotes/small/16/smile.png to pidgin/pixmaps/emotes/small/16/happy.png pidgin/pixmaps/emotes/small/16/yawn.png to pidgin/pixmaps/emotes/small/16/sleepy.png Added files: doc/hierarchy.dot libpurple/accountmanager.c libpurple/accountmanager.h libpurple/blist-node.c libpurple/blist-node.h libpurple/buddy.c libpurple/buddy.h libpurple/chat.c libpurple/chat.h libpurple/contact.c libpurple/contact.h libpurple/des3cipher.c libpurple/des3cipher.h libpurple/descipher.c libpurple/descipher.h libpurple/ghash.c libpurple/ghash.h libpurple/group.c libpurple/group.h libpurple/gsignal.c libpurple/gsignal.h libpurple/hash.c libpurple/hash.h libpurple/hmaccipher.c libpurple/hmaccipher.h libpurple/md4hash.c libpurple/md4hash.h libpurple/md5cipher.c libpurple/md5cipher.h libpurple/plugins/perl/common/Hash.xs libpurple/pobject.c libpurple/pobject.h libpurple/rc4cipher.c libpurple/rc4cipher.h libpurple/sha1cipher.c libpurple/sha1cipher.h libpurple/sha256cipher.c libpurple/sha256cipher.h pidgin/pixmaps/emotes/small/16/afraid.png pidgin/pixmaps/emotes/small/16/amorous.png pidgin/pixmaps/emotes/small/16/bathing.png pidgin/pixmaps/emotes/small/16/cinema.png pidgin/pixmaps/emotes/small/16/disappointed.png pidgin/pixmaps/emotes/small/16/embarrassed.png pidgin/pixmaps/emotes/small/16/hot.png pidgin/pixmaps/emotes/small/16/hungry.png pidgin/pixmaps/emotes/small/16/internet.png pidgin/pixmaps/emotes/small/16/mean.png pidgin/pixmaps/emotes/small/16/nervous.png pidgin/pixmaps/emotes/small/16/restroom.png pidgin/pixmaps/emotes/small/16/sarcastic.png pidgin/pixmaps/emotes/small/16/shopping.png pidgin/pixmaps/emotes/small/16/studying.png pidgin/pixmaps/emotes/small/16/suit.png pidgin/pixmaps/emotes/small/16/surfing.png pidgin/pixmaps/emotes/small/16/typing.png pidgin/pixmaps/emotes/small/16/working.png pidgin/pixmaps/emotes/small/16/writing.png Modified files: COPYRIGHT ChangeLog.API acinclude.m4 configure.ac finch/finch.c finch/finch.h finch/gntaccount.c finch/gntblist.c finch/gntconn.c finch/gntconv.c finch/gntlog.c finch/gntplugin.c finch/gntpounce.c finch/gntprefs.c finch/gntrequest.c finch/gntsound.c finch/gntui.c finch/plugins/gnthistory.c finch/plugins/grouping.c libpurple/Makefile.am libpurple/Makefile.mingw libpurple/account.c libpurple/account.h libpurple/blist.c libpurple/blist.h libpurple/buddyicon.c libpurple/cipher.c libpurple/cipher.h libpurple/connection.c libpurple/connection.h libpurple/conversation.c libpurple/conversation.h libpurple/core.c libpurple/dbus-analyze-functions.py libpurple/dbus-define-api.h libpurple/dbus-server.c libpurple/dbus-useful.c libpurple/dbus-useful.h libpurple/example/nullclient.c libpurple/idle.c libpurple/internal.h libpurple/log.c libpurple/marshallers.list libpurple/network.c libpurple/ntlm.c libpurple/plugins/Makefile.am libpurple/plugins/autoaccept.c libpurple/plugins/ciphertest.c libpurple/plugins/filectl.c libpurple/plugins/idle.c libpurple/plugins/log_reader.c libpurple/plugins/one_time_password.c libpurple/plugins/perl/common/Account.xs libpurple/plugins/perl/common/BuddyList.xs libpurple/plugins/perl/common/Cipher.xs libpurple/plugins/perl/common/Connection.xs libpurple/plugins/perl/common/MANIFEST libpurple/plugins/perl/common/Makefile.mingw libpurple/plugins/perl/common/Prpl.xs libpurple/plugins/perl/common/Request.xs libpurple/plugins/perl/common/Status.xs libpurple/plugins/perl/common/Util.xs libpurple/plugins/perl/common/module.h libpurple/plugins/perl/common/typemap libpurple/plugins/signals-test.c libpurple/plugins/tcl/tcl_cmds.c libpurple/plugins/tcl/tcl_signals.c libpurple/pounce.c libpurple/protocols/bonjour/Makefile.mingw libpurple/protocols/bonjour/bonjour.c libpurple/protocols/bonjour/bonjour_ft.c libpurple/protocols/bonjour/buddy.c libpurple/protocols/bonjour/jabber.c libpurple/protocols/bonjour/mdns_avahi.c libpurple/protocols/bonjour/mdns_win32.c libpurple/protocols/gg/Makefile.mingw libpurple/protocols/gg/buddylist.c libpurple/protocols/gg/confer.c libpurple/protocols/gg/gg.c libpurple/protocols/gg/search.c libpurple/protocols/irc/Makefile.mingw libpurple/protocols/irc/cmds.c libpurple/protocols/irc/dcc_send.c libpurple/protocols/irc/irc.c libpurple/protocols/irc/msgs.c libpurple/protocols/irc/parse.c libpurple/protocols/jabber/adhoccommands.c libpurple/protocols/jabber/auth.c libpurple/protocols/jabber/buddy.c libpurple/protocols/jabber/caps.c libpurple/protocols/jabber/caps.h libpurple/protocols/jabber/chat.c libpurple/protocols/jabber/disco.c libpurple/protocols/jabber/google.c libpurple/protocols/jabber/jabber.c libpurple/protocols/jabber/jutil.c libpurple/protocols/jabber/libxmpp.c libpurple/protocols/jabber/message.c libpurple/protocols/jabber/oob.c libpurple/protocols/jabber/presence.c libpurple/protocols/jabber/roster.c libpurple/protocols/jabber/si.c libpurple/protocols/jabber/usermood.c libpurple/protocols/jabber/usermood.h libpurple/protocols/jabber/usernick.c libpurple/protocols/jabber/usertune.c libpurple/protocols/jabber/xdata.c libpurple/protocols/msn/Makefile.mingw libpurple/protocols/msn/contact.c libpurple/protocols/msn/dialog.c libpurple/protocols/msn/error.c libpurple/protocols/msn/httpconn.c libpurple/protocols/msn/msg.c libpurple/protocols/msn/msn.c libpurple/protocols/msn/msn.h libpurple/protocols/msn/msnutils.c libpurple/protocols/msn/nexus.c libpurple/protocols/msn/notification.c libpurple/protocols/msn/object.c libpurple/protocols/msn/oim.c libpurple/protocols/msn/servconn.c libpurple/protocols/msn/session.c libpurple/protocols/msn/slp.c libpurple/protocols/msn/switchboard.c libpurple/protocols/msn/sync.c libpurple/protocols/msn/user.c libpurple/protocols/msn/userlist.c libpurple/protocols/msnp9/Makefile.mingw libpurple/protocols/msnp9/dialog.c libpurple/protocols/msnp9/error.c libpurple/protocols/msnp9/msn.c libpurple/protocols/msnp9/msn.h libpurple/protocols/msnp9/nexus.c libpurple/protocols/msnp9/notification.c libpurple/protocols/msnp9/object.c libpurple/protocols/msnp9/servconn.c libpurple/protocols/msnp9/session.c libpurple/protocols/msnp9/slp.c libpurple/protocols/msnp9/switchboard.c libpurple/protocols/msnp9/sync.c libpurple/protocols/msnp9/userlist.c libpurple/protocols/myspace/Makefile.mingw libpurple/protocols/myspace/myspace.c libpurple/protocols/myspace/myspace.h libpurple/protocols/myspace/user.c libpurple/protocols/myspace/zap.c libpurple/protocols/novell/Makefile.mingw libpurple/protocols/novell/novell.c libpurple/protocols/null/Makefile.mingw libpurple/protocols/null/nullprpl.c libpurple/protocols/oscar/Makefile.mingw libpurple/protocols/oscar/clientlogin.c libpurple/protocols/oscar/family_auth.c libpurple/protocols/oscar/family_buddy.c libpurple/protocols/oscar/family_icbm.c libpurple/protocols/oscar/family_locate.c libpurple/protocols/oscar/family_oservice.c libpurple/protocols/oscar/flap_connection.c libpurple/protocols/oscar/libicq.c libpurple/protocols/oscar/oscar.c libpurple/protocols/oscar/oscar.h libpurple/protocols/oscar/oscarcommon.h libpurple/protocols/oscar/tlv.c libpurple/protocols/qq/Makefile.mingw libpurple/protocols/qq/buddy_info.c libpurple/protocols/qq/buddy_list.c libpurple/protocols/qq/buddy_memo.c libpurple/protocols/qq/buddy_opt.c libpurple/protocols/qq/file_trans.c libpurple/protocols/qq/group.c libpurple/protocols/qq/group_im.c libpurple/protocols/qq/group_info.c libpurple/protocols/qq/group_internal.c libpurple/protocols/qq/group_join.c libpurple/protocols/qq/group_opt.c libpurple/protocols/qq/im.c libpurple/protocols/qq/qq.c libpurple/protocols/qq/qq_base.c libpurple/protocols/qq/qq_network.c libpurple/protocols/qq/qq_process.c libpurple/protocols/qq/qq_trans.c libpurple/protocols/qq/send_file.c libpurple/protocols/qq/utils.c libpurple/protocols/sametime/Makefile.mingw libpurple/protocols/sametime/sametime.c libpurple/protocols/silc/Makefile.mingw libpurple/protocols/silc/buddy.c libpurple/protocols/silc/chat.c libpurple/protocols/silc/ft.c libpurple/protocols/silc/ops.c libpurple/protocols/silc/pk.c libpurple/protocols/silc/silc.c libpurple/protocols/silc/util.c libpurple/protocols/silc/wb.c libpurple/protocols/silc10/buddy.c libpurple/protocols/silc10/chat.c libpurple/protocols/silc10/ft.c libpurple/protocols/silc10/ops.c libpurple/protocols/silc10/silc.c libpurple/protocols/silc10/util.c libpurple/protocols/simple/Makefile.mingw libpurple/protocols/simple/simple.c libpurple/protocols/yahoo/Makefile.mingw libpurple/protocols/yahoo/libymsg.c libpurple/protocols/yahoo/util.c libpurple/protocols/yahoo/yahoo_aliases.c libpurple/protocols/yahoo/yahoo_doodle.c libpurple/protocols/yahoo/yahoo_filexfer.c libpurple/protocols/yahoo/yahoo_friend.c libpurple/protocols/yahoo/yahoo_picture.c libpurple/protocols/yahoo/yahoo_profile.c libpurple/protocols/yahoo/yahoochat.c libpurple/protocols/yahoo/ycht.c libpurple/protocols/zephyr/zephyr.c libpurple/proxy.c libpurple/prpl.c libpurple/prpl.h libpurple/purple.h.in libpurple/request.c libpurple/request.h libpurple/savedstatuses.c libpurple/server.c libpurple/server.h libpurple/signals.c libpurple/signals.h libpurple/status.c libpurple/status.h libpurple/tests/check_libpurple.c libpurple/tests/test_cipher.c libpurple/util.c libpurple/util.h libpurple/value.c libpurple/value.h libpurple/win32/global.mak pidgin/Makefile.am pidgin/gtkaccount.c pidgin/gtkblist.c pidgin/gtkblist.h pidgin/gtkconn.c pidgin/gtkconv.c pidgin/gtkdialogs.c pidgin/gtkdocklet.c pidgin/gtkimhtml.c pidgin/gtklog.c pidgin/gtkmain.c pidgin/gtknotify.c pidgin/gtkpounce.c pidgin/gtkprefs.c pidgin/gtkprivacy.c pidgin/gtkrequest.c pidgin/gtkroomlist.c pidgin/gtksavedstatuses.c pidgin/gtksound.c pidgin/gtkstatusbox.c pidgin/gtkutils.c pidgin/pixmaps/Makefile.am pidgin/pixmaps/emotes/default/24/Makefile.am pidgin/pixmaps/emotes/default/24/default.theme.in pidgin/pixmaps/emotes/small/16/Makefile.am pidgin/pixmaps/emotes/small/16/TODO pidgin/pixmaps/emotes/small/16/small.theme.in pidgin/plugins/cap/cap.c pidgin/plugins/disco/xmppdisco.c pidgin/plugins/gevolution/gevo-util.c pidgin/plugins/gevolution/gevolution.c pidgin/plugins/gtk-signals-test.c pidgin/plugins/history.c pidgin/plugins/mailchk.c pidgin/plugins/perl/common/GtkBlist.xs pidgin/plugins/pidgininc.c pidgin/plugins/raw.c pidgin/plugins/relnot.c pidgin/plugins/themeedit-icon.c pidgin/plugins/themeedit.c pidgin/plugins/ticker/ticker.c pidgin/plugins/xmppconsole.c po/POTFILES.in Modified attrs: pidgin/pixmaps/emotes/small/16/afraid.png pidgin/pixmaps/emotes/small/16/amorous.png pidgin/pixmaps/emotes/small/16/bathing.png pidgin/pixmaps/emotes/small/16/cinema.png pidgin/pixmaps/emotes/small/16/disappointed.png pidgin/pixmaps/emotes/small/16/embarrassed.png pidgin/pixmaps/emotes/small/16/hot.png pidgin/pixmaps/emotes/small/16/hungry.png pidgin/pixmaps/emotes/small/16/internet.png pidgin/pixmaps/emotes/small/16/mean.png pidgin/pixmaps/emotes/small/16/nervous.png pidgin/pixmaps/emotes/small/16/restroom.png pidgin/pixmaps/emotes/small/16/sarcastic.png pidgin/pixmaps/emotes/small/16/shopping.png pidgin/pixmaps/emotes/small/16/studying.png pidgin/pixmaps/emotes/small/16/suit.png pidgin/pixmaps/emotes/small/16/surfing.png pidgin/pixmaps/emotes/small/16/typing.png pidgin/pixmaps/emotes/small/16/working.png pidgin/pixmaps/emotes/small/16/writing.png ChangeLog: explicit merge of '9484d318c55139eed1c1919a2e793af4bab3b9e5' and 'b3e23b435652ec5b6a77f81851d4f27dfccaa276' From qulogic at pidgin.im Wed Jun 9 01:28:17 2010 From: qulogic at pidgin.im (qulogic at pidgin.im) Date: Wed, 9 Jun 2010 01:28:17 -0400 (EDT) Subject: gobjectification: 4f618a50: explicit merge of '32fe1057ca848b424a0de... Message-ID: <20100609052819.371BE5BD00E9@rock.pidgin.im> ----------------------------------------------------------------- Revision: 4f618a5001238453816cfce8f7e80005343fbe58 Ancestor: 120eaa1b1898d09118a9fbb8262652c9d8f39081 Ancestor: 32fe1057ca848b424a0de8df380081e61a62db3b Author: qulogic at pidgin.im Date: 2010-06-08T08:02:19 Branch: im.pidgin.gobjectification URL: http://d.pidgin.im/viewmtn/revision/info/4f618a5001238453816cfce8f7e80005343fbe58 Added files: doc/hierarchy.dot libpurple/accountmanager.c libpurple/accountmanager.h libpurple/blist-node.c libpurple/blist-node.h libpurple/buddy.c libpurple/buddy.h libpurple/chat.c libpurple/chat.h libpurple/contact.c libpurple/contact.h libpurple/des3cipher.c libpurple/des3cipher.h libpurple/descipher.c libpurple/descipher.h libpurple/ghash.c libpurple/ghash.h libpurple/group.c libpurple/group.h libpurple/gsignal.c libpurple/gsignal.h libpurple/hash.c libpurple/hash.h libpurple/hmaccipher.c libpurple/hmaccipher.h libpurple/md4hash.c libpurple/md4hash.h libpurple/md5cipher.c libpurple/md5cipher.h libpurple/plugins/perl/common/Hash.xs libpurple/pobject.c libpurple/pobject.h libpurple/rc4cipher.c libpurple/rc4cipher.h libpurple/sha1cipher.c libpurple/sha1cipher.h libpurple/sha256cipher.c libpurple/sha256cipher.h po/as.po po/ml.po Modified files: COPYRIGHT ChangeLog ChangeLog.API ChangeLog.win32 NEWS acinclude.m4 configure.ac finch/finch.c finch/finch.h finch/gntaccount.c finch/gntblist.c finch/gntconn.c finch/gntconv.c finch/gntlog.c finch/gntpounce.c finch/gntrequest.c finch/gntsound.c finch/gntui.c finch/plugins/gnthistory.c finch/plugins/grouping.c libpurple/Makefile.am libpurple/Makefile.mingw libpurple/account.c libpurple/account.h libpurple/blist.c libpurple/blist.h libpurple/buddyicon.c libpurple/cipher.c libpurple/cipher.h libpurple/connection.c libpurple/connection.h libpurple/conversation.c libpurple/conversation.h libpurple/core.c libpurple/dbus-analyze-functions.py libpurple/dbus-define-api.h libpurple/dbus-server.c libpurple/dbus-useful.c libpurple/dbus-useful.h libpurple/example/nullclient.c libpurple/idle.c libpurple/internal.h libpurple/log.c libpurple/marshallers.list libpurple/network.c libpurple/network.h libpurple/ntlm.c libpurple/plugins/Makefile.am libpurple/plugins/autoaccept.c libpurple/plugins/ciphertest.c libpurple/plugins/filectl.c libpurple/plugins/idle.c libpurple/plugins/log_reader.c libpurple/plugins/one_time_password.c libpurple/plugins/perl/common/Account.xs libpurple/plugins/perl/common/BuddyList.xs libpurple/plugins/perl/common/Cipher.xs libpurple/plugins/perl/common/Connection.xs libpurple/plugins/perl/common/MANIFEST libpurple/plugins/perl/common/Makefile.mingw libpurple/plugins/perl/common/Prpl.xs libpurple/plugins/perl/common/Status.xs libpurple/plugins/perl/common/Util.xs libpurple/plugins/perl/common/module.h libpurple/plugins/perl/common/typemap libpurple/plugins/signals-test.c libpurple/plugins/tcl/tcl_cmds.c libpurple/plugins/tcl/tcl_signals.c libpurple/pounce.c libpurple/protocols/bonjour/Makefile.mingw libpurple/protocols/bonjour/bonjour.c libpurple/protocols/bonjour/bonjour_ft.c libpurple/protocols/bonjour/buddy.c libpurple/protocols/bonjour/jabber.c libpurple/protocols/bonjour/mdns_avahi.c libpurple/protocols/bonjour/mdns_win32.c libpurple/protocols/gg/Makefile.am libpurple/protocols/gg/Makefile.mingw libpurple/protocols/gg/buddylist.c libpurple/protocols/gg/confer.c libpurple/protocols/gg/gg.c libpurple/protocols/gg/search.c libpurple/protocols/irc/Makefile.mingw libpurple/protocols/irc/cmds.c libpurple/protocols/irc/dcc_send.c libpurple/protocols/irc/irc.c libpurple/protocols/irc/msgs.c libpurple/protocols/irc/parse.c libpurple/protocols/jabber/adhoccommands.c libpurple/protocols/jabber/auth.c libpurple/protocols/jabber/buddy.c libpurple/protocols/jabber/caps.c libpurple/protocols/jabber/caps.h libpurple/protocols/jabber/chat.c libpurple/protocols/jabber/data.c libpurple/protocols/jabber/data.h libpurple/protocols/jabber/disco.c libpurple/protocols/jabber/google.c libpurple/protocols/jabber/ibb.c libpurple/protocols/jabber/ibb.h libpurple/protocols/jabber/jabber.c libpurple/protocols/jabber/jutil.c libpurple/protocols/jabber/message.c libpurple/protocols/jabber/oob.c libpurple/protocols/jabber/presence.c libpurple/protocols/jabber/roster.c libpurple/protocols/jabber/si.c libpurple/protocols/jabber/usermood.c libpurple/protocols/jabber/usernick.c libpurple/protocols/jabber/usertune.c libpurple/protocols/msn/Makefile.mingw libpurple/protocols/msn/contact.c libpurple/protocols/msn/dialog.c libpurple/protocols/msn/error.c libpurple/protocols/msn/httpconn.c libpurple/protocols/msn/msg.c libpurple/protocols/msn/msn.c libpurple/protocols/msn/msn.h libpurple/protocols/msn/msnutils.c libpurple/protocols/msn/nexus.c libpurple/protocols/msn/notification.c libpurple/protocols/msn/object.c libpurple/protocols/msn/oim.c libpurple/protocols/msn/servconn.c libpurple/protocols/msn/session.c libpurple/protocols/msn/slp.c libpurple/protocols/msn/slplink.c libpurple/protocols/msn/switchboard.c libpurple/protocols/msn/sync.c libpurple/protocols/msn/user.c libpurple/protocols/msn/userlist.c libpurple/protocols/myspace/Makefile.mingw libpurple/protocols/myspace/myspace.c libpurple/protocols/myspace/myspace.h libpurple/protocols/myspace/user.c libpurple/protocols/myspace/zap.c libpurple/protocols/novell/Makefile.mingw libpurple/protocols/novell/novell.c libpurple/protocols/null/Makefile.mingw libpurple/protocols/null/nullprpl.c libpurple/protocols/oscar/Makefile.mingw libpurple/protocols/oscar/clientlogin.c libpurple/protocols/oscar/family_auth.c libpurple/protocols/oscar/family_oservice.c libpurple/protocols/oscar/flap_connection.c libpurple/protocols/oscar/oscar.c libpurple/protocols/qq/Makefile.mingw libpurple/protocols/qq/buddy_info.c libpurple/protocols/qq/buddy_list.c libpurple/protocols/qq/buddy_memo.c libpurple/protocols/qq/buddy_opt.c libpurple/protocols/qq/file_trans.c libpurple/protocols/qq/group.c libpurple/protocols/qq/group_im.c libpurple/protocols/qq/group_info.c libpurple/protocols/qq/group_internal.c libpurple/protocols/qq/group_join.c libpurple/protocols/qq/group_opt.c libpurple/protocols/qq/im.c libpurple/protocols/qq/qq.c libpurple/protocols/qq/qq_base.c libpurple/protocols/qq/qq_network.c libpurple/protocols/qq/qq_process.c libpurple/protocols/qq/qq_trans.c libpurple/protocols/qq/send_file.c libpurple/protocols/qq/utils.c libpurple/protocols/sametime/Makefile.mingw libpurple/protocols/sametime/sametime.c libpurple/protocols/silc/Makefile.mingw libpurple/protocols/silc/buddy.c libpurple/protocols/silc/chat.c libpurple/protocols/silc/ft.c libpurple/protocols/silc/ops.c libpurple/protocols/silc/pk.c libpurple/protocols/silc/silc.c libpurple/protocols/silc/util.c libpurple/protocols/silc/wb.c libpurple/protocols/silc10/buddy.c libpurple/protocols/silc10/chat.c libpurple/protocols/silc10/ft.c libpurple/protocols/silc10/ops.c libpurple/protocols/silc10/silc.c libpurple/protocols/silc10/util.c libpurple/protocols/simple/Makefile.mingw libpurple/protocols/simple/simple.c libpurple/protocols/yahoo/Makefile.mingw libpurple/protocols/yahoo/libymsg.c libpurple/protocols/yahoo/util.c libpurple/protocols/yahoo/yahoo_aliases.c libpurple/protocols/yahoo/yahoo_doodle.c libpurple/protocols/yahoo/yahoo_filexfer.c libpurple/protocols/yahoo/yahoo_friend.c libpurple/protocols/yahoo/yahoo_picture.c libpurple/protocols/yahoo/yahoo_profile.c libpurple/protocols/yahoo/yahoochat.c libpurple/protocols/yahoo/ycht.c libpurple/protocols/zephyr/zephyr.c libpurple/proxy.c libpurple/prpl.c libpurple/prpl.h libpurple/purple.h.in libpurple/savedstatuses.c libpurple/server.c libpurple/server.h libpurple/signals.c libpurple/signals.h libpurple/status.c libpurple/status.h libpurple/tests/check_libpurple.c libpurple/tests/test_cipher.c libpurple/util.c libpurple/util.h libpurple/value.c libpurple/value.h libpurple/win32/global.mak pidgin/Makefile.am pidgin/gtkaccount.c pidgin/gtkblist.c pidgin/gtkblist.h pidgin/gtkconn.c pidgin/gtkconv.c pidgin/gtkdialogs.c pidgin/gtkdocklet.c pidgin/gtkimhtml.c pidgin/gtklog.c pidgin/gtkmain.c pidgin/gtknotify.c pidgin/gtkpounce.c pidgin/gtkprefs.c pidgin/gtkprivacy.c pidgin/gtkroomlist.c pidgin/gtksound.c pidgin/gtkstatusbox.c pidgin/gtkutils.c pidgin/plugins/cap/cap.c pidgin/plugins/disco/xmppdisco.c pidgin/plugins/gevolution/gevolution.c pidgin/plugins/gtk-signals-test.c pidgin/plugins/history.c pidgin/plugins/mailchk.c pidgin/plugins/perl/common/GtkBlist.xs pidgin/plugins/pidgininc.c pidgin/plugins/raw.c pidgin/plugins/relnot.c pidgin/plugins/themeedit-icon.c pidgin/plugins/themeedit.c pidgin/plugins/ticker/ticker.c pidgin/plugins/xmppconsole.c po/ChangeLog po/POTFILES.in po/af.po po/bn.po po/ca.po po/ca at valencia.po po/cs.po po/de.po po/hu.po po/it.po po/mr.po po/nn.po po/pl.po po/ro.po po/sk.po po/sl.po po/sq.po po/uk.po po/zh_HK.po po/zh_TW.po ChangeLog: explicit merge of '32fe1057ca848b424a0de8df380081e61a62db3b' and '120eaa1b1898d09118a9fbb8262652c9d8f39081' From qulogic at pidgin.im Wed Jun 9 01:28:22 2010 From: qulogic at pidgin.im (qulogic at pidgin.im) Date: Wed, 9 Jun 2010 01:28:22 -0400 (EDT) Subject: gobjectification: 6597c868: explicit merge of 'ff023a0aed06832bf667b... Message-ID: <20100609052822.EB0335BD00DE@rock.pidgin.im> ----------------------------------------------------------------- Revision: 6597c8683801d91dc7d74e7956e42030fde55e84 Ancestor: 83574b20c53024ff81de77f58e18dd89426256e6 Ancestor: ff023a0aed06832bf667b55ff98b9192d9f7f9bd Author: qulogic at pidgin.im Date: 2010-06-08T06:53:38 Branch: im.pidgin.gobjectification URL: http://d.pidgin.im/viewmtn/revision/info/6597c8683801d91dc7d74e7956e42030fde55e84 Added files: doc/hierarchy.dot libpurple/accountmanager.c libpurple/accountmanager.h libpurple/blist-node.c libpurple/blist-node.h libpurple/buddy.c libpurple/buddy.h libpurple/chat.c libpurple/chat.h libpurple/contact.c libpurple/contact.h libpurple/des3cipher.c libpurple/des3cipher.h libpurple/descipher.c libpurple/descipher.h libpurple/ghash.c libpurple/ghash.h libpurple/group.c libpurple/group.h libpurple/gsignal.c libpurple/gsignal.h libpurple/hash.c libpurple/hash.h libpurple/hmaccipher.c libpurple/hmaccipher.h libpurple/md4hash.c libpurple/md4hash.h libpurple/md5cipher.c libpurple/md5cipher.h libpurple/plugins/perl/common/Hash.xs libpurple/pobject.c libpurple/pobject.h libpurple/rc4cipher.c libpurple/rc4cipher.h libpurple/sha1cipher.c libpurple/sha1cipher.h libpurple/sha256cipher.c libpurple/sha256cipher.h Modified files: COPYRIGHT ChangeLog ChangeLog.API ChangeLog.win32 Makefile.mingw acinclude.m4 configure.ac finch/finch.c finch/finch.h finch/gntaccount.c finch/gntblist.c finch/gntconn.c finch/gntconv.c finch/gntlog.c finch/gntpounce.c finch/gntrequest.c finch/gntsound.c finch/gntui.c finch/plugins/gnthistory.c finch/plugins/grouping.c libpurple/Makefile.am libpurple/Makefile.mingw libpurple/account.c libpurple/account.h libpurple/blist.c libpurple/blist.h libpurple/buddyicon.c libpurple/cipher.c libpurple/cipher.h libpurple/connection.c libpurple/connection.h libpurple/conversation.c libpurple/conversation.h libpurple/core.c libpurple/dbus-analyze-functions.py libpurple/dbus-define-api.h libpurple/dbus-server.c libpurple/dbus-useful.c libpurple/dbus-useful.h libpurple/example/nullclient.c libpurple/idle.c libpurple/internal.h libpurple/log.c libpurple/marshallers.list libpurple/network.c libpurple/ntlm.c libpurple/plugins/Makefile.am libpurple/plugins/autoaccept.c libpurple/plugins/ciphertest.c libpurple/plugins/filectl.c libpurple/plugins/idle.c libpurple/plugins/log_reader.c libpurple/plugins/one_time_password.c libpurple/plugins/perl/common/Account.xs libpurple/plugins/perl/common/BuddyList.xs libpurple/plugins/perl/common/Cipher.xs libpurple/plugins/perl/common/Connection.xs libpurple/plugins/perl/common/MANIFEST libpurple/plugins/perl/common/Makefile.mingw libpurple/plugins/perl/common/Prpl.xs libpurple/plugins/perl/common/Status.xs libpurple/plugins/perl/common/Util.xs libpurple/plugins/perl/common/module.h libpurple/plugins/perl/common/typemap libpurple/plugins/signals-test.c libpurple/plugins/tcl/tcl_cmds.c libpurple/plugins/tcl/tcl_signals.c libpurple/pounce.c libpurple/protocols/bonjour/Makefile.mingw libpurple/protocols/bonjour/bonjour.c libpurple/protocols/bonjour/bonjour_ft.c libpurple/protocols/bonjour/buddy.c libpurple/protocols/bonjour/jabber.c libpurple/protocols/bonjour/mdns_avahi.c libpurple/protocols/bonjour/mdns_win32.c libpurple/protocols/gg/Makefile.mingw libpurple/protocols/gg/buddylist.c libpurple/protocols/gg/confer.c libpurple/protocols/gg/gg.c libpurple/protocols/gg/search.c libpurple/protocols/irc/Makefile.mingw libpurple/protocols/irc/cmds.c libpurple/protocols/irc/dcc_send.c libpurple/protocols/irc/irc.c libpurple/protocols/irc/msgs.c libpurple/protocols/irc/parse.c libpurple/protocols/jabber/adhoccommands.c libpurple/protocols/jabber/auth.c libpurple/protocols/jabber/buddy.c libpurple/protocols/jabber/caps.c libpurple/protocols/jabber/caps.h libpurple/protocols/jabber/chat.c libpurple/protocols/jabber/disco.c libpurple/protocols/jabber/google.c libpurple/protocols/jabber/jabber.c libpurple/protocols/jabber/jabber.h libpurple/protocols/jabber/jutil.c libpurple/protocols/jabber/libxmpp.c libpurple/protocols/jabber/message.c libpurple/protocols/jabber/namespaces.h libpurple/protocols/jabber/oob.c libpurple/protocols/jabber/parser.c libpurple/protocols/jabber/presence.c libpurple/protocols/jabber/roster.c libpurple/protocols/jabber/si.c libpurple/protocols/jabber/usermood.c libpurple/protocols/jabber/usernick.c libpurple/protocols/jabber/usertune.c libpurple/protocols/msn/Makefile.mingw libpurple/protocols/msn/contact.c libpurple/protocols/msn/dialog.c libpurple/protocols/msn/error.c libpurple/protocols/msn/httpconn.c libpurple/protocols/msn/msg.c libpurple/protocols/msn/msn.c libpurple/protocols/msn/msn.h libpurple/protocols/msn/msnutils.c libpurple/protocols/msn/nexus.c libpurple/protocols/msn/notification.c libpurple/protocols/msn/object.c libpurple/protocols/msn/oim.c libpurple/protocols/msn/servconn.c libpurple/protocols/msn/session.c libpurple/protocols/msn/slp.c libpurple/protocols/msn/switchboard.c libpurple/protocols/msn/sync.c libpurple/protocols/msn/user.c libpurple/protocols/msn/userlist.c libpurple/protocols/myspace/Makefile.mingw libpurple/protocols/myspace/myspace.c libpurple/protocols/myspace/myspace.h libpurple/protocols/myspace/user.c libpurple/protocols/myspace/zap.c libpurple/protocols/novell/Makefile.mingw libpurple/protocols/novell/novell.c libpurple/protocols/null/Makefile.mingw libpurple/protocols/null/nullprpl.c libpurple/protocols/oscar/Makefile.mingw libpurple/protocols/oscar/clientlogin.c libpurple/protocols/oscar/family_auth.c libpurple/protocols/oscar/family_oservice.c libpurple/protocols/oscar/flap_connection.c libpurple/protocols/oscar/libaim.c libpurple/protocols/oscar/libicq.c libpurple/protocols/oscar/oscar.c libpurple/protocols/qq/Makefile.mingw libpurple/protocols/qq/buddy_info.c libpurple/protocols/qq/buddy_list.c libpurple/protocols/qq/buddy_memo.c libpurple/protocols/qq/buddy_opt.c libpurple/protocols/qq/file_trans.c libpurple/protocols/qq/group.c libpurple/protocols/qq/group_im.c libpurple/protocols/qq/group_info.c libpurple/protocols/qq/group_internal.c libpurple/protocols/qq/group_join.c libpurple/protocols/qq/group_opt.c libpurple/protocols/qq/im.c libpurple/protocols/qq/qq.c libpurple/protocols/qq/qq_base.c libpurple/protocols/qq/qq_network.c libpurple/protocols/qq/qq_process.c libpurple/protocols/qq/qq_trans.c libpurple/protocols/qq/send_file.c libpurple/protocols/qq/utils.c libpurple/protocols/sametime/Makefile.mingw libpurple/protocols/sametime/sametime.c libpurple/protocols/silc/Makefile.mingw libpurple/protocols/silc/buddy.c libpurple/protocols/silc/chat.c libpurple/protocols/silc/ft.c libpurple/protocols/silc/ops.c libpurple/protocols/silc/pk.c libpurple/protocols/silc/silc.c libpurple/protocols/silc/util.c libpurple/protocols/silc/wb.c libpurple/protocols/silc10/buddy.c libpurple/protocols/silc10/chat.c libpurple/protocols/silc10/ft.c libpurple/protocols/silc10/ops.c libpurple/protocols/silc10/silc.c libpurple/protocols/silc10/util.c libpurple/protocols/simple/Makefile.mingw libpurple/protocols/simple/simple.c libpurple/protocols/yahoo/Makefile.mingw libpurple/protocols/yahoo/libymsg.c libpurple/protocols/yahoo/libymsg.h libpurple/protocols/yahoo/util.c libpurple/protocols/yahoo/yahoo_aliases.c libpurple/protocols/yahoo/yahoo_doodle.c libpurple/protocols/yahoo/yahoo_filexfer.c libpurple/protocols/yahoo/yahoo_friend.c libpurple/protocols/yahoo/yahoo_picture.c libpurple/protocols/yahoo/yahoo_profile.c libpurple/protocols/yahoo/yahoochat.c libpurple/protocols/yahoo/ycht.c libpurple/protocols/zephyr/zephyr.c libpurple/proxy.c libpurple/prpl.c libpurple/purple.h.in libpurple/savedstatuses.c libpurple/server.c libpurple/server.h libpurple/signals.c libpurple/signals.h libpurple/status.c libpurple/status.h libpurple/tests/check_libpurple.c libpurple/tests/test_cipher.c libpurple/util.c libpurple/util.h libpurple/value.c libpurple/value.h libpurple/win32/global.mak libpurple/win32/rules.mak pidgin/Makefile.am pidgin/gtkaccount.c pidgin/gtkblist.c pidgin/gtkblist.h pidgin/gtkconn.c pidgin/gtkconv.c pidgin/gtkdialogs.c pidgin/gtkdocklet.c pidgin/gtkimhtml.c pidgin/gtklog.c pidgin/gtkmain.c pidgin/gtknotify.c pidgin/gtkpounce.c pidgin/gtkprefs.c pidgin/gtkprivacy.c pidgin/gtkroomlist.c pidgin/gtksound.c pidgin/gtkstatusbox.c pidgin/gtkutils.c pidgin/plugins/cap/cap.c pidgin/plugins/disco/xmppdisco.c pidgin/plugins/gevolution/gevo-util.c pidgin/plugins/gevolution/gevolution.c pidgin/plugins/gtk-signals-test.c pidgin/plugins/history.c pidgin/plugins/mailchk.c pidgin/plugins/perl/common/GtkBlist.xs pidgin/plugins/perl/common/Makefile.mingw pidgin/plugins/pidgininc.c pidgin/plugins/raw.c pidgin/plugins/relnot.c pidgin/plugins/themeedit-icon.c pidgin/plugins/themeedit.c pidgin/plugins/ticker/ticker.c pidgin/plugins/xmppconsole.c pidgin/win32/nsis/generate_gtk_zip.sh pidgin/win32/winpidgin.c pidgin/win32/wspell.c po/POTFILES.in ChangeLog: explicit merge of 'ff023a0aed06832bf667b55ff98b9192d9f7f9bd' and '83574b20c53024ff81de77f58e18dd89426256e6' From qulogic at pidgin.im Wed Jun 9 01:28:23 2010 From: qulogic at pidgin.im (qulogic at pidgin.im) Date: Wed, 9 Jun 2010 01:28:23 -0400 (EDT) Subject: gobjectification: 723d062c: Fix GG warning. Message-ID: <20100609052823.5B1E45BD00E1@rock.pidgin.im> ----------------------------------------------------------------- Revision: 723d062c831c032fb7ab2c2af6709da312eccb3c Ancestor: c5ca0fbfb51d1b3c0335d2eb9df960495ec17ca9 Author: qulogic at pidgin.im Date: 2010-06-09T04:51:10 Branch: im.pidgin.gobjectification URL: http://d.pidgin.im/viewmtn/revision/info/723d062c831c032fb7ab2c2af6709da312eccb3c Modified files: libpurple/protocols/gg/gg.c ChangeLog: Fix GG warning. -------------- next part -------------- ============================================================ --- libpurple/protocols/gg/gg.c 8258afde8236181f52040a7d5b8069310bafcd36 +++ libpurple/protocols/gg/gg.c 1efcb59b2de6449e269fa4e8623d5aaf70b96565 @@ -1858,7 +1858,7 @@ static GList *ggp_status_types(PurpleAcc */ type = purple_status_type_new_with_attrs( PURPLE_STATUS_UNAVAILABLE, NULL, NULL, TRUE, TRUE, FALSE, - "message", _("Message"), purple_value_new(PURPLE_TYPE_STRING), + "message", _("Message"), purple_g_value_slice_new(G_TYPE_STRING), NULL); types = g_list_append(types, type); From qulogic at pidgin.im Wed Jun 9 01:28:30 2010 From: qulogic at pidgin.im (qulogic at pidgin.im) Date: Wed, 9 Jun 2010 01:28:30 -0400 (EDT) Subject: gobjectification: 74fba26c: explicit merge of '865afa7130542051d98f8... Message-ID: <20100609052831.A87015BD00E6@rock.pidgin.im> ----------------------------------------------------------------- Revision: 74fba26cf88362a10729c3849697ff78c77f0d43 Ancestor: 0d3bc7b89ef74c2ea22de5a6607b89b0bdf6a0bb Ancestor: 865afa7130542051d98f8e39bf3e0e6d8c70402c Author: qulogic at pidgin.im Date: 2010-06-06T00:31:23 Branch: im.pidgin.gobjectification URL: http://d.pidgin.im/viewmtn/revision/info/74fba26cf88362a10729c3849697ff78c77f0d43 Added files: doc/hierarchy.dot libpurple/accountmanager.c libpurple/accountmanager.h libpurple/blist-node.c libpurple/blist-node.h libpurple/buddy.c libpurple/buddy.h libpurple/chat.c libpurple/chat.h libpurple/contact.c libpurple/contact.h libpurple/des3cipher.c libpurple/des3cipher.h libpurple/descipher.c libpurple/descipher.h libpurple/ghash.c libpurple/ghash.h libpurple/group.c libpurple/group.h libpurple/gsignal.c libpurple/gsignal.h libpurple/hash.c libpurple/hash.h libpurple/hmaccipher.c libpurple/hmaccipher.h libpurple/md4hash.c libpurple/md4hash.h libpurple/md5cipher.c libpurple/md5cipher.h libpurple/plugins/perl/common/Hash.xs libpurple/pobject.c libpurple/pobject.h libpurple/rc4cipher.c libpurple/rc4cipher.h libpurple/sha1cipher.c libpurple/sha1cipher.h libpurple/sha256cipher.c libpurple/sha256cipher.h Modified files: COPYRIGHT acinclude.m4 configure.ac finch/finch.c finch/finch.h finch/gntaccount.c finch/gntblist.c finch/gntconn.c finch/gntconv.c finch/gntlog.c finch/gntpounce.c finch/gntrequest.c finch/gntsound.c finch/gntui.c finch/plugins/gnthistory.c finch/plugins/grouping.c libpurple/Makefile.am libpurple/Makefile.mingw libpurple/account.c libpurple/account.h libpurple/blist.c libpurple/blist.h libpurple/buddyicon.c libpurple/cipher.c libpurple/cipher.h libpurple/connection.c libpurple/connection.h libpurple/conversation.c libpurple/conversation.h libpurple/core.c libpurple/dbus-analyze-functions.py libpurple/dbus-define-api.h libpurple/dbus-server.c libpurple/dbus-useful.c libpurple/dbus-useful.h libpurple/example/nullclient.c libpurple/idle.c libpurple/internal.h libpurple/log.c libpurple/marshallers.list libpurple/network.c libpurple/ntlm.c libpurple/plugins/Makefile.am libpurple/plugins/autoaccept.c libpurple/plugins/ciphertest.c libpurple/plugins/filectl.c libpurple/plugins/idle.c libpurple/plugins/log_reader.c libpurple/plugins/one_time_password.c libpurple/plugins/perl/common/Account.xs libpurple/plugins/perl/common/BuddyList.xs libpurple/plugins/perl/common/Cipher.xs libpurple/plugins/perl/common/Connection.xs libpurple/plugins/perl/common/MANIFEST libpurple/plugins/perl/common/Makefile.mingw libpurple/plugins/perl/common/Prpl.xs libpurple/plugins/perl/common/Status.xs libpurple/plugins/perl/common/Util.xs libpurple/plugins/perl/common/module.h libpurple/plugins/perl/common/typemap libpurple/plugins/signals-test.c libpurple/plugins/tcl/tcl_cmds.c libpurple/plugins/tcl/tcl_signals.c libpurple/pounce.c libpurple/protocols/bonjour/Makefile.mingw libpurple/protocols/bonjour/bonjour.c libpurple/protocols/bonjour/bonjour_ft.c libpurple/protocols/bonjour/buddy.c libpurple/protocols/bonjour/jabber.c libpurple/protocols/bonjour/mdns_avahi.c libpurple/protocols/bonjour/mdns_win32.c libpurple/protocols/gg/Makefile.mingw libpurple/protocols/gg/buddylist.c libpurple/protocols/gg/confer.c libpurple/protocols/gg/gg.c libpurple/protocols/gg/search.c libpurple/protocols/irc/Makefile.mingw libpurple/protocols/irc/cmds.c libpurple/protocols/irc/dcc_send.c libpurple/protocols/irc/irc.c libpurple/protocols/irc/msgs.c libpurple/protocols/irc/parse.c libpurple/protocols/jabber/adhoccommands.c libpurple/protocols/jabber/auth.c libpurple/protocols/jabber/buddy.c libpurple/protocols/jabber/caps.c libpurple/protocols/jabber/caps.h libpurple/protocols/jabber/chat.c libpurple/protocols/jabber/disco.c libpurple/protocols/jabber/google.c libpurple/protocols/jabber/jabber.c libpurple/protocols/jabber/jutil.c libpurple/protocols/jabber/message.c libpurple/protocols/jabber/oob.c libpurple/protocols/jabber/presence.c libpurple/protocols/jabber/roster.c libpurple/protocols/jabber/si.c libpurple/protocols/jabber/usermood.c libpurple/protocols/jabber/usernick.c libpurple/protocols/jabber/usertune.c libpurple/protocols/msn/Makefile.mingw libpurple/protocols/msn/contact.c libpurple/protocols/msn/dialog.c libpurple/protocols/msn/error.c libpurple/protocols/msn/httpconn.c libpurple/protocols/msn/msg.c libpurple/protocols/msn/msn.c libpurple/protocols/msn/msn.h libpurple/protocols/msn/msnutils.c libpurple/protocols/msn/nexus.c libpurple/protocols/msn/notification.c libpurple/protocols/msn/object.c libpurple/protocols/msn/oim.c libpurple/protocols/msn/servconn.c libpurple/protocols/msn/session.c libpurple/protocols/msn/slp.c libpurple/protocols/msn/switchboard.c libpurple/protocols/msn/sync.c libpurple/protocols/msn/user.c libpurple/protocols/msn/userlist.c libpurple/protocols/msnp9/Makefile.mingw libpurple/protocols/msnp9/dialog.c libpurple/protocols/msnp9/error.c libpurple/protocols/msnp9/msn.c libpurple/protocols/msnp9/msn.h libpurple/protocols/msnp9/nexus.c libpurple/protocols/msnp9/notification.c libpurple/protocols/msnp9/object.c libpurple/protocols/msnp9/servconn.c libpurple/protocols/msnp9/session.c libpurple/protocols/msnp9/slp.c libpurple/protocols/msnp9/switchboard.c libpurple/protocols/msnp9/sync.c libpurple/protocols/msnp9/userlist.c libpurple/protocols/myspace/Makefile.mingw libpurple/protocols/myspace/myspace.c libpurple/protocols/myspace/myspace.h libpurple/protocols/myspace/user.c libpurple/protocols/myspace/zap.c libpurple/protocols/novell/Makefile.mingw libpurple/protocols/novell/novell.c libpurple/protocols/null/Makefile.mingw libpurple/protocols/null/nullprpl.c libpurple/protocols/oscar/Makefile.mingw libpurple/protocols/oscar/clientlogin.c libpurple/protocols/oscar/family_auth.c libpurple/protocols/oscar/family_oservice.c libpurple/protocols/oscar/flap_connection.c libpurple/protocols/oscar/oscar.c libpurple/protocols/qq/Makefile.mingw libpurple/protocols/qq/buddy_info.c libpurple/protocols/qq/buddy_list.c libpurple/protocols/qq/buddy_memo.c libpurple/protocols/qq/buddy_opt.c libpurple/protocols/qq/file_trans.c libpurple/protocols/qq/group.c libpurple/protocols/qq/group_im.c libpurple/protocols/qq/group_info.c libpurple/protocols/qq/group_internal.c libpurple/protocols/qq/group_join.c libpurple/protocols/qq/group_opt.c libpurple/protocols/qq/im.c libpurple/protocols/qq/qq.c libpurple/protocols/qq/qq_base.c libpurple/protocols/qq/qq_network.c libpurple/protocols/qq/qq_process.c libpurple/protocols/qq/qq_trans.c libpurple/protocols/qq/send_file.c libpurple/protocols/qq/utils.c libpurple/protocols/sametime/Makefile.mingw libpurple/protocols/sametime/sametime.c libpurple/protocols/silc/Makefile.mingw libpurple/protocols/silc/buddy.c libpurple/protocols/silc/chat.c libpurple/protocols/silc/ft.c libpurple/protocols/silc/ops.c libpurple/protocols/silc/pk.c libpurple/protocols/silc/silc.c libpurple/protocols/silc/util.c libpurple/protocols/silc/wb.c libpurple/protocols/silc10/buddy.c libpurple/protocols/silc10/chat.c libpurple/protocols/silc10/ft.c libpurple/protocols/silc10/ops.c libpurple/protocols/silc10/silc.c libpurple/protocols/silc10/util.c libpurple/protocols/simple/Makefile.mingw libpurple/protocols/simple/simple.c libpurple/protocols/yahoo/Makefile.mingw libpurple/protocols/yahoo/libymsg.c libpurple/protocols/yahoo/util.c libpurple/protocols/yahoo/yahoo_aliases.c libpurple/protocols/yahoo/yahoo_doodle.c libpurple/protocols/yahoo/yahoo_filexfer.c libpurple/protocols/yahoo/yahoo_friend.c libpurple/protocols/yahoo/yahoo_picture.c libpurple/protocols/yahoo/yahoo_profile.c libpurple/protocols/yahoo/yahoochat.c libpurple/protocols/yahoo/ycht.c libpurple/protocols/zephyr/zephyr.c libpurple/proxy.c libpurple/prpl.c libpurple/purple.h.in libpurple/savedstatuses.c libpurple/server.c libpurple/server.h libpurple/signals.c libpurple/signals.h libpurple/status.c libpurple/status.h libpurple/tests/check_libpurple.c libpurple/tests/test_cipher.c libpurple/util.c libpurple/util.h libpurple/value.c libpurple/value.h libpurple/win32/global.mak pidgin/Makefile.am pidgin/gtkaccount.c pidgin/gtkblist.c pidgin/gtkblist.h pidgin/gtkconn.c pidgin/gtkconv.c pidgin/gtkdialogs.c pidgin/gtkdocklet.c pidgin/gtkimhtml.c pidgin/gtklog.c pidgin/gtkmain.c pidgin/gtknotify.c pidgin/gtkpounce.c pidgin/gtkprefs.c pidgin/gtkprivacy.c pidgin/gtkroomlist.c pidgin/gtksound.c pidgin/gtkstatusbox.c pidgin/gtkutils.c pidgin/plugins/cap/cap.c pidgin/plugins/disco/xmppdisco.c pidgin/plugins/gevolution/gevo-util.c pidgin/plugins/gevolution/gevolution.c pidgin/plugins/gtk-signals-test.c pidgin/plugins/history.c pidgin/plugins/mailchk.c pidgin/plugins/perl/common/GtkBlist.xs pidgin/plugins/pidgininc.c pidgin/plugins/raw.c pidgin/plugins/relnot.c pidgin/plugins/themeedit-icon.c pidgin/plugins/themeedit.c pidgin/plugins/ticker/ticker.c pidgin/plugins/xmppconsole.c po/POTFILES.in ChangeLog: explicit merge of '865afa7130542051d98f8e39bf3e0e6d8c70402c' and '0d3bc7b89ef74c2ea22de5a6607b89b0bdf6a0bb' From qulogic at pidgin.im Wed Jun 9 01:28:36 2010 From: qulogic at pidgin.im (qulogic at pidgin.im) Date: Wed, 9 Jun 2010 01:28:36 -0400 (EDT) Subject: gobjectification: 75a78a11: explicit merge of 'aada73f0d8a35997280d5... Message-ID: <20100609052843.1B43F5BD00EF@rock.pidgin.im> ----------------------------------------------------------------- Revision: 75a78a11d32607458de1c6666bd812a5058ca84d Ancestor: 0e94570097ea4629b61e98655860b129ff5d03e4 Ancestor: aada73f0d8a35997280d570f47caf30907fe68df Author: qulogic at pidgin.im Date: 2010-06-07T05:14:05 Branch: im.pidgin.gobjectification URL: http://d.pidgin.im/viewmtn/revision/info/75a78a11d32607458de1c6666bd812a5058ca84d Added files: doc/hierarchy.dot libpurple/accountmanager.c libpurple/accountmanager.h libpurple/blist-node.c libpurple/blist-node.h libpurple/buddy.c libpurple/buddy.h libpurple/chat.c libpurple/chat.h libpurple/contact.c libpurple/contact.h libpurple/des3cipher.c libpurple/des3cipher.h libpurple/descipher.c libpurple/descipher.h libpurple/ghash.c libpurple/ghash.h libpurple/group.c libpurple/group.h libpurple/gsignal.c libpurple/gsignal.h libpurple/hash.c libpurple/hash.h libpurple/hmaccipher.c libpurple/hmaccipher.h libpurple/md4hash.c libpurple/md4hash.h libpurple/md5cipher.c libpurple/md5cipher.h libpurple/plugins/perl/common/Hash.xs libpurple/pobject.c libpurple/pobject.h libpurple/rc4cipher.c libpurple/rc4cipher.h libpurple/sha1cipher.c libpurple/sha1cipher.h libpurple/sha256cipher.c libpurple/sha256cipher.h Modified files: COPYRIGHT ChangeLog ChangeLog.API ChangeLog.win32 NEWS acinclude.m4 configure.ac finch/finch.c finch/finch.h finch/gntaccount.c finch/gntblist.c finch/gntconn.c finch/gntconv.c finch/gntlog.c finch/gntpounce.c finch/gntrequest.c finch/gntsound.c finch/gntui.c finch/plugins/gnthistory.c finch/plugins/grouping.c libpurple/Makefile.am libpurple/Makefile.mingw libpurple/account.c libpurple/account.h libpurple/blist.c libpurple/blist.h libpurple/buddyicon.c libpurple/cipher.c libpurple/cipher.h libpurple/connection.c libpurple/connection.h libpurple/conversation.c libpurple/conversation.h libpurple/core.c libpurple/dbus-analyze-functions.py libpurple/dbus-define-api.h libpurple/dbus-server.c libpurple/dbus-useful.c libpurple/dbus-useful.h libpurple/example/nullclient.c libpurple/idle.c libpurple/internal.h libpurple/log.c libpurple/marshallers.list libpurple/network.c libpurple/ntlm.c libpurple/plugins/Makefile.am libpurple/plugins/autoaccept.c libpurple/plugins/ciphertest.c libpurple/plugins/filectl.c libpurple/plugins/idle.c libpurple/plugins/log_reader.c libpurple/plugins/one_time_password.c libpurple/plugins/perl/common/Account.xs libpurple/plugins/perl/common/BuddyList.xs libpurple/plugins/perl/common/Cipher.xs libpurple/plugins/perl/common/Connection.xs libpurple/plugins/perl/common/MANIFEST libpurple/plugins/perl/common/Makefile.mingw libpurple/plugins/perl/common/Prpl.xs libpurple/plugins/perl/common/Status.xs libpurple/plugins/perl/common/Util.xs libpurple/plugins/perl/common/module.h libpurple/plugins/perl/common/typemap libpurple/plugins/signals-test.c libpurple/plugins/tcl/tcl_cmds.c libpurple/plugins/tcl/tcl_signals.c libpurple/pounce.c libpurple/protocols/bonjour/Makefile.mingw libpurple/protocols/bonjour/bonjour.c libpurple/protocols/bonjour/bonjour_ft.c libpurple/protocols/bonjour/buddy.c libpurple/protocols/bonjour/jabber.c libpurple/protocols/bonjour/mdns_avahi.c libpurple/protocols/bonjour/mdns_win32.c libpurple/protocols/gg/Makefile.mingw libpurple/protocols/gg/buddylist.c libpurple/protocols/gg/confer.c libpurple/protocols/gg/gg.c libpurple/protocols/gg/search.c libpurple/protocols/irc/Makefile.mingw libpurple/protocols/irc/cmds.c libpurple/protocols/irc/dcc_send.c libpurple/protocols/irc/irc.c libpurple/protocols/irc/msgs.c libpurple/protocols/irc/parse.c libpurple/protocols/jabber/adhoccommands.c libpurple/protocols/jabber/auth.c libpurple/protocols/jabber/buddy.c libpurple/protocols/jabber/caps.c libpurple/protocols/jabber/caps.h libpurple/protocols/jabber/chat.c libpurple/protocols/jabber/disco.c libpurple/protocols/jabber/google.c libpurple/protocols/jabber/jabber.c libpurple/protocols/jabber/jingle/session.c libpurple/protocols/jabber/jutil.c libpurple/protocols/jabber/jutil.h libpurple/protocols/jabber/message.c libpurple/protocols/jabber/oob.c libpurple/protocols/jabber/parser.c libpurple/protocols/jabber/presence.c libpurple/protocols/jabber/roster.c libpurple/protocols/jabber/si.c libpurple/protocols/jabber/usermood.c libpurple/protocols/jabber/usernick.c libpurple/protocols/jabber/usertune.c libpurple/protocols/msn/Makefile.mingw libpurple/protocols/msn/contact.c libpurple/protocols/msn/dialog.c libpurple/protocols/msn/error.c libpurple/protocols/msn/httpconn.c libpurple/protocols/msn/msg.c libpurple/protocols/msn/msn.c libpurple/protocols/msn/msn.h libpurple/protocols/msn/msnutils.c libpurple/protocols/msn/nexus.c libpurple/protocols/msn/notification.c libpurple/protocols/msn/object.c libpurple/protocols/msn/oim.c libpurple/protocols/msn/servconn.c libpurple/protocols/msn/session.c libpurple/protocols/msn/slp.c libpurple/protocols/msn/switchboard.c libpurple/protocols/msn/sync.c libpurple/protocols/msn/user.c libpurple/protocols/msn/userlist.c libpurple/protocols/msnp9/Makefile.mingw libpurple/protocols/msnp9/dialog.c libpurple/protocols/msnp9/error.c libpurple/protocols/msnp9/msn.c libpurple/protocols/msnp9/msn.h libpurple/protocols/msnp9/nexus.c libpurple/protocols/msnp9/notification.c libpurple/protocols/msnp9/object.c libpurple/protocols/msnp9/servconn.c libpurple/protocols/msnp9/session.c libpurple/protocols/msnp9/slp.c libpurple/protocols/msnp9/switchboard.c libpurple/protocols/msnp9/sync.c libpurple/protocols/msnp9/userlist.c libpurple/protocols/myspace/Makefile.mingw libpurple/protocols/myspace/myspace.c libpurple/protocols/myspace/myspace.h libpurple/protocols/myspace/user.c libpurple/protocols/myspace/zap.c libpurple/protocols/novell/Makefile.mingw libpurple/protocols/novell/novell.c libpurple/protocols/null/Makefile.mingw libpurple/protocols/null/nullprpl.c libpurple/protocols/oscar/Makefile.mingw libpurple/protocols/oscar/clientlogin.c libpurple/protocols/oscar/family_auth.c libpurple/protocols/oscar/family_oservice.c libpurple/protocols/oscar/flap_connection.c libpurple/protocols/oscar/oscar.c libpurple/protocols/qq/Makefile.mingw libpurple/protocols/qq/buddy_info.c libpurple/protocols/qq/buddy_list.c libpurple/protocols/qq/buddy_memo.c libpurple/protocols/qq/buddy_opt.c libpurple/protocols/qq/file_trans.c libpurple/protocols/qq/group.c libpurple/protocols/qq/group_im.c libpurple/protocols/qq/group_info.c libpurple/protocols/qq/group_internal.c libpurple/protocols/qq/group_join.c libpurple/protocols/qq/group_opt.c libpurple/protocols/qq/im.c libpurple/protocols/qq/qq.c libpurple/protocols/qq/qq_base.c libpurple/protocols/qq/qq_network.c libpurple/protocols/qq/qq_process.c libpurple/protocols/qq/qq_trans.c libpurple/protocols/qq/send_file.c libpurple/protocols/qq/utils.c libpurple/protocols/sametime/Makefile.mingw libpurple/protocols/sametime/sametime.c libpurple/protocols/silc/Makefile.mingw libpurple/protocols/silc/buddy.c libpurple/protocols/silc/chat.c libpurple/protocols/silc/ft.c libpurple/protocols/silc/ops.c libpurple/protocols/silc/pk.c libpurple/protocols/silc/silc.c libpurple/protocols/silc/util.c libpurple/protocols/silc/wb.c libpurple/protocols/silc10/buddy.c libpurple/protocols/silc10/chat.c libpurple/protocols/silc10/ft.c libpurple/protocols/silc10/ops.c libpurple/protocols/silc10/silc.c libpurple/protocols/silc10/util.c libpurple/protocols/simple/Makefile.mingw libpurple/protocols/simple/simple.c libpurple/protocols/yahoo/Makefile.mingw libpurple/protocols/yahoo/libymsg.c libpurple/protocols/yahoo/util.c libpurple/protocols/yahoo/yahoo_aliases.c libpurple/protocols/yahoo/yahoo_doodle.c libpurple/protocols/yahoo/yahoo_filexfer.c libpurple/protocols/yahoo/yahoo_friend.c libpurple/protocols/yahoo/yahoo_picture.c libpurple/protocols/yahoo/yahoo_profile.c libpurple/protocols/yahoo/yahoochat.c libpurple/protocols/yahoo/ycht.c libpurple/protocols/zephyr/zephyr.c libpurple/proxy.c libpurple/prpl.c libpurple/purple.h.in libpurple/savedstatuses.c libpurple/server.c libpurple/server.h libpurple/signals.c libpurple/signals.h libpurple/status.c libpurple/status.h libpurple/tests/check_libpurple.c libpurple/tests/test_cipher.c libpurple/util.c libpurple/util.h libpurple/value.c libpurple/value.h libpurple/win32/global.mak libpurple/xmlnode.c pidgin/Makefile.am pidgin/gtkaccount.c pidgin/gtkblist.c pidgin/gtkblist.h pidgin/gtkconn.c pidgin/gtkconv.c pidgin/gtkdialogs.c pidgin/gtkdocklet.c pidgin/gtkimhtml.c pidgin/gtklog.c pidgin/gtkmain.c pidgin/gtknotify.c pidgin/gtkpounce.c pidgin/gtkprefs.c pidgin/gtkprivacy.c pidgin/gtkroomlist.c pidgin/gtksound.c pidgin/gtkstatusbox.c pidgin/gtkutils.c pidgin/plugins/cap/cap.c pidgin/plugins/disco/gtkdisco.c pidgin/plugins/disco/xmppdisco.c pidgin/plugins/gevolution/gevo-util.c pidgin/plugins/gevolution/gevolution.c pidgin/plugins/gtk-signals-test.c pidgin/plugins/history.c pidgin/plugins/mailchk.c pidgin/plugins/perl/common/GtkBlist.xs pidgin/plugins/pidgininc.c pidgin/plugins/raw.c pidgin/plugins/relnot.c pidgin/plugins/themeedit-icon.c pidgin/plugins/themeedit.c pidgin/plugins/ticker/ticker.c pidgin/plugins/xmppconsole.c po/POTFILES.in po/de.po ChangeLog: explicit merge of 'aada73f0d8a35997280d570f47caf30907fe68df' and '0e94570097ea4629b61e98655860b129ff5d03e4' From qulogic at pidgin.im Wed Jun 9 01:28:45 2010 From: qulogic at pidgin.im (qulogic at pidgin.im) Date: Wed, 9 Jun 2010 01:28:45 -0400 (EDT) Subject: gobjectification: 75fd7838: explicit merge of 'f1a655d2ea516fdbd9959... Message-ID: <20100609052846.B94305BD00EC@rock.pidgin.im> ----------------------------------------------------------------- Revision: 75fd7838d436a3174116000e5f92808d63b112c4 Ancestor: 934aff39607597c5a924874fb9a00ffbb4a8a80b Ancestor: f1a655d2ea516fdbd9959af072854c601e839c1c Author: qulogic at pidgin.im Date: 2010-06-07T05:27:32 Branch: im.pidgin.gobjectification URL: http://d.pidgin.im/viewmtn/revision/info/75fd7838d436a3174116000e5f92808d63b112c4 Added files: doc/hierarchy.dot libpurple/accountmanager.c libpurple/accountmanager.h libpurple/blist-node.c libpurple/blist-node.h libpurple/buddy.c libpurple/buddy.h libpurple/chat.c libpurple/chat.h libpurple/contact.c libpurple/contact.h libpurple/des3cipher.c libpurple/des3cipher.h libpurple/descipher.c libpurple/descipher.h libpurple/ghash.c libpurple/ghash.h libpurple/group.c libpurple/group.h libpurple/gsignal.c libpurple/gsignal.h libpurple/hash.c libpurple/hash.h libpurple/hmaccipher.c libpurple/hmaccipher.h libpurple/md4hash.c libpurple/md4hash.h libpurple/md5cipher.c libpurple/md5cipher.h libpurple/plugins/perl/common/Hash.xs libpurple/pobject.c libpurple/pobject.h libpurple/rc4cipher.c libpurple/rc4cipher.h libpurple/sha1cipher.c libpurple/sha1cipher.h libpurple/sha256cipher.c libpurple/sha256cipher.h Modified files: COPYRIGHT acinclude.m4 configure.ac finch/finch.c finch/finch.h finch/gntaccount.c finch/gntblist.c finch/gntconn.c finch/gntconv.c finch/gntlog.c finch/gntpounce.c finch/gntrequest.c finch/gntsound.c finch/gntui.c finch/plugins/gnthistory.c finch/plugins/grouping.c libpurple/Makefile.am libpurple/Makefile.mingw libpurple/account.c libpurple/account.h libpurple/blist.c libpurple/blist.h libpurple/buddyicon.c libpurple/cipher.c libpurple/cipher.h libpurple/connection.c libpurple/connection.h libpurple/conversation.c libpurple/conversation.h libpurple/core.c libpurple/dbus-analyze-functions.py libpurple/dbus-define-api.h libpurple/dbus-server.c libpurple/dbus-useful.c libpurple/dbus-useful.h libpurple/example/nullclient.c libpurple/idle.c libpurple/internal.h libpurple/log.c libpurple/marshallers.list libpurple/network.c libpurple/ntlm.c libpurple/plugins/Makefile.am libpurple/plugins/autoaccept.c libpurple/plugins/ciphertest.c libpurple/plugins/filectl.c libpurple/plugins/idle.c libpurple/plugins/log_reader.c libpurple/plugins/one_time_password.c libpurple/plugins/perl/common/Account.xs libpurple/plugins/perl/common/BuddyList.xs libpurple/plugins/perl/common/Cipher.xs libpurple/plugins/perl/common/Connection.xs libpurple/plugins/perl/common/MANIFEST libpurple/plugins/perl/common/Makefile.mingw libpurple/plugins/perl/common/Prpl.xs libpurple/plugins/perl/common/Status.xs libpurple/plugins/perl/common/Util.xs libpurple/plugins/perl/common/module.h libpurple/plugins/perl/common/typemap libpurple/plugins/signals-test.c libpurple/plugins/tcl/tcl_cmds.c libpurple/plugins/tcl/tcl_signals.c libpurple/pounce.c libpurple/protocols/bonjour/Makefile.mingw libpurple/protocols/bonjour/bonjour.c libpurple/protocols/bonjour/bonjour_ft.c libpurple/protocols/bonjour/buddy.c libpurple/protocols/bonjour/jabber.c libpurple/protocols/bonjour/mdns_avahi.c libpurple/protocols/bonjour/mdns_win32.c libpurple/protocols/gg/Makefile.mingw libpurple/protocols/gg/buddylist.c libpurple/protocols/gg/confer.c libpurple/protocols/gg/gg.c libpurple/protocols/gg/search.c libpurple/protocols/irc/Makefile.mingw libpurple/protocols/irc/cmds.c libpurple/protocols/irc/dcc_send.c libpurple/protocols/irc/irc.c libpurple/protocols/irc/msgs.c libpurple/protocols/irc/parse.c libpurple/protocols/jabber/adhoccommands.c libpurple/protocols/jabber/auth.c libpurple/protocols/jabber/buddy.c libpurple/protocols/jabber/caps.c libpurple/protocols/jabber/caps.h libpurple/protocols/jabber/chat.c libpurple/protocols/jabber/disco.c libpurple/protocols/jabber/google.c libpurple/protocols/jabber/jabber.c libpurple/protocols/jabber/jutil.c libpurple/protocols/jabber/message.c libpurple/protocols/jabber/oob.c libpurple/protocols/jabber/presence.c libpurple/protocols/jabber/roster.c libpurple/protocols/jabber/si.c libpurple/protocols/jabber/usermood.c libpurple/protocols/jabber/usernick.c libpurple/protocols/jabber/usertune.c libpurple/protocols/msn/Makefile.mingw libpurple/protocols/msn/contact.c libpurple/protocols/msn/dialog.c libpurple/protocols/msn/error.c libpurple/protocols/msn/httpconn.c libpurple/protocols/msn/msg.c libpurple/protocols/msn/msn.c libpurple/protocols/msn/msn.h libpurple/protocols/msn/msnutils.c libpurple/protocols/msn/nexus.c libpurple/protocols/msn/notification.c libpurple/protocols/msn/object.c libpurple/protocols/msn/oim.c libpurple/protocols/msn/servconn.c libpurple/protocols/msn/session.c libpurple/protocols/msn/slp.c libpurple/protocols/msn/switchboard.c libpurple/protocols/msn/sync.c libpurple/protocols/msn/user.c libpurple/protocols/msn/userlist.c libpurple/protocols/msnp9/Makefile.mingw libpurple/protocols/msnp9/dialog.c libpurple/protocols/msnp9/error.c libpurple/protocols/msnp9/msn.c libpurple/protocols/msnp9/msn.h libpurple/protocols/msnp9/nexus.c libpurple/protocols/msnp9/notification.c libpurple/protocols/msnp9/object.c libpurple/protocols/msnp9/servconn.c libpurple/protocols/msnp9/session.c libpurple/protocols/msnp9/slp.c libpurple/protocols/msnp9/switchboard.c libpurple/protocols/msnp9/sync.c libpurple/protocols/msnp9/userlist.c libpurple/protocols/myspace/Makefile.mingw libpurple/protocols/myspace/myspace.c libpurple/protocols/myspace/myspace.h libpurple/protocols/myspace/user.c libpurple/protocols/myspace/zap.c libpurple/protocols/novell/Makefile.mingw libpurple/protocols/novell/novell.c libpurple/protocols/null/Makefile.mingw libpurple/protocols/null/nullprpl.c libpurple/protocols/oscar/Makefile.mingw libpurple/protocols/oscar/clientlogin.c libpurple/protocols/oscar/family_auth.c libpurple/protocols/oscar/family_oservice.c libpurple/protocols/oscar/flap_connection.c libpurple/protocols/oscar/oscar.c libpurple/protocols/qq/Makefile.mingw libpurple/protocols/qq/buddy_info.c libpurple/protocols/qq/buddy_list.c libpurple/protocols/qq/buddy_memo.c libpurple/protocols/qq/buddy_opt.c libpurple/protocols/qq/file_trans.c libpurple/protocols/qq/group.c libpurple/protocols/qq/group_im.c libpurple/protocols/qq/group_info.c libpurple/protocols/qq/group_internal.c libpurple/protocols/qq/group_join.c libpurple/protocols/qq/group_opt.c libpurple/protocols/qq/im.c libpurple/protocols/qq/qq.c libpurple/protocols/qq/qq_base.c libpurple/protocols/qq/qq_network.c libpurple/protocols/qq/qq_process.c libpurple/protocols/qq/qq_trans.c libpurple/protocols/qq/send_file.c libpurple/protocols/qq/utils.c libpurple/protocols/sametime/Makefile.mingw libpurple/protocols/sametime/sametime.c libpurple/protocols/silc/Makefile.mingw libpurple/protocols/silc/buddy.c libpurple/protocols/silc/chat.c libpurple/protocols/silc/ft.c libpurple/protocols/silc/ops.c libpurple/protocols/silc/pk.c libpurple/protocols/silc/silc.c libpurple/protocols/silc/util.c libpurple/protocols/silc/wb.c libpurple/protocols/silc10/buddy.c libpurple/protocols/silc10/chat.c libpurple/protocols/silc10/ft.c libpurple/protocols/silc10/ops.c libpurple/protocols/silc10/silc.c libpurple/protocols/silc10/util.c libpurple/protocols/simple/Makefile.mingw libpurple/protocols/simple/simple.c libpurple/protocols/yahoo/Makefile.mingw libpurple/protocols/yahoo/libymsg.c libpurple/protocols/yahoo/util.c libpurple/protocols/yahoo/yahoo_aliases.c libpurple/protocols/yahoo/yahoo_doodle.c libpurple/protocols/yahoo/yahoo_filexfer.c libpurple/protocols/yahoo/yahoo_friend.c libpurple/protocols/yahoo/yahoo_picture.c libpurple/protocols/yahoo/yahoo_profile.c libpurple/protocols/yahoo/yahoochat.c libpurple/protocols/yahoo/ycht.c libpurple/protocols/zephyr/zephyr.c libpurple/proxy.c libpurple/prpl.c libpurple/purple.h.in libpurple/savedstatuses.c libpurple/server.c libpurple/server.h libpurple/signals.c libpurple/signals.h libpurple/status.c libpurple/status.h libpurple/tests/check_libpurple.c libpurple/tests/test_cipher.c libpurple/util.c libpurple/util.h libpurple/value.c libpurple/value.h libpurple/win32/global.mak pidgin/Makefile.am pidgin/gtkaccount.c pidgin/gtkblist.c pidgin/gtkblist.h pidgin/gtkconn.c pidgin/gtkconv.c pidgin/gtkdialogs.c pidgin/gtkdocklet.c pidgin/gtkimhtml.c pidgin/gtklog.c pidgin/gtkmain.c pidgin/gtknotify.c pidgin/gtkpounce.c pidgin/gtkprefs.c pidgin/gtkprivacy.c pidgin/gtkroomlist.c pidgin/gtksound.c pidgin/gtkstatusbox.c pidgin/gtkutils.c pidgin/plugins/cap/cap.c pidgin/plugins/disco/xmppdisco.c pidgin/plugins/gevolution/gevo-util.c pidgin/plugins/gevolution/gevolution.c pidgin/plugins/gtk-signals-test.c pidgin/plugins/history.c pidgin/plugins/mailchk.c pidgin/plugins/perl/common/GtkBlist.xs pidgin/plugins/pidgininc.c pidgin/plugins/raw.c pidgin/plugins/relnot.c pidgin/plugins/themeedit-icon.c pidgin/plugins/themeedit.c pidgin/plugins/ticker/ticker.c pidgin/plugins/xmppconsole.c po/POTFILES.in ChangeLog: explicit merge of 'f1a655d2ea516fdbd9959af072854c601e839c1c' and '934aff39607597c5a924874fb9a00ffbb4a8a80b' From qulogic at pidgin.im Wed Jun 9 01:28:50 2010 From: qulogic at pidgin.im (qulogic at pidgin.im) Date: Wed, 9 Jun 2010 01:28:50 -0400 (EDT) Subject: gobjectification: 76b6bf5f: explicit merge of 'e72dcf8b5e06438b5ceb0... Message-ID: <20100609052851.9A2505BD00F3@rock.pidgin.im> ----------------------------------------------------------------- Revision: 76b6bf5fe40f0133b6d78f8b1547f17da2aa983d Ancestor: bf907645afbe23354baf5f3901164b760cf97b2a Ancestor: e72dcf8b5e06438b5ceb002c28f687eea2b1e973 Author: qulogic at pidgin.im Date: 2010-06-07T06:57:15 Branch: im.pidgin.gobjectification URL: http://d.pidgin.im/viewmtn/revision/info/76b6bf5fe40f0133b6d78f8b1547f17da2aa983d Added files: doc/hierarchy.dot libpurple/accountmanager.c libpurple/accountmanager.h libpurple/blist-node.c libpurple/blist-node.h libpurple/buddy.c libpurple/buddy.h libpurple/chat.c libpurple/chat.h libpurple/contact.c libpurple/contact.h libpurple/des3cipher.c libpurple/des3cipher.h libpurple/descipher.c libpurple/descipher.h libpurple/ghash.c libpurple/ghash.h libpurple/group.c libpurple/group.h libpurple/gsignal.c libpurple/gsignal.h libpurple/hash.c libpurple/hash.h libpurple/hmaccipher.c libpurple/hmaccipher.h libpurple/md4hash.c libpurple/md4hash.h libpurple/md5cipher.c libpurple/md5cipher.h libpurple/plugins/perl/common/Hash.xs libpurple/pobject.c libpurple/pobject.h libpurple/protocols/gg/lib/dcc7.c libpurple/protocols/gg/lib/libgadu-internal.h libpurple/protocols/gg/lib/protocol.h libpurple/protocols/gg/lib/resolver.c libpurple/protocols/gg/lib/resolver.h libpurple/protocols/gg/lib/sha1.c libpurple/rc4cipher.c libpurple/rc4cipher.h libpurple/sha1cipher.c libpurple/sha1cipher.h libpurple/sha256cipher.c libpurple/sha256cipher.h Modified files: COPYRIGHT acinclude.m4 configure.ac finch/finch.c finch/finch.h finch/gntaccount.c finch/gntblist.c finch/gntconn.c finch/gntconv.c finch/gntlog.c finch/gntpounce.c finch/gntrequest.c finch/gntsound.c finch/gntui.c finch/plugins/gnthistory.c finch/plugins/grouping.c libpurple/Makefile.am libpurple/Makefile.mingw libpurple/account.c libpurple/account.h libpurple/blist.c libpurple/blist.h libpurple/buddyicon.c libpurple/cipher.c libpurple/cipher.h libpurple/connection.c libpurple/connection.h libpurple/conversation.c libpurple/conversation.h libpurple/core.c libpurple/dbus-analyze-functions.py libpurple/dbus-define-api.h libpurple/dbus-server.c libpurple/dbus-useful.c libpurple/dbus-useful.h libpurple/example/nullclient.c libpurple/idle.c libpurple/internal.h libpurple/log.c libpurple/marshallers.list libpurple/network.c libpurple/ntlm.c libpurple/plugins/Makefile.am libpurple/plugins/autoaccept.c libpurple/plugins/ciphertest.c libpurple/plugins/filectl.c libpurple/plugins/idle.c libpurple/plugins/log_reader.c libpurple/plugins/one_time_password.c libpurple/plugins/perl/common/Account.xs libpurple/plugins/perl/common/BuddyList.xs libpurple/plugins/perl/common/Cipher.xs libpurple/plugins/perl/common/Connection.xs libpurple/plugins/perl/common/MANIFEST libpurple/plugins/perl/common/Makefile.mingw libpurple/plugins/perl/common/Prpl.xs libpurple/plugins/perl/common/Status.xs libpurple/plugins/perl/common/Util.xs libpurple/plugins/perl/common/module.h libpurple/plugins/perl/common/typemap libpurple/plugins/signals-test.c libpurple/plugins/tcl/tcl_cmds.c libpurple/plugins/tcl/tcl_signals.c libpurple/pounce.c libpurple/protocols/bonjour/Makefile.mingw libpurple/protocols/bonjour/bonjour.c libpurple/protocols/bonjour/bonjour_ft.c libpurple/protocols/bonjour/buddy.c libpurple/protocols/bonjour/jabber.c libpurple/protocols/bonjour/mdns_avahi.c libpurple/protocols/bonjour/mdns_win32.c libpurple/protocols/gg/Makefile.am libpurple/protocols/gg/Makefile.mingw libpurple/protocols/gg/buddylist.c libpurple/protocols/gg/confer.c libpurple/protocols/gg/gg.c libpurple/protocols/gg/lib/common.c libpurple/protocols/gg/lib/compat.h libpurple/protocols/gg/lib/dcc.c libpurple/protocols/gg/lib/events.c libpurple/protocols/gg/lib/http.c libpurple/protocols/gg/lib/libgadu.c libpurple/protocols/gg/lib/libgadu.h libpurple/protocols/gg/lib/obsolete.c libpurple/protocols/gg/lib/pubdir.c libpurple/protocols/gg/lib/pubdir50.c libpurple/protocols/gg/search.c libpurple/protocols/irc/Makefile.mingw libpurple/protocols/irc/cmds.c libpurple/protocols/irc/dcc_send.c libpurple/protocols/irc/irc.c libpurple/protocols/irc/msgs.c libpurple/protocols/irc/parse.c libpurple/protocols/jabber/adhoccommands.c libpurple/protocols/jabber/auth.c libpurple/protocols/jabber/buddy.c libpurple/protocols/jabber/caps.c libpurple/protocols/jabber/caps.h libpurple/protocols/jabber/chat.c libpurple/protocols/jabber/disco.c libpurple/protocols/jabber/google.c libpurple/protocols/jabber/jabber.c libpurple/protocols/jabber/jutil.c libpurple/protocols/jabber/message.c libpurple/protocols/jabber/oob.c libpurple/protocols/jabber/presence.c libpurple/protocols/jabber/roster.c libpurple/protocols/jabber/si.c libpurple/protocols/jabber/usermood.c libpurple/protocols/jabber/usernick.c libpurple/protocols/jabber/usertune.c libpurple/protocols/msn/Makefile.mingw libpurple/protocols/msn/contact.c libpurple/protocols/msn/dialog.c libpurple/protocols/msn/error.c libpurple/protocols/msn/httpconn.c libpurple/protocols/msn/msg.c libpurple/protocols/msn/msn.c libpurple/protocols/msn/msn.h libpurple/protocols/msn/msnutils.c libpurple/protocols/msn/nexus.c libpurple/protocols/msn/notification.c libpurple/protocols/msn/object.c libpurple/protocols/msn/oim.c libpurple/protocols/msn/servconn.c libpurple/protocols/msn/session.c libpurple/protocols/msn/slp.c libpurple/protocols/msn/switchboard.c libpurple/protocols/msn/sync.c libpurple/protocols/msn/user.c libpurple/protocols/msn/userlist.c libpurple/protocols/msnp9/Makefile.mingw libpurple/protocols/msnp9/dialog.c libpurple/protocols/msnp9/error.c libpurple/protocols/msnp9/msn.c libpurple/protocols/msnp9/msn.h libpurple/protocols/msnp9/nexus.c libpurple/protocols/msnp9/notification.c libpurple/protocols/msnp9/object.c libpurple/protocols/msnp9/servconn.c libpurple/protocols/msnp9/session.c libpurple/protocols/msnp9/slp.c libpurple/protocols/msnp9/switchboard.c libpurple/protocols/msnp9/sync.c libpurple/protocols/msnp9/userlist.c libpurple/protocols/myspace/Makefile.mingw libpurple/protocols/myspace/myspace.c libpurple/protocols/myspace/myspace.h libpurple/protocols/myspace/user.c libpurple/protocols/myspace/zap.c libpurple/protocols/novell/Makefile.mingw libpurple/protocols/novell/novell.c libpurple/protocols/null/Makefile.mingw libpurple/protocols/null/nullprpl.c libpurple/protocols/oscar/Makefile.mingw libpurple/protocols/oscar/clientlogin.c libpurple/protocols/oscar/family_auth.c libpurple/protocols/oscar/family_oservice.c libpurple/protocols/oscar/flap_connection.c libpurple/protocols/oscar/oscar.c libpurple/protocols/qq/Makefile.mingw libpurple/protocols/qq/buddy_info.c libpurple/protocols/qq/buddy_list.c libpurple/protocols/qq/buddy_memo.c libpurple/protocols/qq/buddy_opt.c libpurple/protocols/qq/file_trans.c libpurple/protocols/qq/group.c libpurple/protocols/qq/group_im.c libpurple/protocols/qq/group_info.c libpurple/protocols/qq/group_internal.c libpurple/protocols/qq/group_join.c libpurple/protocols/qq/group_opt.c libpurple/protocols/qq/im.c libpurple/protocols/qq/qq.c libpurple/protocols/qq/qq_base.c libpurple/protocols/qq/qq_network.c libpurple/protocols/qq/qq_process.c libpurple/protocols/qq/qq_trans.c libpurple/protocols/qq/send_file.c libpurple/protocols/qq/utils.c libpurple/protocols/sametime/Makefile.mingw libpurple/protocols/sametime/sametime.c libpurple/protocols/silc/Makefile.mingw libpurple/protocols/silc/buddy.c libpurple/protocols/silc/chat.c libpurple/protocols/silc/ft.c libpurple/protocols/silc/ops.c libpurple/protocols/silc/pk.c libpurple/protocols/silc/silc.c libpurple/protocols/silc/util.c libpurple/protocols/silc/wb.c libpurple/protocols/silc10/buddy.c libpurple/protocols/silc10/chat.c libpurple/protocols/silc10/ft.c libpurple/protocols/silc10/ops.c libpurple/protocols/silc10/silc.c libpurple/protocols/silc10/util.c libpurple/protocols/simple/Makefile.mingw libpurple/protocols/simple/simple.c libpurple/protocols/yahoo/Makefile.mingw libpurple/protocols/yahoo/libymsg.c libpurple/protocols/yahoo/util.c libpurple/protocols/yahoo/yahoo_aliases.c libpurple/protocols/yahoo/yahoo_doodle.c libpurple/protocols/yahoo/yahoo_filexfer.c libpurple/protocols/yahoo/yahoo_friend.c libpurple/protocols/yahoo/yahoo_picture.c libpurple/protocols/yahoo/yahoo_profile.c libpurple/protocols/yahoo/yahoochat.c libpurple/protocols/yahoo/ycht.c libpurple/protocols/zephyr/zephyr.c libpurple/proxy.c libpurple/prpl.c libpurple/purple.h.in libpurple/savedstatuses.c libpurple/server.c libpurple/server.h libpurple/signals.c libpurple/signals.h libpurple/status.c libpurple/status.h libpurple/tests/check_libpurple.c libpurple/tests/test_cipher.c libpurple/util.c libpurple/util.h libpurple/value.c libpurple/value.h libpurple/win32/global.mak pidgin/Makefile.am pidgin/gtkaccount.c pidgin/gtkblist.c pidgin/gtkblist.h pidgin/gtkconn.c pidgin/gtkconv.c pidgin/gtkdialogs.c pidgin/gtkdocklet.c pidgin/gtkimhtml.c pidgin/gtklog.c pidgin/gtkmain.c pidgin/gtknotify.c pidgin/gtkpounce.c pidgin/gtkprefs.c pidgin/gtkprivacy.c pidgin/gtkroomlist.c pidgin/gtksound.c pidgin/gtkstatusbox.c pidgin/gtkutils.c pidgin/plugins/cap/cap.c pidgin/plugins/disco/xmppdisco.c pidgin/plugins/gevolution/gevo-util.c pidgin/plugins/gevolution/gevolution.c pidgin/plugins/gtk-signals-test.c pidgin/plugins/history.c pidgin/plugins/mailchk.c pidgin/plugins/perl/common/GtkBlist.xs pidgin/plugins/pidgininc.c pidgin/plugins/raw.c pidgin/plugins/relnot.c pidgin/plugins/themeedit-icon.c pidgin/plugins/themeedit.c pidgin/plugins/ticker/ticker.c pidgin/plugins/xmppconsole.c po/POTFILES.in ChangeLog: explicit merge of 'e72dcf8b5e06438b5ceb002c28f687eea2b1e973' and 'bf907645afbe23354baf5f3901164b760cf97b2a' From qulogic at pidgin.im Wed Jun 9 01:29:00 2010 From: qulogic at pidgin.im (qulogic at pidgin.im) Date: Wed, 9 Jun 2010 01:29:00 -0400 (EDT) Subject: gobjectification: 80692b9f: explicit merge of 'b4458fccbc3c9ab0c1c91... Message-ID: <20100609052901.902765BD00E9@rock.pidgin.im> ----------------------------------------------------------------- Revision: 80692b9f8d960702b4dd35cc5c315845a6d0a1ea Ancestor: a1294073e2a6051bbc4516a0439ac2cee7822a9d Ancestor: b4458fccbc3c9ab0c1c9105eb68c47ffa7c62e5a Author: qulogic at pidgin.im Date: 2010-06-07T03:19:34 Branch: im.pidgin.gobjectification URL: http://d.pidgin.im/viewmtn/revision/info/80692b9f8d960702b4dd35cc5c315845a6d0a1ea Added files: doc/hierarchy.dot libpurple/accountmanager.c libpurple/accountmanager.h libpurple/blist-node.c libpurple/blist-node.h libpurple/buddy.c libpurple/buddy.h libpurple/chat.c libpurple/chat.h libpurple/contact.c libpurple/contact.h libpurple/des3cipher.c libpurple/des3cipher.h libpurple/descipher.c libpurple/descipher.h libpurple/ghash.c libpurple/ghash.h libpurple/group.c libpurple/group.h libpurple/gsignal.c libpurple/gsignal.h libpurple/hash.c libpurple/hash.h libpurple/hmaccipher.c libpurple/hmaccipher.h libpurple/md4hash.c libpurple/md4hash.h libpurple/md5cipher.c libpurple/md5cipher.h libpurple/plugins/perl/common/Hash.xs libpurple/pobject.c libpurple/pobject.h libpurple/rc4cipher.c libpurple/rc4cipher.h libpurple/sha1cipher.c libpurple/sha1cipher.h libpurple/sha256cipher.c libpurple/sha256cipher.h Modified files: AUTHORS COPYRIGHT ChangeLog acinclude.m4 configure.ac doc/pidgin.1.in finch/finch.c finch/finch.h finch/gntaccount.c finch/gntblist.c finch/gntconn.c finch/gntconv.c finch/gntlog.c finch/gntpounce.c finch/gntrequest.c finch/gntsound.c finch/gntui.c finch/libgnt/gntcolors.c finch/plugins/gnthistory.c finch/plugins/gnttinyurl.c finch/plugins/grouping.c libpurple/Makefile.am libpurple/Makefile.mingw libpurple/account.c libpurple/account.h libpurple/blist.c libpurple/blist.h libpurple/buddyicon.c libpurple/cipher.c libpurple/cipher.h libpurple/connection.c libpurple/connection.h libpurple/conversation.c libpurple/conversation.h libpurple/core.c libpurple/dbus-analyze-functions.py libpurple/dbus-define-api.h libpurple/dbus-server.c libpurple/dbus-useful.c libpurple/dbus-useful.h libpurple/dnsquery.c libpurple/dnsquery.h libpurple/dnssrv.c libpurple/example/nullclient.c libpurple/idle.c libpurple/internal.h libpurple/log.c libpurple/marshallers.list libpurple/network.c libpurple/ntlm.c libpurple/plugins/Makefile.am libpurple/plugins/autoaccept.c libpurple/plugins/ciphertest.c libpurple/plugins/filectl.c libpurple/plugins/idle.c libpurple/plugins/log_reader.c libpurple/plugins/one_time_password.c libpurple/plugins/perl/common/Account.xs libpurple/plugins/perl/common/BuddyList.xs libpurple/plugins/perl/common/Cipher.xs libpurple/plugins/perl/common/Connection.xs libpurple/plugins/perl/common/MANIFEST libpurple/plugins/perl/common/Makefile.mingw libpurple/plugins/perl/common/Prpl.xs libpurple/plugins/perl/common/Status.xs libpurple/plugins/perl/common/Util.xs libpurple/plugins/perl/common/module.h libpurple/plugins/perl/common/typemap libpurple/plugins/signals-test.c libpurple/plugins/tcl/tcl_cmds.c libpurple/plugins/tcl/tcl_signals.c libpurple/pounce.c libpurple/protocols/bonjour/Makefile.mingw libpurple/protocols/bonjour/bonjour.c libpurple/protocols/bonjour/bonjour_ft.c libpurple/protocols/bonjour/buddy.c libpurple/protocols/bonjour/jabber.c libpurple/protocols/bonjour/mdns_avahi.c libpurple/protocols/bonjour/mdns_win32.c libpurple/protocols/gg/Makefile.mingw libpurple/protocols/gg/buddylist.c libpurple/protocols/gg/confer.c libpurple/protocols/gg/gg.c libpurple/protocols/gg/search.c libpurple/protocols/irc/Makefile.mingw libpurple/protocols/irc/cmds.c libpurple/protocols/irc/dcc_send.c libpurple/protocols/irc/irc.c libpurple/protocols/irc/msgs.c libpurple/protocols/irc/parse.c libpurple/protocols/jabber/adhoccommands.c libpurple/protocols/jabber/auth.c libpurple/protocols/jabber/bosh.c libpurple/protocols/jabber/buddy.c libpurple/protocols/jabber/caps.c libpurple/protocols/jabber/caps.h libpurple/protocols/jabber/chat.c libpurple/protocols/jabber/disco.c libpurple/protocols/jabber/google.c libpurple/protocols/jabber/jabber.c libpurple/protocols/jabber/jingle/content.c libpurple/protocols/jabber/jingle/jingle.c libpurple/protocols/jabber/jutil.c libpurple/protocols/jabber/message.c libpurple/protocols/jabber/oob.c libpurple/protocols/jabber/presence.c libpurple/protocols/jabber/roster.c libpurple/protocols/jabber/si.c libpurple/protocols/jabber/usermood.c libpurple/protocols/jabber/usernick.c libpurple/protocols/jabber/usertune.c libpurple/protocols/msn/Makefile.mingw libpurple/protocols/msn/contact.c libpurple/protocols/msn/dialog.c libpurple/protocols/msn/error.c libpurple/protocols/msn/httpconn.c libpurple/protocols/msn/msg.c libpurple/protocols/msn/msn.c libpurple/protocols/msn/msn.h libpurple/protocols/msn/msnutils.c libpurple/protocols/msn/nexus.c libpurple/protocols/msn/notification.c libpurple/protocols/msn/object.c libpurple/protocols/msn/oim.c libpurple/protocols/msn/servconn.c libpurple/protocols/msn/session.c libpurple/protocols/msn/slp.c libpurple/protocols/msn/switchboard.c libpurple/protocols/msn/sync.c libpurple/protocols/msn/user.c libpurple/protocols/msn/userlist.c libpurple/protocols/msnp9/Makefile.mingw libpurple/protocols/msnp9/dialog.c libpurple/protocols/msnp9/error.c libpurple/protocols/msnp9/msn.c libpurple/protocols/msnp9/msn.h libpurple/protocols/msnp9/nexus.c libpurple/protocols/msnp9/notification.c libpurple/protocols/msnp9/object.c libpurple/protocols/msnp9/servconn.c libpurple/protocols/msnp9/session.c libpurple/protocols/msnp9/slp.c libpurple/protocols/msnp9/switchboard.c libpurple/protocols/msnp9/sync.c libpurple/protocols/msnp9/userlist.c libpurple/protocols/myspace/Makefile.mingw libpurple/protocols/myspace/myspace.c libpurple/protocols/myspace/myspace.h libpurple/protocols/myspace/user.c libpurple/protocols/myspace/zap.c libpurple/protocols/novell/Makefile.mingw libpurple/protocols/novell/novell.c libpurple/protocols/null/Makefile.mingw libpurple/protocols/null/nullprpl.c libpurple/protocols/oscar/Makefile.mingw libpurple/protocols/oscar/clientlogin.c libpurple/protocols/oscar/family_auth.c libpurple/protocols/oscar/family_feedbag.c libpurple/protocols/oscar/family_oservice.c libpurple/protocols/oscar/flap_connection.c libpurple/protocols/oscar/oscar.c libpurple/protocols/qq/Makefile.mingw libpurple/protocols/qq/buddy_info.c libpurple/protocols/qq/buddy_list.c libpurple/protocols/qq/buddy_memo.c libpurple/protocols/qq/buddy_opt.c libpurple/protocols/qq/file_trans.c libpurple/protocols/qq/group.c libpurple/protocols/qq/group_im.c libpurple/protocols/qq/group_info.c libpurple/protocols/qq/group_internal.c libpurple/protocols/qq/group_join.c libpurple/protocols/qq/group_opt.c libpurple/protocols/qq/im.c libpurple/protocols/qq/qq.c libpurple/protocols/qq/qq_base.c libpurple/protocols/qq/qq_network.c libpurple/protocols/qq/qq_process.c libpurple/protocols/qq/qq_trans.c libpurple/protocols/qq/send_file.c libpurple/protocols/qq/utils.c libpurple/protocols/sametime/Makefile.mingw libpurple/protocols/sametime/sametime.c libpurple/protocols/silc/Makefile.mingw libpurple/protocols/silc/buddy.c libpurple/protocols/silc/chat.c libpurple/protocols/silc/ft.c libpurple/protocols/silc/ops.c libpurple/protocols/silc/pk.c libpurple/protocols/silc/silc.c libpurple/protocols/silc/util.c libpurple/protocols/silc/wb.c libpurple/protocols/silc10/buddy.c libpurple/protocols/silc10/chat.c libpurple/protocols/silc10/ft.c libpurple/protocols/silc10/ops.c libpurple/protocols/silc10/silc.c libpurple/protocols/silc10/util.c libpurple/protocols/simple/Makefile.mingw libpurple/protocols/simple/simple.c libpurple/protocols/yahoo/Makefile.mingw libpurple/protocols/yahoo/libymsg.c libpurple/protocols/yahoo/util.c libpurple/protocols/yahoo/yahoo_aliases.c libpurple/protocols/yahoo/yahoo_doodle.c libpurple/protocols/yahoo/yahoo_filexfer.c libpurple/protocols/yahoo/yahoo_friend.c libpurple/protocols/yahoo/yahoo_picture.c libpurple/protocols/yahoo/yahoo_profile.c libpurple/protocols/yahoo/yahoochat.c libpurple/protocols/yahoo/ycht.c libpurple/protocols/zephyr/zephyr.c libpurple/proxy.c libpurple/prpl.c libpurple/purple.h.in libpurple/savedstatuses.c libpurple/server.c libpurple/server.h libpurple/signals.c libpurple/signals.h libpurple/status.c libpurple/status.h libpurple/tests/check_libpurple.c libpurple/tests/test_cipher.c libpurple/util.c libpurple/util.h libpurple/value.c libpurple/value.h libpurple/win32/global.mak pidgin/Makefile.am pidgin/gtkaccount.c pidgin/gtkblist.c pidgin/gtkblist.h pidgin/gtkconn.c pidgin/gtkconv.c pidgin/gtkdialogs.c pidgin/gtkdocklet.c pidgin/gtkimhtml.c pidgin/gtklog.c pidgin/gtkmain.c pidgin/gtknotify.c pidgin/gtkpounce.c pidgin/gtkprefs.c pidgin/gtkprivacy.c pidgin/gtkroomlist.c pidgin/gtksound.c pidgin/gtkstatusbox.c pidgin/gtkutils.c pidgin/pixmaps/emotes/default/24/default.theme.in pidgin/pixmaps/emotes/small/16/small.theme.in pidgin/plugins/cap/cap.c pidgin/plugins/disco/xmppdisco.c pidgin/plugins/gevolution/gevo-util.c pidgin/plugins/gevolution/gevolution.c pidgin/plugins/gtk-signals-test.c pidgin/plugins/history.c pidgin/plugins/mailchk.c pidgin/plugins/perl/common/GtkBlist.xs pidgin/plugins/pidgininc.c pidgin/plugins/raw.c pidgin/plugins/relnot.c pidgin/plugins/themeedit-icon.c pidgin/plugins/themeedit.c pidgin/plugins/ticker/ticker.c pidgin/plugins/win32/winprefs/winprefs.c pidgin/plugins/xmppconsole.c po/ChangeLog po/POTFILES.in po/sv.po po/vi.po ChangeLog: explicit merge of 'b4458fccbc3c9ab0c1c9105eb68c47ffa7c62e5a' and 'a1294073e2a6051bbc4516a0439ac2cee7822a9d' From qulogic at pidgin.im Wed Jun 9 01:29:05 2010 From: qulogic at pidgin.im (qulogic at pidgin.im) Date: Wed, 9 Jun 2010 01:29:05 -0400 (EDT) Subject: gobjectification: 83574b20: explicit merge of '0af807a7e78cef62c5b06... Message-ID: <20100609052906.690C85BD00F3@rock.pidgin.im> ----------------------------------------------------------------- Revision: 83574b20c53024ff81de77f58e18dd89426256e6 Ancestor: 0af807a7e78cef62c5b06799957f1a287047c0dd Ancestor: b8b6cfbfa4cef5911150cd8cbacdfc53d77ad843 Author: qulogic at pidgin.im Date: 2010-06-08T06:47:56 Branch: im.pidgin.gobjectification URL: http://d.pidgin.im/viewmtn/revision/info/83574b20c53024ff81de77f58e18dd89426256e6 Added files: doc/hierarchy.dot libpurple/accountmanager.c libpurple/accountmanager.h libpurple/blist-node.c libpurple/blist-node.h libpurple/buddy.c libpurple/buddy.h libpurple/chat.c libpurple/chat.h libpurple/contact.c libpurple/contact.h libpurple/des3cipher.c libpurple/des3cipher.h libpurple/descipher.c libpurple/descipher.h libpurple/ghash.c libpurple/ghash.h libpurple/group.c libpurple/group.h libpurple/gsignal.c libpurple/gsignal.h libpurple/hash.c libpurple/hash.h libpurple/hmaccipher.c libpurple/hmaccipher.h libpurple/md4hash.c libpurple/md4hash.h libpurple/md5cipher.c libpurple/md5cipher.h libpurple/plugins/perl/common/Hash.xs libpurple/pobject.c libpurple/pobject.h libpurple/rc4cipher.c libpurple/rc4cipher.h libpurple/sha1cipher.c libpurple/sha1cipher.h libpurple/sha256cipher.c libpurple/sha256cipher.h Modified files: COPYRIGHT acinclude.m4 configure.ac finch/finch.c finch/finch.h finch/gntaccount.c finch/gntblist.c finch/gntconn.c finch/gntconv.c finch/gntlog.c finch/gntpounce.c finch/gntrequest.c finch/gntsound.c finch/gntui.c finch/plugins/gnthistory.c finch/plugins/grouping.c libpurple/Makefile.am libpurple/Makefile.mingw libpurple/account.c libpurple/account.h libpurple/blist.c libpurple/blist.h libpurple/buddyicon.c libpurple/cipher.c libpurple/cipher.h libpurple/connection.c libpurple/connection.h libpurple/conversation.c libpurple/conversation.h libpurple/core.c libpurple/dbus-analyze-functions.py libpurple/dbus-define-api.h libpurple/dbus-server.c libpurple/dbus-useful.c libpurple/dbus-useful.h libpurple/example/nullclient.c libpurple/idle.c libpurple/internal.h libpurple/log.c libpurple/marshallers.list libpurple/network.c libpurple/ntlm.c libpurple/plugins/Makefile.am libpurple/plugins/autoaccept.c libpurple/plugins/ciphertest.c libpurple/plugins/filectl.c libpurple/plugins/idle.c libpurple/plugins/log_reader.c libpurple/plugins/one_time_password.c libpurple/plugins/perl/common/Account.xs libpurple/plugins/perl/common/BuddyList.xs libpurple/plugins/perl/common/Cipher.xs libpurple/plugins/perl/common/Connection.xs libpurple/plugins/perl/common/MANIFEST libpurple/plugins/perl/common/Makefile.mingw libpurple/plugins/perl/common/Prpl.xs libpurple/plugins/perl/common/Status.xs libpurple/plugins/perl/common/Util.xs libpurple/plugins/perl/common/module.h libpurple/plugins/perl/common/typemap libpurple/plugins/signals-test.c libpurple/plugins/tcl/tcl_cmds.c libpurple/plugins/tcl/tcl_signals.c libpurple/pounce.c libpurple/protocols/bonjour/Makefile.mingw libpurple/protocols/bonjour/bonjour.c libpurple/protocols/bonjour/bonjour_ft.c libpurple/protocols/bonjour/buddy.c libpurple/protocols/bonjour/jabber.c libpurple/protocols/bonjour/mdns_avahi.c libpurple/protocols/bonjour/mdns_win32.c libpurple/protocols/gg/Makefile.mingw libpurple/protocols/gg/buddylist.c libpurple/protocols/gg/confer.c libpurple/protocols/gg/gg.c libpurple/protocols/gg/search.c libpurple/protocols/irc/Makefile.mingw libpurple/protocols/irc/cmds.c libpurple/protocols/irc/dcc_send.c libpurple/protocols/irc/irc.c libpurple/protocols/irc/msgs.c libpurple/protocols/irc/parse.c libpurple/protocols/jabber/adhoccommands.c libpurple/protocols/jabber/auth.c libpurple/protocols/jabber/buddy.c libpurple/protocols/jabber/caps.c libpurple/protocols/jabber/caps.h libpurple/protocols/jabber/chat.c libpurple/protocols/jabber/disco.c libpurple/protocols/jabber/google.c libpurple/protocols/jabber/jabber.c libpurple/protocols/jabber/jutil.c libpurple/protocols/jabber/message.c libpurple/protocols/jabber/oob.c libpurple/protocols/jabber/presence.c libpurple/protocols/jabber/roster.c libpurple/protocols/jabber/si.c libpurple/protocols/jabber/usermood.c libpurple/protocols/jabber/usernick.c libpurple/protocols/jabber/usertune.c libpurple/protocols/msn/Makefile.mingw libpurple/protocols/msn/contact.c libpurple/protocols/msn/dialog.c libpurple/protocols/msn/error.c libpurple/protocols/msn/httpconn.c libpurple/protocols/msn/msg.c libpurple/protocols/msn/msn.c libpurple/protocols/msn/msn.h libpurple/protocols/msn/msnutils.c libpurple/protocols/msn/nexus.c libpurple/protocols/msn/notification.c libpurple/protocols/msn/object.c libpurple/protocols/msn/oim.c libpurple/protocols/msn/servconn.c libpurple/protocols/msn/session.c libpurple/protocols/msn/slp.c libpurple/protocols/msn/switchboard.c libpurple/protocols/msn/sync.c libpurple/protocols/msn/user.c libpurple/protocols/msn/userlist.c libpurple/protocols/myspace/Makefile.mingw libpurple/protocols/myspace/myspace.c libpurple/protocols/myspace/myspace.h libpurple/protocols/myspace/user.c libpurple/protocols/myspace/zap.c libpurple/protocols/novell/Makefile.mingw libpurple/protocols/novell/novell.c libpurple/protocols/null/Makefile.mingw libpurple/protocols/null/nullprpl.c libpurple/protocols/oscar/Makefile.mingw libpurple/protocols/oscar/clientlogin.c libpurple/protocols/oscar/family_auth.c libpurple/protocols/oscar/family_oservice.c libpurple/protocols/oscar/flap_connection.c libpurple/protocols/oscar/oscar.c libpurple/protocols/qq/Makefile.mingw libpurple/protocols/qq/buddy_info.c libpurple/protocols/qq/buddy_list.c libpurple/protocols/qq/buddy_memo.c libpurple/protocols/qq/buddy_opt.c libpurple/protocols/qq/file_trans.c libpurple/protocols/qq/group.c libpurple/protocols/qq/group_im.c libpurple/protocols/qq/group_info.c libpurple/protocols/qq/group_internal.c libpurple/protocols/qq/group_join.c libpurple/protocols/qq/group_opt.c libpurple/protocols/qq/im.c libpurple/protocols/qq/qq.c libpurple/protocols/qq/qq_base.c libpurple/protocols/qq/qq_network.c libpurple/protocols/qq/qq_process.c libpurple/protocols/qq/qq_trans.c libpurple/protocols/qq/send_file.c libpurple/protocols/qq/utils.c libpurple/protocols/sametime/Makefile.mingw libpurple/protocols/sametime/sametime.c libpurple/protocols/silc/Makefile.mingw libpurple/protocols/silc/buddy.c libpurple/protocols/silc/chat.c libpurple/protocols/silc/ft.c libpurple/protocols/silc/ops.c libpurple/protocols/silc/pk.c libpurple/protocols/silc/silc.c libpurple/protocols/silc/util.c libpurple/protocols/silc/wb.c libpurple/protocols/silc10/buddy.c libpurple/protocols/silc10/chat.c libpurple/protocols/silc10/ft.c libpurple/protocols/silc10/ops.c libpurple/protocols/silc10/silc.c libpurple/protocols/silc10/util.c libpurple/protocols/simple/Makefile.mingw libpurple/protocols/simple/simple.c libpurple/protocols/yahoo/Makefile.mingw libpurple/protocols/yahoo/libymsg.c libpurple/protocols/yahoo/util.c libpurple/protocols/yahoo/yahoo_aliases.c libpurple/protocols/yahoo/yahoo_doodle.c libpurple/protocols/yahoo/yahoo_filexfer.c libpurple/protocols/yahoo/yahoo_friend.c libpurple/protocols/yahoo/yahoo_picture.c libpurple/protocols/yahoo/yahoo_profile.c libpurple/protocols/yahoo/yahoochat.c libpurple/protocols/yahoo/ycht.c libpurple/protocols/zephyr/zephyr.c libpurple/proxy.c libpurple/prpl.c libpurple/purple.h.in libpurple/savedstatuses.c libpurple/server.c libpurple/server.h libpurple/signals.c libpurple/signals.h libpurple/status.c libpurple/status.h libpurple/tests/check_libpurple.c libpurple/tests/test_cipher.c libpurple/util.c libpurple/util.h libpurple/value.c libpurple/value.h libpurple/win32/global.mak pidgin/Makefile.am pidgin/gtkaccount.c pidgin/gtkblist.c pidgin/gtkblist.h pidgin/gtkconn.c pidgin/gtkconv.c pidgin/gtkdialogs.c pidgin/gtkdocklet.c pidgin/gtkimhtml.c pidgin/gtklog.c pidgin/gtkmain.c pidgin/gtknotify.c pidgin/gtkpounce.c pidgin/gtkprefs.c pidgin/gtkprivacy.c pidgin/gtkroomlist.c pidgin/gtksound.c pidgin/gtkstatusbox.c pidgin/gtkutils.c pidgin/plugins/cap/cap.c pidgin/plugins/disco/xmppdisco.c pidgin/plugins/gevolution/gevo-util.c pidgin/plugins/gevolution/gevolution.c pidgin/plugins/gtk-signals-test.c pidgin/plugins/history.c pidgin/plugins/mailchk.c pidgin/plugins/perl/common/GtkBlist.xs pidgin/plugins/pidgininc.c pidgin/plugins/raw.c pidgin/plugins/relnot.c pidgin/plugins/themeedit-icon.c pidgin/plugins/themeedit.c pidgin/plugins/ticker/ticker.c pidgin/plugins/xmppconsole.c po/POTFILES.in ChangeLog: explicit merge of '0af807a7e78cef62c5b06799957f1a287047c0dd' and 'b8b6cfbfa4cef5911150cd8cbacdfc53d77ad843' From qulogic at pidgin.im Wed Jun 9 01:29:42 2010 From: qulogic at pidgin.im (qulogic at pidgin.im) Date: Wed, 9 Jun 2010 01:29:42 -0400 (EDT) Subject: gobjectification: 8d4ee102: explicit merge of '915eb72db575b96b63275... Message-ID: <20100609052942.A93775BD00DE@rock.pidgin.im> ----------------------------------------------------------------- Revision: 8d4ee1027315fea460b5522ad554aacba6382c88 Ancestor: 4f618a5001238453816cfce8f7e80005343fbe58 Ancestor: 915eb72db575b96b63275f0f1d857378adbf3420 Author: qulogic at pidgin.im Date: 2010-06-08T08:12:00 Branch: im.pidgin.gobjectification URL: http://d.pidgin.im/viewmtn/revision/info/8d4ee1027315fea460b5522ad554aacba6382c88 Deleted entries: pidgin/win32/nsis/langmacros.nsh pidgin/win32/nsis/translations pidgin/win32/nsis/translations/afrikaans.nsh pidgin/win32/nsis/translations/albanian.nsh pidgin/win32/nsis/translations/arabic.nsh pidgin/win32/nsis/translations/basque.nsh pidgin/win32/nsis/translations/bulgarian.nsh pidgin/win32/nsis/translations/catalan.nsh pidgin/win32/nsis/translations/czech.nsh pidgin/win32/nsis/translations/danish.nsh pidgin/win32/nsis/translations/dutch.nsh pidgin/win32/nsis/translations/english.nsh pidgin/win32/nsis/translations/finnish.nsh pidgin/win32/nsis/translations/french.nsh pidgin/win32/nsis/translations/galician.nsh pidgin/win32/nsis/translations/german.nsh pidgin/win32/nsis/translations/hebrew.nsh pidgin/win32/nsis/translations/hungarian.nsh pidgin/win32/nsis/translations/italian.nsh pidgin/win32/nsis/translations/japanese.nsh pidgin/win32/nsis/translations/korean.nsh pidgin/win32/nsis/translations/kurdish.nsh pidgin/win32/nsis/translations/lithuanian.nsh pidgin/win32/nsis/translations/norwegian.nsh pidgin/win32/nsis/translations/norwegian_nynorsk.nsh pidgin/win32/nsis/translations/persian.nsh pidgin/win32/nsis/translations/polish.nsh pidgin/win32/nsis/translations/portuguese-br.nsh pidgin/win32/nsis/translations/portuguese.nsh pidgin/win32/nsis/translations/romanian.nsh pidgin/win32/nsis/translations/russian.nsh pidgin/win32/nsis/translations/serbian-latin.nsh pidgin/win32/nsis/translations/simp-chinese.nsh pidgin/win32/nsis/translations/slovak.nsh pidgin/win32/nsis/translations/slovenian.nsh pidgin/win32/nsis/translations/spanish.nsh pidgin/win32/nsis/translations/swedish.nsh pidgin/win32/nsis/translations/trad-chinese.nsh pidgin/win32/nsis/translations/valencian.nsh pidgin/win32/nsis/translations/vietnamese.nsh Added files: doc/hierarchy.dot libpurple/accountmanager.c libpurple/accountmanager.h libpurple/blist-node.c libpurple/blist-node.h libpurple/buddy.c libpurple/buddy.h libpurple/chat.c libpurple/chat.h libpurple/contact.c libpurple/contact.h libpurple/des3cipher.c libpurple/des3cipher.h libpurple/descipher.c libpurple/descipher.h libpurple/ghash.c libpurple/ghash.h libpurple/group.c libpurple/group.h libpurple/gsignal.c libpurple/gsignal.h libpurple/hash.c libpurple/hash.h libpurple/hmaccipher.c libpurple/hmaccipher.h libpurple/md4hash.c libpurple/md4hash.h libpurple/md5cipher.c libpurple/md5cipher.h libpurple/plugins/perl/common/Hash.xs libpurple/pobject.c libpurple/pobject.h libpurple/rc4cipher.c libpurple/rc4cipher.h libpurple/sha1cipher.c libpurple/sha1cipher.h libpurple/sha256cipher.c libpurple/sha256cipher.h pidgin/pixmaps/emotes/default/24/chilli.png pidgin/pixmaps/emotes/default/24/mrgreen.png pidgin/pixmaps/emotes/small/16/grumpy.png pidgin/pixmaps/emotes/small/16/invincible.png pidgin/pixmaps/tray/hicolor/index.theme pidgin/win32/nsis/create_nsis_translations.pl pidgin/win32/nsis/nsis_translations.desktop.in pidgin/win32/nsis/rpm2zip.sh Modified files: .mtn-ignore COPYRIGHT ChangeLog ChangeLog.API ChangeLog.win32 Makefile.am Makefile.mingw NEWS acinclude.m4 configure.ac doc/funniest_home_convos.txt finch/finch.c finch/finch.h finch/gntaccount.c finch/gntblist.c finch/gntconn.c finch/gntconv.c finch/gntlog.c finch/gntpounce.c finch/gntrequest.c finch/gntsound.c finch/gntui.c finch/plugins/gnthistory.c finch/plugins/grouping.c libpurple/Makefile.am libpurple/Makefile.mingw libpurple/account.c libpurple/account.h libpurple/blist.c libpurple/blist.h libpurple/buddyicon.c libpurple/cipher.c libpurple/cipher.h libpurple/connection.c libpurple/connection.h libpurple/conversation.c libpurple/conversation.h libpurple/core.c libpurple/dbus-analyze-functions.py libpurple/dbus-define-api.h libpurple/dbus-server.c libpurple/dbus-useful.c libpurple/dbus-useful.h libpurple/example/nullclient.c libpurple/gconf/Makefile.am libpurple/idle.c libpurple/internal.h libpurple/log.c libpurple/marshallers.list libpurple/media/backend-fs2.h libpurple/network.c libpurple/ntlm.c libpurple/plugins/Makefile.am libpurple/plugins/autoaccept.c libpurple/plugins/ciphertest.c libpurple/plugins/filectl.c libpurple/plugins/idle.c libpurple/plugins/log_reader.c libpurple/plugins/one_time_password.c libpurple/plugins/perl/common/Account.xs libpurple/plugins/perl/common/BuddyList.xs libpurple/plugins/perl/common/Cipher.xs libpurple/plugins/perl/common/Connection.xs libpurple/plugins/perl/common/MANIFEST libpurple/plugins/perl/common/Makefile.mingw libpurple/plugins/perl/common/Prpl.xs libpurple/plugins/perl/common/Status.xs libpurple/plugins/perl/common/Util.xs libpurple/plugins/perl/common/module.h libpurple/plugins/perl/common/typemap libpurple/plugins/signals-test.c libpurple/plugins/tcl/tcl_cmds.c libpurple/plugins/tcl/tcl_signals.c libpurple/pounce.c libpurple/protocols/bonjour/Makefile.mingw libpurple/protocols/bonjour/bonjour.c libpurple/protocols/bonjour/bonjour_ft.c libpurple/protocols/bonjour/buddy.c libpurple/protocols/bonjour/jabber.c libpurple/protocols/bonjour/mdns_avahi.c libpurple/protocols/bonjour/mdns_win32.c libpurple/protocols/gg/Makefile.mingw libpurple/protocols/gg/buddylist.c libpurple/protocols/gg/confer.c libpurple/protocols/gg/gg.c libpurple/protocols/gg/lib/common.c libpurple/protocols/gg/lib/libgadu-internal.h libpurple/protocols/gg/lib/libgadu.h libpurple/protocols/gg/search.c libpurple/protocols/irc/Makefile.mingw libpurple/protocols/irc/cmds.c libpurple/protocols/irc/dcc_send.c libpurple/protocols/irc/irc.c libpurple/protocols/irc/msgs.c libpurple/protocols/irc/parse.c libpurple/protocols/jabber/adhoccommands.c libpurple/protocols/jabber/auth.c libpurple/protocols/jabber/auth_cyrus.c libpurple/protocols/jabber/auth_scram.c libpurple/protocols/jabber/buddy.c libpurple/protocols/jabber/caps.c libpurple/protocols/jabber/caps.h libpurple/protocols/jabber/chat.c libpurple/protocols/jabber/chat.h libpurple/protocols/jabber/disco.c libpurple/protocols/jabber/google.c libpurple/protocols/jabber/jabber.c libpurple/protocols/jabber/jutil.c libpurple/protocols/jabber/message.c libpurple/protocols/jabber/oob.c libpurple/protocols/jabber/presence.c libpurple/protocols/jabber/roster.c libpurple/protocols/jabber/si.c libpurple/protocols/jabber/usermood.c libpurple/protocols/jabber/usernick.c libpurple/protocols/jabber/usertune.c libpurple/protocols/msn/Makefile.am libpurple/protocols/msn/Makefile.mingw libpurple/protocols/msn/contact.c libpurple/protocols/msn/dialog.c libpurple/protocols/msn/directconn.c libpurple/protocols/msn/directconn.h libpurple/protocols/msn/error.c libpurple/protocols/msn/httpconn.c libpurple/protocols/msn/msg.c libpurple/protocols/msn/msn.c libpurple/protocols/msn/msn.h libpurple/protocols/msn/msnutils.c libpurple/protocols/msn/nexus.c libpurple/protocols/msn/notification.c libpurple/protocols/msn/object.c libpurple/protocols/msn/oim.c libpurple/protocols/msn/servconn.c libpurple/protocols/msn/session.c libpurple/protocols/msn/slp.c libpurple/protocols/msn/slp.h libpurple/protocols/msn/slpcall.h libpurple/protocols/msn/slplink.c libpurple/protocols/msn/slplink.h libpurple/protocols/msn/slpmsg.c libpurple/protocols/msn/state.c libpurple/protocols/msn/switchboard.c libpurple/protocols/msn/sync.c libpurple/protocols/msn/user.c libpurple/protocols/msn/userlist.c libpurple/protocols/mxit/actions.c libpurple/protocols/mxit/chunk.h libpurple/protocols/mxit/formcmds.c libpurple/protocols/mxit/login.c libpurple/protocols/mxit/multimx.c libpurple/protocols/mxit/multimx.h libpurple/protocols/mxit/mxit.c libpurple/protocols/mxit/mxit.h libpurple/protocols/mxit/profile.c libpurple/protocols/mxit/profile.h libpurple/protocols/mxit/protocol.c libpurple/protocols/mxit/protocol.h libpurple/protocols/mxit/roster.c libpurple/protocols/mxit/roster.h libpurple/protocols/myspace/Makefile.mingw libpurple/protocols/myspace/myspace.c libpurple/protocols/myspace/myspace.h libpurple/protocols/myspace/user.c libpurple/protocols/myspace/zap.c libpurple/protocols/novell/Makefile.mingw libpurple/protocols/novell/novell.c libpurple/protocols/null/Makefile.mingw libpurple/protocols/null/nullprpl.c libpurple/protocols/oscar/Makefile.mingw libpurple/protocols/oscar/clientlogin.c libpurple/protocols/oscar/family_auth.c libpurple/protocols/oscar/family_chatnav.c libpurple/protocols/oscar/family_icbm.c libpurple/protocols/oscar/family_locate.c libpurple/protocols/oscar/family_oservice.c libpurple/protocols/oscar/flap_connection.c libpurple/protocols/oscar/misc.c libpurple/protocols/oscar/oscar.c libpurple/protocols/oscar/oscar.h libpurple/protocols/oscar/snac.c libpurple/protocols/oscar/util.c libpurple/protocols/qq/Makefile.mingw libpurple/protocols/qq/buddy_info.c libpurple/protocols/qq/buddy_list.c libpurple/protocols/qq/buddy_memo.c libpurple/protocols/qq/buddy_opt.c libpurple/protocols/qq/file_trans.c libpurple/protocols/qq/group.c libpurple/protocols/qq/group_im.c libpurple/protocols/qq/group_info.c libpurple/protocols/qq/group_internal.c libpurple/protocols/qq/group_join.c libpurple/protocols/qq/group_opt.c libpurple/protocols/qq/im.c libpurple/protocols/qq/qq.c libpurple/protocols/qq/qq_base.c libpurple/protocols/qq/qq_network.c libpurple/protocols/qq/qq_process.c libpurple/protocols/qq/qq_trans.c libpurple/protocols/qq/send_file.c libpurple/protocols/qq/utils.c libpurple/protocols/sametime/Makefile.mingw libpurple/protocols/sametime/sametime.c libpurple/protocols/silc/Makefile.mingw libpurple/protocols/silc/buddy.c libpurple/protocols/silc/chat.c libpurple/protocols/silc/ft.c libpurple/protocols/silc/ops.c libpurple/protocols/silc/pk.c libpurple/protocols/silc/silc.c libpurple/protocols/silc/util.c libpurple/protocols/silc/wb.c libpurple/protocols/silc10/buddy.c libpurple/protocols/silc10/chat.c libpurple/protocols/silc10/ft.c libpurple/protocols/silc10/ops.c libpurple/protocols/silc10/silc.c libpurple/protocols/silc10/util.c libpurple/protocols/simple/Makefile.mingw libpurple/protocols/simple/simple.c libpurple/protocols/yahoo/Makefile.mingw libpurple/protocols/yahoo/libymsg.c libpurple/protocols/yahoo/util.c libpurple/protocols/yahoo/yahoo_aliases.c libpurple/protocols/yahoo/yahoo_doodle.c libpurple/protocols/yahoo/yahoo_filexfer.c libpurple/protocols/yahoo/yahoo_friend.c libpurple/protocols/yahoo/yahoo_picture.c libpurple/protocols/yahoo/yahoo_profile.c libpurple/protocols/yahoo/yahoochat.c libpurple/protocols/yahoo/ycht.c libpurple/protocols/zephyr/zephyr.c libpurple/proxy.c libpurple/prpl.c libpurple/purple.h.in libpurple/roomlist.h libpurple/savedstatuses.c libpurple/server.c libpurple/server.h libpurple/signals.c libpurple/signals.h libpurple/status.c libpurple/status.h libpurple/tests/check_libpurple.c libpurple/tests/test_cipher.c libpurple/upnp.c libpurple/util.c libpurple/util.h libpurple/value.c libpurple/value.h libpurple/win32/global.mak libpurple/win32/rules.mak pidgin/Makefile.am pidgin/gtkaccount.c pidgin/gtkblist.c pidgin/gtkblist.h pidgin/gtkconn.c pidgin/gtkconv.c pidgin/gtkdialogs.c pidgin/gtkdocklet-gtk.c pidgin/gtkdocklet.c pidgin/gtkimhtml.c pidgin/gtklog.c pidgin/gtkmain.c pidgin/gtknotify.c pidgin/gtkpounce.c pidgin/gtkprefs.c pidgin/gtkprivacy.c pidgin/gtkroomlist.c pidgin/gtksession.c pidgin/gtksound.c pidgin/gtkstatusbox.c pidgin/gtkutils.c pidgin/pixmaps/Makefile.am pidgin/pixmaps/Makefile.mingw pidgin/pixmaps/emotes/default/24/Makefile.am pidgin/pixmaps/emotes/default/24/default.theme.in pidgin/pixmaps/emotes/small/16/Makefile.am pidgin/pixmaps/emotes/small/16/hot.png pidgin/plugins/cap/cap.c pidgin/plugins/disco/xmppdisco.c pidgin/plugins/gevolution/add_buddy_dialog.c pidgin/plugins/gevolution/gevolution.c pidgin/plugins/gevolution/new_person_dialog.c pidgin/plugins/gtk-signals-test.c pidgin/plugins/history.c pidgin/plugins/mailchk.c pidgin/plugins/perl/common/GtkBlist.xs pidgin/plugins/pidgininc.c pidgin/plugins/raw.c pidgin/plugins/relnot.c pidgin/plugins/themeedit-icon.c pidgin/plugins/themeedit.c pidgin/plugins/ticker/ticker.c pidgin/plugins/xmppconsole.c pidgin/win32/gtkwin32dep.c pidgin/win32/nsis/generate_gtk_zip.sh pidgin/win32/nsis/pidgin-installer.nsi pidgin.spec.in po/ChangeLog po/POTFILES.in po/af.po po/am.po po/ar.po po/as.po po/az.po po/be at latin.po po/bg.po po/bn.po po/bn_IN.po po/bs.po po/ca.po po/ca at valencia.po po/cs.po po/da.po po/de.po po/dz.po po/el.po po/en_AU.po po/en_CA.po po/en_GB.po po/eo.po po/es.po po/et.po po/eu.po po/fa.po po/fi.po po/fr.po po/ga.po po/gl.po po/gu.po po/he.po po/hi.po po/hu.po po/hy.po po/id.po po/it.po po/ja.po po/ka.po po/km.po po/kn.po po/ko.po po/ku.po po/lo.po po/lt.po po/mk.po po/ml.po po/mn.po po/mr.po po/ms_MY.po po/my_MM.po po/nb.po po/ne.po po/nl.po po/nn.po po/oc.po po/or.po po/pa.po po/pl.po po/ps.po po/pt.po po/pt_BR.po po/ro.po po/ru.po po/si.po po/sk.po po/sl.po po/sq.po po/sr.po po/sr at latin.po po/sv.po po/sw.po po/ta.po po/te.po po/th.po po/tr.po po/uk.po po/ur.po po/vi.po po/xh.po po/zh_CN.po po/zh_HK.po po/zh_TW.po Modified attrs: pidgin/pixmaps/emotes/default/24/chilli.png pidgin/pixmaps/emotes/default/24/mrgreen.png pidgin/pixmaps/emotes/small/16/grumpy.png pidgin/pixmaps/emotes/small/16/invincible.png pidgin/win32/nsis/rpm2zip.sh ChangeLog: explicit merge of '915eb72db575b96b63275f0f1d857378adbf3420' and '4f618a5001238453816cfce8f7e80005343fbe58' From qulogic at pidgin.im Wed Jun 9 01:29:48 2010 From: qulogic at pidgin.im (qulogic at pidgin.im) Date: Wed, 9 Jun 2010 01:29:48 -0400 (EDT) Subject: gobjectification: 8e940b8c: explicit merge of '302c560990dbae6b00f9c... Message-ID: <20100609052948.1D4C25BD00EA@rock.pidgin.im> ----------------------------------------------------------------- Revision: 8e940b8c1be28b550efcb06e59114b7d848f43ac Ancestor: 302c560990dbae6b00f9ca0ef36b3c160b190bdb Ancestor: d1dec79ed9aff395ebb3e4831791b26944292376 Author: qulogic at pidgin.im Date: 2010-06-07T06:29:40 Branch: im.pidgin.gobjectification URL: http://d.pidgin.im/viewmtn/revision/info/8e940b8c1be28b550efcb06e59114b7d848f43ac Deleted entries: pidgin/gtkcelllayout.c pidgin/gtkcelllayout.h pidgin/gtkcellrendererprogress.c pidgin/gtkcellrendererprogress.h pidgin/gtkcellview.c pidgin/gtkcellview.h pidgin/gtkcellviewmenuitem.c pidgin/gtkcellviewmenuitem.h pidgin/gtkexpander.c pidgin/gtkexpander.h pidgin/pidgincombobox.c pidgin/pidgincombobox.h pidgin/pixmaps/tray/22 pidgin/pixmaps/tray/32 pidgin/pixmaps/tray/48 Renamed entries: pidgin/pixmaps/tray/16/tray-away.png to pidgin/pixmaps/tray/hicolor/16x16/status/pidgin-tray-away.png pidgin/pixmaps/tray/16/tray-busy.png to pidgin/pixmaps/tray/hicolor/16x16/status/pidgin-tray-busy.png pidgin/pixmaps/tray/16/tray-connecting.png to pidgin/pixmaps/tray/hicolor/16x16/status/pidgin-tray-connect.png pidgin/pixmaps/tray/16/tray-extended-away.png to pidgin/pixmaps/tray/hicolor/16x16/status/pidgin-tray-xa.png pidgin/pixmaps/tray/16/tray-invisible.png to pidgin/pixmaps/tray/hicolor/16x16/status/pidgin-tray-invisible.png pidgin/pixmaps/tray/16/tray-message.png to pidgin/pixmaps/tray/hicolor/16x16/status/pidgin-tray-email.png pidgin/pixmaps/tray/16/tray-new-im.png to pidgin/pixmaps/tray/hicolor/16x16/status/pidgin-tray-pending.png pidgin/pixmaps/tray/16/tray-offline.png to pidgin/pixmaps/tray/hicolor/16x16/status/pidgin-tray-offline.png pidgin/pixmaps/tray/16/tray-online.png to pidgin/pixmaps/tray/hicolor/16x16/status/pidgin-tray-available.png pidgin/pixmaps/tray/22/tray-away.png to pidgin/pixmaps/tray/hicolor/22x22/status/pidgin-tray-away.png pidgin/pixmaps/tray/22/tray-busy.png to pidgin/pixmaps/tray/hicolor/22x22/status/pidgin-tray-busy.png pidgin/pixmaps/tray/22/tray-connecting.png to pidgin/pixmaps/tray/hicolor/22x22/status/pidgin-tray-connect.png pidgin/pixmaps/tray/22/tray-extended-away.png to pidgin/pixmaps/tray/hicolor/22x22/status/pidgin-tray-xa.png pidgin/pixmaps/tray/22/tray-invisible.png to pidgin/pixmaps/tray/hicolor/22x22/status/pidgin-tray-invisible.png pidgin/pixmaps/tray/22/tray-message.png to pidgin/pixmaps/tray/hicolor/22x22/status/pidgin-tray-email.png pidgin/pixmaps/tray/22/tray-new-im.png to pidgin/pixmaps/tray/hicolor/22x22/status/pidgin-tray-pending.png pidgin/pixmaps/tray/22/tray-offline.png to pidgin/pixmaps/tray/hicolor/22x22/status/pidgin-tray-offline.png pidgin/pixmaps/tray/22/tray-online.png to pidgin/pixmaps/tray/hicolor/22x22/status/pidgin-tray-available.png pidgin/pixmaps/tray/32/tray-away.png to pidgin/pixmaps/tray/hicolor/32x32/status/pidgin-tray-away.png pidgin/pixmaps/tray/32/tray-busy.png to pidgin/pixmaps/tray/hicolor/32x32/status/pidgin-tray-busy.png pidgin/pixmaps/tray/32/tray-connecting.png to pidgin/pixmaps/tray/hicolor/32x32/status/pidgin-tray-connect.png pidgin/pixmaps/tray/32/tray-extended-away.png to pidgin/pixmaps/tray/hicolor/32x32/status/pidgin-tray-xa.png pidgin/pixmaps/tray/32/tray-invisible.png to pidgin/pixmaps/tray/hicolor/32x32/status/pidgin-tray-invisible.png pidgin/pixmaps/tray/32/tray-message.png to pidgin/pixmaps/tray/hicolor/32x32/status/pidgin-tray-email.png pidgin/pixmaps/tray/32/tray-new-im.png to pidgin/pixmaps/tray/hicolor/32x32/status/pidgin-tray-pending.png pidgin/pixmaps/tray/32/tray-offline.png to pidgin/pixmaps/tray/hicolor/32x32/status/pidgin-tray-offline.png pidgin/pixmaps/tray/32/tray-online.png to pidgin/pixmaps/tray/hicolor/32x32/status/pidgin-tray-available.png pidgin/pixmaps/tray/48/tray-away.png to pidgin/pixmaps/tray/hicolor/48x48/status/pidgin-tray-away.png pidgin/pixmaps/tray/48/tray-busy.png to pidgin/pixmaps/tray/hicolor/48x48/status/pidgin-tray-busy.png pidgin/pixmaps/tray/48/tray-connecting.png to pidgin/pixmaps/tray/hicolor/48x48/status/pidgin-tray-connect.png pidgin/pixmaps/tray/48/tray-extended-away.png to pidgin/pixmaps/tray/hicolor/48x48/status/pidgin-tray-xa.png pidgin/pixmaps/tray/48/tray-invisible.png to pidgin/pixmaps/tray/hicolor/48x48/status/pidgin-tray-invisible.png pidgin/pixmaps/tray/48/tray-message.png to pidgin/pixmaps/tray/hicolor/48x48/status/pidgin-tray-email.png pidgin/pixmaps/tray/48/tray-new-im.png to pidgin/pixmaps/tray/hicolor/48x48/status/pidgin-tray-pending.png pidgin/pixmaps/tray/48/tray-offline.png to pidgin/pixmaps/tray/hicolor/48x48/status/pidgin-tray-offline.png pidgin/pixmaps/tray/48/tray-online.png to pidgin/pixmaps/tray/hicolor/48x48/status/pidgin-tray-available.png Added files: doc/hierarchy.dot libpurple/accountmanager.c libpurple/accountmanager.h libpurple/blist-node.c libpurple/blist-node.h libpurple/buddy.c libpurple/buddy.h libpurple/chat.c libpurple/chat.h libpurple/contact.c libpurple/contact.h libpurple/des3cipher.c libpurple/des3cipher.h libpurple/descipher.c libpurple/descipher.h libpurple/ghash.c libpurple/ghash.h libpurple/group.c libpurple/group.h libpurple/gsignal.c libpurple/gsignal.h libpurple/hash.c libpurple/hash.h libpurple/hmaccipher.c libpurple/hmaccipher.h libpurple/md4hash.c libpurple/md4hash.h libpurple/md5cipher.c libpurple/md5cipher.h libpurple/media/backend-fs2.c libpurple/media/backend-fs2.h libpurple/media/backend-iface.c libpurple/media/backend-iface.h libpurple/media/candidate.c libpurple/media/candidate.h libpurple/media/codec.c libpurple/media/codec.h libpurple/media/enum-types.c libpurple/media/enum-types.h libpurple/plugins/perl/common/Hash.xs libpurple/pobject.c libpurple/pobject.h libpurple/purple-2-uninstalled.pc.in libpurple/purple-2.pc.in libpurple/rc4cipher.c libpurple/rc4cipher.h libpurple/sha1cipher.c libpurple/sha1cipher.h libpurple/sha256cipher.c libpurple/sha256cipher.h pidgin/gtkdocklet-gtk.c pidgin/pidgin-2-uninstalled.pc.in pidgin/pidgin-2.pc.in pidgin/win32/nsis/available.lst Added directories: libpurple/media pidgin/pixmaps/tray/hicolor pidgin/pixmaps/tray/hicolor/16x16 pidgin/pixmaps/tray/hicolor/16x16/status pidgin/pixmaps/tray/hicolor/22x22 pidgin/pixmaps/tray/hicolor/22x22/status pidgin/pixmaps/tray/hicolor/32x32 pidgin/pixmaps/tray/hicolor/32x32/status pidgin/pixmaps/tray/hicolor/48x48 pidgin/pixmaps/tray/hicolor/48x48/status Modified files: COPYRIGHT ChangeLog ChangeLog.API ChangeLog.win32 Makefile.mingw acinclude.m4 configure.ac finch/finch.c finch/finch.h finch/gntaccount.c finch/gntblist.c finch/gntconn.c finch/gntconv.c finch/gntlog.c finch/gntpounce.c finch/gntrequest.c finch/gntsound.c finch/gntui.c finch/libgnt/configure.ac finch/plugins/gnthistory.c finch/plugins/grouping.c libpurple/Makefile.am libpurple/Makefile.mingw libpurple/account.c libpurple/account.h libpurple/blist.c libpurple/blist.h libpurple/buddyicon.c libpurple/certificate.c libpurple/cipher.c libpurple/cipher.h libpurple/connection.c libpurple/connection.h libpurple/conversation.c libpurple/conversation.h libpurple/core.c libpurple/dbus-analyze-functions.py libpurple/dbus-define-api.h libpurple/dbus-server.c libpurple/dbus-useful.c libpurple/dbus-useful.h libpurple/example/nullclient.c libpurple/ft.c libpurple/idle.c libpurple/internal.h libpurple/log.c libpurple/marshallers.list libpurple/media.c libpurple/media.h libpurple/mediamanager.c libpurple/mediamanager.h libpurple/network.c libpurple/network.h libpurple/ntlm.c libpurple/plugin.c libpurple/plugins/Makefile.am libpurple/plugins/autoaccept.c libpurple/plugins/ciphertest.c libpurple/plugins/filectl.c libpurple/plugins/idle.c libpurple/plugins/log_reader.c libpurple/plugins/one_time_password.c libpurple/plugins/perl/common/Account.xs libpurple/plugins/perl/common/BuddyList.xs libpurple/plugins/perl/common/Cipher.xs libpurple/plugins/perl/common/Connection.xs libpurple/plugins/perl/common/MANIFEST libpurple/plugins/perl/common/Makefile.mingw libpurple/plugins/perl/common/Prpl.xs libpurple/plugins/perl/common/Status.xs libpurple/plugins/perl/common/Util.xs libpurple/plugins/perl/common/module.h libpurple/plugins/perl/common/typemap libpurple/plugins/perl/scripts/signals-test.pl libpurple/plugins/signals-test.c libpurple/plugins/tcl/tcl_cmds.c libpurple/plugins/tcl/tcl_signals.c libpurple/pounce.c libpurple/protocols/bonjour/Makefile.mingw libpurple/protocols/bonjour/bonjour.c libpurple/protocols/bonjour/bonjour_ft.c libpurple/protocols/bonjour/buddy.c libpurple/protocols/bonjour/jabber.c libpurple/protocols/bonjour/mdns_avahi.c libpurple/protocols/bonjour/mdns_win32.c libpurple/protocols/bonjour/parser.c libpurple/protocols/gg/Makefile.mingw libpurple/protocols/gg/buddylist.c libpurple/protocols/gg/confer.c libpurple/protocols/gg/gg.c libpurple/protocols/gg/search.c libpurple/protocols/irc/Makefile.mingw libpurple/protocols/irc/cmds.c libpurple/protocols/irc/dcc_send.c libpurple/protocols/irc/irc.c libpurple/protocols/irc/msgs.c libpurple/protocols/irc/parse.c libpurple/protocols/jabber/Makefile.mingw libpurple/protocols/jabber/adhoccommands.c libpurple/protocols/jabber/auth.c libpurple/protocols/jabber/buddy.c libpurple/protocols/jabber/buddy.h libpurple/protocols/jabber/caps.c libpurple/protocols/jabber/caps.h libpurple/protocols/jabber/chat.c libpurple/protocols/jabber/chat.h libpurple/protocols/jabber/disco.c libpurple/protocols/jabber/google.c libpurple/protocols/jabber/iq.c libpurple/protocols/jabber/jabber.c libpurple/protocols/jabber/jingle/rtp.c libpurple/protocols/jabber/jingle/session.c libpurple/protocols/jabber/jutil.c libpurple/protocols/jabber/jutil.h libpurple/protocols/jabber/message.c libpurple/protocols/jabber/oob.c libpurple/protocols/jabber/parser.c libpurple/protocols/jabber/presence.c libpurple/protocols/jabber/roster.c libpurple/protocols/jabber/si.c libpurple/protocols/jabber/usermood.c libpurple/protocols/jabber/usernick.c libpurple/protocols/jabber/usertune.c libpurple/protocols/msn/Makefile.mingw libpurple/protocols/msn/contact.c libpurple/protocols/msn/dialog.c libpurple/protocols/msn/error.c libpurple/protocols/msn/httpconn.c libpurple/protocols/msn/msg.c libpurple/protocols/msn/msn.c libpurple/protocols/msn/msn.h libpurple/protocols/msn/msnutils.c libpurple/protocols/msn/nexus.c libpurple/protocols/msn/notification.c libpurple/protocols/msn/object.c libpurple/protocols/msn/oim.c libpurple/protocols/msn/servconn.c libpurple/protocols/msn/session.c libpurple/protocols/msn/slp.c libpurple/protocols/msn/switchboard.c libpurple/protocols/msn/sync.c libpurple/protocols/msn/user.c libpurple/protocols/msn/userlist.c libpurple/protocols/msnp9/Makefile.mingw libpurple/protocols/msnp9/dialog.c libpurple/protocols/msnp9/error.c libpurple/protocols/msnp9/msn.c libpurple/protocols/msnp9/msn.h libpurple/protocols/msnp9/nexus.c libpurple/protocols/msnp9/notification.c libpurple/protocols/msnp9/object.c libpurple/protocols/msnp9/servconn.c libpurple/protocols/msnp9/session.c libpurple/protocols/msnp9/slp.c libpurple/protocols/msnp9/switchboard.c libpurple/protocols/msnp9/sync.c libpurple/protocols/msnp9/userlist.c libpurple/protocols/mxit/multimx.c libpurple/protocols/mxit/mxit.c libpurple/protocols/mxit/profile.c libpurple/protocols/mxit/protocol.c libpurple/protocols/mxit/protocol.h libpurple/protocols/mxit/roster.c libpurple/protocols/myspace/Makefile.mingw libpurple/protocols/myspace/myspace.c libpurple/protocols/myspace/myspace.h libpurple/protocols/myspace/user.c libpurple/protocols/myspace/zap.c libpurple/protocols/novell/Makefile.mingw libpurple/protocols/novell/novell.c libpurple/protocols/null/Makefile.mingw libpurple/protocols/null/nullprpl.c libpurple/protocols/oscar/Makefile.mingw libpurple/protocols/oscar/clientlogin.c libpurple/protocols/oscar/family_auth.c libpurple/protocols/oscar/family_oservice.c libpurple/protocols/oscar/flap_connection.c libpurple/protocols/oscar/oscar.c libpurple/protocols/qq/Makefile.mingw libpurple/protocols/qq/buddy_info.c libpurple/protocols/qq/buddy_list.c libpurple/protocols/qq/buddy_memo.c libpurple/protocols/qq/buddy_opt.c libpurple/protocols/qq/file_trans.c libpurple/protocols/qq/group.c libpurple/protocols/qq/group_im.c libpurple/protocols/qq/group_info.c libpurple/protocols/qq/group_internal.c libpurple/protocols/qq/group_join.c libpurple/protocols/qq/group_opt.c libpurple/protocols/qq/im.c libpurple/protocols/qq/qq.c libpurple/protocols/qq/qq_base.c libpurple/protocols/qq/qq_network.c libpurple/protocols/qq/qq_process.c libpurple/protocols/qq/qq_trans.c libpurple/protocols/qq/send_file.c libpurple/protocols/qq/utils.c libpurple/protocols/sametime/Makefile.mingw libpurple/protocols/sametime/sametime.c libpurple/protocols/silc/Makefile.mingw libpurple/protocols/silc/buddy.c libpurple/protocols/silc/chat.c libpurple/protocols/silc/ft.c libpurple/protocols/silc/ops.c libpurple/protocols/silc/pk.c libpurple/protocols/silc/silc.c libpurple/protocols/silc/util.c libpurple/protocols/silc/wb.c libpurple/protocols/silc10/buddy.c libpurple/protocols/silc10/chat.c libpurple/protocols/silc10/ft.c libpurple/protocols/silc10/ops.c libpurple/protocols/silc10/silc.c libpurple/protocols/silc10/util.c libpurple/protocols/simple/Makefile.mingw libpurple/protocols/simple/simple.c libpurple/protocols/yahoo/Makefile.mingw libpurple/protocols/yahoo/libymsg.c libpurple/protocols/yahoo/util.c libpurple/protocols/yahoo/yahoo_aliases.c libpurple/protocols/yahoo/yahoo_doodle.c libpurple/protocols/yahoo/yahoo_filexfer.c libpurple/protocols/yahoo/yahoo_friend.c libpurple/protocols/yahoo/yahoo_picture.c libpurple/protocols/yahoo/yahoo_profile.c libpurple/protocols/yahoo/yahoochat.c libpurple/protocols/yahoo/ycht.c libpurple/protocols/zephyr/zephyr.c libpurple/proxy.c libpurple/prpl.c libpurple/prpl.h libpurple/purple-uninstalled.pc.in libpurple/purple.h.in libpurple/purple.pc.in libpurple/savedstatuses.c libpurple/server.c libpurple/server.h libpurple/signals.c libpurple/signals.h libpurple/sound.h libpurple/status.c libpurple/status.h libpurple/tests/check_libpurple.c libpurple/tests/test_cipher.c libpurple/util.c libpurple/util.h libpurple/value.c libpurple/value.h libpurple/win32/global.mak libpurple/win32/libc_interface.c libpurple/win32/libc_interface.h libpurple/win32/libc_internal.h libpurple/win32/libpurplerc.rc.in libpurple/win32/win32dep.c libpurple/xmlnode.c pidgin/Makefile.am pidgin/Makefile.mingw pidgin/gtkaccount.c pidgin/gtkblist.c pidgin/gtkblist.h pidgin/gtkcellrendererexpander.c pidgin/gtkconn.c pidgin/gtkconv.c pidgin/gtkconv.h pidgin/gtkdebug.c pidgin/gtkdialogs.c pidgin/gtkdialogs.h pidgin/gtkdocklet-x11.c pidgin/gtkdocklet.c pidgin/gtkdocklet.h pidgin/gtkft.c pidgin/gtkimhtml.c pidgin/gtkimhtmltoolbar.c pidgin/gtkimhtmltoolbar.h pidgin/gtklog.c pidgin/gtkmain.c pidgin/gtkmenutray.c pidgin/gtknotify.c pidgin/gtkplugin.c pidgin/gtkpounce.c pidgin/gtkprefs.c pidgin/gtkprivacy.c pidgin/gtkrequest.c pidgin/gtkroomlist.c pidgin/gtksavedstatuses.c pidgin/gtkscrollbook.c pidgin/gtksession.c pidgin/gtksound.c pidgin/gtkstatusbox.c pidgin/gtkutils.c pidgin/gtkutils.h pidgin/gtkwhiteboard.c pidgin/minidialog.c pidgin/pidgin-uninstalled.pc.in pidgin/pidgin.h pidgin/pidgin.pc.in pidgin/pidginstock.c pidgin/pidginstock.h pidgin/pidgintooltip.c pidgin/pixmaps/Makefile.am pidgin/plugins/cap/cap.c pidgin/plugins/disco/xmppdisco.c pidgin/plugins/gestures/gestures.c pidgin/plugins/gevolution/assoc-buddy.c pidgin/plugins/gevolution/gevo-util.c pidgin/plugins/gevolution/gevolution.c pidgin/plugins/gtk-signals-test.c pidgin/plugins/history.c pidgin/plugins/mailchk.c pidgin/plugins/perl/common/GtkBlist.xs pidgin/plugins/perl/common/Makefile.mingw pidgin/plugins/pidgininc.c pidgin/plugins/pidginrc.c pidgin/plugins/raw.c pidgin/plugins/relnot.c pidgin/plugins/spellchk.c pidgin/plugins/themeedit-icon.c pidgin/plugins/themeedit.c pidgin/plugins/ticker/ticker.c pidgin/plugins/xmppconsole.c pidgin/win32/gtkdocklet-win32.c pidgin/win32/gtkwin32dep.c pidgin/win32/nsis/langmacros.nsh pidgin/win32/nsis/pidgin-installer.nsi pidgin/win32/nsis/translations/afrikaans.nsh pidgin/win32/nsis/translations/albanian.nsh pidgin/win32/nsis/translations/arabic.nsh pidgin/win32/nsis/translations/basque.nsh pidgin/win32/nsis/translations/bulgarian.nsh pidgin/win32/nsis/translations/catalan.nsh pidgin/win32/nsis/translations/czech.nsh pidgin/win32/nsis/translations/danish.nsh pidgin/win32/nsis/translations/dutch.nsh pidgin/win32/nsis/translations/english.nsh pidgin/win32/nsis/translations/finnish.nsh pidgin/win32/nsis/translations/french.nsh pidgin/win32/nsis/translations/galician.nsh pidgin/win32/nsis/translations/german.nsh pidgin/win32/nsis/translations/hebrew.nsh pidgin/win32/nsis/translations/hungarian.nsh pidgin/win32/nsis/translations/italian.nsh pidgin/win32/nsis/translations/japanese.nsh pidgin/win32/nsis/translations/korean.nsh pidgin/win32/nsis/translations/kurdish.nsh pidgin/win32/nsis/translations/lithuanian.nsh pidgin/win32/nsis/translations/norwegian.nsh pidgin/win32/nsis/translations/persian.nsh pidgin/win32/nsis/translations/polish.nsh pidgin/win32/nsis/translations/portuguese-br.nsh pidgin/win32/nsis/translations/portuguese.nsh pidgin/win32/nsis/translations/romanian.nsh pidgin/win32/nsis/translations/russian.nsh pidgin/win32/nsis/translations/serbian-latin.nsh pidgin/win32/nsis/translations/simp-chinese.nsh pidgin/win32/nsis/translations/slovak.nsh pidgin/win32/nsis/translations/slovenian.nsh pidgin/win32/nsis/translations/spanish.nsh pidgin/win32/nsis/translations/swedish.nsh pidgin/win32/nsis/translations/trad-chinese.nsh pidgin/win32/nsis/translations/valencian.nsh pidgin/win32/nsis/translations/vietnamese.nsh pidgin/win32/pidgin_dll_rc.rc.in pidgin/win32/pidgin_exe_rc.rc.in pidgin/win32/untar.c pidgin/win32/winpidgin.c po/ChangeLog po/POTFILES.in po/ca.po po/ca at valencia.po po/fi.po ChangeLog: explicit merge of '302c560990dbae6b00f9ca0ef36b3c160b190bdb' and 'd1dec79ed9aff395ebb3e4831791b26944292376' From qulogic at pidgin.im Wed Jun 9 01:29:48 2010 From: qulogic at pidgin.im (qulogic at pidgin.im) Date: Wed, 9 Jun 2010 01:29:48 -0400 (EDT) Subject: gobjectification: 934aff39: merge of '75a78a11d32607458de1c6666bd812... Message-ID: <20100609052949.0C5085BD00EA@rock.pidgin.im> ----------------------------------------------------------------- Revision: 934aff39607597c5a924874fb9a00ffbb4a8a80b Ancestor: 75a78a11d32607458de1c6666bd812a5058ca84d Ancestor: 9cb3d047cef2ce061932b720433f0d522a9f0c92 Author: qulogic at pidgin.im Date: 2010-06-07T05:26:50 Branch: im.pidgin.gobjectification URL: http://d.pidgin.im/viewmtn/revision/info/934aff39607597c5a924874fb9a00ffbb4a8a80b Added files: libpurple/protocols/jabber/auth_cyrus.c libpurple/protocols/jabber/auth_digest_md5.c libpurple/protocols/jabber/auth_plain.c libpurple/protocols/jabber/auth_scram.c libpurple/protocols/jabber/auth_scram.h libpurple/tests/test_jabber_scram.c pidgin/win32/nsis/translations/norwegian_nynorsk.nsh Modified files: ChangeLog ChangeLog.win32 configure.ac finch/finch.c finch/gntaccount.c finch/gntblist.c finch/gntcertmgr.c finch/gntconn.c finch/gntconv.c finch/gntdebug.c finch/gntft.c finch/gntlog.c finch/gntmedia.c finch/gntnotify.c finch/gntplugin.c finch/gntpounce.c finch/libgnt/gntkeys.h finch/libgnt/gntutils.c finch/libgnt/wms/s.c libpurple/protocols/gg/lib/common.c libpurple/protocols/gg/lib/dcc.c libpurple/protocols/gg/lib/events.c libpurple/protocols/gg/lib/http.c libpurple/protocols/gg/lib/libgadu.c libpurple/protocols/gg/lib/pubdir.c libpurple/protocols/gg/lib/pubdir50.c libpurple/protocols/jabber/Makefile.am libpurple/protocols/jabber/Makefile.mingw libpurple/protocols/jabber/auth.c libpurple/protocols/jabber/auth.h libpurple/protocols/jabber/buddy.c libpurple/protocols/jabber/disco.c libpurple/protocols/jabber/google.c libpurple/protocols/jabber/google.h libpurple/protocols/jabber/jabber.c libpurple/protocols/jabber/jabber.h libpurple/protocols/jabber/jutil.c libpurple/protocols/jabber/jutil.h libpurple/protocols/jabber/libxmpp.c libpurple/protocols/jabber/namespaces.h libpurple/protocols/jabber/parser.c libpurple/protocols/jabber/presence.c libpurple/protocols/jabber/roster.c libpurple/protocols/msn/userlist.c libpurple/protocols/mxit/actions.c libpurple/protocols/mxit/chunk.c libpurple/protocols/mxit/cipher.c libpurple/protocols/mxit/filexfer.c libpurple/protocols/mxit/formcmds.c libpurple/protocols/mxit/http.c libpurple/protocols/mxit/login.c libpurple/protocols/mxit/markup.c libpurple/protocols/mxit/multimx.c libpurple/protocols/mxit/mxit.c libpurple/protocols/mxit/profile.c libpurple/protocols/mxit/protocol.c libpurple/protocols/mxit/roster.c libpurple/protocols/mxit/splashscreen.c libpurple/protocols/oscar/clientlogin.c libpurple/protocols/oscar/family_auth.c libpurple/protocols/oscar/oscar.c libpurple/protocols/oscar/oscarcommon.h libpurple/protocols/yahoo/ycht.c libpurple/tests/Makefile.am libpurple/tests/check_libpurple.c libpurple/tests/tests.h pidgin/win32/nsis/pidgin-installer.nsi po/ChangeLog po/POTFILES.in po/ru.po ChangeLog: merge of '75a78a11d32607458de1c6666bd812a5058ca84d' and '9cb3d047cef2ce061932b720433f0d522a9f0c92' From qulogic at pidgin.im Wed Jun 9 01:29:49 2010 From: qulogic at pidgin.im (qulogic at pidgin.im) Date: Wed, 9 Jun 2010 01:29:49 -0400 (EDT) Subject: gobjectification: 95875458: So now libpurple core should compile, bu... Message-ID: <20100609052949.9516A5BD00EA@rock.pidgin.im> ----------------------------------------------------------------- Revision: 958754581c407a77c2d856379abc7baf2702b3b5 Ancestor: 723d062c831c032fb7ab2c2af6709da312eccb3c Author: qulogic at pidgin.im Date: 2010-06-09T04:52:13 Branch: im.pidgin.gobjectification URL: http://d.pidgin.im/viewmtn/revision/info/958754581c407a77c2d856379abc7baf2702b3b5 Modified files: libpurple/connection.c libpurple/marshallers.list ChangeLog: So now libpurple core should compile, but I need to figure out that autojoin signal. -------------- next part -------------- ============================================================ --- libpurple/connection.c b4eb37d6c87bcfe2bbe1fb890ede393862203327 +++ libpurple/connection.c 9e037e29013df72a9f176446577b68d4689081b5 @@ -92,6 +92,7 @@ enum SIG_SIGNED_OFF, SIG_DISCONNECTED, SIG_ERROR, + SIG_AUTOJOIN, SIG_LAST }; @@ -373,8 +374,8 @@ purple_connection_set_state(PurpleConnec #endif g_signal_emit(G_OBJECT(gc), signals[SIG_SIGNED_ON], 0); - /* FIXME: Yea, this doesn't exist... */ - g_signal_emit_return_1(G_OBJECT(gc), signals[SIG_AUTOJOIN], 0); + /* FIXME: Yea, this doesn't exist... + g_signal_emit_return_1(G_OBJECT(gc), signals[SIG_AUTOJOIN], 0);*/ serv_set_permit_deny(gc); @@ -993,7 +994,6 @@ purple_connection_class_init(PurpleConne purple_smarshal_BOOLEAN__VOID, G_TYPE_NONE, 0); - PURPLE_SUBTYPE_CONNECTION)); } ============================================================ --- libpurple/marshallers.list eb22231d1d9e386147e151c79e374d7f2649e741 +++ libpurple/marshallers.list 5070bd1441d6e10de7267872fbdea4e539797b3f @@ -3,6 +3,7 @@ VOID:POINTER,POINTER,POINTER VOID:POINTER,POINTER VOID:POINTER,POINTER,OBJECT VOID:POINTER,POINTER,POINTER +BOOLEAN:VOID BOOLEAN:OBJECT,POINTER,STRING VOID:STRING,STRING VOID:STRING,STRING,DOUBLE From qulogic at pidgin.im Wed Jun 9 01:29:55 2010 From: qulogic at pidgin.im (qulogic at pidgin.im) Date: Wed, 9 Jun 2010 01:29:55 -0400 (EDT) Subject: gobjectification: 9cb3d047: explicit merge of 'f0addfa93983499a661e2... Message-ID: <20100609052955.621545BD0103@rock.pidgin.im> ----------------------------------------------------------------- Revision: 9cb3d047cef2ce061932b720433f0d522a9f0c92 Ancestor: d571c0ac2ae0f30ab9ad82097fc26921b97fa976 Ancestor: f0addfa93983499a661e29f567e66a98a9544a89 Author: qulogic at pidgin.im Date: 2010-06-07T05:00:44 Branch: im.pidgin.gobjectification URL: http://d.pidgin.im/viewmtn/revision/info/9cb3d047cef2ce061932b720433f0d522a9f0c92 Added files: doc/hierarchy.dot libpurple/accountmanager.c libpurple/accountmanager.h libpurple/blist-node.c libpurple/blist-node.h libpurple/buddy.c libpurple/buddy.h libpurple/chat.c libpurple/chat.h libpurple/contact.c libpurple/contact.h libpurple/des3cipher.c libpurple/des3cipher.h libpurple/descipher.c libpurple/descipher.h libpurple/ghash.c libpurple/ghash.h libpurple/group.c libpurple/group.h libpurple/gsignal.c libpurple/gsignal.h libpurple/hash.c libpurple/hash.h libpurple/hmaccipher.c libpurple/hmaccipher.h libpurple/md4hash.c libpurple/md4hash.h libpurple/md5cipher.c libpurple/md5cipher.h libpurple/plugins/perl/common/Hash.xs libpurple/pobject.c libpurple/pobject.h libpurple/rc4cipher.c libpurple/rc4cipher.h libpurple/sha1cipher.c libpurple/sha1cipher.h libpurple/sha256cipher.c libpurple/sha256cipher.h pidgin/win32/nsis/translations/norwegian_nynorsk.nsh Modified files: COPYRIGHT ChangeLog ChangeLog.win32 acinclude.m4 configure.ac finch/finch.c finch/finch.h finch/gntaccount.c finch/gntblist.c finch/gntcertmgr.c finch/gntconn.c finch/gntconv.c finch/gntdebug.c finch/gntft.c finch/gntlog.c finch/gntmedia.c finch/gntnotify.c finch/gntplugin.c finch/gntpounce.c finch/gntrequest.c finch/gntsound.c finch/gntui.c finch/libgnt/gntkeys.h finch/libgnt/gntutils.c finch/libgnt/wms/s.c finch/plugins/gnthistory.c finch/plugins/grouping.c libpurple/Makefile.am libpurple/Makefile.mingw libpurple/account.c libpurple/account.h libpurple/blist.c libpurple/blist.h libpurple/buddyicon.c libpurple/cipher.c libpurple/cipher.h libpurple/connection.c libpurple/connection.h libpurple/conversation.c libpurple/conversation.h libpurple/core.c libpurple/dbus-analyze-functions.py libpurple/dbus-define-api.h libpurple/dbus-server.c libpurple/dbus-useful.c libpurple/dbus-useful.h libpurple/example/nullclient.c libpurple/idle.c libpurple/internal.h libpurple/log.c libpurple/marshallers.list libpurple/network.c libpurple/ntlm.c libpurple/plugins/Makefile.am libpurple/plugins/autoaccept.c libpurple/plugins/ciphertest.c libpurple/plugins/filectl.c libpurple/plugins/idle.c libpurple/plugins/log_reader.c libpurple/plugins/one_time_password.c libpurple/plugins/perl/common/Account.xs libpurple/plugins/perl/common/BuddyList.xs libpurple/plugins/perl/common/Cipher.xs libpurple/plugins/perl/common/Connection.xs libpurple/plugins/perl/common/MANIFEST libpurple/plugins/perl/common/Makefile.mingw libpurple/plugins/perl/common/Prpl.xs libpurple/plugins/perl/common/Status.xs libpurple/plugins/perl/common/Util.xs libpurple/plugins/perl/common/module.h libpurple/plugins/perl/common/typemap libpurple/plugins/signals-test.c libpurple/plugins/tcl/tcl_cmds.c libpurple/plugins/tcl/tcl_signals.c libpurple/pounce.c libpurple/protocols/bonjour/Makefile.mingw libpurple/protocols/bonjour/bonjour.c libpurple/protocols/bonjour/bonjour_ft.c libpurple/protocols/bonjour/buddy.c libpurple/protocols/bonjour/jabber.c libpurple/protocols/bonjour/mdns_avahi.c libpurple/protocols/bonjour/mdns_win32.c libpurple/protocols/gg/Makefile.mingw libpurple/protocols/gg/buddylist.c libpurple/protocols/gg/confer.c libpurple/protocols/gg/gg.c libpurple/protocols/gg/lib/common.c libpurple/protocols/gg/lib/dcc.c libpurple/protocols/gg/lib/events.c libpurple/protocols/gg/lib/http.c libpurple/protocols/gg/lib/libgadu.c libpurple/protocols/gg/lib/pubdir.c libpurple/protocols/gg/lib/pubdir50.c libpurple/protocols/gg/search.c libpurple/protocols/irc/Makefile.mingw libpurple/protocols/irc/cmds.c libpurple/protocols/irc/dcc_send.c libpurple/protocols/irc/irc.c libpurple/protocols/irc/msgs.c libpurple/protocols/irc/parse.c libpurple/protocols/jabber/Makefile.mingw libpurple/protocols/jabber/adhoccommands.c libpurple/protocols/jabber/auth.c libpurple/protocols/jabber/buddy.c libpurple/protocols/jabber/caps.c libpurple/protocols/jabber/caps.h libpurple/protocols/jabber/chat.c libpurple/protocols/jabber/disco.c libpurple/protocols/jabber/google.c libpurple/protocols/jabber/google.h libpurple/protocols/jabber/jabber.c libpurple/protocols/jabber/jabber.h libpurple/protocols/jabber/jutil.c libpurple/protocols/jabber/libxmpp.c libpurple/protocols/jabber/message.c libpurple/protocols/jabber/namespaces.h libpurple/protocols/jabber/oob.c libpurple/protocols/jabber/presence.c libpurple/protocols/jabber/roster.c libpurple/protocols/jabber/si.c libpurple/protocols/jabber/usermood.c libpurple/protocols/jabber/usernick.c libpurple/protocols/jabber/usertune.c libpurple/protocols/msn/Makefile.mingw libpurple/protocols/msn/contact.c libpurple/protocols/msn/dialog.c libpurple/protocols/msn/error.c libpurple/protocols/msn/httpconn.c libpurple/protocols/msn/msg.c libpurple/protocols/msn/msn.c libpurple/protocols/msn/msn.h libpurple/protocols/msn/msnutils.c libpurple/protocols/msn/nexus.c libpurple/protocols/msn/notification.c libpurple/protocols/msn/object.c libpurple/protocols/msn/oim.c libpurple/protocols/msn/servconn.c libpurple/protocols/msn/session.c libpurple/protocols/msn/slp.c libpurple/protocols/msn/switchboard.c libpurple/protocols/msn/sync.c libpurple/protocols/msn/user.c libpurple/protocols/msn/userlist.c libpurple/protocols/msnp9/Makefile.mingw libpurple/protocols/msnp9/dialog.c libpurple/protocols/msnp9/error.c libpurple/protocols/msnp9/msn.c libpurple/protocols/msnp9/msn.h libpurple/protocols/msnp9/nexus.c libpurple/protocols/msnp9/notification.c libpurple/protocols/msnp9/object.c libpurple/protocols/msnp9/servconn.c libpurple/protocols/msnp9/session.c libpurple/protocols/msnp9/slp.c libpurple/protocols/msnp9/switchboard.c libpurple/protocols/msnp9/sync.c libpurple/protocols/msnp9/userlist.c libpurple/protocols/mxit/actions.c libpurple/protocols/mxit/chunk.c libpurple/protocols/mxit/cipher.c libpurple/protocols/mxit/filexfer.c libpurple/protocols/mxit/formcmds.c libpurple/protocols/mxit/http.c libpurple/protocols/mxit/login.c libpurple/protocols/mxit/markup.c libpurple/protocols/mxit/multimx.c libpurple/protocols/mxit/mxit.c libpurple/protocols/mxit/profile.c libpurple/protocols/mxit/protocol.c libpurple/protocols/mxit/roster.c libpurple/protocols/mxit/splashscreen.c libpurple/protocols/myspace/Makefile.mingw libpurple/protocols/myspace/myspace.c libpurple/protocols/myspace/myspace.h libpurple/protocols/myspace/user.c libpurple/protocols/myspace/zap.c libpurple/protocols/novell/Makefile.mingw libpurple/protocols/novell/novell.c libpurple/protocols/null/Makefile.mingw libpurple/protocols/null/nullprpl.c libpurple/protocols/oscar/Makefile.mingw libpurple/protocols/oscar/clientlogin.c libpurple/protocols/oscar/family_auth.c libpurple/protocols/oscar/family_oservice.c libpurple/protocols/oscar/flap_connection.c libpurple/protocols/oscar/oscar.c libpurple/protocols/oscar/oscarcommon.h libpurple/protocols/qq/Makefile.mingw libpurple/protocols/qq/buddy_info.c libpurple/protocols/qq/buddy_list.c libpurple/protocols/qq/buddy_memo.c libpurple/protocols/qq/buddy_opt.c libpurple/protocols/qq/file_trans.c libpurple/protocols/qq/group.c libpurple/protocols/qq/group_im.c libpurple/protocols/qq/group_info.c libpurple/protocols/qq/group_internal.c libpurple/protocols/qq/group_join.c libpurple/protocols/qq/group_opt.c libpurple/protocols/qq/im.c libpurple/protocols/qq/qq.c libpurple/protocols/qq/qq_base.c libpurple/protocols/qq/qq_network.c libpurple/protocols/qq/qq_process.c libpurple/protocols/qq/qq_trans.c libpurple/protocols/qq/send_file.c libpurple/protocols/qq/utils.c libpurple/protocols/sametime/Makefile.mingw libpurple/protocols/sametime/sametime.c libpurple/protocols/silc/Makefile.mingw libpurple/protocols/silc/buddy.c libpurple/protocols/silc/chat.c libpurple/protocols/silc/ft.c libpurple/protocols/silc/ops.c libpurple/protocols/silc/pk.c libpurple/protocols/silc/silc.c libpurple/protocols/silc/util.c libpurple/protocols/silc/wb.c libpurple/protocols/silc10/buddy.c libpurple/protocols/silc10/chat.c libpurple/protocols/silc10/ft.c libpurple/protocols/silc10/ops.c libpurple/protocols/silc10/silc.c libpurple/protocols/silc10/util.c libpurple/protocols/simple/Makefile.mingw libpurple/protocols/simple/simple.c libpurple/protocols/yahoo/Makefile.mingw libpurple/protocols/yahoo/libymsg.c libpurple/protocols/yahoo/util.c libpurple/protocols/yahoo/yahoo_aliases.c libpurple/protocols/yahoo/yahoo_doodle.c libpurple/protocols/yahoo/yahoo_filexfer.c libpurple/protocols/yahoo/yahoo_friend.c libpurple/protocols/yahoo/yahoo_picture.c libpurple/protocols/yahoo/yahoo_profile.c libpurple/protocols/yahoo/yahoochat.c libpurple/protocols/yahoo/ycht.c libpurple/protocols/zephyr/zephyr.c libpurple/proxy.c libpurple/prpl.c libpurple/purple.h.in libpurple/savedstatuses.c libpurple/server.c libpurple/server.h libpurple/signals.c libpurple/signals.h libpurple/status.c libpurple/status.h libpurple/tests/check_libpurple.c libpurple/tests/test_cipher.c libpurple/util.c libpurple/util.h libpurple/value.c libpurple/value.h libpurple/win32/global.mak pidgin/Makefile.am pidgin/gtkaccount.c pidgin/gtkblist.c pidgin/gtkblist.h pidgin/gtkconn.c pidgin/gtkconv.c pidgin/gtkdialogs.c pidgin/gtkdocklet.c pidgin/gtkimhtml.c pidgin/gtklog.c pidgin/gtkmain.c pidgin/gtknotify.c pidgin/gtkpounce.c pidgin/gtkprefs.c pidgin/gtkprivacy.c pidgin/gtkroomlist.c pidgin/gtksound.c pidgin/gtkstatusbox.c pidgin/gtkutils.c pidgin/plugins/cap/cap.c pidgin/plugins/disco/xmppdisco.c pidgin/plugins/gevolution/gevo-util.c pidgin/plugins/gevolution/gevolution.c pidgin/plugins/gtk-signals-test.c pidgin/plugins/history.c pidgin/plugins/mailchk.c pidgin/plugins/perl/common/GtkBlist.xs pidgin/plugins/pidgininc.c pidgin/plugins/raw.c pidgin/plugins/relnot.c pidgin/plugins/themeedit-icon.c pidgin/plugins/themeedit.c pidgin/plugins/ticker/ticker.c pidgin/plugins/xmppconsole.c pidgin/win32/nsis/pidgin-installer.nsi po/ChangeLog po/POTFILES.in po/ru.po ChangeLog: explicit merge of 'f0addfa93983499a661e29f567e66a98a9544a89' and 'd571c0ac2ae0f30ab9ad82097fc26921b97fa976' From qulogic at pidgin.im Wed Jun 9 01:30:34 2010 From: qulogic at pidgin.im (qulogic at pidgin.im) Date: Wed, 9 Jun 2010 01:30:34 -0400 (EDT) Subject: gobjectification: a1294073: explicit merge of '1cb02c0ee6acec6884c42... Message-ID: <20100609053034.DEF2B5BD00DE@rock.pidgin.im> ----------------------------------------------------------------- Revision: a1294073e2a6051bbc4516a0439ac2cee7822a9d Ancestor: 1cb02c0ee6acec6884c42679e9e3203e3968b6f7 Ancestor: 3312e940c7ef040c69fa790d2dd8d18a36ddf1b3 Author: qulogic at pidgin.im Date: 2010-06-07T03:08:58 Branch: im.pidgin.gobjectification URL: http://d.pidgin.im/viewmtn/revision/info/a1294073e2a6051bbc4516a0439ac2cee7822a9d Added files: doc/hierarchy.dot libpurple/accountmanager.c libpurple/accountmanager.h libpurple/blist-node.c libpurple/blist-node.h libpurple/buddy.c libpurple/buddy.h libpurple/chat.c libpurple/chat.h libpurple/contact.c libpurple/contact.h libpurple/des3cipher.c libpurple/des3cipher.h libpurple/descipher.c libpurple/descipher.h libpurple/ghash.c libpurple/ghash.h libpurple/group.c libpurple/group.h libpurple/gsignal.c libpurple/gsignal.h libpurple/hash.c libpurple/hash.h libpurple/hmaccipher.c libpurple/hmaccipher.h libpurple/md4hash.c libpurple/md4hash.h libpurple/md5cipher.c libpurple/md5cipher.h libpurple/plugins/perl/common/Hash.xs libpurple/pobject.c libpurple/pobject.h libpurple/rc4cipher.c libpurple/rc4cipher.h libpurple/sha1cipher.c libpurple/sha1cipher.h libpurple/sha256cipher.c libpurple/sha256cipher.h Modified files: COPYRIGHT ChangeLog acinclude.m4 autogen.sh configure.ac doc/finch.1.in doc/pidgin.1.in finch/finch.c finch/finch.h finch/gntaccount.c finch/gntblist.c finch/gntconn.c finch/gntconv.c finch/gntlog.c finch/gntpounce.c finch/gntrequest.c finch/gntsound.c finch/gntui.c finch/plugins/gnthistory.c finch/plugins/grouping.c libpurple/Makefile.am libpurple/Makefile.mingw libpurple/account.c libpurple/account.h libpurple/blist.c libpurple/blist.h libpurple/buddyicon.c libpurple/certificate.c libpurple/cipher.c libpurple/cipher.h libpurple/connection.c libpurple/connection.h libpurple/conversation.c libpurple/conversation.h libpurple/core.c libpurple/dbus-analyze-functions.py libpurple/dbus-define-api.h libpurple/dbus-server.c libpurple/dbus-useful.c libpurple/dbus-useful.h libpurple/example/nullclient.c libpurple/idle.c libpurple/internal.h libpurple/log.c libpurple/marshallers.list libpurple/media.c libpurple/network.c libpurple/ntlm.c libpurple/plugins/Makefile.am libpurple/plugins/autoaccept.c libpurple/plugins/ciphertest.c libpurple/plugins/filectl.c libpurple/plugins/idle.c libpurple/plugins/log_reader.c libpurple/plugins/one_time_password.c libpurple/plugins/perl/common/Account.xs libpurple/plugins/perl/common/BuddyList.xs libpurple/plugins/perl/common/Cipher.xs libpurple/plugins/perl/common/Connection.xs libpurple/plugins/perl/common/MANIFEST libpurple/plugins/perl/common/Makefile.mingw libpurple/plugins/perl/common/Prpl.xs libpurple/plugins/perl/common/Status.xs libpurple/plugins/perl/common/Util.xs libpurple/plugins/perl/common/module.h libpurple/plugins/perl/common/typemap libpurple/plugins/signals-test.c libpurple/plugins/tcl/tcl_cmds.c libpurple/plugins/tcl/tcl_signals.c libpurple/pounce.c libpurple/protocols/bonjour/Makefile.mingw libpurple/protocols/bonjour/bonjour.c libpurple/protocols/bonjour/bonjour_ft.c libpurple/protocols/bonjour/buddy.c libpurple/protocols/bonjour/jabber.c libpurple/protocols/bonjour/mdns_avahi.c libpurple/protocols/bonjour/mdns_win32.c libpurple/protocols/gg/Makefile.mingw libpurple/protocols/gg/buddylist.c libpurple/protocols/gg/confer.c libpurple/protocols/gg/gg.c libpurple/protocols/gg/search.c libpurple/protocols/irc/Makefile.mingw libpurple/protocols/irc/cmds.c libpurple/protocols/irc/dcc_send.c libpurple/protocols/irc/irc.c libpurple/protocols/irc/msgs.c libpurple/protocols/irc/parse.c libpurple/protocols/jabber/adhoccommands.c libpurple/protocols/jabber/auth.c libpurple/protocols/jabber/buddy.c libpurple/protocols/jabber/caps.c libpurple/protocols/jabber/caps.h libpurple/protocols/jabber/chat.c libpurple/protocols/jabber/disco.c libpurple/protocols/jabber/google.c libpurple/protocols/jabber/jabber.c libpurple/protocols/jabber/jutil.c libpurple/protocols/jabber/message.c libpurple/protocols/jabber/oob.c libpurple/protocols/jabber/presence.c libpurple/protocols/jabber/roster.c libpurple/protocols/jabber/si.c libpurple/protocols/jabber/usermood.c libpurple/protocols/jabber/usernick.c libpurple/protocols/jabber/usertune.c libpurple/protocols/msn/Makefile.mingw libpurple/protocols/msn/contact.c libpurple/protocols/msn/dialog.c libpurple/protocols/msn/error.c libpurple/protocols/msn/httpconn.c libpurple/protocols/msn/msg.c libpurple/protocols/msn/msn.c libpurple/protocols/msn/msn.h libpurple/protocols/msn/msnutils.c libpurple/protocols/msn/nexus.c libpurple/protocols/msn/notification.c libpurple/protocols/msn/object.c libpurple/protocols/msn/oim.c libpurple/protocols/msn/servconn.c libpurple/protocols/msn/session.c libpurple/protocols/msn/slp.c libpurple/protocols/msn/switchboard.c libpurple/protocols/msn/sync.c libpurple/protocols/msn/user.c libpurple/protocols/msn/userlist.c libpurple/protocols/msnp9/Makefile.mingw libpurple/protocols/msnp9/dialog.c libpurple/protocols/msnp9/error.c libpurple/protocols/msnp9/msn.c libpurple/protocols/msnp9/msn.h libpurple/protocols/msnp9/nexus.c libpurple/protocols/msnp9/notification.c libpurple/protocols/msnp9/object.c libpurple/protocols/msnp9/servconn.c libpurple/protocols/msnp9/session.c libpurple/protocols/msnp9/slp.c libpurple/protocols/msnp9/switchboard.c libpurple/protocols/msnp9/sync.c libpurple/protocols/msnp9/userlist.c libpurple/protocols/myspace/Makefile.mingw libpurple/protocols/myspace/myspace.c libpurple/protocols/myspace/myspace.h libpurple/protocols/myspace/user.c libpurple/protocols/myspace/zap.c libpurple/protocols/novell/Makefile.mingw libpurple/protocols/novell/novell.c libpurple/protocols/null/Makefile.mingw libpurple/protocols/null/nullprpl.c libpurple/protocols/oscar/Makefile.mingw libpurple/protocols/oscar/clientlogin.c libpurple/protocols/oscar/family_auth.c libpurple/protocols/oscar/family_icbm.c libpurple/protocols/oscar/family_locate.c libpurple/protocols/oscar/family_oservice.c libpurple/protocols/oscar/flap_connection.c libpurple/protocols/oscar/oscar.c libpurple/protocols/oscar/oscar.h libpurple/protocols/oscar/oscarcommon.h libpurple/protocols/qq/Makefile.mingw libpurple/protocols/qq/buddy_info.c libpurple/protocols/qq/buddy_list.c libpurple/protocols/qq/buddy_memo.c libpurple/protocols/qq/buddy_opt.c libpurple/protocols/qq/file_trans.c libpurple/protocols/qq/group.c libpurple/protocols/qq/group_im.c libpurple/protocols/qq/group_info.c libpurple/protocols/qq/group_internal.c libpurple/protocols/qq/group_join.c libpurple/protocols/qq/group_opt.c libpurple/protocols/qq/im.c libpurple/protocols/qq/qq.c libpurple/protocols/qq/qq_base.c libpurple/protocols/qq/qq_network.c libpurple/protocols/qq/qq_process.c libpurple/protocols/qq/qq_trans.c libpurple/protocols/qq/send_file.c libpurple/protocols/qq/utils.c libpurple/protocols/sametime/Makefile.mingw libpurple/protocols/sametime/sametime.c libpurple/protocols/silc/Makefile.mingw libpurple/protocols/silc/buddy.c libpurple/protocols/silc/chat.c libpurple/protocols/silc/ft.c libpurple/protocols/silc/ops.c libpurple/protocols/silc/pk.c libpurple/protocols/silc/silc.c libpurple/protocols/silc/util.c libpurple/protocols/silc/wb.c libpurple/protocols/silc10/buddy.c libpurple/protocols/silc10/chat.c libpurple/protocols/silc10/ft.c libpurple/protocols/silc10/ops.c libpurple/protocols/silc10/silc.c libpurple/protocols/silc10/util.c libpurple/protocols/simple/Makefile.mingw libpurple/protocols/simple/simple.c libpurple/protocols/yahoo/Makefile.mingw libpurple/protocols/yahoo/libymsg.c libpurple/protocols/yahoo/util.c libpurple/protocols/yahoo/yahoo_aliases.c libpurple/protocols/yahoo/yahoo_doodle.c libpurple/protocols/yahoo/yahoo_filexfer.c libpurple/protocols/yahoo/yahoo_friend.c libpurple/protocols/yahoo/yahoo_picture.c libpurple/protocols/yahoo/yahoo_profile.c libpurple/protocols/yahoo/yahoochat.c libpurple/protocols/yahoo/ycht.c libpurple/protocols/zephyr/zephyr.c libpurple/proxy.c libpurple/prpl.c libpurple/purple.h.in libpurple/savedstatuses.c libpurple/server.c libpurple/server.h libpurple/signals.c libpurple/signals.h libpurple/status.c libpurple/status.h libpurple/tests/check_libpurple.c libpurple/tests/test_cipher.c libpurple/tests/test_jabber_jutil.c libpurple/util.c libpurple/util.h libpurple/value.c libpurple/value.h libpurple/win32/global.mak pidgin/Makefile.am pidgin/gtkaccount.c pidgin/gtkblist.c pidgin/gtkblist.h pidgin/gtkconn.c pidgin/gtkconv.c pidgin/gtkdialogs.c pidgin/gtkdocklet.c pidgin/gtkimhtml.c pidgin/gtkimhtmltoolbar.c pidgin/gtklog.c pidgin/gtkmain.c pidgin/gtknotify.c pidgin/gtkpounce.c pidgin/gtkprefs.c pidgin/gtkprivacy.c pidgin/gtkroomlist.c pidgin/gtksmiley.c pidgin/gtksound.c pidgin/gtkstatusbox.c pidgin/gtkutils.c pidgin/pidginstock.c pidgin/plugins/cap/cap.c pidgin/plugins/disco/xmppdisco.c pidgin/plugins/gevolution/gevo-util.c pidgin/plugins/gevolution/gevolution.c pidgin/plugins/gtk-signals-test.c pidgin/plugins/history.c pidgin/plugins/mailchk.c pidgin/plugins/perl/common/GtkBlist.xs pidgin/plugins/pidgininc.c pidgin/plugins/raw.c pidgin/plugins/relnot.c pidgin/plugins/themeedit-icon.c pidgin/plugins/themeedit.c pidgin/plugins/ticker/ticker.c pidgin/plugins/xmppconsole.c pidgin/win32/nsis/pidgin-installer.nsi pidgin/win32/winpidgin.c po/POTFILES.in po/af.po po/am.po po/ar.po po/az.po po/be at latin.po po/bg.po po/bn.po po/bs.po po/ca.po po/ca at valencia.po po/cs.po po/da.po po/de.po po/dz.po po/el.po po/en_AU.po po/en_CA.po po/en_GB.po po/eo.po po/es.po po/et.po po/eu.po po/fa.po po/fi.po po/fr.po po/ga.po po/gl.po po/gu.po po/he.po po/hi.po po/hu.po po/hy.po po/id.po po/it.po po/ja.po po/ka.po po/km.po po/kn.po po/ko.po po/ku.po po/lo.po po/lt.po po/mk.po po/mn.po po/my_MM.po po/nb.po po/ne.po po/nl.po po/nn.po po/oc.po po/pa.po po/pl.po po/ps.po po/pt.po po/pt_BR.po po/ro.po po/ru.po po/si.po po/sk.po po/sl.po po/sq.po po/sr.po po/sr at latin.po po/sv.po po/sw.po po/ta.po po/te.po po/th.po po/tr.po po/uk.po po/ur.po po/vi.po po/xh.po po/zh_CN.po po/zh_HK.po po/zh_TW.po ChangeLog: explicit merge of '1cb02c0ee6acec6884c42679e9e3203e3968b6f7' and '3312e940c7ef040c69fa790d2dd8d18a36ddf1b3' From qulogic at pidgin.im Wed Jun 9 01:30:48 2010 From: qulogic at pidgin.im (qulogic at pidgin.im) Date: Wed, 9 Jun 2010 01:30:48 -0400 (EDT) Subject: gobjectification: a49300fe: explicit merge of 'ef75d7b47891cb91d91a8... Message-ID: <20100609053048.80EA75BD0101@rock.pidgin.im> ----------------------------------------------------------------- Revision: a49300fe29e4aab06919dc169479b04c113f3830 Ancestor: ee1ff97a9998e202fbdc128de2989222fd7abd3f Ancestor: ef75d7b47891cb91d91a8c3655dc5b8c50c1137f Author: qulogic at pidgin.im Date: 2010-06-07T04:55:39 Branch: im.pidgin.gobjectification URL: http://d.pidgin.im/viewmtn/revision/info/a49300fe29e4aab06919dc169479b04c113f3830 Added files: doc/hierarchy.dot libpurple/accountmanager.c libpurple/accountmanager.h libpurple/blist-node.c libpurple/blist-node.h libpurple/buddy.c libpurple/buddy.h libpurple/chat.c libpurple/chat.h libpurple/contact.c libpurple/contact.h libpurple/des3cipher.c libpurple/des3cipher.h libpurple/descipher.c libpurple/descipher.h libpurple/ghash.c libpurple/ghash.h libpurple/group.c libpurple/group.h libpurple/gsignal.c libpurple/gsignal.h libpurple/hash.c libpurple/hash.h libpurple/hmaccipher.c libpurple/hmaccipher.h libpurple/md4hash.c libpurple/md4hash.h libpurple/md5cipher.c libpurple/md5cipher.h libpurple/plugins/perl/common/Hash.xs libpurple/pobject.c libpurple/pobject.h libpurple/rc4cipher.c libpurple/rc4cipher.h libpurple/sha1cipher.c libpurple/sha1cipher.h libpurple/sha256cipher.c libpurple/sha256cipher.h Modified files: COPYRIGHT ChangeLog acinclude.m4 configure.ac finch/finch.c finch/finch.h finch/gntaccount.c finch/gntblist.c finch/gntconn.c finch/gntconv.c finch/gntlog.c finch/gntpounce.c finch/gntrequest.c finch/gntsound.c finch/gntui.c finch/plugins/gnthistory.c finch/plugins/grouping.c libpurple/Makefile.am libpurple/Makefile.mingw libpurple/account.c libpurple/account.h libpurple/blist.c libpurple/blist.h libpurple/buddyicon.c libpurple/cipher.c libpurple/cipher.h libpurple/connection.c libpurple/connection.h libpurple/conversation.c libpurple/conversation.h libpurple/core.c libpurple/dbus-analyze-functions.py libpurple/dbus-define-api.h libpurple/dbus-server.c libpurple/dbus-useful.c libpurple/dbus-useful.h libpurple/example/nullclient.c libpurple/idle.c libpurple/internal.h libpurple/log.c libpurple/marshallers.list libpurple/media.c libpurple/network.c libpurple/ntlm.c libpurple/plugins/Makefile.am libpurple/plugins/autoaccept.c libpurple/plugins/ciphertest.c libpurple/plugins/filectl.c libpurple/plugins/idle.c libpurple/plugins/log_reader.c libpurple/plugins/one_time_password.c libpurple/plugins/perl/common/Account.xs libpurple/plugins/perl/common/BuddyList.xs libpurple/plugins/perl/common/Cipher.xs libpurple/plugins/perl/common/Connection.xs libpurple/plugins/perl/common/MANIFEST libpurple/plugins/perl/common/Makefile.mingw libpurple/plugins/perl/common/Prpl.xs libpurple/plugins/perl/common/Status.xs libpurple/plugins/perl/common/Util.xs libpurple/plugins/perl/common/module.h libpurple/plugins/perl/common/typemap libpurple/plugins/signals-test.c libpurple/plugins/tcl/tcl_cmds.c libpurple/plugins/tcl/tcl_signals.c libpurple/pounce.c libpurple/protocols/Makefile.mingw libpurple/protocols/bonjour/Makefile.mingw libpurple/protocols/bonjour/bonjour.c libpurple/protocols/bonjour/bonjour_ft.c libpurple/protocols/bonjour/buddy.c libpurple/protocols/bonjour/jabber.c libpurple/protocols/bonjour/mdns_avahi.c libpurple/protocols/bonjour/mdns_win32.c libpurple/protocols/gg/Makefile.mingw libpurple/protocols/gg/buddylist.c libpurple/protocols/gg/confer.c libpurple/protocols/gg/gg.c libpurple/protocols/gg/search.c libpurple/protocols/irc/Makefile.mingw libpurple/protocols/irc/cmds.c libpurple/protocols/irc/dcc_send.c libpurple/protocols/irc/irc.c libpurple/protocols/irc/msgs.c libpurple/protocols/irc/parse.c libpurple/protocols/jabber/adhoccommands.c libpurple/protocols/jabber/auth.c libpurple/protocols/jabber/buddy.c libpurple/protocols/jabber/buddy.h libpurple/protocols/jabber/caps.c libpurple/protocols/jabber/caps.h libpurple/protocols/jabber/chat.c libpurple/protocols/jabber/disco.c libpurple/protocols/jabber/google.c libpurple/protocols/jabber/jabber.c libpurple/protocols/jabber/jabber.h libpurple/protocols/jabber/jingle/rtp.c libpurple/protocols/jabber/jutil.c libpurple/protocols/jabber/libxmpp.c libpurple/protocols/jabber/message.c libpurple/protocols/jabber/oob.c libpurple/protocols/jabber/pep.c libpurple/protocols/jabber/presence.c libpurple/protocols/jabber/roster.c libpurple/protocols/jabber/si.c libpurple/protocols/jabber/useravatar.c libpurple/protocols/jabber/usermood.c libpurple/protocols/jabber/usernick.c libpurple/protocols/jabber/usertune.c libpurple/protocols/msn/Makefile.mingw libpurple/protocols/msn/contact.c libpurple/protocols/msn/dialog.c libpurple/protocols/msn/error.c libpurple/protocols/msn/httpconn.c libpurple/protocols/msn/msg.c libpurple/protocols/msn/msn.c libpurple/protocols/msn/msn.h libpurple/protocols/msn/msnutils.c libpurple/protocols/msn/nexus.c libpurple/protocols/msn/notification.c libpurple/protocols/msn/object.c libpurple/protocols/msn/oim.c libpurple/protocols/msn/servconn.c libpurple/protocols/msn/session.c libpurple/protocols/msn/slp.c libpurple/protocols/msn/switchboard.c libpurple/protocols/msn/sync.c libpurple/protocols/msn/user.c libpurple/protocols/msn/userlist.c libpurple/protocols/msnp9/Makefile.mingw libpurple/protocols/msnp9/dialog.c libpurple/protocols/msnp9/error.c libpurple/protocols/msnp9/msn.c libpurple/protocols/msnp9/msn.h libpurple/protocols/msnp9/nexus.c libpurple/protocols/msnp9/notification.c libpurple/protocols/msnp9/object.c libpurple/protocols/msnp9/servconn.c libpurple/protocols/msnp9/session.c libpurple/protocols/msnp9/slp.c libpurple/protocols/msnp9/switchboard.c libpurple/protocols/msnp9/sync.c libpurple/protocols/msnp9/userlist.c libpurple/protocols/mxit/http.c libpurple/protocols/mxit/login.c libpurple/protocols/myspace/Makefile.mingw libpurple/protocols/myspace/myspace.c libpurple/protocols/myspace/myspace.h libpurple/protocols/myspace/user.c libpurple/protocols/myspace/zap.c libpurple/protocols/novell/Makefile.mingw libpurple/protocols/novell/novell.c libpurple/protocols/null/Makefile.mingw libpurple/protocols/null/nullprpl.c libpurple/protocols/oscar/Makefile.mingw libpurple/protocols/oscar/clientlogin.c libpurple/protocols/oscar/family_auth.c libpurple/protocols/oscar/family_oservice.c libpurple/protocols/oscar/flap_connection.c libpurple/protocols/oscar/oscar.c libpurple/protocols/qq/Makefile.mingw libpurple/protocols/qq/buddy_info.c libpurple/protocols/qq/buddy_list.c libpurple/protocols/qq/buddy_memo.c libpurple/protocols/qq/buddy_opt.c libpurple/protocols/qq/file_trans.c libpurple/protocols/qq/group.c libpurple/protocols/qq/group_im.c libpurple/protocols/qq/group_info.c libpurple/protocols/qq/group_internal.c libpurple/protocols/qq/group_join.c libpurple/protocols/qq/group_opt.c libpurple/protocols/qq/im.c libpurple/protocols/qq/qq.c libpurple/protocols/qq/qq_base.c libpurple/protocols/qq/qq_network.c libpurple/protocols/qq/qq_process.c libpurple/protocols/qq/qq_trans.c libpurple/protocols/qq/send_file.c libpurple/protocols/qq/utils.c libpurple/protocols/sametime/Makefile.mingw libpurple/protocols/sametime/sametime.c libpurple/protocols/silc/Makefile.mingw libpurple/protocols/silc/buddy.c libpurple/protocols/silc/chat.c libpurple/protocols/silc/ft.c libpurple/protocols/silc/ops.c libpurple/protocols/silc/pk.c libpurple/protocols/silc/silc.c libpurple/protocols/silc/util.c libpurple/protocols/silc/wb.c libpurple/protocols/silc10/buddy.c libpurple/protocols/silc10/chat.c libpurple/protocols/silc10/ft.c libpurple/protocols/silc10/ops.c libpurple/protocols/silc10/silc.c libpurple/protocols/silc10/util.c libpurple/protocols/simple/Makefile.mingw libpurple/protocols/simple/simple.c libpurple/protocols/yahoo/Makefile.mingw libpurple/protocols/yahoo/libymsg.c libpurple/protocols/yahoo/util.c libpurple/protocols/yahoo/yahoo_aliases.c libpurple/protocols/yahoo/yahoo_doodle.c libpurple/protocols/yahoo/yahoo_filexfer.c libpurple/protocols/yahoo/yahoo_friend.c libpurple/protocols/yahoo/yahoo_picture.c libpurple/protocols/yahoo/yahoo_profile.c libpurple/protocols/yahoo/yahoochat.c libpurple/protocols/yahoo/ycht.c libpurple/protocols/zephyr/zephyr.c libpurple/proxy.c libpurple/prpl.c libpurple/purple.h.in libpurple/savedstatuses.c libpurple/server.c libpurple/server.h libpurple/signals.c libpurple/signals.h libpurple/status.c libpurple/status.h libpurple/tests/check_libpurple.c libpurple/tests/test_cipher.c libpurple/util.c libpurple/util.h libpurple/value.c libpurple/value.h libpurple/win32/global.mak pidgin/Makefile.am pidgin/gtkaccount.c pidgin/gtkblist.c pidgin/gtkblist.h pidgin/gtkconn.c pidgin/gtkconv.c pidgin/gtkdialogs.c pidgin/gtkdocklet.c pidgin/gtkimhtml.c pidgin/gtklog.c pidgin/gtkmain.c pidgin/gtknotify.c pidgin/gtkpounce.c pidgin/gtkprefs.c pidgin/gtkprivacy.c pidgin/gtkroomlist.c pidgin/gtksound.c pidgin/gtkstatusbox.c pidgin/gtkutils.c pidgin/plugins/cap/cap.c pidgin/plugins/disco/xmppdisco.c pidgin/plugins/gevolution/gevo-util.c pidgin/plugins/gevolution/gevolution.c pidgin/plugins/gtk-signals-test.c pidgin/plugins/history.c pidgin/plugins/mailchk.c pidgin/plugins/perl/common/GtkBlist.xs pidgin/plugins/pidgininc.c pidgin/plugins/pidginrc.c pidgin/plugins/raw.c pidgin/plugins/relnot.c pidgin/plugins/themeedit-icon.c pidgin/plugins/themeedit.c pidgin/plugins/ticker/ticker.c pidgin/plugins/xmppconsole.c po/POTFILES.in po/af.po po/am.po po/ar.po po/az.po po/be at latin.po po/bg.po po/bn.po po/bs.po po/ca.po po/ca at valencia.po po/cs.po po/da.po po/de.po po/dz.po po/el.po po/en_AU.po po/en_CA.po po/en_GB.po po/eo.po po/es.po po/et.po po/eu.po po/fa.po po/fi.po po/fr.po po/ga.po po/gl.po po/gu.po po/he.po po/hi.po po/hu.po po/hy.po po/id.po po/it.po po/ja.po po/ka.po po/km.po po/kn.po po/ko.po po/ku.po po/lo.po po/lt.po po/mk.po po/mn.po po/my_MM.po po/nb.po po/ne.po po/nl.po po/nn.po po/oc.po po/pa.po po/pl.po po/ps.po po/pt.po po/pt_BR.po po/ro.po po/ru.po po/si.po po/sk.po po/sl.po po/sq.po po/sr.po po/sr at latin.po po/sv.po po/sw.po po/ta.po po/te.po po/th.po po/tr.po po/uk.po po/ur.po po/vi.po po/xh.po po/zh_CN.po po/zh_HK.po po/zh_TW.po ChangeLog: explicit merge of 'ef75d7b47891cb91d91a8c3655dc5b8c50c1137f' and 'ee1ff97a9998e202fbdc128de2989222fd7abd3f' From qulogic at pidgin.im Wed Jun 9 01:30:49 2010 From: qulogic at pidgin.im (qulogic at pidgin.im) Date: Wed, 9 Jun 2010 01:30:49 -0400 (EDT) Subject: gobjectification: aedb69cf: And now oscar compiles. Message-ID: <20100609053049.3ACF55BD0101@rock.pidgin.im> ----------------------------------------------------------------- Revision: aedb69cf86b7bf67e60413986545d3fe7d05e21f Ancestor: b34d745fd5f8fb6a7ac67ac3aff3e00452652b23 Author: qulogic at pidgin.im Date: 2010-06-09T01:31:56 Branch: im.pidgin.gobjectification URL: http://d.pidgin.im/viewmtn/revision/info/aedb69cf86b7bf67e60413986545d3fe7d05e21f Modified files: libpurple/protocols/oscar/family_icbm.c libpurple/protocols/oscar/oscar.c ChangeLog: And now oscar compiles. -------------- next part -------------- ============================================================ --- libpurple/protocols/oscar/family_icbm.c 52688bc864209fd4471193bfce81c4547ba8ae51 +++ libpurple/protocols/oscar/family_icbm.c 57b55d3f5c14e06ab019afac164e7b95983a9bf5 @@ -2926,6 +2926,7 @@ int icq_im_xstatus_request(OscarData *od GSList *outer_tlvlist = NULL, *inner_tlvlist = NULL; ByteStream bs, header, plugindata; PurpleAccount *account; + const char *username; const char *fmt; char *statxml; int xmllen; @@ -2959,10 +2960,11 @@ int icq_im_xstatus_request(OscarData *od fmt = "<Q><PluginID>srvMng</PluginID></Q><srv><id>cAwaySrv</id><req><id>AwayStat</id><trans>2</trans><senderId>%s</senderId></req></srv>\r\n"; account = purple_connection_get_account(od->gc); - xmllen = strlen(fmt) - 2 + strlen(account->username); + username = purple_account_get_username(account); + xmllen = strlen(fmt) - 2 + strlen(username); statxml = (char*) g_malloc(xmllen); - snprintf(statxml, xmllen, fmt, account->username); + snprintf(statxml, xmllen, fmt, username); aim_icbm_makecookie(cookie); @@ -3024,6 +3026,7 @@ int icq_relay_xstatus(OscarData *od, con char *statxml; const char *title; int len; + const char *username; static const guint8 plugindata[] = { 0x1B, 0x00, @@ -3057,7 +3060,7 @@ int icq_relay_xstatus(OscarData *od, con /* if (!strcmp(account->username, sn)) icq_im_xstatus_request(od, sn); */ - status = purple_presence_get_active_status(account->presence); + status = purple_presence_get_active_status(purple_account_get_presence(account)); if (!status) return -EINVAL; title = purple_status_get_name(status); if (!title) return -EINVAL; @@ -3065,11 +3068,12 @@ int icq_relay_xstatus(OscarData *od, con if (!formatted_msg) return -EINVAL; msg = purple_markup_strip_html(formatted_msg); if (!msg) return -EINVAL; - len = strlen(fmt)-6+strlen(account->username)+strlen(title)+strlen(msg); + username = purple_account_get_username(account); + len = strlen(fmt)-6+strlen(username)+strlen(title)+strlen(msg); statxml = (char*) g_malloc(len); snprintf(statxml, len, fmt, - account->username, title, msg); + username, title, msg); purple_debug_misc("oscar", "X-Status AutoReply: %s, %s\n", formatted_msg, msg); ============================================================ --- libpurple/protocols/oscar/oscar.c 5dc1260c9dd09ff4ae7c422d7a5ef92c61581a21 +++ libpurple/protocols/oscar/oscar.c c6d6a79a45f141a8c4c49588416f3fc339f64012 @@ -1526,14 +1526,12 @@ oscar_login(PurpleAccount *account) return; } - purple_connection_set_flags(gc, - purple_connection_get_flags(gc) | PURPLE_CONNECTION_FLAGS_HTML); + purple_connection_turn_on_flags(gc, PURPLE_CONNECTION_FLAGS_HTML); if (oscar_util_valid_name_icq((purple_account_get_username(account)))) { od->icq = TRUE; - gc->flags |= PURPLE_CONNECTION_SUPPORT_MOODS; + purple_connection_turn_on_flags(gc, PURPLE_CONNECTION_FLAGS_SUPPORT_MOODS); } else { - purple_connection_set_flags(gc, - purple_connection_get_flags(gc) | PURPLE_CONNECTION_FLAGS_AUTO_RESP); + purple_connection_turn_on_flags(gc, PURPLE_CONNECTION_FLAGS_AUTO_RESP); } od->default_port = purple_account_get_int(account, "port", OSCAR_DEFAULT_LOGIN_PORT); @@ -4962,7 +4960,7 @@ oscar_set_status(PurpleAccount *account, return; pc = purple_account_get_connection(account); - od = purple_connection_get_protocol_data(pc); + od = purple_object_get_protocol_data(PURPLE_OBJECT(pc)); /* There's no need to do the stuff below for mood updates. */ if (purple_status_type_get_primitive(purple_status_get_type(status)) == PURPLE_STATUS_MOOD) { @@ -5391,7 +5389,7 @@ static int purple_ssi_parselist(OscarDat if (gname_utf8 != NULL && purple_find_group(gname_utf8) == NULL) { g = purple_group_new(gname_utf8); - purple_blist_add_group(g, NULL); + purple_blist_node_add_child(PURPLE_BLIST_NODE(g), purple_blist_get_root()); } g_free(gname_utf8); } break; @@ -6183,7 +6181,7 @@ oscar_status_types(PurpleAccount *accoun OSCAR_STATUS_ID_FREE4CHAT, _("Free For Chat"), TRUE, is_icq, FALSE, "message", _("Message"), - purple_value_new(PURPLE_TYPE_STRING), NULL); + purple_g_value_slice_new(G_TYPE_STRING), NULL); status_types = g_list_prepend(status_types, type); @@ -6191,7 +6189,7 @@ oscar_status_types(PurpleAccount *accoun OSCAR_STATUS_ID_EVIL, _("Evil"), TRUE, is_icq, FALSE, "message", _("Message"), - purple_value_new(PURPLE_TYPE_STRING), NULL); + purple_g_value_slice_new(G_TYPE_STRING), NULL); status_types = g_list_prepend(status_types, type); @@ -6199,7 +6197,7 @@ oscar_status_types(PurpleAccount *accoun OSCAR_STATUS_ID_DEPRESSION, _("Depression"), TRUE, is_icq, FALSE, "message", _("Message"), - purple_value_new(PURPLE_TYPE_STRING), NULL); + purple_g_value_slice_new(G_TYPE_STRING), NULL); status_types = g_list_prepend(status_types, type); @@ -6207,7 +6205,7 @@ oscar_status_types(PurpleAccount *accoun OSCAR_STATUS_ID_ATHOME, _("At home"), TRUE, is_icq, FALSE, "message", _("Message"), - purple_value_new(PURPLE_TYPE_STRING), NULL); + purple_g_value_slice_new(G_TYPE_STRING), NULL); status_types = g_list_prepend(status_types, type); @@ -6215,7 +6213,7 @@ oscar_status_types(PurpleAccount *accoun OSCAR_STATUS_ID_ATWORK, _("At work"), TRUE, is_icq, FALSE, "message", _("Message"), - purple_value_new(PURPLE_TYPE_STRING), NULL); + purple_g_value_slice_new(G_TYPE_STRING), NULL); status_types = g_list_prepend(status_types, type); @@ -6224,7 +6222,7 @@ oscar_status_types(PurpleAccount *accoun OSCAR_STATUS_ID_LUNCH, _("Lunch"), TRUE, is_icq, FALSE, "message", _("Message"), - purple_value_new(PURPLE_TYPE_STRING), NULL); + purple_g_value_slice_new(G_TYPE_STRING), NULL); status_types = g_list_prepend(status_types, type); @@ -6239,7 +6237,7 @@ oscar_status_types(PurpleAccount *accoun OSCAR_STATUS_ID_INVISIBLE, NULL, TRUE, TRUE, FALSE, "message", _("Message"), - purple_value_new(PURPLE_TYPE_STRING), NULL); + purple_g_value_slice_new(G_TYPE_STRING), NULL); status_types = g_list_prepend(status_types, type); @@ -6275,8 +6273,8 @@ oscar_status_types(PurpleAccount *accoun type = purple_status_type_new_with_attrs(PURPLE_STATUS_MOOD, "mood", NULL, TRUE, is_icq, TRUE, - PURPLE_MOOD_NAME, _("Mood Name"), purple_value_new(PURPLE_TYPE_STRING), - PURPLE_MOOD_COMMENT, _("Mood Comment"), purple_value_new(PURPLE_TYPE_STRING), + PURPLE_MOOD_NAME, _("Mood Name"), purple_g_value_slice_new(G_TYPE_STRING), + PURPLE_MOOD_COMMENT, _("Mood Comment"), purple_g_value_slice_new(G_TYPE_STRING), NULL); status_types = g_list_prepend(status_types, type); @@ -6428,13 +6426,13 @@ oscar_close_directim(gpointer object, gp node = object; - g_return_if_fail(PURPLE_BLIST_NODE_IS_BUDDY(node)); + g_return_if_fail(PURPLE_IS_BUDDY(node)); - buddy = (PurpleBuddy*)node; + buddy = PURPLE_BUDDY(node); name = purple_buddy_get_name(buddy); account = purple_buddy_get_account(buddy); gc = purple_account_get_connection(account); - od = gc->proto_data; + od = purple_object_get_protocol_data(PURPLE_OBJECT(gc)); conn = peer_connection_find_by_type(od, name, OSCAR_CAPABILITY_DIRECTIM); if (conn != NULL) @@ -6458,14 +6456,14 @@ static void oscar_get_icqxstatusmsg(Purp PurpleConnection *gc; PurpleAccount *account; - g_return_if_fail(PURPLE_BLIST_NODE_IS_BUDDY(node)); + g_return_if_fail(PURPLE_IS_BUDDY(node)); - buddy = (PurpleBuddy *)node; - gc = purple_account_get_connection(buddy->account); - account = purple_connection_get_account(gc); - purple_debug_info("oscar", "Manual X-Status Get From %s to %s:\n", purple_buddy_get_name(buddy), account->username); + buddy = PURPLE_BUDDY(node); + account = purple_buddy_get_account(buddy); + gc = purple_account_get_connection(account); + purple_debug_info("oscar", "Manual X-Status Get From %s to %s:\n", purple_buddy_get_name(buddy), purple_account_get_username(account)); - icq_im_xstatus_request(gc->proto_data, purple_buddy_get_name(buddy)); + icq_im_xstatus_request(purple_object_get_protocol_data(PURPLE_OBJECT(gc)), purple_buddy_get_name(buddy)); } static void @@ -6476,7 +6474,7 @@ oscar_get_aim_info_cb(PurpleBlistNode *n g_return_if_fail(PURPLE_IS_BUDDY(node)); - buddy = (PurpleBuddy *)node; + buddy = PURPLE_BUDDY(node); gc = purple_account_get_connection(purple_buddy_get_account(buddy)); aim_locate_getinfoshort(purple_object_get_protocol_data(PURPLE_OBJECT(gc)), From qulogic at pidgin.im Wed Jun 9 01:30:49 2010 From: qulogic at pidgin.im (qulogic at pidgin.im) Date: Wed, 9 Jun 2010 01:30:49 -0400 (EDT) Subject: gobjectification: b1644c83: Get Finch to compile. Someone should pro... Message-ID: <20100609053049.B6FD25BD00DE@rock.pidgin.im> ----------------------------------------------------------------- Revision: b1644c83a3106c43f068d68e392c2ff06e8f9e25 Ancestor: dfb672c84d488ae378020799aa628bca0da795bd Author: qulogic at pidgin.im Date: 2010-06-09T04:53:50 Branch: im.pidgin.gobjectification URL: http://d.pidgin.im/viewmtn/revision/info/b1644c83a3106c43f068d68e392c2ff06e8f9e25 Modified files: finch/gntblist.c finch/gntconv.c ChangeLog: Get Finch to compile. Someone should probably check I got that adding bit right in gntblist.c. -------------- next part -------------- ============================================================ --- finch/gntblist.c df3849ffabbd2020c477e17cf935043c04b0abe1 +++ finch/gntblist.c 63c36e882befd129cf75ef97534c3204fba7636c @@ -584,7 +584,7 @@ new_list(void) ggblist->manager = &default_manager; } -static void destroy_list(PurpleBuddyList *list) +static void destroy_list(void) { if (ggblist == NULL) return; @@ -641,7 +641,7 @@ add_buddy_cb(void *data, PurpleRequestFi if (!grp) { grp = purple_group_new(group); - purple_blist_add_group(grp, NULL); + purple_blist_node_add_child(PURPLE_BLIST_NODE(grp), purple_blist_get_root()); } /* XXX: Ask to merge if there's already a buddy with the same alias in the same group (#4553) */ @@ -694,17 +694,18 @@ join_chat(PurpleChat *chat) PurpleAccount *account = purple_chat_get_account(chat); const char *name; PurpleConversation *conv; - const char *alias; + char *alias; /* This hack here is to work around the fact that there's no good way of * getting the actual name of a chat. I don't understand why we return * the alias for a chat when all we want is the name. */ - alias = chat->alias; - chat->alias = NULL; + alias = g_strdup(purple_chat_get_alias(chat)); + purple_chat_set_alias(chat, NULL); name = purple_chat_get_name(chat); conv = purple_find_conversation_with_account( PURPLE_CONV_TYPE_CHAT, name, account); - chat->alias = (char *)alias; + purple_chat_set_alias(chat, alias); + g_free(alias); if (!conv || purple_conv_chat_has_left(PURPLE_CONV_CHAT(conv))) { serv_join_chat(purple_account_get_connection(account), @@ -748,7 +749,7 @@ add_chat_cb(void *data, PurpleRequestFie if (chat != NULL) { if ((grp = purple_find_group(group)) == NULL) { grp = purple_group_new(group); - purple_blist_add_group(grp, NULL); + purple_blist_node_add_child(PURPLE_BLIST_NODE(grp), purple_blist_get_root()); } purple_blist_add_chat(chat, grp, NULL); purple_chat_set_alias(chat, alias); @@ -808,7 +809,7 @@ add_group_cb(gpointer null, const char * grp = purple_find_group(group); if (!grp) { grp = purple_group_new(group); - purple_blist_add_group(grp, NULL); + purple_blist_node_add_child(PURPLE_BLIST_NODE(grp), purple_blist_get_root()); } if (!ggblist) @@ -1382,7 +1383,7 @@ remove_contact(PurpleContact *contact) if (purple_account_is_connected(account)) purple_account_remove_buddy(account, buddy, group); } - purple_blist_remove_contact(contact); + purple_blist_node_remove(PURPLE_BLIST_NODE(contact)); } static void @@ -1497,7 +1498,7 @@ remove_group(PurpleGroup *group) account = purple_buddy_get_account(buddy); if (purple_account_is_connected(account)) { purple_account_remove_buddy(account, buddy, group); - purple_blist_remove_buddy(buddy); + purple_blist_node_remove(PURPLE_BLIST_NODE(buddy)); } } else { bnode = purple_blist_node_next(bnode); @@ -1507,13 +1508,13 @@ remove_group(PurpleGroup *group) PurpleChat *chat = (PurpleChat *)cnode; cnode = purple_blist_node_next(cnode); if (purple_account_is_connected(purple_chat_get_account(chat))) - purple_blist_remove_chat(chat); + purple_blist_node_remove(PURPLE_BLIST_NODE(chat)); } else { cnode = purple_blist_node_next(cnode); } } - purple_blist_remove_group(group); + purple_blist_node_remove(PURPLE_BLIST_NODE(group)); } static void @@ -1525,9 +1526,9 @@ finch_blist_remove_node(PurpleBlistNode PurpleBuddy *buddy = (PurpleBuddy*)node; PurpleGroup *group = purple_buddy_get_group(buddy); purple_account_remove_buddy(purple_buddy_get_account(buddy), buddy, group); - purple_blist_remove_buddy(buddy); + purple_blist_node_remove(PURPLE_BLIST_NODE(buddy)); } else if (PURPLE_IS_CHAT(node)) { - purple_blist_remove_chat((PurpleChat*)node); + purple_blist_node_remove(PURPLE_BLIST_NODE(node)); } else if (PURPLE_IS_GROUP(node)) { remove_group((PurpleGroup*)node); } @@ -1620,18 +1621,18 @@ finch_blist_place_tagged(PurpleBlistNode if (PURPLE_IS_GROUP(node)) { update_node_display(node, ggblist); /* Add the group after the current group */ - purple_blist_add_group((PurpleGroup*)node, (PurpleBlistNode*)tg); + purple_blist_node_add_child(node, PURPLE_BLIST_NODE(tg)); } else if (PURPLE_IS_CONTACT(node)) { update_buddy_display(purple_contact_get_priority_buddy((PurpleContact*)node), ggblist); if (PURPLE_BLIST_NODE(tg) == target) { /* The target is a group, just add the contact to the group. */ - purple_blist_add_contact((PurpleContact*)node, tg, NULL); + purple_blist_node_add_child(node, PURPLE_BLIST_NODE(tg)); } else if (tc) { /* The target is either a buddy, or a contact. Merge with that contact. */ purple_blist_merge_contact((PurpleContact*)node, (PurpleBlistNode*)tc); } else { /* The target is a chat. Add the contact to the group after this chat. */ - purple_blist_add_contact((PurpleContact*)node, NULL, target); + purple_blist_node_add_child(node, target); } } else if (PURPLE_IS_BUDDY(node)) { update_buddy_display((PurpleBuddy*)node, ggblist); ============================================================ --- finch/gntconv.c f5a5d688d893e77dfd0bb99c237fe00b5bd53904 +++ finch/gntconv.c e3f43505221763d51b2d44c9b99d01fd26fbb01d @@ -675,7 +675,7 @@ create_conv_from_userlist(GntWidget *wid name = gnt_tree_get_selection_data(GNT_TREE(widget)); - prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(gc->prpl); + prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(purple_connection_get_prpl(gc)); if (prpl_info && PURPLE_PROTOCOL_PLUGIN_HAS_FUNC(prpl_info, get_cb_real_name)) realname = prpl_info->get_cb_real_name(gc, purple_conv_chat_get_id(PURPLE_CONV_CHAT(fc->active_conv)), name); else @@ -1467,7 +1467,7 @@ void finch_conversation_init() PURPLE_CALLBACK(account_signed_on_off), NULL); purple_signal_connect(NULL, "signed-off", finch_conv_get_handle(), PURPLE_CALLBACK(account_signed_on_off), NULL); - purple_signal_connect(purple_connections_get_handle(), "signing-off", finch_conv_get_handle(), + purple_signal_connect(NULL, "signing-off", finch_conv_get_handle(), PURPLE_CALLBACK(account_signing_off), NULL); } From qulogic at pidgin.im Wed Jun 9 01:30:51 2010 From: qulogic at pidgin.im (qulogic at pidgin.im) Date: Wed, 9 Jun 2010 01:30:51 -0400 (EDT) Subject: gobjectification: b34d745f: And now MSN compiles. Message-ID: <20100609053051.CDC215BD010E@rock.pidgin.im> ----------------------------------------------------------------- Revision: b34d745fd5f8fb6a7ac67ac3aff3e00452652b23 Ancestor: e0ccd2c4dace88a2dc380f76343b7770b2965f6b Author: qulogic at pidgin.im Date: 2010-06-08T08:55:03 Branch: im.pidgin.gobjectification URL: http://d.pidgin.im/viewmtn/revision/info/b34d745fd5f8fb6a7ac67ac3aff3e00452652b23 Modified files: libpurple/protocols/msn/directconn.c libpurple/protocols/msn/msn.c ChangeLog: And now MSN compiles. -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/directconn.c e4c6df66387f55fbc08679c133b888ef6ae6b287 +++ libpurple/protocols/msn/directconn.c dd9e393bbc4a3a0a01e557387422392233571ae6 @@ -22,6 +22,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ #include "msn.h" +#include "sha1cipher.h" #include "directconn.h" #include "slp.h" @@ -53,11 +54,10 @@ msn_dc_calculate_nonce_hash(MsnDirectCon guchar digest[20]; if (type == DC_NONCE_SHA1) { - PurpleCipher *cipher = purple_ciphers_find_cipher("sha1"); - PurpleCipherContext *context = purple_cipher_context_new(cipher, NULL); - purple_cipher_context_append(context, nonce, sizeof(nonce)); - purple_cipher_context_digest(context, sizeof(digest), digest, NULL); - purple_cipher_context_destroy(context); + PurpleCipher *cipher = purple_sha1_cipher_new(); + purple_cipher_append(cipher, nonce, sizeof(nonce)); + purple_cipher_digest(cipher, sizeof(digest), digest, NULL); + g_object_unref(G_OBJECT(cipher)); } else if (type == DC_NONCE_PLAIN) { memcpy(digest, nonce, 16); } ============================================================ --- libpurple/protocols/msn/msn.c 4c37c9327cea8342ab87d6283db38354b9aef780 +++ libpurple/protocols/msn/msn.c 532b2edd73707c34b47a4b12eaae63e3ae39ebf3 @@ -1700,7 +1700,7 @@ msn_add_buddy(PurpleConnection *gc, Purp data->buddy = buddy; data->group = group; - session = purple_connection_get_protocol_data(gc); + session = purple_object_get_protocol_data(PURPLE_OBJECT(gc)); user = msn_userlist_find_user(session->userlist, bname); if (user && user->authorized) { finish_auth_request(data, NULL); From qulogic at pidgin.im Wed Jun 9 01:30:55 2010 From: qulogic at pidgin.im (qulogic at pidgin.im) Date: Wed, 9 Jun 2010 01:30:55 -0400 (EDT) Subject: gobjectification: b3e23b43: explicit merge of 'f6fb60976c8b5d0548af2... Message-ID: <20100609053056.C70625BD0111@rock.pidgin.im> ----------------------------------------------------------------- Revision: b3e23b435652ec5b6a77f81851d4f27dfccaa276 Ancestor: 8e940b8c1be28b550efcb06e59114b7d848f43ac Ancestor: f6fb60976c8b5d0548af201452be83cafc7a0153 Author: qulogic at pidgin.im Date: 2010-06-07T06:30:17 Branch: im.pidgin.gobjectification URL: http://d.pidgin.im/viewmtn/revision/info/b3e23b435652ec5b6a77f81851d4f27dfccaa276 Deleted entries: pidgin/gtkdocklet-x11.c Added files: doc/hierarchy.dot libpurple/accountmanager.c libpurple/accountmanager.h libpurple/blist-node.c libpurple/blist-node.h libpurple/buddy.c libpurple/buddy.h libpurple/chat.c libpurple/chat.h libpurple/contact.c libpurple/contact.h libpurple/des3cipher.c libpurple/des3cipher.h libpurple/descipher.c libpurple/descipher.h libpurple/ghash.c libpurple/ghash.h libpurple/group.c libpurple/group.h libpurple/gsignal.c libpurple/gsignal.h libpurple/hash.c libpurple/hash.h libpurple/hmaccipher.c libpurple/hmaccipher.h libpurple/md4hash.c libpurple/md4hash.h libpurple/md5cipher.c libpurple/md5cipher.h libpurple/plugins/perl/common/Hash.xs libpurple/pobject.c libpurple/pobject.h libpurple/rc4cipher.c libpurple/rc4cipher.h libpurple/sha1cipher.c libpurple/sha1cipher.h libpurple/sha256cipher.c libpurple/sha256cipher.h Modified files: COPYRIGHT acinclude.m4 configure.ac finch/finch.c finch/finch.h finch/gntaccount.c finch/gntblist.c finch/gntconn.c finch/gntconv.c finch/gntlog.c finch/gntpounce.c finch/gntrequest.c finch/gntsound.c finch/gntui.c finch/plugins/gnthistory.c finch/plugins/grouping.c libpurple/Makefile.am libpurple/Makefile.mingw libpurple/account.c libpurple/account.h libpurple/blist.c libpurple/blist.h libpurple/buddyicon.c libpurple/cipher.c libpurple/cipher.h libpurple/connection.c libpurple/connection.h libpurple/conversation.c libpurple/conversation.h libpurple/core.c libpurple/dbus-analyze-functions.py libpurple/dbus-define-api.h libpurple/dbus-server.c libpurple/dbus-useful.c libpurple/dbus-useful.h libpurple/example/nullclient.c libpurple/idle.c libpurple/internal.h libpurple/log.c libpurple/marshallers.list libpurple/network.c libpurple/ntlm.c libpurple/plugins/Makefile.am libpurple/plugins/autoaccept.c libpurple/plugins/ciphertest.c libpurple/plugins/filectl.c libpurple/plugins/idle.c libpurple/plugins/log_reader.c libpurple/plugins/one_time_password.c libpurple/plugins/perl/common/Account.xs libpurple/plugins/perl/common/BuddyList.xs libpurple/plugins/perl/common/Cipher.xs libpurple/plugins/perl/common/Connection.xs libpurple/plugins/perl/common/MANIFEST libpurple/plugins/perl/common/Makefile.mingw libpurple/plugins/perl/common/Prpl.xs libpurple/plugins/perl/common/Status.xs libpurple/plugins/perl/common/Util.xs libpurple/plugins/perl/common/module.h libpurple/plugins/perl/common/typemap libpurple/plugins/signals-test.c libpurple/plugins/tcl/tcl_cmds.c libpurple/plugins/tcl/tcl_signals.c libpurple/pounce.c libpurple/protocols/bonjour/Makefile.mingw libpurple/protocols/bonjour/bonjour.c libpurple/protocols/bonjour/bonjour_ft.c libpurple/protocols/bonjour/buddy.c libpurple/protocols/bonjour/jabber.c libpurple/protocols/bonjour/mdns_avahi.c libpurple/protocols/bonjour/mdns_win32.c libpurple/protocols/gg/Makefile.mingw libpurple/protocols/gg/buddylist.c libpurple/protocols/gg/confer.c libpurple/protocols/gg/gg.c libpurple/protocols/gg/search.c libpurple/protocols/irc/Makefile.mingw libpurple/protocols/irc/cmds.c libpurple/protocols/irc/dcc_send.c libpurple/protocols/irc/irc.c libpurple/protocols/irc/msgs.c libpurple/protocols/irc/parse.c libpurple/protocols/jabber/adhoccommands.c libpurple/protocols/jabber/auth.c libpurple/protocols/jabber/buddy.c libpurple/protocols/jabber/caps.c libpurple/protocols/jabber/caps.h libpurple/protocols/jabber/chat.c libpurple/protocols/jabber/disco.c libpurple/protocols/jabber/google.c libpurple/protocols/jabber/jabber.c libpurple/protocols/jabber/jutil.c libpurple/protocols/jabber/message.c libpurple/protocols/jabber/oob.c libpurple/protocols/jabber/presence.c libpurple/protocols/jabber/roster.c libpurple/protocols/jabber/si.c libpurple/protocols/jabber/usermood.c libpurple/protocols/jabber/usernick.c libpurple/protocols/jabber/usertune.c libpurple/protocols/msn/Makefile.mingw libpurple/protocols/msn/contact.c libpurple/protocols/msn/dialog.c libpurple/protocols/msn/error.c libpurple/protocols/msn/httpconn.c libpurple/protocols/msn/msg.c libpurple/protocols/msn/msn.c libpurple/protocols/msn/msn.h libpurple/protocols/msn/msnutils.c libpurple/protocols/msn/nexus.c libpurple/protocols/msn/notification.c libpurple/protocols/msn/object.c libpurple/protocols/msn/oim.c libpurple/protocols/msn/servconn.c libpurple/protocols/msn/session.c libpurple/protocols/msn/slp.c libpurple/protocols/msn/switchboard.c libpurple/protocols/msn/sync.c libpurple/protocols/msn/user.c libpurple/protocols/msn/userlist.c libpurple/protocols/msnp9/Makefile.mingw libpurple/protocols/msnp9/dialog.c libpurple/protocols/msnp9/error.c libpurple/protocols/msnp9/msn.c libpurple/protocols/msnp9/msn.h libpurple/protocols/msnp9/nexus.c libpurple/protocols/msnp9/notification.c libpurple/protocols/msnp9/object.c libpurple/protocols/msnp9/servconn.c libpurple/protocols/msnp9/session.c libpurple/protocols/msnp9/slp.c libpurple/protocols/msnp9/switchboard.c libpurple/protocols/msnp9/sync.c libpurple/protocols/msnp9/userlist.c libpurple/protocols/myspace/Makefile.mingw libpurple/protocols/myspace/myspace.c libpurple/protocols/myspace/myspace.h libpurple/protocols/myspace/user.c libpurple/protocols/myspace/zap.c libpurple/protocols/novell/Makefile.mingw libpurple/protocols/novell/novell.c libpurple/protocols/null/Makefile.mingw libpurple/protocols/null/nullprpl.c libpurple/protocols/oscar/Makefile.mingw libpurple/protocols/oscar/clientlogin.c libpurple/protocols/oscar/family_auth.c libpurple/protocols/oscar/family_oservice.c libpurple/protocols/oscar/flap_connection.c libpurple/protocols/oscar/oscar.c libpurple/protocols/qq/Makefile.mingw libpurple/protocols/qq/buddy_info.c libpurple/protocols/qq/buddy_list.c libpurple/protocols/qq/buddy_memo.c libpurple/protocols/qq/buddy_opt.c libpurple/protocols/qq/file_trans.c libpurple/protocols/qq/group.c libpurple/protocols/qq/group_im.c libpurple/protocols/qq/group_info.c libpurple/protocols/qq/group_internal.c libpurple/protocols/qq/group_join.c libpurple/protocols/qq/group_opt.c libpurple/protocols/qq/im.c libpurple/protocols/qq/qq.c libpurple/protocols/qq/qq_base.c libpurple/protocols/qq/qq_network.c libpurple/protocols/qq/qq_process.c libpurple/protocols/qq/qq_trans.c libpurple/protocols/qq/send_file.c libpurple/protocols/qq/utils.c libpurple/protocols/sametime/Makefile.mingw libpurple/protocols/sametime/sametime.c libpurple/protocols/silc/Makefile.mingw libpurple/protocols/silc/buddy.c libpurple/protocols/silc/chat.c libpurple/protocols/silc/ft.c libpurple/protocols/silc/ops.c libpurple/protocols/silc/pk.c libpurple/protocols/silc/silc.c libpurple/protocols/silc/util.c libpurple/protocols/silc/wb.c libpurple/protocols/silc10/buddy.c libpurple/protocols/silc10/chat.c libpurple/protocols/silc10/ft.c libpurple/protocols/silc10/ops.c libpurple/protocols/silc10/silc.c libpurple/protocols/silc10/util.c libpurple/protocols/simple/Makefile.mingw libpurple/protocols/simple/simple.c libpurple/protocols/yahoo/Makefile.mingw libpurple/protocols/yahoo/libymsg.c libpurple/protocols/yahoo/util.c libpurple/protocols/yahoo/yahoo_aliases.c libpurple/protocols/yahoo/yahoo_doodle.c libpurple/protocols/yahoo/yahoo_filexfer.c libpurple/protocols/yahoo/yahoo_friend.c libpurple/protocols/yahoo/yahoo_picture.c libpurple/protocols/yahoo/yahoo_profile.c libpurple/protocols/yahoo/yahoochat.c libpurple/protocols/yahoo/ycht.c libpurple/protocols/zephyr/zephyr.c libpurple/proxy.c libpurple/prpl.c libpurple/purple.h.in libpurple/savedstatuses.c libpurple/server.c libpurple/server.h libpurple/signals.c libpurple/signals.h libpurple/status.c libpurple/status.h libpurple/tests/check_libpurple.c libpurple/tests/test_cipher.c libpurple/util.c libpurple/util.h libpurple/value.c libpurple/value.h libpurple/win32/global.mak pidgin/Makefile.am pidgin/gtkaccount.c pidgin/gtkblist.c pidgin/gtkblist.h pidgin/gtkconn.c pidgin/gtkconv.c pidgin/gtkdebug.c pidgin/gtkdialogs.c pidgin/gtkdocklet-gtk.c pidgin/gtkdocklet.c pidgin/gtkimhtml.c pidgin/gtklog.c pidgin/gtkmain.c pidgin/gtknotify.c pidgin/gtkpounce.c pidgin/gtkprefs.c pidgin/gtkprivacy.c pidgin/gtkrequest.c pidgin/gtkroomlist.c pidgin/gtksavedstatuses.c pidgin/gtksound.c pidgin/gtkstatusbox.c pidgin/gtkutils.c pidgin/plugins/cap/cap.c pidgin/plugins/disco/xmppdisco.c pidgin/plugins/gestures/gestures.c pidgin/plugins/gevolution/gevo-util.c pidgin/plugins/gevolution/gevolution.c pidgin/plugins/gtk-signals-test.c pidgin/plugins/history.c pidgin/plugins/mailchk.c pidgin/plugins/perl/common/GtkBlist.xs pidgin/plugins/pidgininc.c pidgin/plugins/raw.c pidgin/plugins/relnot.c pidgin/plugins/themeedit-icon.c pidgin/plugins/themeedit.c pidgin/plugins/ticker/ticker.c pidgin/plugins/win32/transparency/win2ktrans.c pidgin/plugins/xmppconsole.c pidgin/win32/gtkwin32dep.c po/POTFILES.in ChangeLog: explicit merge of 'f6fb60976c8b5d0548af201452be83cafc7a0153' and '8e940b8c1be28b550efcb06e59114b7d848f43ac' From qulogic at pidgin.im Wed Jun 9 01:30:57 2010 From: qulogic at pidgin.im (qulogic at pidgin.im) Date: Wed, 9 Jun 2010 01:30:57 -0400 (EDT) Subject: gobjectification: b8b6cfbf: merge of '0e74096b1180cb06ad368d228e61ca... Message-ID: <20100609053058.47EE45BD0110@rock.pidgin.im> ----------------------------------------------------------------- Revision: b8b6cfbfa4cef5911150cd8cbacdfc53d77ad843 Ancestor: 0e74096b1180cb06ad368d228e61caee62372b63 Ancestor: 347f3b003166f679850225067f26275d8e866a01 Author: qulogic at pidgin.im Date: 2010-06-08T06:45:17 Branch: im.pidgin.gobjectification URL: http://d.pidgin.im/viewmtn/revision/info/b8b6cfbfa4cef5911150cd8cbacdfc53d77ad843 Deleted entries: libpurple/protocols/msnp9 libpurple/protocols/msnp9/Makefile.am libpurple/protocols/msnp9/Makefile.mingw libpurple/protocols/msnp9/cmdproc.c libpurple/protocols/msnp9/cmdproc.h libpurple/protocols/msnp9/command.c libpurple/protocols/msnp9/command.h libpurple/protocols/msnp9/dialog.c libpurple/protocols/msnp9/dialog.h libpurple/protocols/msnp9/directconn.c libpurple/protocols/msnp9/directconn.h libpurple/protocols/msnp9/error.c libpurple/protocols/msnp9/error.h libpurple/protocols/msnp9/group.c libpurple/protocols/msnp9/group.h libpurple/protocols/msnp9/history.c libpurple/protocols/msnp9/history.h libpurple/protocols/msnp9/httpconn.c libpurple/protocols/msnp9/httpconn.h libpurple/protocols/msnp9/msg.c libpurple/protocols/msnp9/msg.h libpurple/protocols/msnp9/msn-utils.c libpurple/protocols/msnp9/msn-utils.h libpurple/protocols/msnp9/msn.c libpurple/protocols/msnp9/msn.h libpurple/protocols/msnp9/nexus.c libpurple/protocols/msnp9/nexus.h libpurple/protocols/msnp9/notification.c libpurple/protocols/msnp9/notification.h libpurple/protocols/msnp9/object.c libpurple/protocols/msnp9/object.h libpurple/protocols/msnp9/page.c libpurple/protocols/msnp9/page.h libpurple/protocols/msnp9/servconn.c libpurple/protocols/msnp9/servconn.h libpurple/protocols/msnp9/session.c libpurple/protocols/msnp9/session.h libpurple/protocols/msnp9/slp.c libpurple/protocols/msnp9/slp.h libpurple/protocols/msnp9/slpcall.c libpurple/protocols/msnp9/slpcall.h libpurple/protocols/msnp9/slplink.c libpurple/protocols/msnp9/slplink.h libpurple/protocols/msnp9/slpmsg.c libpurple/protocols/msnp9/slpmsg.h libpurple/protocols/msnp9/slpsession.c libpurple/protocols/msnp9/slpsession.h libpurple/protocols/msnp9/state.c libpurple/protocols/msnp9/state.h libpurple/protocols/msnp9/switchboard.c libpurple/protocols/msnp9/switchboard.h libpurple/protocols/msnp9/sync.c libpurple/protocols/msnp9/sync.h libpurple/protocols/msnp9/table.c libpurple/protocols/msnp9/table.h libpurple/protocols/msnp9/transaction.c libpurple/protocols/msnp9/transaction.h libpurple/protocols/msnp9/user.c libpurple/protocols/msnp9/user.h libpurple/protocols/msnp9/userlist.c libpurple/protocols/msnp9/userlist.h Modified files: ChangeLog configure.ac libpurple/protocols/Makefile.am libpurple/protocols/jabber/bosh.c libpurple/protocols/jabber/buddy.c libpurple/protocols/jabber/data.c libpurple/protocols/jabber/jabber.c libpurple/protocols/jabber/jabber.h libpurple/protocols/jabber/libxmpp.c libpurple/protocols/jabber/message.c libpurple/protocols/jabber/parser.c libpurple/protocols/jabber/presence.c libpurple/protocols/jabber/presence.h ChangeLog: merge of '0e74096b1180cb06ad368d228e61caee62372b63' and '347f3b003166f679850225067f26275d8e866a01' From qulogic at pidgin.im Wed Jun 9 01:31:09 2010 From: qulogic at pidgin.im (qulogic at pidgin.im) Date: Wed, 9 Jun 2010 01:31:09 -0400 (EDT) Subject: gobjectification: bf907645: explicit merge of '42656ca94264f5df098e2... Message-ID: <20100609053109.248E05BD0101@rock.pidgin.im> ----------------------------------------------------------------- Revision: bf907645afbe23354baf5f3901164b760cf97b2a Ancestor: 37ff8aa47f7798bb93dde63e4357c8262d52494e Ancestor: 42656ca94264f5df098e296856bcefd9f37c175d Author: qulogic at pidgin.im Date: 2010-06-07T06:56:54 Branch: im.pidgin.gobjectification URL: http://d.pidgin.im/viewmtn/revision/info/bf907645afbe23354baf5f3901164b760cf97b2a Added files: doc/hierarchy.dot libpurple/accountmanager.c libpurple/accountmanager.h libpurple/blist-node.c libpurple/blist-node.h libpurple/buddy.c libpurple/buddy.h libpurple/chat.c libpurple/chat.h libpurple/contact.c libpurple/contact.h libpurple/des3cipher.c libpurple/des3cipher.h libpurple/descipher.c libpurple/descipher.h libpurple/ghash.c libpurple/ghash.h libpurple/group.c libpurple/group.h libpurple/gsignal.c libpurple/gsignal.h libpurple/hash.c libpurple/hash.h libpurple/hmaccipher.c libpurple/hmaccipher.h libpurple/md4hash.c libpurple/md4hash.h libpurple/md5cipher.c libpurple/md5cipher.h libpurple/plugins/perl/common/Hash.xs libpurple/pobject.c libpurple/pobject.h libpurple/rc4cipher.c libpurple/rc4cipher.h libpurple/sha1cipher.c libpurple/sha1cipher.h libpurple/sha256cipher.c libpurple/sha256cipher.h pidgin/win32/nsis/generate_gtk_zip.sh Modified files: .mtn-ignore COPYRIGHT ChangeLog ChangeLog.win32 Makefile.mingw acinclude.m4 configure.ac finch/finch.c finch/finch.h finch/gntaccount.c finch/gntblist.c finch/gntconn.c finch/gntconv.c finch/gntlog.c finch/gntpounce.c finch/gntrequest.c finch/gntsound.c finch/gntui.c finch/plugins/gnthistory.c finch/plugins/grouping.c libpurple/Makefile.am libpurple/Makefile.mingw libpurple/account.c libpurple/account.h libpurple/blist.c libpurple/blist.h libpurple/buddyicon.c libpurple/cipher.c libpurple/cipher.h libpurple/connection.c libpurple/connection.h libpurple/conversation.c libpurple/conversation.h libpurple/core.c libpurple/dbus-analyze-functions.py libpurple/dbus-define-api.h libpurple/dbus-server.c libpurple/dbus-useful.c libpurple/dbus-useful.h libpurple/example/nullclient.c libpurple/ft.c libpurple/idle.c libpurple/internal.h libpurple/log.c libpurple/marshallers.list libpurple/network.c libpurple/ntlm.c libpurple/plugins/Makefile.am libpurple/plugins/autoaccept.c libpurple/plugins/ciphertest.c libpurple/plugins/filectl.c libpurple/plugins/idle.c libpurple/plugins/log_reader.c libpurple/plugins/one_time_password.c libpurple/plugins/perl/common/Account.xs libpurple/plugins/perl/common/BuddyList.xs libpurple/plugins/perl/common/Cipher.xs libpurple/plugins/perl/common/Connection.xs libpurple/plugins/perl/common/MANIFEST libpurple/plugins/perl/common/Makefile.mingw libpurple/plugins/perl/common/Prpl.xs libpurple/plugins/perl/common/Status.xs libpurple/plugins/perl/common/Util.xs libpurple/plugins/perl/common/module.h libpurple/plugins/perl/common/typemap libpurple/plugins/perl/perl-common.c libpurple/plugins/perl/perl-common.h libpurple/plugins/perl/perl-handlers.c libpurple/plugins/signals-test.c libpurple/plugins/ssl/Makefile.mingw libpurple/plugins/tcl/tcl_cmds.c libpurple/plugins/tcl/tcl_signals.c libpurple/pounce.c libpurple/protocols/bonjour/Makefile.mingw libpurple/protocols/bonjour/bonjour.c libpurple/protocols/bonjour/bonjour_ft.c libpurple/protocols/bonjour/buddy.c libpurple/protocols/bonjour/jabber.c libpurple/protocols/bonjour/jabber.h libpurple/protocols/bonjour/mdns_avahi.c libpurple/protocols/bonjour/mdns_win32.c libpurple/protocols/gg/Makefile.mingw libpurple/protocols/gg/buddylist.c libpurple/protocols/gg/confer.c libpurple/protocols/gg/gg.c libpurple/protocols/gg/search.c libpurple/protocols/irc/Makefile.mingw libpurple/protocols/irc/cmds.c libpurple/protocols/irc/dcc_send.c libpurple/protocols/irc/irc.c libpurple/protocols/irc/msgs.c libpurple/protocols/irc/parse.c libpurple/protocols/jabber/adhoccommands.c libpurple/protocols/jabber/auth.c libpurple/protocols/jabber/buddy.c libpurple/protocols/jabber/caps.c libpurple/protocols/jabber/caps.h libpurple/protocols/jabber/chat.c libpurple/protocols/jabber/disco.c libpurple/protocols/jabber/google.c libpurple/protocols/jabber/jabber.c libpurple/protocols/jabber/jabber.h libpurple/protocols/jabber/jutil.c libpurple/protocols/jabber/message.c libpurple/protocols/jabber/oob.c libpurple/protocols/jabber/pep.c libpurple/protocols/jabber/presence.c libpurple/protocols/jabber/roster.c libpurple/protocols/jabber/si.c libpurple/protocols/jabber/useravatar.c libpurple/protocols/jabber/usermood.c libpurple/protocols/jabber/usermood.h libpurple/protocols/jabber/usernick.c libpurple/protocols/jabber/usertune.c libpurple/protocols/msn/Makefile.mingw libpurple/protocols/msn/contact.c libpurple/protocols/msn/dialog.c libpurple/protocols/msn/error.c libpurple/protocols/msn/httpconn.c libpurple/protocols/msn/msg.c libpurple/protocols/msn/msn.c libpurple/protocols/msn/msn.h libpurple/protocols/msn/msnutils.c libpurple/protocols/msn/nexus.c libpurple/protocols/msn/notification.c libpurple/protocols/msn/object.c libpurple/protocols/msn/oim.c libpurple/protocols/msn/servconn.c libpurple/protocols/msn/session.c libpurple/protocols/msn/slp.c libpurple/protocols/msn/slp.h libpurple/protocols/msn/slplink.c libpurple/protocols/msn/switchboard.c libpurple/protocols/msn/sync.c libpurple/protocols/msn/user.c libpurple/protocols/msn/userlist.c libpurple/protocols/msnp9/Makefile.mingw libpurple/protocols/msnp9/dialog.c libpurple/protocols/msnp9/error.c libpurple/protocols/msnp9/msn.c libpurple/protocols/msnp9/msn.h libpurple/protocols/msnp9/nexus.c libpurple/protocols/msnp9/notification.c libpurple/protocols/msnp9/object.c libpurple/protocols/msnp9/servconn.c libpurple/protocols/msnp9/session.c libpurple/protocols/msnp9/slp.c libpurple/protocols/msnp9/switchboard.c libpurple/protocols/msnp9/sync.c libpurple/protocols/msnp9/userlist.c libpurple/protocols/mxit/mxit.c libpurple/protocols/mxit/mxit.h libpurple/protocols/myspace/Makefile.mingw libpurple/protocols/myspace/myspace.c libpurple/protocols/myspace/myspace.h libpurple/protocols/myspace/user.c libpurple/protocols/myspace/zap.c libpurple/protocols/novell/Makefile.mingw libpurple/protocols/novell/novell.c libpurple/protocols/null/Makefile.mingw libpurple/protocols/null/nullprpl.c libpurple/protocols/oscar/Makefile.mingw libpurple/protocols/oscar/clientlogin.c libpurple/protocols/oscar/family_auth.c libpurple/protocols/oscar/family_oservice.c libpurple/protocols/oscar/flap_connection.c libpurple/protocols/oscar/libaim.c libpurple/protocols/oscar/oscar.c libpurple/protocols/oscar/oscar.h libpurple/protocols/qq/Makefile.mingw libpurple/protocols/qq/buddy_info.c libpurple/protocols/qq/buddy_list.c libpurple/protocols/qq/buddy_memo.c libpurple/protocols/qq/buddy_opt.c libpurple/protocols/qq/file_trans.c libpurple/protocols/qq/group.c libpurple/protocols/qq/group_im.c libpurple/protocols/qq/group_info.c libpurple/protocols/qq/group_internal.c libpurple/protocols/qq/group_join.c libpurple/protocols/qq/group_opt.c libpurple/protocols/qq/im.c libpurple/protocols/qq/qq.c libpurple/protocols/qq/qq_base.c libpurple/protocols/qq/qq_network.c libpurple/protocols/qq/qq_process.c libpurple/protocols/qq/qq_trans.c libpurple/protocols/qq/send_file.c libpurple/protocols/qq/utils.c libpurple/protocols/sametime/Makefile.mingw libpurple/protocols/sametime/sametime.c libpurple/protocols/silc/Makefile.mingw libpurple/protocols/silc/buddy.c libpurple/protocols/silc/chat.c libpurple/protocols/silc/ft.c libpurple/protocols/silc/ops.c libpurple/protocols/silc/pk.c libpurple/protocols/silc/silc.c libpurple/protocols/silc/util.c libpurple/protocols/silc/wb.c libpurple/protocols/silc10/buddy.c libpurple/protocols/silc10/chat.c libpurple/protocols/silc10/ft.c libpurple/protocols/silc10/ops.c libpurple/protocols/silc10/silc.c libpurple/protocols/silc10/util.c libpurple/protocols/simple/Makefile.mingw libpurple/protocols/simple/simple.c libpurple/protocols/yahoo/Makefile.mingw libpurple/protocols/yahoo/libyahoo.c libpurple/protocols/yahoo/libyahoojp.c libpurple/protocols/yahoo/libymsg.c libpurple/protocols/yahoo/util.c libpurple/protocols/yahoo/yahoo_aliases.c libpurple/protocols/yahoo/yahoo_doodle.c libpurple/protocols/yahoo/yahoo_filexfer.c libpurple/protocols/yahoo/yahoo_friend.c libpurple/protocols/yahoo/yahoo_picture.c libpurple/protocols/yahoo/yahoo_profile.c libpurple/protocols/yahoo/yahoochat.c libpurple/protocols/yahoo/ycht.c libpurple/protocols/zephyr/zephyr.c libpurple/proxy.c libpurple/prpl.c libpurple/purple.h.in libpurple/savedstatuses.c libpurple/server.c libpurple/server.h libpurple/signals.c libpurple/signals.h libpurple/status.c libpurple/status.h libpurple/tests/check_libpurple.c libpurple/tests/test_cipher.c libpurple/upnp.c libpurple/util.c libpurple/util.h libpurple/value.c libpurple/value.h libpurple/win32/global.mak libpurple/win32/libc_interface.c libpurple/win32/win32dep.c pidgin/Makefile.am pidgin/Makefile.mingw pidgin/gtkaccount.c pidgin/gtkblist.c pidgin/gtkblist.h pidgin/gtkconn.c pidgin/gtkconv.c pidgin/gtkdialogs.c pidgin/gtkdocklet.c pidgin/gtkft.c pidgin/gtkimhtml.c pidgin/gtklog.c pidgin/gtkmain.c pidgin/gtknotify.c pidgin/gtkpounce.c pidgin/gtkprefs.c pidgin/gtkprivacy.c pidgin/gtkroomlist.c pidgin/gtksound.c pidgin/gtkstatusbox.c pidgin/gtkutils.c pidgin/pidginstock.c pidgin/pixmaps/Makefile.am pidgin/plugins/cap/cap.c pidgin/plugins/disco/xmppdisco.c pidgin/plugins/gevolution/gevo-util.c pidgin/plugins/gevolution/gevolution.c pidgin/plugins/gtk-signals-test.c pidgin/plugins/gtkbuddynote.c pidgin/plugins/history.c pidgin/plugins/mailchk.c pidgin/plugins/perl/common/GtkBlist.xs pidgin/plugins/pidgininc.c pidgin/plugins/raw.c pidgin/plugins/relnot.c pidgin/plugins/themeedit-icon.c pidgin/plugins/themeedit.c pidgin/plugins/ticker/ticker.c pidgin/plugins/xmppconsole.c pidgin/win32/gtkdocklet-win32.c pidgin/win32/gtkwin32dep.c pidgin/win32/nsis/available.lst pidgin/win32/nsis/langmacros.nsh pidgin/win32/nsis/pidgin-installer.nsi pidgin/win32/nsis/translations/afrikaans.nsh pidgin/win32/nsis/translations/arabic.nsh pidgin/win32/nsis/translations/basque.nsh pidgin/win32/nsis/translations/catalan.nsh pidgin/win32/nsis/translations/dutch.nsh pidgin/win32/nsis/translations/english.nsh pidgin/win32/nsis/translations/finnish.nsh pidgin/win32/nsis/translations/french.nsh pidgin/win32/nsis/translations/german.nsh pidgin/win32/nsis/translations/hebrew.nsh pidgin/win32/nsis/translations/hungarian.nsh pidgin/win32/nsis/translations/italian.nsh pidgin/win32/nsis/translations/japanese.nsh pidgin/win32/nsis/translations/kurdish.nsh pidgin/win32/nsis/translations/lithuanian.nsh pidgin/win32/nsis/translations/norwegian.nsh pidgin/win32/nsis/translations/norwegian_nynorsk.nsh pidgin/win32/nsis/translations/persian.nsh pidgin/win32/nsis/translations/polish.nsh pidgin/win32/nsis/translations/portuguese-br.nsh pidgin/win32/nsis/translations/simp-chinese.nsh pidgin/win32/nsis/translations/slovak.nsh pidgin/win32/nsis/translations/slovenian.nsh pidgin/win32/nsis/translations/swedish.nsh pidgin/win32/nsis/translations/trad-chinese.nsh pidgin/win32/nsis/translations/valencian.nsh pidgin/win32/winpidgin.c pidgin/win32/wspell.c po/POTFILES.in Modified attrs: pidgin/win32/nsis/generate_gtk_zip.sh ChangeLog: explicit merge of '42656ca94264f5df098e296856bcefd9f37c175d' and '37ff8aa47f7798bb93dde63e4357c8262d52494e' From qulogic at pidgin.im Wed Jun 9 01:31:10 2010 From: qulogic at pidgin.im (qulogic at pidgin.im) Date: Wed, 9 Jun 2010 01:31:10 -0400 (EDT) Subject: gobjectification: c5ca0fbf: Jabber compiles now... except for that o... Message-ID: <20100609053110.98FB95BD0101@rock.pidgin.im> ----------------------------------------------------------------- Revision: c5ca0fbfb51d1b3c0335d2eb9df960495ec17ca9 Ancestor: dad5ab65aa0503b70f999c7c851afc7106612f47 Author: qulogic at pidgin.im Date: 2010-06-09T04:11:44 Branch: im.pidgin.gobjectification URL: http://d.pidgin.im/viewmtn/revision/info/c5ca0fbfb51d1b3c0335d2eb9df960495ec17ca9 Modified files: libpurple/protocols/jabber/auth_digest_md5.c libpurple/protocols/jabber/auth_plain.c libpurple/protocols/jabber/auth_scram.c libpurple/protocols/jabber/auth_scram.h libpurple/protocols/jabber/buddy.c libpurple/protocols/jabber/caps.c libpurple/protocols/jabber/disco.c libpurple/protocols/jabber/google.c libpurple/protocols/jabber/jabber.c libpurple/protocols/jabber/jutil.c libpurple/protocols/jabber/parser.c libpurple/protocols/jabber/presence.c libpurple/protocols/jabber/roster.c libpurple/protocols/jabber/usermood.c ChangeLog: Jabber compiles now... except for that one FIXME. -------------- next part -------------- ============================================================ --- libpurple/protocols/jabber/auth_digest_md5.c 857c4e8e03d05e94a105e5763b7cd8eb5c758cc6 +++ libpurple/protocols/jabber/auth_digest_md5.c fe000e924a53bc4e70efeb286fef092877c9be4a @@ -23,7 +23,7 @@ #include "internal.h" #include "debug.h" -#include "cipher.h" +#include "md5cipher.h" #include "util.h" #include "xmlnode.h" @@ -106,7 +106,6 @@ generate_response_value(JabberID *jid, c const char *cnonce, const char *a2, const char *realm) { PurpleCipher *cipher; - PurpleCipherContext *context; guchar result[16]; size_t a1len; @@ -121,35 +120,34 @@ generate_response_value(JabberID *jid, c convpasswd = g_strdup(passwd); } - cipher = purple_ciphers_find_cipher("md5"); - context = purple_cipher_context_new(cipher, NULL); + cipher = purple_md5_cipher_new(); x = g_strdup_printf("%s:%s:%s", convnode, realm, convpasswd ? convpasswd : ""); - purple_cipher_context_append(context, (const guchar *)x, strlen(x)); - purple_cipher_context_digest(context, sizeof(result), result, NULL); + purple_cipher_append(cipher, (const guchar *)x, strlen(x)); + purple_cipher_digest(cipher, sizeof(result), result, NULL); a1 = g_strdup_printf("xxxxxxxxxxxxxxxx:%s:%s", nonce, cnonce); a1len = strlen(a1); g_memmove(a1, result, 16); - purple_cipher_context_reset(context, NULL); - purple_cipher_context_append(context, (const guchar *)a1, a1len); - purple_cipher_context_digest(context, sizeof(result), result, NULL); + purple_cipher_reset(cipher); + purple_cipher_append(cipher, (const guchar *)a1, a1len); + purple_cipher_digest(cipher, sizeof(result), result, NULL); ha1 = purple_base16_encode(result, 16); - purple_cipher_context_reset(context, NULL); - purple_cipher_context_append(context, (const guchar *)a2, strlen(a2)); - purple_cipher_context_digest(context, sizeof(result), result, NULL); + purple_cipher_reset(cipher); + purple_cipher_append(cipher, (const guchar *)a2, strlen(a2)); + purple_cipher_digest(cipher, sizeof(result), result, NULL); ha2 = purple_base16_encode(result, 16); kd = g_strdup_printf("%s:%s:00000001:%s:auth:%s", ha1, nonce, cnonce, ha2); - purple_cipher_context_reset(context, NULL); - purple_cipher_context_append(context, (const guchar *)kd, strlen(kd)); - purple_cipher_context_digest(context, sizeof(result), result, NULL); - purple_cipher_context_destroy(context); + purple_cipher_reset(cipher); + purple_cipher_append(cipher, (const guchar *)kd, strlen(kd)); + purple_cipher_digest(cipher, sizeof(result), result, NULL); + g_object_unref(G_OBJECT(cipher)); z = purple_base16_encode(result, 16); ============================================================ --- libpurple/protocols/jabber/auth_plain.c 0cea8f0272a4cdf948cde0ecc7fc631b3a9754c9 +++ libpurple/protocols/jabber/auth_plain.c 643acb35e1f042c08f810c3c1796c806f8e243f2 @@ -66,7 +66,7 @@ static void allow_plaintext_auth(PurpleA static void allow_plaintext_auth(PurpleAccount *account) { PurpleConnection *gc = purple_account_get_connection(account); - JabberStream *js = purple_connection_get_protocol_data(gc); + JabberStream *js = purple_object_get_protocol_data(PURPLE_OBJECT(gc)); xmlnode *response; purple_account_set_bool(account, "auth_plain_in_clear", TRUE); ============================================================ --- libpurple/protocols/jabber/auth_scram.c 64a287b607ece18bc980d07601280ccfcedc0ddb +++ libpurple/protocols/jabber/auth_scram.c 2ff7bdb9a0f8d05915b8aa4990ff3ebd89aa26bb @@ -26,10 +26,12 @@ #include "auth_scram.h" #include "cipher.h" +#include "hmaccipher.h" +#include "sha1cipher.h" #include "debug.h" static const JabberScramHash hashes[] = { - { "-SHA-1", "sha1", 20 }, + { "-SHA-1", purple_sha1_cipher_new, 20 }, }; static const JabberScramHash *mech_to_hash(const char *mech) @@ -76,7 +78,8 @@ guchar *jabber_scram_hi(const JabberScra guchar *jabber_scram_hi(const JabberScramHash *hash, const GString *str, GString *salt, guint iterations) { - PurpleCipherContext *context; + PurpleCipher *hash_cipher; + PurpleCipher *cipher; guchar *result; guint i; guchar *prev, *tmp; @@ -90,27 +93,28 @@ guchar *jabber_scram_hi(const JabberScra tmp = g_new0(guint8, hash->size); result = g_new0(guint8, hash->size); - context = purple_cipher_context_new_by_name("hmac", NULL); + hash_cipher = hash->new(); + cipher = purple_hmac_cipher_new(hash_cipher); + g_object_unref(G_OBJECT(hash_cipher)); /* Append INT(1), a four-octet encoding of the integer 1, most significant * octet first. */ g_string_append_len(salt, "\0\0\0\1", 4); /* Compute U0 */ - purple_cipher_context_set_option(context, "hash", (gpointer)hash->name); - purple_cipher_context_set_key_with_len(context, (guchar *)str->str, str->len); - purple_cipher_context_append(context, (guchar *)salt->str, salt->len); - purple_cipher_context_digest(context, hash->size, result, NULL); + purple_cipher_set_key_with_len(cipher, (guchar *)str->str, str->len); + purple_cipher_append(cipher, (guchar *)salt->str, salt->len); + purple_cipher_digest(cipher, hash->size, result, NULL); memcpy(prev, result, hash->size); /* Compute U1...Ui */ for (i = 1; i < iterations; ++i) { guint j; - purple_cipher_context_set_option(context, "hash", (gpointer)hash->name); - purple_cipher_context_set_key_with_len(context, (guchar *)str->str, str->len); - purple_cipher_context_append(context, prev, hash->size); - purple_cipher_context_digest(context, hash->size, tmp, NULL); + purple_cipher_reset(cipher); + purple_cipher_set_key_with_len(cipher, (guchar *)str->str, str->len); + purple_cipher_append(cipher, prev, hash->size); + purple_cipher_digest(cipher, hash->size, tmp, NULL); for (j = 0; j < hash->size; ++j) result[j] ^= tmp[j]; @@ -118,7 +122,7 @@ guchar *jabber_scram_hi(const JabberScra memcpy(prev, tmp, hash->size); } - purple_cipher_context_destroy(context); + g_object_unref(G_OBJECT(cipher)); g_free(tmp); g_free(prev); return result; @@ -136,25 +140,27 @@ hmac(const JabberScramHash *hash, guchar static void hmac(const JabberScramHash *hash, guchar *out, const guchar *key, const gchar *str) { - PurpleCipherContext *context; + PurpleCipher *hash_cipher; + PurpleCipher *cipher; - context = purple_cipher_context_new_by_name("hmac", NULL); - purple_cipher_context_set_option(context, "hash", (gpointer)hash->name); - purple_cipher_context_set_key_with_len(context, key, hash->size); - purple_cipher_context_append(context, (guchar *)str, strlen(str)); - purple_cipher_context_digest(context, hash->size, out, NULL); - purple_cipher_context_destroy(context); + hash_cipher = hash->new(); + cipher = purple_hmac_cipher_new(hash_cipher); + g_object_unref(G_OBJECT(hash_cipher)); + purple_cipher_set_key_with_len(cipher, key, hash->size); + purple_cipher_append(cipher, (guchar *)str, strlen(str)); + purple_cipher_digest(cipher, hash->size, out, NULL); + g_object_unref(G_OBJECT(cipher)); } static void hash(const JabberScramHash *hash, guchar *out, const guchar *data) { - PurpleCipherContext *context; + PurpleCipher *cipher; - context = purple_cipher_context_new_by_name(hash->name, NULL); - purple_cipher_context_append(context, data, hash->size); - purple_cipher_context_digest(context, hash->size, out, NULL); - purple_cipher_context_destroy(context); + cipher = hash->new(); + purple_cipher_append(cipher, data, hash->size); + purple_cipher_digest(cipher, hash->size, out, NULL); + g_object_unref(G_OBJECT(cipher)); } gboolean ============================================================ --- libpurple/protocols/jabber/auth_scram.h 8f7564b2c0ccae49e4c2ff83fac061d0ae4808cd +++ libpurple/protocols/jabber/auth_scram.h f6114a3176b579d349751715ce61fb5ceb548bc3 @@ -34,7 +34,7 @@ typedef struct { */ typedef struct { const char *mech_substr; - const char *name; + PurpleCipher *(*new)(void); guint size; } JabberScramHash; ============================================================ --- libpurple/protocols/jabber/buddy.c e10f6249f684bae7b94a22d481ca6707e4241a0b +++ libpurple/protocols/jabber/buddy.c 99a7d0e679a9b2feb166fa9a47d9fd7a744d22a4 @@ -1722,7 +1722,7 @@ jabber_buddy_cancel_presence_notificatio const gchar *name; char *msg; - g_return_if_fail(PURPLE_BLIST_NODE_IS_BUDDY(node)); + g_return_if_fail(PURPLE_IS_BUDDY(node)); buddy = (PurpleBuddy *) node; name = purple_buddy_get_name(buddy); ============================================================ --- libpurple/protocols/jabber/caps.c 3817af8dafc8dc0b3a1ddec49e0f5b2eded5159c +++ libpurple/protocols/jabber/caps.c c632c231b85c0afbe75ca86a1997c40566b5a0d8 @@ -899,7 +899,7 @@ gchar *jabber_caps_calculate_hash(Jabber /* concat features to the verification string */ for (node = info->features; node; node = node->next) { - append_escaped_string(context, node->data); + append_escaped_string(hasher, node->data); } /* concat x-data forms to the verification string */ @@ -909,7 +909,7 @@ gchar *jabber_caps_calculate_hash(Jabber GList *fields = jabber_caps_xdata_get_fields(data); /* append FORM_TYPE's field value to the verification string */ - append_escaped_string(context, formtype); + append_escaped_string(hasher, formtype); g_free(formtype); while (fields) { @@ -918,10 +918,10 @@ gchar *jabber_caps_calculate_hash(Jabber if (!g_str_equal(field->var, "FORM_TYPE")) { /* Append the "var" attribute */ - append_escaped_string(context, field->var); + append_escaped_string(hasher, field->var); /* Append elements' cdata */ for (value = field->values; value; value = value->next) { - append_escaped_string(context, value->data); + append_escaped_string(hasher, value->data); g_free(value->data); } } ============================================================ --- libpurple/protocols/jabber/disco.c 23af1630fbbd37e2ff0a4d95f55a2b03a3daff77 +++ libpurple/protocols/jabber/disco.c 5ecd3ab9d1ad485e1fca9e1a2337a820ad506a8f @@ -520,8 +520,9 @@ jabber_disco_server_info_result_cb(Jabbe if(category && type && !strcmp(category, "pubsub") && !strcmp(type,"pep")) { PurpleConnection *gc = js->gc; js->pep = TRUE; - gc->flags |= PURPLE_CONNECTION_SUPPORT_MOODS | - PURPLE_CONNECTION_SUPPORT_MOOD_MESSAGES; + purple_connection_turn_on_flags(gc, + PURPLE_CONNECTION_FLAGS_SUPPORT_MOODS | + PURPLE_CONNECTION_FLAGS_SUPPORT_MOOD_MESSAGES); } if (!category || strcmp(category, "server")) continue; ============================================================ --- libpurple/protocols/jabber/google.c 63cc93b4b1f181d87c593c1b60e14d67da17b034 +++ libpurple/protocols/jabber/google.c 06425a57127512ae17b28aedc9da8a66764023f7 @@ -1409,12 +1409,12 @@ void google_buddy_node_chat(PurpleBlistN gchar *room; gchar *uuid = purple_uuid_random(); - g_return_if_fail(PURPLE_BLIST_NODE_IS_BUDDY(node)); + g_return_if_fail(PURPLE_IS_BUDDY(node)); buddy = PURPLE_BUDDY(node); gc = purple_account_get_connection(purple_buddy_get_account(buddy)); g_return_if_fail(gc != NULL); - js = purple_connection_get_protocol_data(gc); + js = purple_object_get_protocol_data(PURPLE_OBJECT(gc)); room = g_strdup_printf("private-chat-%s", uuid); chat = jabber_join_chat(js, room, GOOGLE_GROUPCHAT_SERVER, js->user->node, ============================================================ --- libpurple/protocols/jabber/jabber.c ce162dcd91d1b2f139d14049c8e82612165b7206 +++ libpurple/protocols/jabber/jabber.c 8e5c0668613151fe92d2e7a867811f91d6341a41 @@ -412,7 +412,7 @@ static gboolean do_jabber_send_raw(Jabbe * we're disconnecting, don't generate (possibly another) error that * (for some UIs) would mask the first. */ - if (!account->disconnecting) { + if (!purple_account_is_disconnecting(account)) { gchar *tmp = g_strdup_printf(_("Lost connection with server: %s"), g_strerror(errno)); purple_connection_error_reason(js->gc, @@ -2296,8 +2296,8 @@ GList *jabber_status_types(PurpleAccount type = purple_status_type_new_with_attrs(PURPLE_STATUS_MOOD, "mood", NULL, TRUE, TRUE, TRUE, - PURPLE_MOOD_NAME, _("Mood Name"), purple_value_new(PURPLE_TYPE_STRING), - PURPLE_MOOD_COMMENT, _("Mood Comment"), purple_value_new(PURPLE_TYPE_STRING), + PURPLE_MOOD_NAME, _("Mood Name"), purple_g_value_slice_new(G_TYPE_STRING), + PURPLE_MOOD_COMMENT, _("Mood Comment"), purple_g_value_slice_new(G_TYPE_STRING), NULL); types = g_list_prepend(types, type); @@ -3458,7 +3458,8 @@ jabber_cmd_mood(PurpleConversation *conv jabber_cmd_mood(PurpleConversation *conv, const char *cmd, char **args, char **error, void *data) { - JabberStream *js = conv->account->gc->proto_data; + PurpleConnection *pc = purple_account_get_connection(conv->account); + JabberStream *js = purple_object_get_protocol_data(PURPLE_OBJECT(pc)); if (js->pep) { /* if no argument was given, unset mood */ @@ -3593,7 +3594,7 @@ static void jabber_register_commands(Pur PURPLE_CMD_FLAG_ALLOW_WRONG_ARGS, "prpl-jabber", jabber_cmd_buzz, _("buzz: Buzz a user to get their attention"), NULL); - jabber_cmds = g_slist_prepend(jabber_cmds, GUINT_TO_POINTER(id)); + commands = g_slist_prepend(commands, GUINT_TO_POINTER(id)); id = purple_cmd_register("mood", "ws", PURPLE_CMD_P_PRPL, PURPLE_CMD_FLAG_CHAT | PURPLE_CMD_FLAG_IM | ============================================================ --- libpurple/protocols/jabber/jutil.c 670cf4d386799627ccb6b41269718285ca78f9af +++ libpurple/protocols/jabber/jutil.c 57a92bf51d698dc9ad9cb52e23ea9b8efb189e10 @@ -25,7 +25,7 @@ #include "conversation.h" #include "debug.h" #include "server.h" -#include "md4cipher.h" +#include "md4hash.h" #include "md5cipher.h" #include "sha1cipher.h" #include "util.h" @@ -741,7 +741,7 @@ jabber_calculate_data_hash(gconstpointer if (g_str_equal(hash_algo, "sha1")) cipher = purple_sha1_cipher_new(); else if (g_str_equal(hash_algo, "md4")) - cipher = purple_md4_cipher_new(); + cipher = purple_md4_hash_new(); else if (g_str_equal(hash_algo, "md5")) cipher = purple_md5_cipher_new(); if (cipher == NULL) @@ -758,7 +758,7 @@ jabber_calculate_data_hash(gconstpointer hash_algo); g_return_val_if_reached(NULL); } - g_object_unref(G_OBJECT(sha1)); + g_object_unref(G_OBJECT(cipher)); return g_strdup(digest); } ============================================================ --- libpurple/protocols/jabber/parser.c cb0b0f6d7ce8ae78749be3b7aadeb1ca5143e939 +++ libpurple/protocols/jabber/parser.c 0b647fd263015f1ca9883a2d98c4a72d0968d7f0 @@ -293,7 +293,7 @@ void jabber_parser_process(JabberStream } if (js->protocol_version.major == 0 && js->protocol_version.minor == 9 && - !js->gc->disconnect_timeout && + /* FIXME: !js->gc->disconnect_timeout &&*/ (js->state == JABBER_STREAM_INITIALIZING || js->state == JABBER_STREAM_INITIALIZING_ENCRYPTION)) { /* ============================================================ --- libpurple/protocols/jabber/presence.c 5c2c76cac556057e8e42f7b3b35bcc4834b9ff81 +++ libpurple/protocols/jabber/presence.c cca34b42fb8ccd020c0f987bf55766c61a4e0d6c @@ -460,7 +460,7 @@ jabber_vcard_parse_avatar(JabberStream * data = purple_base64_decode(text, &size); if (data) { gchar *hash = jabber_calculate_data_hash(data, size, "sha1"); - purple_buddy_icons_set_for_user(js->gc->account, from, data, + purple_buddy_icons_set_for_user(purple_connection_get_account(js->gc), from, data, size, hash); g_free(hash); } ============================================================ --- libpurple/protocols/jabber/roster.c fb4cff1ea04ca7e912507c52c20118dc6f2931cf +++ libpurple/protocols/jabber/roster.c cd322180dbfdaca78c16db6204bd0803fc7fbf35 @@ -159,7 +159,7 @@ static void add_purple_buddy_to_groups(J "from group '%s' on the local list\n", purple_buddy_get_name(b), purple_group_get_name(g)); - purple_blist_remove_buddy(b); + purple_blist_node_remove(PURPLE_BLIST_NODE(b)); } } @@ -392,7 +392,7 @@ void jabber_roster_add_buddy(PurpleConne "to your buddy list and removing the buddy. " "Buddies can only be added by real (non-MUC) " "JID\n"); - purple_blist_remove_buddy(buddy); + purple_blist_node_remove(PURPLE_BLIST_NODE(buddy)); jabber_id_free(jid); return; } @@ -403,7 +403,7 @@ void jabber_roster_add_buddy(PurpleConne * If the buddy name added contains a resource, strip that off and * rename the buddy. */ - purple_blist_rename_buddy(buddy, who); + purple_buddy_set_name(buddy, who); } jb = jabber_buddy_find(js, who, FALSE); ============================================================ --- libpurple/protocols/jabber/usermood.c 99f714015ce1450a1af123427a372315532915f3 +++ libpurple/protocols/jabber/usermood.c 1ee63b37b5ae23859e4bfbb5f1566cb3ee1bc8c7 @@ -120,6 +120,7 @@ static void jabber_mood_cb(JabberStream }; static void jabber_mood_cb(JabberStream *js, const char *from, xmlnode *items) { + PurpleAccount *account; /* it doesn't make sense to have more than one item here, so let's just pick the first one */ xmlnode *item = xmlnode_get_child(items, "item"); const char *newmood = NULL; @@ -154,13 +155,14 @@ static void jabber_mood_cb(JabberStream if (newmood != NULL && moodtext != NULL) break; } + account = purple_connection_get_account(js->gc); if (newmood != NULL) { - purple_prpl_got_user_status(js->gc->account, from, "mood", + purple_prpl_got_user_status(account, from, "mood", PURPLE_MOOD_NAME, newmood, PURPLE_MOOD_COMMENT, moodtext, NULL); } else { - purple_prpl_got_user_status_deactive(js->gc->account, from, "mood"); + purple_prpl_got_user_status_deactive(account, from, "mood"); } g_free(moodtext); } From qulogic at pidgin.im Wed Jun 9 01:31:14 2010 From: qulogic at pidgin.im (qulogic at pidgin.im) Date: Wed, 9 Jun 2010 01:31:14 -0400 (EDT) Subject: gobjectification: ce595caf: And so does MXit... Message-ID: <20100609053114.A5DAA5BD011D@rock.pidgin.im> ----------------------------------------------------------------- Revision: ce595caf8d9736f7f57dbe38da709aae9c4ca775 Ancestor: aedb69cf86b7bf67e60413986545d3fe7d05e21f Author: qulogic at pidgin.im Date: 2010-06-09T02:07:56 Branch: im.pidgin.gobjectification URL: http://d.pidgin.im/viewmtn/revision/info/ce595caf8d9736f7f57dbe38da709aae9c4ca775 Modified files: libpurple/protocols/mxit/actions.c libpurple/protocols/mxit/cipher.c libpurple/protocols/mxit/filexfer.c libpurple/protocols/mxit/login.c libpurple/protocols/mxit/multimx.c libpurple/protocols/mxit/mxit.c libpurple/protocols/mxit/protocol.c libpurple/protocols/mxit/roster.c libpurple/protocols/mxit/splashscreen.c ChangeLog: And so does MXit... -------------- next part -------------- ============================================================ --- libpurple/protocols/mxit/actions.c 09a1faf94e3d8faca80b46b142ea0a1c91f2b36e +++ libpurple/protocols/mxit/actions.c 935878cb43843cf834b6fd52f84661c0c78c1d97 @@ -43,7 +43,7 @@ static void mxit_cb_set_profile( PurpleC */ static void mxit_cb_set_profile( PurpleConnection* gc, PurpleRequestFields* fields ) { - struct MXitSession* session = (struct MXitSession*) gc->proto_data; + struct MXitSession* session = (struct MXitSession*) purple_object_get_protocol_data( PURPLE_OBJECT( gc ) ); PurpleRequestField* field = NULL; const char* pin = NULL; const char* pin2 = NULL; @@ -205,12 +205,13 @@ static void mxit_cb_action_profile( Purp static void mxit_cb_action_profile( PurplePluginAction* action ) { PurpleConnection* gc = (PurpleConnection*) action->context; - struct MXitSession* session = (struct MXitSession*) gc->proto_data; + struct MXitSession* session = (struct MXitSession*) purple_object_get_protocol_data( PURPLE_OBJECT( gc ) ); struct MXitProfile* profile = session->profile; PurpleRequestFields* fields = NULL; PurpleRequestFieldGroup* group = NULL; PurpleRequestField* field = NULL; + const char* password; purple_debug_info( MXIT_PLUGIN_ID, "mxit_cb_action_profile\n" ); @@ -233,10 +234,11 @@ static void mxit_cb_action_profile( Purp } /* pin */ - field = purple_request_field_string_new( "pin", _( "PIN" ), session->acc->password, FALSE ); + password = purple_account_get_password( session->acc ); + field = purple_request_field_string_new( "pin", _( "PIN" ), password, FALSE ); purple_request_field_string_set_masked( field, TRUE ); purple_request_field_group_add_field( group, field ); - field = purple_request_field_string_new( "pin2", _( "Verify PIN" ), session->acc->password, FALSE ); + field = purple_request_field_string_new( "pin2", _( "Verify PIN" ), password, FALSE ); purple_request_field_string_set_masked( field, TRUE ); purple_request_field_group_add_field( group, field ); @@ -292,7 +294,7 @@ static void mxit_cb_action_splash( Purpl static void mxit_cb_action_splash( PurplePluginAction* action ) { PurpleConnection* gc = (PurpleConnection*) action->context; - struct MXitSession* session = (struct MXitSession*) gc->proto_data; + struct MXitSession* session = (struct MXitSession*) purple_object_get_protocol_data( PURPLE_OBJECT( gc ) ); if ( splash_current( session ) != NULL ) splash_display( session ); ============================================================ --- libpurple/protocols/mxit/cipher.c 8a25e2dc92f45444edd1d4e1696e5124ce97c878 +++ libpurple/protocols/mxit/cipher.c d741e00dc76ef8b2b2ed474794d0fefb279e45da @@ -90,7 +90,7 @@ char* mxit_encrypt_password( struct MXit /* build the custom data to be encrypted */ strcpy( pass, SECRET_HEADER ); - strcat( pass, session->acc->password ); + strcat( pass, purple_account_get_password( session->acc ) ); /* pad the secret data */ blocks = pad_secret_data( pass ); ============================================================ --- libpurple/protocols/mxit/filexfer.c 50e87d30c7fb89e91dc5cb5cd7df57457a9cf26b +++ libpurple/protocols/mxit/filexfer.c b3c9989ca971e20773a7118ae01cfa21fabee5ab @@ -295,7 +295,7 @@ PurpleXfer* mxit_xfer_new( PurpleConnect */ PurpleXfer* mxit_xfer_new( PurpleConnection* gc, const char* who ) { - struct MXitSession* session = (struct MXitSession*) gc->proto_data; + struct MXitSession* session = (struct MXitSession*) purple_object_get_protocol_data( PURPLE_OBJECT( gc ) ); PurpleXfer* xfer = NULL; struct mxitxfer* mx = NULL; ============================================================ --- libpurple/protocols/mxit/login.c 69634f73e44d7cd8202d919b719b3dfa0c8e15ab +++ libpurple/protocols/mxit/login.c 1673cc30f645b7a420576aabeb7b84a231a608c9 @@ -51,13 +51,15 @@ static struct MXitSession* mxit_create_o { struct MXitSession* session = NULL; PurpleConnection* con = NULL; + const char* username = NULL; /* currently the wapsite does not handle a '+' in front of the username (mxitid) so we just strip it */ - if ( account->username[0] == '+' ) { + username = purple_account_get_username( account ); + if ( username[0] == '+' ) { char* fixed; /* cut off the '+' */ - fixed = g_strdup( &account->username[1] ); + fixed = g_strdup( &username[1] ); purple_account_set_username( account, fixed ); g_free( fixed ); } @@ -66,8 +68,8 @@ static struct MXitSession* mxit_create_o /* configure the connection (reference: "libpurple/connection.h") */ con = purple_account_get_connection( account ); - con->proto_data = session; - con->flags |= PURPLE_CONNECTION_NO_BGCOLOR | PURPLE_CONNECTION_NO_URLDESC | PURPLE_CONNECTION_HTML | PURPLE_CONNECTION_SUPPORT_MOODS; + purple_object_set_protocol_data( PURPLE_OBJECT( con ), session ); + purple_connection_turn_on_flags ( con, PURPLE_CONNECTION_FLAGS_NO_BGCOLOR | PURPLE_CONNECTION_FLAGS_NO_URLDESC | PURPLE_CONNECTION_FLAGS_HTML | PURPLE_CONNECTION_FLAGS_SUPPORT_MOODS ); session->con = con; /* add account */ @@ -172,7 +174,7 @@ static void mxit_cb_connect( gpointer us session->fd = source; /* start listening on the open connection for messages from the server (reference: "libpurple/eventloop.h") */ - session->con->inpa = purple_input_add( session->fd, PURPLE_INPUT_READ, mxit_cb_rx, session ); + g_object_set( G_OBJECT( session->con ), "inpa", purple_input_add( session->fd, PURPLE_INPUT_READ, mxit_cb_rx, session ), NULL ); mxit_connected( session ); } @@ -220,7 +222,7 @@ static void mxit_cb_register_ok( PurpleC */ static void mxit_cb_register_ok( PurpleConnection *gc, PurpleRequestFields *fields ) { - struct MXitSession* session = (struct MXitSession*) gc->proto_data; + struct MXitSession* session = (struct MXitSession*) purple_object_get_protocol_data( PURPLE_OBJECT( gc ) ); struct MXitProfile* profile = session->profile; const char* str; const char* pin; @@ -302,7 +304,7 @@ static void mxit_cb_register_cancel( Pur purple_debug_info( MXIT_PLUGIN_ID, "mxit_cb_register_cancel\n" ); /* disconnect */ - purple_account_disconnect( gc->account ); + purple_account_disconnect( purple_connection_get_account( gc ) ); } @@ -506,7 +508,7 @@ static void mxit_cb_captcha_ok( PurpleCo */ static void mxit_cb_captcha_ok( PurpleConnection* gc, PurpleRequestFields* fields ) { - struct MXitSession* session = (struct MXitSession*) gc->proto_data; + struct MXitSession* session = (struct MXitSession*) purple_object_get_protocol_data( PURPLE_OBJECT( gc ) ); PurpleUtilFetchUrlData* url_data; PurpleRequestField* field; const char* captcha_resp; @@ -547,7 +549,7 @@ static void mxit_cb_captcha_ok( PurpleCo state = purple_account_get_int( session->acc, MXIT_CONFIG_STATE, MXIT_STATE_LOGIN ); url = g_strdup_printf( "%s?type=getpid&sessionid=%s&login=%s&ver=%s&clientid=%s&cat=%s&chalresp=%s&cc=%s&loc=%s&path=%i&brand=%s&model=%s&h=%i&w=%i&ts=%li", - session->logindata->wapserver, session->logindata->sessionid, purple_url_encode( session->acc->username ), MXIT_CP_RELEASE, MXIT_CLIENT_ID, MXIT_CP_ARCH, + session->logindata->wapserver, session->logindata->sessionid, purple_url_encode( purple_account_get_username( session->acc ) ), MXIT_CP_RELEASE, MXIT_CLIENT_ID, MXIT_CP_ARCH, captcha_resp, session->logindata->cc, session->logindata->locale, ( state == MXIT_STATE_REGISTER1 ) ? 0 : 1, MXIT_CP_PLATFORM, MXIT_CP_OS, MXIT_CAPTCHA_HEIGHT, MXIT_CAPTCHA_WIDTH, time( NULL ) ); url_data = purple_util_fetch_url_request( url, TRUE, MXIT_HTTP_USERAGENT, TRUE, NULL, FALSE, mxit_cb_clientinfo2, session ); @@ -570,7 +572,7 @@ static void mxit_cb_captcha_cancel( Purp */ static void mxit_cb_captcha_cancel( PurpleConnection* gc, PurpleRequestFields* fields ) { - struct MXitSession* session = (struct MXitSession*) gc->proto_data; + struct MXitSession* session = (struct MXitSession*) purple_object_get_protocol_data( PURPLE_OBJECT( gc ) ); /* free up the login resources */ free_logindata( session->logindata ); ============================================================ --- libpurple/protocols/mxit/multimx.c 8055289b53d1ae927067e5313e7c251a03449653 +++ libpurple/protocols/mxit/multimx.c baf4c2831b7b9f85408095e53bb874260a2bcd72 @@ -470,7 +470,7 @@ void mxit_chat_join(PurpleConnection *gc */ void mxit_chat_join(PurpleConnection *gc, GHashTable *components) { - struct MXitSession* session = (struct MXitSession*) gc->proto_data; + struct MXitSession* session = (struct MXitSession*) purple_object_get_protocol_data( PURPLE_OBJECT( gc ) ); const char* roomname = NULL; struct multimx* multimx = NULL; @@ -512,7 +512,7 @@ void mxit_chat_reject(PurpleConnection * */ void mxit_chat_reject(PurpleConnection *gc, GHashTable* components) { - struct MXitSession* session = (struct MXitSession*) gc->proto_data; + struct MXitSession* session = (struct MXitSession*) purple_object_get_protocol_data( PURPLE_OBJECT( gc ) ); const char* roomname = NULL; struct multimx* multimx = NULL; @@ -555,7 +555,7 @@ void mxit_chat_invite(PurpleConnection * */ void mxit_chat_invite(PurpleConnection *gc, int id, const char *msg, const char *username) { - struct MXitSession* session = (struct MXitSession*) gc->proto_data; + struct MXitSession* session = (struct MXitSession*) purple_object_get_protocol_data( PURPLE_OBJECT( gc ) ); struct multimx* multimx = NULL; purple_debug_info(MXIT_PLUGIN_ID, "Groupchat invite to '%s'\n", username); @@ -580,7 +580,7 @@ void mxit_chat_leave(PurpleConnection *g */ void mxit_chat_leave(PurpleConnection *gc, int id) { - struct MXitSession* session = (struct MXitSession*) gc->proto_data; + struct MXitSession* session = (struct MXitSession*) purple_object_get_protocol_data( PURPLE_OBJECT( gc ) ); struct multimx* multimx = NULL; purple_debug_info(MXIT_PLUGIN_ID, "Groupchat %i leave\n", id); @@ -611,7 +611,7 @@ int mxit_chat_send(PurpleConnection *gc, */ int mxit_chat_send(PurpleConnection *gc, int id, const char *message, PurpleMessageFlags flags) { - struct MXitSession* session = (struct MXitSession*) gc->proto_data; + struct MXitSession* session = (struct MXitSession*) purple_object_get_protocol_data( PURPLE_OBJECT( gc ) ); struct multimx* multimx = NULL; const char* nickname; ============================================================ --- libpurple/protocols/mxit/mxit.c dc64911072f9358f2ee33af22ca466092ede07d9 +++ libpurple/protocols/mxit/mxit.c 6aaf0a8224995a0787df28f49ca96a6f379db6a5 @@ -96,7 +96,7 @@ static void* mxit_link_click( const char is_command = g_str_has_prefix( parts[4], "::type=reply|" ); /* send click message back to MXit */ - mxit_send_message( con->proto_data, parts[3], parts[4], FALSE, is_command ); + mxit_send_message( purple_object_get_protocol_data( PURPLE_OBJECT( con ) ), parts[3], parts[4], FALSE, is_command ); g_free( link ); link = NULL; @@ -369,7 +369,7 @@ static void mxit_close( PurpleConnection */ static void mxit_close( PurpleConnection* gc ) { - struct MXitSession* session = (struct MXitSession*) gc->proto_data; + struct MXitSession* session = (struct MXitSession*) purple_object_get_protocol_data( PURPLE_OBJECT( gc ) ); /* disable signals */ mxit_disable_signals( session ); @@ -403,9 +403,11 @@ static int mxit_send_im( PurpleConnectio */ static int mxit_send_im( PurpleConnection* gc, const char* who, const char* message, PurpleMessageFlags flags ) { + struct MXitSession *session = purple_object_get_protocol_data( PURPLE_OBJECT( gc ) ); + purple_debug_info( MXIT_PLUGIN_ID, "Sending message '%s' to buddy '%s'\n", message, who ); - mxit_send_message( gc->proto_data, who, message, TRUE, FALSE ); + mxit_send_message( session, who, message, TRUE, FALSE ); return 1; /* echo to conversation window */ } @@ -419,7 +421,7 @@ static void mxit_set_status( PurpleAccou */ static void mxit_set_status( PurpleAccount* account, PurpleStatus* status ) { - struct MXitSession* session = purple_account_get_connection( account )->proto_data; + struct MXitSession* session = purple_object_get_protocol_data( PURPLE_OBJECT( purple_account_get_connection( account ) ) ); const char* statusid; int presence; char* statusmsg1; @@ -512,7 +514,7 @@ static void mxit_keepalive( PurpleConnec */ static void mxit_keepalive( PurpleConnection *gc ) { - struct MXitSession* session = (struct MXitSession*) gc->proto_data; + struct MXitSession* session = (struct MXitSession*) purple_object_get_protocol_data( PURPLE_OBJECT( gc ) ); /* if not logged in, there is nothing to do */ if ( !( session->flags & MXIT_FLAG_LOGGEDIN ) ) @@ -540,7 +542,7 @@ static void mxit_set_buddy_icon( PurpleC */ static void mxit_set_buddy_icon( PurpleConnection *gc, PurpleStoredImage *img ) { - struct MXitSession* session = (struct MXitSession*) gc->proto_data; + struct MXitSession* session = (struct MXitSession*) purple_object_get_protocol_data( PURPLE_OBJECT( gc ) ); if ( img == NULL ) mxit_set_avatar( session, NULL, 0 ); @@ -557,7 +559,7 @@ static void mxit_get_info( PurpleConnect */ static void mxit_get_info( PurpleConnection *gc, const char *who ) { - struct MXitSession* session = (struct MXitSession*) gc->proto_data; + struct MXitSession* session = (struct MXitSession*) purple_object_get_protocol_data( PURPLE_OBJECT( gc ) ); const char* profilelist[] = { CP_PROFILE_BIRTHDATE, CP_PROFILE_GENDER, CP_PROFILE_FULLNAME, CP_PROFILE_FIRSTNAME, CP_PROFILE_LASTNAME, CP_PROFILE_REGCOUNTRY }; ============================================================ --- libpurple/protocols/mxit/protocol.c 45d6424a6c418ee410a41b95fa0d60b935c40af0 +++ libpurple/protocols/mxit/protocol.c deda9430e9004273f98d0904ba3bfc927c089178 @@ -445,7 +445,7 @@ static void mxit_queue_packet( struct MX packet->headerlen = 0; /* create generic packet header */ - hlen = sprintf( header, "id=%s%c", session->acc->username, CP_REC_TERM ); /* client msisdn */ + hlen = sprintf( header, "id=%s%c", purple_account_get_username( session->acc ), CP_REC_TERM ); /* client msisdn */ if ( session->http ) { /* http connection only */ @@ -1291,7 +1291,7 @@ static void mxit_parse_cmd_login( struct /* we were not yet logged in so we need to complete the login sequence here */ session->flags |= MXIT_FLAG_LOGGEDIN; purple_connection_update_progress( session->con, _( "Successfully Logged In..." ), 3, 4 ); - purple_connection_set_state( session->con, PURPLE_CONNECTED ); + purple_connection_set_state( session->con, PURPLE_CONNECTION_STATE_CONNECTED ); /* save extra info if this is a HTTP connection */ if ( session->http ) { @@ -2422,6 +2422,7 @@ void mxit_close_connection( struct MXitS */ void mxit_close_connection( struct MXitSession* session ) { + guint inpa; purple_debug_info( MXIT_PLUGIN_ID, "mxit_close_connection\n" ); if ( !( session->flags & MXIT_FLAG_CONNECTED ) ) { @@ -2444,9 +2445,10 @@ void mxit_close_connection( struct MXitS } /* remove the input cb function */ - if ( session->con->inpa ) { - purple_input_remove( session->con->inpa ); - session->con->inpa = 0; + g_object_get( G_OBJECT( session->con ), "inpa", &inpa, NULL ); + if ( inpa ) { + purple_input_remove( inpa ); + g_object_set( G_OBJECT( session->con ), "inpa", 0, NULL ); } /* remove HTTP poll timer */ ============================================================ --- libpurple/protocols/mxit/roster.c b15ba396586bf5ef56ff31581bc6b9bb0d2f097e +++ libpurple/protocols/mxit/roster.c 8b5604d2f09d4eadaecf062b2f1c5e582f606a93 @@ -75,7 +75,7 @@ GList* mxit_status_types( PurpleAccount* /* add mxit status (reference: "libpurple/status.h") */ type = purple_status_type_new_with_attrs( status->primative, status->id, _( status->name ), TRUE, TRUE, FALSE, - "message", _( "Message" ), purple_value_new( PURPLE_TYPE_STRING ), + "message", _( "Message" ), purple_g_value_slice_new( G_TYPE_STRING ), NULL ); statuslist = g_list_append( statuslist, type ); @@ -83,7 +83,7 @@ GList* mxit_status_types( PurpleAccount* /* add Mood option */ type = purple_status_type_new_with_attrs(PURPLE_STATUS_MOOD, "mood", NULL, FALSE, TRUE, TRUE, - PURPLE_MOOD_NAME, _("Mood Name"), purple_value_new( PURPLE_TYPE_STRING ), + PURPLE_MOOD_NAME, _("Mood Name"), purple_g_value_slice_new( G_TYPE_STRING ), NULL); statuslist = g_list_append( statuslist, type ); @@ -301,7 +301,7 @@ static PurpleBuddy* mxit_update_buddy_gr buddy->proto_data = NULL; /* remove the buddy */ - purple_blist_remove_buddy( buddy ); + purple_blist_node_remove( PURPLE_BLIST_NODE( buddy ) ); /* add buddy */ purple_blist_add_buddy( newbuddy, NULL, group, NULL ); @@ -375,7 +375,7 @@ void mxit_update_contact( struct MXitSes buddy = purple_find_buddy( session->acc, contact->username ); if ( buddy ) { /* ok, so we found him in another group. to switch him between groups we must delete him and add him again. */ - purple_blist_remove_buddy( buddy ); + purple_blist_node_remove( PURPLE_BLIST_NODE( buddy ) ); buddy = NULL; } @@ -392,7 +392,7 @@ void mxit_update_contact( struct MXitSes gpointer data = NULL; /* now update the buddy's alias */ - purple_blist_alias_buddy( buddy, contact->alias ); + purple_buddy_set_name( buddy, contact->alias ); /* replace the buddy's contact struct */ if ( ( data = purple_buddy_get_protocol_data( buddy ) ) ) @@ -526,7 +526,7 @@ void mxit_update_blist( struct MXitSessi /* this buddy should be removed, because we did not receive him in our roster update from MXit */ purple_debug_info( MXIT_PLUGIN_ID, "Removed 'old' buddy from the blist '%s' (%s)\n", alias, name ); - purple_blist_remove_buddy( buddy ); + purple_blist_node_remove( PURPLE_BLIST_NODE( buddy ) ); } } @@ -640,7 +640,7 @@ void mxit_add_buddy( PurpleConnection* g */ void mxit_add_buddy( PurpleConnection* gc, PurpleBuddy* buddy, PurpleGroup* group ) { - struct MXitSession* session = (struct MXitSession*) gc->proto_data; + struct MXitSession* session = (struct MXitSession*) purple_object_get_protocol_data( PURPLE_OBJECT( gc ) ); GSList* list = NULL; PurpleBuddy* mxbuddy = NULL; unsigned int i; @@ -676,7 +676,7 @@ void mxit_add_buddy( PurpleConnection* g /* this is our REAL MXit buddy! */ /* now update the buddy's alias */ - purple_blist_alias_buddy( mxbuddy, buddy_alias ); + purple_buddy_set_name( mxbuddy, buddy_alias ); /* now update the buddy's group */ // mxbuddy = mxit_update_buddy_group( session, mxbuddy, group ); @@ -694,7 +694,7 @@ void mxit_add_buddy( PurpleConnection* g * invalid contact. so the user will still see the contact as offline * until he eventually accepts the invite. */ - purple_blist_remove_buddy( buddy ); + purple_blist_node_remove( PURPLE_BLIST_NODE( buddy ) ); g_slist_free( list ); } @@ -709,7 +709,7 @@ void mxit_remove_buddy( PurpleConnection */ void mxit_remove_buddy( PurpleConnection* gc, PurpleBuddy* buddy, PurpleGroup* group ) { - struct MXitSession* session = (struct MXitSession*) gc->proto_data; + struct MXitSession* session = (struct MXitSession*) purple_object_get_protocol_data( PURPLE_OBJECT( gc ) ); const gchar * buddy_name = purple_buddy_get_name( buddy ); purple_debug_info( MXIT_PLUGIN_ID, "mxit_remove_buddy '%s'\n", buddy_name ); @@ -727,7 +727,7 @@ void mxit_buddy_alias( PurpleConnection* */ void mxit_buddy_alias( PurpleConnection* gc, const char* who, const char* alias ) { - struct MXitSession* session = (struct MXitSession*) gc->proto_data; + struct MXitSession* session = (struct MXitSession*) purple_object_get_protocol_data( PURPLE_OBJECT( gc ) ); PurpleBuddy* buddy = NULL; PurpleGroup* group = NULL; @@ -761,7 +761,7 @@ void mxit_buddy_group( PurpleConnection* */ void mxit_buddy_group( PurpleConnection* gc, const char* who, const char* old_group, const char* new_group ) { - struct MXitSession* session = (struct MXitSession*) gc->proto_data; + struct MXitSession* session = (struct MXitSession*) purple_object_get_protocol_data( PURPLE_OBJECT( gc ) ); PurpleBuddy* buddy = NULL; purple_debug_info( MXIT_PLUGIN_ID, "mxit_buddy_group from '%s' to '%s'\n", old_group, new_group ); @@ -788,7 +788,7 @@ void mxit_rename_group( PurpleConnection */ void mxit_rename_group( PurpleConnection* gc, const char* old_name, PurpleGroup* group, GList* moved_buddies ) { - struct MXitSession* session = (struct MXitSession*) gc->proto_data; + struct MXitSession* session = (struct MXitSession*) purple_object_get_protocol_data( PURPLE_OBJECT( gc ) ); PurpleBuddy* buddy = NULL; GList* item = NULL; ============================================================ --- libpurple/protocols/mxit/splashscreen.c ea0c77abaf1981e197f5ab7b4b03b653e84c9d40 +++ libpurple/protocols/mxit/splashscreen.c 2a36a0f2dfe28b5a39f9f26b39f2bc13847678a0 @@ -144,7 +144,7 @@ static void splash_click_ok(PurpleConnec */ static void splash_click_ok(PurpleConnection* gc, PurpleRequestFields* fields) { - struct MXitSession* session = (struct MXitSession*) gc->proto_data; + struct MXitSession* session = (struct MXitSession*) purple_object_get_protocol_data( PURPLE_OBJECT( gc ) ); const char* splashId; /* Get current splash ID */ From qulogic at pidgin.im Wed Jun 9 01:31:53 2010 From: qulogic at pidgin.im (qulogic at pidgin.im) Date: Wed, 9 Jun 2010 01:31:53 -0400 (EDT) Subject: gobjectification: d1dec79e: explicit merge of 'fc3d5c2a3920e0875ac23... Message-ID: <20100609053154.1965A5BD00FB@rock.pidgin.im> ----------------------------------------------------------------- Revision: d1dec79ed9aff395ebb3e4831791b26944292376 Ancestor: df8edef04b5d010b89ca98c4d3ed369adeb2a5ee Ancestor: fc3d5c2a3920e0875ac235415cea9fc7f5ed780c Author: qulogic at pidgin.im Date: 2010-06-07T06:00:20 Branch: im.pidgin.gobjectification URL: http://d.pidgin.im/viewmtn/revision/info/d1dec79ed9aff395ebb3e4831791b26944292376 Added files: doc/hierarchy.dot libpurple/accountmanager.c libpurple/accountmanager.h libpurple/blist-node.c libpurple/blist-node.h libpurple/buddy.c libpurple/buddy.h libpurple/chat.c libpurple/chat.h libpurple/contact.c libpurple/contact.h libpurple/des3cipher.c libpurple/des3cipher.h libpurple/descipher.c libpurple/descipher.h libpurple/ghash.c libpurple/ghash.h libpurple/group.c libpurple/group.h libpurple/gsignal.c libpurple/gsignal.h libpurple/hash.c libpurple/hash.h libpurple/hmaccipher.c libpurple/hmaccipher.h libpurple/md4hash.c libpurple/md4hash.h libpurple/md5cipher.c libpurple/md5cipher.h libpurple/plugins/perl/common/Hash.xs libpurple/pobject.c libpurple/pobject.h libpurple/rc4cipher.c libpurple/rc4cipher.h libpurple/sha1cipher.c libpurple/sha1cipher.h libpurple/sha256cipher.c libpurple/sha256cipher.h po/mr.po po/or.po Modified files: COPYRIGHT ChangeLog ChangeLog.API ChangeLog.win32 NEWS acinclude.m4 configure.ac doc/finch.1.in finch/finch.c finch/finch.h finch/gntaccount.c finch/gntblist.c finch/gntconn.c finch/gntconv.c finch/gntlog.c finch/gntpounce.c finch/gntrequest.c finch/gntsound.c finch/gntui.c finch/libgnt/gnttree.c finch/libgnt/gntutils.c finch/libgnt/gntwm.c finch/libgnt/wms/irssi.c finch/plugins/gnthistory.c finch/plugins/grouping.c libpurple/Makefile.am libpurple/Makefile.mingw libpurple/account.c libpurple/account.h libpurple/blist.c libpurple/blist.h libpurple/buddyicon.c libpurple/cipher.c libpurple/cipher.h libpurple/connection.c libpurple/connection.h libpurple/conversation.c libpurple/conversation.h libpurple/core.c libpurple/dbus-analyze-functions.py libpurple/dbus-define-api.h libpurple/dbus-server.c libpurple/dbus-useful.c libpurple/dbus-useful.h libpurple/dnssrv.c libpurple/example/nullclient.c libpurple/ft.c libpurple/idle.c libpurple/internal.h libpurple/log.c libpurple/marshallers.list libpurple/media.c libpurple/network.c libpurple/network.h libpurple/ntlm.c libpurple/plugins/Makefile.am libpurple/plugins/autoaccept.c libpurple/plugins/ciphertest.c libpurple/plugins/filectl.c libpurple/plugins/idle.c libpurple/plugins/log_reader.c libpurple/plugins/one_time_password.c libpurple/plugins/perl/common/Account.xs libpurple/plugins/perl/common/BuddyList.xs libpurple/plugins/perl/common/Cipher.xs libpurple/plugins/perl/common/Connection.xs libpurple/plugins/perl/common/MANIFEST libpurple/plugins/perl/common/Makefile.mingw libpurple/plugins/perl/common/Prpl.xs libpurple/plugins/perl/common/Status.xs libpurple/plugins/perl/common/Util.xs libpurple/plugins/perl/common/module.h libpurple/plugins/perl/common/typemap libpurple/plugins/perl/perl-common.c libpurple/plugins/perl/perl-common.h libpurple/plugins/perl/perl-handlers.c libpurple/plugins/signals-test.c libpurple/plugins/tcl/tcl_cmds.c libpurple/plugins/tcl/tcl_signals.c libpurple/pounce.c libpurple/prefs.h libpurple/protocols/bonjour/Makefile.mingw libpurple/protocols/bonjour/bonjour.c libpurple/protocols/bonjour/bonjour_ft.c libpurple/protocols/bonjour/buddy.c libpurple/protocols/bonjour/jabber.c libpurple/protocols/bonjour/mdns_avahi.c libpurple/protocols/bonjour/mdns_win32.c libpurple/protocols/bonjour/parser.c libpurple/protocols/gg/Makefile.mingw libpurple/protocols/gg/buddylist.c libpurple/protocols/gg/confer.c libpurple/protocols/gg/gg.c libpurple/protocols/gg/search.c libpurple/protocols/irc/Makefile.mingw libpurple/protocols/irc/cmds.c libpurple/protocols/irc/dcc_send.c libpurple/protocols/irc/irc.c libpurple/protocols/irc/msgs.c libpurple/protocols/irc/parse.c libpurple/protocols/jabber/adhoccommands.c libpurple/protocols/jabber/auth.c libpurple/protocols/jabber/bosh.c libpurple/protocols/jabber/buddy.c libpurple/protocols/jabber/caps.c libpurple/protocols/jabber/caps.h libpurple/protocols/jabber/chat.c libpurple/protocols/jabber/data.h libpurple/protocols/jabber/disco.c libpurple/protocols/jabber/google.c libpurple/protocols/jabber/iq.c libpurple/protocols/jabber/jabber.c libpurple/protocols/jabber/jabber.h libpurple/protocols/jabber/jutil.c libpurple/protocols/jabber/jutil.h libpurple/protocols/jabber/libxmpp.c libpurple/protocols/jabber/message.c libpurple/protocols/jabber/oob.c libpurple/protocols/jabber/parser.c libpurple/protocols/jabber/presence.c libpurple/protocols/jabber/roster.c libpurple/protocols/jabber/si.c libpurple/protocols/jabber/usermood.c libpurple/protocols/jabber/usernick.c libpurple/protocols/jabber/usertune.c libpurple/protocols/msn/Makefile.mingw libpurple/protocols/msn/cmdproc.h libpurple/protocols/msn/command.h libpurple/protocols/msn/contact.c libpurple/protocols/msn/contact.h libpurple/protocols/msn/dialog.c libpurple/protocols/msn/dialog.h libpurple/protocols/msn/directconn.h libpurple/protocols/msn/error.c libpurple/protocols/msn/error.h libpurple/protocols/msn/group.h libpurple/protocols/msn/history.h libpurple/protocols/msn/httpconn.c libpurple/protocols/msn/httpconn.h libpurple/protocols/msn/msg.c libpurple/protocols/msn/msg.h libpurple/protocols/msn/msn.c libpurple/protocols/msn/msn.h libpurple/protocols/msn/msnutils.c libpurple/protocols/msn/msnutils.h libpurple/protocols/msn/nexus.c libpurple/protocols/msn/nexus.h libpurple/protocols/msn/notification.c libpurple/protocols/msn/notification.h libpurple/protocols/msn/object.c libpurple/protocols/msn/object.h libpurple/protocols/msn/oim.c libpurple/protocols/msn/oim.h libpurple/protocols/msn/page.h libpurple/protocols/msn/servconn.c libpurple/protocols/msn/servconn.h libpurple/protocols/msn/session.c libpurple/protocols/msn/session.h libpurple/protocols/msn/slp.c libpurple/protocols/msn/slp.h libpurple/protocols/msn/slpcall.c libpurple/protocols/msn/slpcall.h libpurple/protocols/msn/slplink.c libpurple/protocols/msn/slplink.h libpurple/protocols/msn/slpmsg.h libpurple/protocols/msn/soap.h libpurple/protocols/msn/state.c libpurple/protocols/msn/state.h libpurple/protocols/msn/switchboard.c libpurple/protocols/msn/switchboard.h libpurple/protocols/msn/sync.c libpurple/protocols/msn/sync.h libpurple/protocols/msn/table.h libpurple/protocols/msn/transaction.h libpurple/protocols/msn/user.c libpurple/protocols/msn/user.h libpurple/protocols/msn/userlist.c libpurple/protocols/msn/userlist.h libpurple/protocols/msnp9/Makefile.mingw libpurple/protocols/msnp9/dialog.c libpurple/protocols/msnp9/error.c libpurple/protocols/msnp9/msn.c libpurple/protocols/msnp9/msn.h libpurple/protocols/msnp9/nexus.c libpurple/protocols/msnp9/notification.c libpurple/protocols/msnp9/object.c libpurple/protocols/msnp9/servconn.c libpurple/protocols/msnp9/session.c libpurple/protocols/msnp9/slp.c libpurple/protocols/msnp9/switchboard.c libpurple/protocols/msnp9/sync.c libpurple/protocols/msnp9/userlist.c libpurple/protocols/myspace/Makefile.mingw libpurple/protocols/myspace/myspace.c libpurple/protocols/myspace/myspace.h libpurple/protocols/myspace/session.c libpurple/protocols/myspace/session.h libpurple/protocols/myspace/user.c libpurple/protocols/myspace/zap.c libpurple/protocols/novell/Makefile.mingw libpurple/protocols/novell/novell.c libpurple/protocols/null/Makefile.mingw libpurple/protocols/null/nullprpl.c libpurple/protocols/oscar/Makefile.mingw libpurple/protocols/oscar/clientlogin.c libpurple/protocols/oscar/family_auth.c libpurple/protocols/oscar/family_oservice.c libpurple/protocols/oscar/flap_connection.c libpurple/protocols/oscar/libaim.c libpurple/protocols/oscar/oscar.c libpurple/protocols/oscar/oscar.h libpurple/protocols/qq/Makefile.am libpurple/protocols/qq/Makefile.mingw libpurple/protocols/qq/buddy_info.c libpurple/protocols/qq/buddy_list.c libpurple/protocols/qq/buddy_memo.c libpurple/protocols/qq/buddy_opt.c libpurple/protocols/qq/file_trans.c libpurple/protocols/qq/group.c libpurple/protocols/qq/group_im.c libpurple/protocols/qq/group_info.c libpurple/protocols/qq/group_internal.c libpurple/protocols/qq/group_join.c libpurple/protocols/qq/group_opt.c libpurple/protocols/qq/im.c libpurple/protocols/qq/qq.c libpurple/protocols/qq/qq_base.c libpurple/protocols/qq/qq_network.c libpurple/protocols/qq/qq_process.c libpurple/protocols/qq/qq_trans.c libpurple/protocols/qq/send_file.c libpurple/protocols/qq/utils.c libpurple/protocols/sametime/Makefile.mingw libpurple/protocols/sametime/sametime.c libpurple/protocols/silc/Makefile.mingw libpurple/protocols/silc/buddy.c libpurple/protocols/silc/chat.c libpurple/protocols/silc/ft.c libpurple/protocols/silc/ops.c libpurple/protocols/silc/pk.c libpurple/protocols/silc/silc.c libpurple/protocols/silc/util.c libpurple/protocols/silc/wb.c libpurple/protocols/silc10/buddy.c libpurple/protocols/silc10/chat.c libpurple/protocols/silc10/ft.c libpurple/protocols/silc10/ops.c libpurple/protocols/silc10/silc.c libpurple/protocols/silc10/util.c libpurple/protocols/simple/Makefile.mingw libpurple/protocols/simple/simple.c libpurple/protocols/yahoo/Makefile.mingw libpurple/protocols/yahoo/libymsg.c libpurple/protocols/yahoo/libymsg.h libpurple/protocols/yahoo/util.c libpurple/protocols/yahoo/yahoo_aliases.c libpurple/protocols/yahoo/yahoo_doodle.c libpurple/protocols/yahoo/yahoo_filexfer.c libpurple/protocols/yahoo/yahoo_friend.c libpurple/protocols/yahoo/yahoo_picture.c libpurple/protocols/yahoo/yahoo_profile.c libpurple/protocols/yahoo/yahoochat.c libpurple/protocols/yahoo/ycht.c libpurple/protocols/zephyr/zephyr.c libpurple/proxy.c libpurple/prpl.c libpurple/purple.h.in libpurple/savedstatuses.c libpurple/server.c libpurple/server.h libpurple/signals.c libpurple/signals.h libpurple/status.c libpurple/status.h libpurple/tests/Makefile.am libpurple/tests/check_libpurple.c libpurple/tests/test_cipher.c libpurple/tests/test_util.c libpurple/util.c libpurple/util.h libpurple/value.c libpurple/value.h libpurple/win32/global.mak libpurple/win32/targets.mak libpurple/xmlnode.c pidgin/Makefile.am pidgin/gtkaccount.c pidgin/gtkblist-theme-loader.c pidgin/gtkblist-theme.c pidgin/gtkblist.c pidgin/gtkblist.h pidgin/gtkconn.c pidgin/gtkconv.c pidgin/gtkdebug.c pidgin/gtkdialogs.c pidgin/gtkdocklet.c pidgin/gtkft.c pidgin/gtkimhtml.c pidgin/gtklog.c pidgin/gtkmain.c pidgin/gtknotify.c pidgin/gtkpounce.c pidgin/gtkprefs.c pidgin/gtkprivacy.c pidgin/gtkrequest.c pidgin/gtkroomlist.c pidgin/gtksmiley.c pidgin/gtksmiley.h pidgin/gtksound.c pidgin/gtkstatusbox.c pidgin/gtkthemes.c pidgin/gtkutils.c pidgin/gtkwhiteboard.c pidgin/plugins/cap/cap.c pidgin/plugins/disco/xmppdisco.c pidgin/plugins/gevolution/gevo-util.c pidgin/plugins/gevolution/gevolution.c pidgin/plugins/gtk-signals-test.c pidgin/plugins/history.c pidgin/plugins/mailchk.c pidgin/plugins/perl/common/GtkBlist.xs pidgin/plugins/pidgininc.c pidgin/plugins/raw.c pidgin/plugins/relnot.c pidgin/plugins/themeedit-icon.c pidgin/plugins/themeedit.c pidgin/plugins/ticker/ticker.c pidgin/plugins/timestamp.c pidgin/plugins/xmppconsole.c pidgin/win32/gtkwin32dep.c pidgin/win32/nsis/translations/polish.nsh po/ChangeLog po/POTFILES.in po/af.po po/bn.po po/cs.po po/de.po po/es.po po/fr.po po/gu.po po/he.po po/kn.po po/nb.po po/nn.po po/pa.po po/pl.po po/ru.po po/sk.po po/sl.po po/sq.po po/sv.po po/ta.po po/uk.po po/zh_CN.po po/zh_HK.po po/zh_TW.po ChangeLog: explicit merge of 'fc3d5c2a3920e0875ac235415cea9fc7f5ed780c' and 'df8edef04b5d010b89ca98c4d3ed369adeb2a5ee' From qulogic at pidgin.im Wed Jun 9 01:32:17 2010 From: qulogic at pidgin.im (qulogic at pidgin.im) Date: Wed, 9 Jun 2010 01:32:17 -0400 (EDT) Subject: gobjectification: d571c0ac: explicit merge of '428d1b9d1ec79fad43c32... Message-ID: <20100609053217.91A5F5BD00E3@rock.pidgin.im> ----------------------------------------------------------------- Revision: d571c0ac2ae0f30ab9ad82097fc26921b97fa976 Ancestor: 1f1b7343bd021866e6857dca0404342741049452 Ancestor: 428d1b9d1ec79fad43c322588aa123858132666c Author: qulogic at pidgin.im Date: 2010-06-07T04:49:26 Branch: im.pidgin.gobjectification URL: http://d.pidgin.im/viewmtn/revision/info/d571c0ac2ae0f30ab9ad82097fc26921b97fa976 Added files: doc/hierarchy.dot libpurple/accountmanager.c libpurple/accountmanager.h libpurple/blist-node.c libpurple/blist-node.h libpurple/buddy.c libpurple/buddy.h libpurple/chat.c libpurple/chat.h libpurple/contact.c libpurple/contact.h libpurple/des3cipher.c libpurple/des3cipher.h libpurple/descipher.c libpurple/descipher.h libpurple/ghash.c libpurple/ghash.h libpurple/group.c libpurple/group.h libpurple/gsignal.c libpurple/gsignal.h libpurple/hash.c libpurple/hash.h libpurple/hmaccipher.c libpurple/hmaccipher.h libpurple/md4hash.c libpurple/md4hash.h libpurple/md5cipher.c libpurple/md5cipher.h libpurple/plugins/perl/common/Hash.xs libpurple/pobject.c libpurple/pobject.h libpurple/protocols/jabber/auth_cyrus.c libpurple/protocols/jabber/auth_digest_md5.c libpurple/protocols/jabber/auth_plain.c libpurple/protocols/jabber/auth_scram.c libpurple/protocols/jabber/auth_scram.h libpurple/protocols/jabber/namespaces.h libpurple/protocols/mxit/Makefile.am libpurple/protocols/mxit/Makefile.mingw libpurple/protocols/mxit/actions.c libpurple/protocols/mxit/actions.h libpurple/protocols/mxit/aes.c libpurple/protocols/mxit/aes.h libpurple/protocols/mxit/chunk.c libpurple/protocols/mxit/chunk.h libpurple/protocols/mxit/cipher.c libpurple/protocols/mxit/cipher.h libpurple/protocols/mxit/filexfer.c libpurple/protocols/mxit/filexfer.h libpurple/protocols/mxit/formcmds.c libpurple/protocols/mxit/formcmds.h libpurple/protocols/mxit/http.c libpurple/protocols/mxit/http.h libpurple/protocols/mxit/login.c libpurple/protocols/mxit/login.h libpurple/protocols/mxit/markup.c libpurple/protocols/mxit/markup.h libpurple/protocols/mxit/multimx.c libpurple/protocols/mxit/multimx.h libpurple/protocols/mxit/mxit.c libpurple/protocols/mxit/mxit.h libpurple/protocols/mxit/profile.c libpurple/protocols/mxit/profile.h libpurple/protocols/mxit/protocol.c libpurple/protocols/mxit/protocol.h libpurple/protocols/mxit/roster.c libpurple/protocols/mxit/roster.h libpurple/protocols/mxit/splashscreen.c libpurple/protocols/mxit/splashscreen.h libpurple/rc4cipher.c libpurple/rc4cipher.h libpurple/sha1cipher.c libpurple/sha1cipher.h libpurple/sha256cipher.c libpurple/sha256cipher.h libpurple/tests/test_jabber_scram.c pidgin/pixmaps/protocols/16/mxit.png pidgin/pixmaps/protocols/22/mxit.png pidgin/pixmaps/protocols/48/mxit.png pidgin/pixmaps/protocols/scalable/mxit.svg po/ms_MY.po Added directories: libpurple/protocols/mxit Modified files: COPYRIGHT ChangeLog ChangeLog.API ChangeLog.win32 NEWS acinclude.m4 configure.ac doc/finch.1.in finch/finch.c finch/finch.h finch/gntaccount.c finch/gntblist.c finch/gntconn.c finch/gntconv.c finch/gntlog.c finch/gntpounce.c finch/gntrequest.c finch/gntsound.c finch/gntui.c finch/libgnt/gntbox.c finch/libgnt/gntbutton.c finch/libgnt/gntcheckbox.c finch/libgnt/gntcombobox.c finch/libgnt/gntentry.c finch/libgnt/gntinternal.h finch/libgnt/gntlabel.c finch/libgnt/gntmain.c finch/libgnt/gntmenu.c finch/libgnt/gnttextview.c finch/libgnt/gnttree.c finch/libgnt/gntws.c finch/plugins/gnthistory.c finch/plugins/grouping.c libpurple/Makefile.am libpurple/Makefile.mingw libpurple/account.c libpurple/account.h libpurple/blist.c libpurple/blist.h libpurple/buddyicon.c libpurple/certificate.c libpurple/cipher.c libpurple/cipher.h libpurple/cmds.c libpurple/connection.c libpurple/connection.h libpurple/conversation.c libpurple/conversation.h libpurple/core.c libpurple/dbus-analyze-functions.py libpurple/dbus-define-api.h libpurple/dbus-server.c libpurple/dbus-useful.c libpurple/dbus-useful.h libpurple/debug.c libpurple/desktopitem.c libpurple/eventloop.c libpurple/example/nullclient.c libpurple/ft.c libpurple/ft.h libpurple/idle.c libpurple/imgstore.c libpurple/internal.h libpurple/log.c libpurple/marshallers.list libpurple/media.c libpurple/mime.c libpurple/nat-pmp.c libpurple/network.c libpurple/ntlm.c libpurple/plugins/Makefile.am libpurple/plugins/autoaccept.c libpurple/plugins/ciphertest.c libpurple/plugins/filectl.c libpurple/plugins/idle.c libpurple/plugins/log_reader.c libpurple/plugins/one_time_password.c libpurple/plugins/perl/common/Account.xs libpurple/plugins/perl/common/BuddyList.xs libpurple/plugins/perl/common/Cipher.xs libpurple/plugins/perl/common/Connection.xs libpurple/plugins/perl/common/MANIFEST libpurple/plugins/perl/common/Makefile.mingw libpurple/plugins/perl/common/Prpl.xs libpurple/plugins/perl/common/Status.xs libpurple/plugins/perl/common/Util.xs libpurple/plugins/perl/common/module.h libpurple/plugins/perl/common/typemap libpurple/plugins/signals-test.c libpurple/plugins/tcl/tcl_cmds.c libpurple/plugins/tcl/tcl_signals.c libpurple/pounce.c libpurple/protocols/Makefile.am libpurple/protocols/Makefile.mingw libpurple/protocols/bonjour/Makefile.mingw libpurple/protocols/bonjour/bonjour.c libpurple/protocols/bonjour/bonjour_ft.c libpurple/protocols/bonjour/buddy.c libpurple/protocols/bonjour/jabber.c libpurple/protocols/bonjour/mdns_avahi.c libpurple/protocols/bonjour/mdns_win32.c libpurple/protocols/gg/Makefile.mingw libpurple/protocols/gg/buddylist.c libpurple/protocols/gg/confer.c libpurple/protocols/gg/gg.c libpurple/protocols/gg/search.c libpurple/protocols/irc/Makefile.mingw libpurple/protocols/irc/cmds.c libpurple/protocols/irc/dcc_send.c libpurple/protocols/irc/irc.c libpurple/protocols/irc/msgs.c libpurple/protocols/irc/parse.c libpurple/protocols/jabber/Makefile.am libpurple/protocols/jabber/adhoccommands.c libpurple/protocols/jabber/auth.c libpurple/protocols/jabber/auth.h libpurple/protocols/jabber/bosh.c libpurple/protocols/jabber/buddy.c libpurple/protocols/jabber/buddy.h libpurple/protocols/jabber/caps.c libpurple/protocols/jabber/caps.h libpurple/protocols/jabber/chat.c libpurple/protocols/jabber/data.c libpurple/protocols/jabber/data.h libpurple/protocols/jabber/disco.c libpurple/protocols/jabber/google.c libpurple/protocols/jabber/google.h libpurple/protocols/jabber/ibb.c libpurple/protocols/jabber/ibb.h libpurple/protocols/jabber/iq.c libpurple/protocols/jabber/jabber.c libpurple/protocols/jabber/jabber.h libpurple/protocols/jabber/jingle/rtp.c libpurple/protocols/jabber/jingle/session.c libpurple/protocols/jabber/jutil.c libpurple/protocols/jabber/jutil.h libpurple/protocols/jabber/libxmpp.c libpurple/protocols/jabber/message.c libpurple/protocols/jabber/message.h libpurple/protocols/jabber/oob.c libpurple/protocols/jabber/parser.c libpurple/protocols/jabber/pep.c libpurple/protocols/jabber/ping.c libpurple/protocols/jabber/presence.c libpurple/protocols/jabber/roster.c libpurple/protocols/jabber/si.c libpurple/protocols/jabber/useravatar.c libpurple/protocols/jabber/useravatar.h libpurple/protocols/jabber/usermood.c libpurple/protocols/jabber/usernick.c libpurple/protocols/jabber/usertune.c libpurple/protocols/msn/Makefile.mingw libpurple/protocols/msn/contact.c libpurple/protocols/msn/dialog.c libpurple/protocols/msn/error.c libpurple/protocols/msn/httpconn.c libpurple/protocols/msn/msg.c libpurple/protocols/msn/msn.c libpurple/protocols/msn/msn.h libpurple/protocols/msn/msnutils.c libpurple/protocols/msn/nexus.c libpurple/protocols/msn/notification.c libpurple/protocols/msn/object.c libpurple/protocols/msn/oim.c libpurple/protocols/msn/servconn.c libpurple/protocols/msn/session.c libpurple/protocols/msn/slp.c libpurple/protocols/msn/switchboard.c libpurple/protocols/msn/sync.c libpurple/protocols/msn/user.c libpurple/protocols/msn/userlist.c libpurple/protocols/msnp9/Makefile.mingw libpurple/protocols/msnp9/dialog.c libpurple/protocols/msnp9/error.c libpurple/protocols/msnp9/msn.c libpurple/protocols/msnp9/msn.h libpurple/protocols/msnp9/nexus.c libpurple/protocols/msnp9/notification.c libpurple/protocols/msnp9/object.c libpurple/protocols/msnp9/servconn.c libpurple/protocols/msnp9/session.c libpurple/protocols/msnp9/slp.c libpurple/protocols/msnp9/switchboard.c libpurple/protocols/msnp9/sync.c libpurple/protocols/msnp9/userlist.c libpurple/protocols/myspace/Makefile.mingw libpurple/protocols/myspace/myspace.c libpurple/protocols/myspace/myspace.h libpurple/protocols/myspace/user.c libpurple/protocols/myspace/zap.c libpurple/protocols/novell/Makefile.mingw libpurple/protocols/novell/nmuser.c libpurple/protocols/novell/novell.c libpurple/protocols/null/Makefile.mingw libpurple/protocols/null/nullprpl.c libpurple/protocols/oscar/Makefile.mingw libpurple/protocols/oscar/clientlogin.c libpurple/protocols/oscar/family_auth.c libpurple/protocols/oscar/family_oservice.c libpurple/protocols/oscar/flap_connection.c libpurple/protocols/oscar/odc.c libpurple/protocols/oscar/oscar.c libpurple/protocols/oscar/oscar.h libpurple/protocols/qq/Makefile.mingw libpurple/protocols/qq/buddy_info.c libpurple/protocols/qq/buddy_list.c libpurple/protocols/qq/buddy_memo.c libpurple/protocols/qq/buddy_opt.c libpurple/protocols/qq/char_conv.c libpurple/protocols/qq/file_trans.c libpurple/protocols/qq/group.c libpurple/protocols/qq/group_im.c libpurple/protocols/qq/group_info.c libpurple/protocols/qq/group_internal.c libpurple/protocols/qq/group_join.c libpurple/protocols/qq/group_opt.c libpurple/protocols/qq/im.c libpurple/protocols/qq/qq.c libpurple/protocols/qq/qq.h libpurple/protocols/qq/qq_base.c libpurple/protocols/qq/qq_network.c libpurple/protocols/qq/qq_process.c libpurple/protocols/qq/qq_trans.c libpurple/protocols/qq/send_file.c libpurple/protocols/qq/utils.c libpurple/protocols/sametime/Makefile.mingw libpurple/protocols/sametime/sametime.c libpurple/protocols/silc/Makefile.mingw libpurple/protocols/silc/buddy.c libpurple/protocols/silc/chat.c libpurple/protocols/silc/ft.c libpurple/protocols/silc/ops.c libpurple/protocols/silc/pk.c libpurple/protocols/silc/silc.c libpurple/protocols/silc/util.c libpurple/protocols/silc/wb.c libpurple/protocols/silc10/buddy.c libpurple/protocols/silc10/chat.c libpurple/protocols/silc10/ft.c libpurple/protocols/silc10/ops.c libpurple/protocols/silc10/silc.c libpurple/protocols/silc10/util.c libpurple/protocols/simple/Makefile.mingw libpurple/protocols/simple/simple.c libpurple/protocols/yahoo/Makefile.mingw libpurple/protocols/yahoo/libymsg.c libpurple/protocols/yahoo/util.c libpurple/protocols/yahoo/yahoo_aliases.c libpurple/protocols/yahoo/yahoo_doodle.c libpurple/protocols/yahoo/yahoo_filexfer.c libpurple/protocols/yahoo/yahoo_friend.c libpurple/protocols/yahoo/yahoo_picture.c libpurple/protocols/yahoo/yahoo_profile.c libpurple/protocols/yahoo/yahoochat.c libpurple/protocols/yahoo/ycht.c libpurple/protocols/zephyr/zephyr.c libpurple/proxy.c libpurple/prpl.c libpurple/prpl.h libpurple/purple.h.in libpurple/roomlist.c libpurple/savedstatuses.c libpurple/server.c libpurple/server.h libpurple/signals.c libpurple/signals.h libpurple/status.c libpurple/status.h libpurple/tests/Makefile.am libpurple/tests/check_libpurple.c libpurple/tests/test_cipher.c libpurple/tests/test_jabber_jutil.c libpurple/tests/test_yahoo_util.c libpurple/tests/tests.h libpurple/theme-manager.c libpurple/theme.c libpurple/util.c libpurple/util.h libpurple/value.c libpurple/value.h libpurple/whiteboard.c libpurple/win32/global.mak libpurple/xmlnode.c pidgin/Makefile.am pidgin/gtkaccount.c pidgin/gtkblist.c pidgin/gtkblist.h pidgin/gtkcertmgr.c pidgin/gtkconn.c pidgin/gtkconv.c pidgin/gtkdialogs.c pidgin/gtkdocklet.c pidgin/gtkimhtml.c pidgin/gtkimhtmltoolbar.c pidgin/gtklog.c pidgin/gtkmain.c pidgin/gtkmedia.c pidgin/gtknotify.c pidgin/gtkpounce.c pidgin/gtkprefs.c pidgin/gtkprivacy.c pidgin/gtkroomlist.c pidgin/gtksavedstatuses.c pidgin/gtksound.c pidgin/gtkstatusbox.c pidgin/gtkutils.c pidgin/gtkwhiteboard.c pidgin/pixmaps/Makefile.am pidgin/plugins/cap/cap.c pidgin/plugins/disco/gtkdisco.c pidgin/plugins/disco/xmppdisco.c pidgin/plugins/gevolution/gevo-util.c pidgin/plugins/gevolution/gevolution.c pidgin/plugins/gtk-signals-test.c pidgin/plugins/history.c pidgin/plugins/mailchk.c pidgin/plugins/perl/common/GtkBlist.xs pidgin/plugins/pidgininc.c pidgin/plugins/pidginrc.c pidgin/plugins/raw.c pidgin/plugins/relnot.c pidgin/plugins/themeedit-icon.c pidgin/plugins/themeedit.c pidgin/plugins/ticker/ticker.c pidgin/plugins/xmppconsole.c pidgin/win32/nsis/pidgin-installer.nsi po/ChangeLog po/POTFILES.in po/af.po po/am.po po/ar.po po/az.po po/be at latin.po po/bg.po po/bn.po po/bs.po po/ca.po po/ca at valencia.po po/cs.po po/da.po po/de.po po/dz.po po/el.po po/en_AU.po po/en_CA.po po/en_GB.po po/eo.po po/es.po po/et.po po/eu.po po/fa.po po/fi.po po/fr.po po/ga.po po/gl.po po/gu.po po/he.po po/hi.po po/hu.po po/hy.po po/id.po po/it.po po/ja.po po/ka.po po/km.po po/kn.po po/ko.po po/ku.po po/lo.po po/lt.po po/mk.po po/mn.po po/my_MM.po po/nb.po po/ne.po po/nl.po po/nn.po po/oc.po po/pa.po po/pl.po po/ps.po po/pt.po po/pt_BR.po po/ro.po po/ru.po po/si.po po/sk.po po/sl.po po/sq.po po/sr.po po/sr at latin.po po/stats.pl po/sv.po po/sw.po po/ta.po po/te.po po/th.po po/tr.po po/uk.po po/ur.po po/vi.po po/xh.po po/zh_CN.po po/zh_HK.po po/zh_TW.po Modified attrs: pidgin/pixmaps/protocols/16/mxit.png pidgin/pixmaps/protocols/22/mxit.png pidgin/pixmaps/protocols/48/mxit.png ChangeLog: explicit merge of '428d1b9d1ec79fad43c322588aa123858132666c' and '1f1b7343bd021866e6857dca0404342741049452' From qulogic at pidgin.im Wed Jun 9 01:32:18 2010 From: qulogic at pidgin.im (qulogic at pidgin.im) Date: Wed, 9 Jun 2010 01:32:18 -0400 (EDT) Subject: gobjectification: dad5ab65: These two functions are subtly different... Message-ID: <20100609053218.887575BD010C@rock.pidgin.im> ----------------------------------------------------------------- Revision: dad5ab65aa0503b70f999c7c851afc7106612f47 Ancestor: f7b358587841a604fc466577f7c84742d4dc8c6f Author: qulogic at pidgin.im Date: 2010-06-09T03:32:09 Branch: im.pidgin.gobjectification URL: http://d.pidgin.im/viewmtn/revision/info/dad5ab65aa0503b70f999c7c851afc7106612f47 Modified files: libpurple/util.h ChangeLog: These two functions are subtly different, so we really should pick one of them, but I guess I'll leave that till later. -------------- next part -------------- ============================================================ --- libpurple/util.h aec2c67d2728645ca8d844774b4c46e21760d69b +++ libpurple/util.h 35bb439fdd3f74611a9a135e24130199fe32e40b @@ -1067,6 +1067,18 @@ char *purple_str_binary_to_ascii(const u * @return A newly allocated ASCIIZ string. */ char *purple_str_binary_to_ascii(const unsigned char *binary, guint len); + +/** + * Determine if two strings have the same value. + * This is just a convenience function to do all the @c NULL checks. + * + * @param s1 First string + * @param s2 Second string + * @return @c TRUE if both the strings have the same value, or both are @c NULL, + * @c FALSE otherwise + */ +gboolean purple_util_strings_equal(const char *s1, const char *s2); + /*@}*/ From qulogic at pidgin.im Wed Jun 9 01:32:26 2010 From: qulogic at pidgin.im (qulogic at pidgin.im) Date: Wed, 9 Jun 2010 01:32:26 -0400 (EDT) Subject: gobjectification: e0ccd2c4: Apply some changes to the new split comp... Message-ID: <20100609053226.B6B595BD0111@rock.pidgin.im> ----------------------------------------------------------------- Revision: e0ccd2c4dace88a2dc380f76343b7770b2965f6b Ancestor: 111ec6a77e9e523e8d77c5950d77a3019caa65cf Author: qulogic at pidgin.im Date: 2010-06-08T08:32:52 Branch: im.pidgin.gobjectification URL: http://d.pidgin.im/viewmtn/revision/info/e0ccd2c4dace88a2dc380f76343b7770b2965f6b Modified files: libpurple/blist.c libpurple/buddy.c libpurple/buddy.h libpurple/contact.c libpurple/contact.h ChangeLog: Apply some changes to the new split components from blist.c. -------------- next part -------------- ============================================================ --- libpurple/blist.c ab7bf3a43ef917b0f8825d95914c0fa5b38e4faf +++ libpurple/blist.c 3089c7d58e583a7d5a822e1dfbc952adb248e1dd @@ -1543,6 +1543,13 @@ purple_blist_class_init(PurpleBuddyListC PURPLE_SUBTYPE_BLIST_NODE), purple_value_new(PURPLE_TYPE_STRING)); + purple_signal_register(handle, "buddy-caps-changed", + purple_marshal_VOID__POINTER_INT_INT, NULL, + 3, purple_value_new(PURPLE_TYPE_SUBTYPE, + PURPLE_SUBTYPE_BLIST_BUDDY), + purple_value_new(PURPLE_TYPE_INT), + purple_value_new(PURPLE_TYPE_INT)); + purple_signal_connect(purple_accounts_get_handle(), "account-created", handle, PURPLE_CALLBACK(purple_blist_buddies_cache_add_account), ============================================================ --- libpurple/buddy.c 0a9c1dbf8aea8e6e3cd5dee999da3dd66c825b4d +++ libpurple/buddy.c ce6153ac11fcd41cf2aaea25c5528b8a907e8f81 @@ -40,9 +40,10 @@ struct _PurpleBuddyPrivate { char *alias; /**< The user-set alias of the buddy */ char *server_alias; /**< The server-specified alias of the buddy. (i.e. MSN "Friendly Names") */ void *proto_data; /**< This allows the prpl to associate whatever data it wants with a buddy */ - PurpleBuddyIcon *icon; /**< The buddy icon. */ + PurpleBuddyIcon *icon; /**< The buddy icon. */ PurpleAccount *account; /**< the account this buddy belongs to */ PurplePresence *presence; + PurpleMediaCaps media_caps; /**< The media capabilities of the buddy. */ }; void @@ -429,6 +430,23 @@ PurplePresence *purple_buddy_get_presenc return priv->presence; } +PurpleMediaCaps purple_buddy_get_media_caps(const PurpleBuddy *buddy) +{ + PurpleBuddyPrivate *priv; + g_return_val_if_fail(buddy != NULL, 0); + priv = PURPLE_BUDDY_GET_PRIVATE(buddy); + return priv->media_caps; +} + +void purple_buddy_set_media_caps(PurpleBuddy *buddy, PurpleMediaCaps media_caps) +{ + PurpleBuddyPrivate *priv; + g_return_if_fail(buddy != NULL); + priv = PURPLE_BUDDY_GET_PRIVATE(buddy); + + priv->media_caps = media_caps; +} + xmlnode * buddy_to_xmlnode(PurpleBlistNode *bnode) { ============================================================ --- libpurple/buddy.h 67daa5de3d6958fa8a30943b169b3db50db329c5 +++ libpurple/buddy.h 6729830918de6ce3b5d4ce3d89b0b129e22bf5e3 @@ -35,6 +35,7 @@ typedef struct _PurpleBuddyClass PurpleB typedef struct _PurpleBuddyClass PurpleBuddyClass; #include "buddyicon.h" +#include "media.h" #include "status.h" #include "group.h" @@ -210,6 +211,24 @@ PurplePresence *purple_buddy_get_presenc PurplePresence *purple_buddy_get_presence(const PurpleBuddy *buddy); /** + * Gets the media caps from a buddy. + * + * @param buddy The buddy. + * @return The media caps. + * + * @since 2.7.0 + */ +PurpleMediaCaps purple_buddy_get_media_caps(const PurpleBuddy *buddy); + +/** + * Sets the media caps for a buddy. + * + * @param buddy The PurpleBuddy. + * @param media_caps The PurpleMediaCaps. + */ +void purple_buddy_set_media_caps(PurpleBuddy *buddy, PurpleMediaCaps media_caps); + +/** * Get the GType for PurpleBuddy */ GType purple_buddy_get_type(void); ============================================================ --- libpurple/contact.c 8d0ca9ba03589ec400d1f670e38fbc74974c1f4f +++ libpurple/contact.c 4f5b91cc1efda96505a9075f0a539af516c9b152 @@ -303,6 +303,14 @@ purple_contact_destroy(PurpleContact *co g_object_unref(G_OBJECT(contact)); } +PurpleGroup * +purple_contact_get_group(const PurpleContact *contact) +{ + g_return_val_if_fail(contact, NULL); + + return (PurpleGroup *)(((PurpleBlistNode *)contact)->parent); +} + const char *purple_contact_get_alias(PurpleContact* contact) { PurpleContactPrivate *priv; ============================================================ --- libpurple/contact.h ac6beea113177a8c9eebf9335d280152fd5555f8 +++ libpurple/contact.h c13d6ad0b458b179a9a01d06f8967e4c7a2a3533 @@ -92,6 +92,16 @@ void purple_contact_destroy(PurpleContac */ void purple_contact_destroy(PurpleContact *contact); +/** + * Gets the PurpleGroup from a PurpleContact + * + * @param contact The contact + * @return The group + * + * @since 2.7.0 + */ +PurpleGroup *purple_contact_get_group(const PurpleContact *contact); + xmlnode *contact_to_xmlnode(PurpleBlistNode *cnode); void parse_contact(PurpleGroup *group, xmlnode *cnode); void purple_contact_compute_priority_buddy(PurpleContact *contact); From qulogic at pidgin.im Wed Jun 9 01:32:25 2010 From: qulogic at pidgin.im (qulogic at pidgin.im) Date: Wed, 9 Jun 2010 01:32:25 -0400 (EDT) Subject: gobjectification: dfb672c8: Add purple_chat_get_alias, which is need... Message-ID: <20100609053225.C13195BD00E3@rock.pidgin.im> ----------------------------------------------------------------- Revision: dfb672c84d488ae378020799aa628bca0da795bd Ancestor: 958754581c407a77c2d856379abc7baf2702b3b5 Author: qulogic at pidgin.im Date: 2010-06-09T04:53:06 Branch: im.pidgin.gobjectification URL: http://d.pidgin.im/viewmtn/revision/info/dfb672c84d488ae378020799aa628bca0da795bd Modified files: libpurple/chat.c libpurple/chat.h ChangeLog: Add purple_chat_get_alias, which is needed in finch and pidgin. -------------- next part -------------- ============================================================ --- libpurple/chat.c e403fa1dad2fe7e4ad00db9a9b6493fba1c69f90 +++ libpurple/chat.c 3b3ffc036c604747ae394457ab019d907471d4e0 @@ -171,6 +171,16 @@ void purple_chat_set_alias(PurpleChat *c g_free(old_alias); } +const char * +purple_chat_get_alias(PurpleChat *chat) +{ + PurpleChatPrivate *priv; + g_return_val_if_fail(PURPLE_IS_CHAT(chat), NULL); + priv = PURPLE_CHAT_GET_PRIVATE(chat); + + return priv->alias; +} + void purple_chat_destroy(PurpleChat *chat) { ============================================================ --- libpurple/chat.h 670af1dfb25d69940059bdf57fa79b38a4b51ed6 +++ libpurple/chat.h 750d6a843ce1855d2a0bd69fc173284069c8db71 @@ -115,6 +115,17 @@ void purple_chat_set_alias(PurpleChat *c void purple_chat_set_alias(PurpleChat *chat, const char *alias); /** + * Returns the alias of a chat in the buddy list. + * + * @param chat The chat whose alias will be changed. + * + * @return The chat's alias. + * + * @since 3.0.0 + */ +const char *purple_chat_get_alias(PurpleChat *chat); + +/** * Returns the group of which the chat is a member. * * @param chat The chat. From qulogic at pidgin.im Wed Jun 9 01:32:24 2010 From: qulogic at pidgin.im (qulogic at pidgin.im) Date: Wed, 9 Jun 2010 01:32:24 -0400 (EDT) Subject: gobjectification: df8edef0: explicit merge of 'dbcc64512a5e80f5c7414... Message-ID: <20100609053224.F38C25BD012B@rock.pidgin.im> ----------------------------------------------------------------- Revision: df8edef04b5d010b89ca98c4d3ed369adeb2a5ee Ancestor: 75fd7838d436a3174116000e5f92808d63b112c4 Ancestor: dbcc64512a5e80f5c741489399b3d8584b3a3671 Author: qulogic at pidgin.im Date: 2010-06-07T05:33:32 Branch: im.pidgin.gobjectification URL: http://d.pidgin.im/viewmtn/revision/info/df8edef04b5d010b89ca98c4d3ed369adeb2a5ee Added files: doc/hierarchy.dot libpurple/accountmanager.c libpurple/accountmanager.h libpurple/blist-node.c libpurple/blist-node.h libpurple/buddy.c libpurple/buddy.h libpurple/chat.c libpurple/chat.h libpurple/contact.c libpurple/contact.h libpurple/des3cipher.c libpurple/des3cipher.h libpurple/descipher.c libpurple/descipher.h libpurple/ghash.c libpurple/ghash.h libpurple/group.c libpurple/group.h libpurple/gsignal.c libpurple/gsignal.h libpurple/hash.c libpurple/hash.h libpurple/hmaccipher.c libpurple/hmaccipher.h libpurple/md4hash.c libpurple/md4hash.h libpurple/md5cipher.c libpurple/md5cipher.h libpurple/plugins/perl/common/Hash.xs libpurple/pobject.c libpurple/pobject.h libpurple/rc4cipher.c libpurple/rc4cipher.h libpurple/sha1cipher.c libpurple/sha1cipher.h libpurple/sha256cipher.c libpurple/sha256cipher.h Modified files: COPYRIGHT ChangeLog ChangeLog.API ChangeLog.win32 NEWS acinclude.m4 configure.ac finch/finch.c finch/finch.h finch/gntaccount.c finch/gntblist.c finch/gntconn.c finch/gntconv.c finch/gntidle.c finch/gntlog.c finch/gntpounce.c finch/gntrequest.c finch/gntsound.c finch/gntstatus.c finch/gntui.c finch/libgnt/gntinternal.h finch/libgnt/gntline.c finch/libgnt/gntmenuitem.c finch/libgnt/gntmenuitemcheck.c finch/libgnt/gntprogressbar.c finch/libgnt/gntslider.c finch/libgnt/gntwidget.c finch/libgnt/gntwindow.c finch/libgnt/wms/irssi.c finch/plugins/gnthistory.c finch/plugins/grouping.c libpurple/Makefile.am libpurple/Makefile.mingw libpurple/account.c libpurple/account.h libpurple/blist.c libpurple/blist.h libpurple/buddyicon.c libpurple/certificate.c libpurple/cipher.c libpurple/cipher.h libpurple/connection.c libpurple/connection.h libpurple/conversation.c libpurple/conversation.h libpurple/core.c libpurple/dbus-analyze-functions.py libpurple/dbus-define-api.h libpurple/dbus-server.c libpurple/dbus-useful.c libpurple/dbus-useful.h libpurple/example/nullclient.c libpurple/ft.c libpurple/idle.c libpurple/internal.h libpurple/log.c libpurple/marshallers.list libpurple/media.h libpurple/network.c libpurple/ntlm.c libpurple/plugins/Makefile.am libpurple/plugins/autoaccept.c libpurple/plugins/ciphertest.c libpurple/plugins/filectl.c libpurple/plugins/idle.c libpurple/plugins/log_reader.c libpurple/plugins/one_time_password.c libpurple/plugins/perl/common/Account.xs libpurple/plugins/perl/common/BuddyList.xs libpurple/plugins/perl/common/Cipher.xs libpurple/plugins/perl/common/Connection.xs libpurple/plugins/perl/common/Log.xs libpurple/plugins/perl/common/MANIFEST libpurple/plugins/perl/common/Makefile.mingw libpurple/plugins/perl/common/Proxy.xs libpurple/plugins/perl/common/Prpl.xs libpurple/plugins/perl/common/Status.xs libpurple/plugins/perl/common/Util.xs libpurple/plugins/perl/common/module.h libpurple/plugins/perl/common/typemap libpurple/plugins/signals-test.c libpurple/plugins/tcl/tcl_cmds.c libpurple/plugins/tcl/tcl_signals.c libpurple/pounce.c libpurple/protocols/bonjour/Makefile.mingw libpurple/protocols/bonjour/bonjour.c libpurple/protocols/bonjour/bonjour_ft.c libpurple/protocols/bonjour/buddy.c libpurple/protocols/bonjour/jabber.c libpurple/protocols/bonjour/mdns_avahi.c libpurple/protocols/bonjour/mdns_win32.c libpurple/protocols/gg/Makefile.mingw libpurple/protocols/gg/buddylist.c libpurple/protocols/gg/confer.c libpurple/protocols/gg/gg.c libpurple/protocols/gg/search.c libpurple/protocols/irc/Makefile.mingw libpurple/protocols/irc/cmds.c libpurple/protocols/irc/dcc_send.c libpurple/protocols/irc/irc.c libpurple/protocols/irc/msgs.c libpurple/protocols/irc/parse.c libpurple/protocols/jabber/adhoccommands.c libpurple/protocols/jabber/auth.c libpurple/protocols/jabber/buddy.c libpurple/protocols/jabber/caps.c libpurple/protocols/jabber/caps.h libpurple/protocols/jabber/chat.c libpurple/protocols/jabber/disco.c libpurple/protocols/jabber/google.c libpurple/protocols/jabber/jabber.c libpurple/protocols/jabber/jingle/jingle.c libpurple/protocols/jabber/jutil.c libpurple/protocols/jabber/message.c libpurple/protocols/jabber/oob.c libpurple/protocols/jabber/presence.c libpurple/protocols/jabber/roster.c libpurple/protocols/jabber/si.c libpurple/protocols/jabber/usermood.c libpurple/protocols/jabber/usernick.c libpurple/protocols/jabber/usertune.c libpurple/protocols/msn/Makefile.mingw libpurple/protocols/msn/contact.c libpurple/protocols/msn/dialog.c libpurple/protocols/msn/error.c libpurple/protocols/msn/httpconn.c libpurple/protocols/msn/msg.c libpurple/protocols/msn/msn.c libpurple/protocols/msn/msn.h libpurple/protocols/msn/msnutils.c libpurple/protocols/msn/nexus.c libpurple/protocols/msn/notification.c libpurple/protocols/msn/object.c libpurple/protocols/msn/oim.c libpurple/protocols/msn/servconn.c libpurple/protocols/msn/session.c libpurple/protocols/msn/slp.c libpurple/protocols/msn/slp.h libpurple/protocols/msn/slpcall.c libpurple/protocols/msn/slpcall.h libpurple/protocols/msn/slplink.c libpurple/protocols/msn/slplink.h libpurple/protocols/msn/slpmsg.c libpurple/protocols/msn/slpmsg.h libpurple/protocols/msn/switchboard.c libpurple/protocols/msn/sync.c libpurple/protocols/msn/user.c libpurple/protocols/msn/userlist.c libpurple/protocols/msnp9/Makefile.mingw libpurple/protocols/msnp9/dialog.c libpurple/protocols/msnp9/error.c libpurple/protocols/msnp9/msn.c libpurple/protocols/msnp9/msn.h libpurple/protocols/msnp9/nexus.c libpurple/protocols/msnp9/notification.c libpurple/protocols/msnp9/object.c libpurple/protocols/msnp9/servconn.c libpurple/protocols/msnp9/session.c libpurple/protocols/msnp9/slp.c libpurple/protocols/msnp9/switchboard.c libpurple/protocols/msnp9/sync.c libpurple/protocols/msnp9/userlist.c libpurple/protocols/mxit/splashscreen.c libpurple/protocols/myspace/Makefile.mingw libpurple/protocols/myspace/myspace.c libpurple/protocols/myspace/myspace.h libpurple/protocols/myspace/user.c libpurple/protocols/myspace/user.h libpurple/protocols/myspace/zap.c libpurple/protocols/novell/Makefile.mingw libpurple/protocols/novell/novell.c libpurple/protocols/null/Makefile.mingw libpurple/protocols/null/nullprpl.c libpurple/protocols/oscar/Makefile.mingw libpurple/protocols/oscar/clientlogin.c libpurple/protocols/oscar/family_auth.c libpurple/protocols/oscar/family_oservice.c libpurple/protocols/oscar/flap_connection.c libpurple/protocols/oscar/oscar.c libpurple/protocols/qq/Makefile.mingw libpurple/protocols/qq/buddy_info.c libpurple/protocols/qq/buddy_list.c libpurple/protocols/qq/buddy_memo.c libpurple/protocols/qq/buddy_opt.c libpurple/protocols/qq/file_trans.c libpurple/protocols/qq/group.c libpurple/protocols/qq/group_im.c libpurple/protocols/qq/group_info.c libpurple/protocols/qq/group_internal.c libpurple/protocols/qq/group_join.c libpurple/protocols/qq/group_opt.c libpurple/protocols/qq/im.c libpurple/protocols/qq/qq.c libpurple/protocols/qq/qq_base.c libpurple/protocols/qq/qq_network.c libpurple/protocols/qq/qq_process.c libpurple/protocols/qq/qq_trans.c libpurple/protocols/qq/send_file.c libpurple/protocols/qq/utils.c libpurple/protocols/sametime/Makefile.mingw libpurple/protocols/sametime/sametime.c libpurple/protocols/silc/Makefile.mingw libpurple/protocols/silc/buddy.c libpurple/protocols/silc/chat.c libpurple/protocols/silc/ft.c libpurple/protocols/silc/ops.c libpurple/protocols/silc/pk.c libpurple/protocols/silc/silc.c libpurple/protocols/silc/util.c libpurple/protocols/silc/wb.c libpurple/protocols/silc10/buddy.c libpurple/protocols/silc10/chat.c libpurple/protocols/silc10/ft.c libpurple/protocols/silc10/ops.c libpurple/protocols/silc10/silc.c libpurple/protocols/silc10/util.c libpurple/protocols/simple/Makefile.mingw libpurple/protocols/simple/simple.c libpurple/protocols/yahoo/Makefile.mingw libpurple/protocols/yahoo/libymsg.c libpurple/protocols/yahoo/util.c libpurple/protocols/yahoo/yahoo_aliases.c libpurple/protocols/yahoo/yahoo_doodle.c libpurple/protocols/yahoo/yahoo_filexfer.c libpurple/protocols/yahoo/yahoo_friend.c libpurple/protocols/yahoo/yahoo_picture.c libpurple/protocols/yahoo/yahoo_profile.c libpurple/protocols/yahoo/yahoochat.c libpurple/protocols/yahoo/ycht.c libpurple/protocols/zephyr/zephyr.c libpurple/proxy.c libpurple/prpl.c libpurple/purple-uninstalled.pc.in libpurple/purple.h.in libpurple/savedstatuses.c libpurple/server.c libpurple/server.h libpurple/signals.c libpurple/signals.h libpurple/status.c libpurple/status.h libpurple/tests/Makefile.am libpurple/tests/check_libpurple.c libpurple/tests/test_cipher.c libpurple/util.c libpurple/util.h libpurple/value.c libpurple/value.h libpurple/win32/global.mak pidgin/Makefile.am pidgin/gtkaccount.c pidgin/gtkblist.c pidgin/gtkblist.h pidgin/gtkconn.c pidgin/gtkconv.c pidgin/gtkdialogs.c pidgin/gtkdocklet.c pidgin/gtkft.c pidgin/gtkimhtml.c pidgin/gtklog.c pidgin/gtkmain.c pidgin/gtknotify.c pidgin/gtkpounce.c pidgin/gtkprefs.c pidgin/gtkprivacy.c pidgin/gtkroomlist.c pidgin/gtksound.c pidgin/gtkstatusbox.c pidgin/gtkutils.c pidgin/pidgin-uninstalled.pc.in pidgin/plugins/cap/cap.c pidgin/plugins/disco/xmppdisco.c pidgin/plugins/gevolution/gevo-util.c pidgin/plugins/gevolution/gevolution.c pidgin/plugins/gtk-signals-test.c pidgin/plugins/history.c pidgin/plugins/mailchk.c pidgin/plugins/perl/common/GtkBlist.xs pidgin/plugins/pidgininc.c pidgin/plugins/raw.c pidgin/plugins/relnot.c pidgin/plugins/themeedit-icon.c pidgin/plugins/themeedit.c pidgin/plugins/ticker/ticker.c pidgin/plugins/xmppconsole.c po/ChangeLog po/POTFILES.in po/de.po ChangeLog: explicit merge of 'dbcc64512a5e80f5c741489399b3d8584b3a3671' and '75fd7838d436a3174116000e5f92808d63b112c4' From qulogic at pidgin.im Wed Jun 9 01:32:41 2010 From: qulogic at pidgin.im (qulogic at pidgin.im) Date: Wed, 9 Jun 2010 01:32:41 -0400 (EDT) Subject: gobjectification: e34c41c3: explicit merge of 'f88202d487eede36a5891... Message-ID: <20100609053241.82F675BD0132@rock.pidgin.im> ----------------------------------------------------------------- Revision: e34c41c333f186f3a458ce5547ea3e68e318a014 Ancestor: 0ecc99ce4e098b73b3373d8778005589f6b37424 Ancestor: f88202d487eede36a5891f32d7b0298a928f28ec Author: qulogic at pidgin.im Date: 2010-06-08T07:19:35 Branch: im.pidgin.gobjectification URL: http://d.pidgin.im/viewmtn/revision/info/e34c41c333f186f3a458ce5547ea3e68e318a014 Deleted entries: pidgin/eggtrayicon.c pidgin/eggtrayicon.h Added files: doc/hierarchy.dot libpurple/accountmanager.c libpurple/accountmanager.h libpurple/blist-node.c libpurple/blist-node.h libpurple/buddy.c libpurple/buddy.h libpurple/chat.c libpurple/chat.h libpurple/contact.c libpurple/contact.h libpurple/des3cipher.c libpurple/des3cipher.h libpurple/descipher.c libpurple/descipher.h libpurple/ghash.c libpurple/ghash.h libpurple/group.c libpurple/group.h libpurple/gsignal.c libpurple/gsignal.h libpurple/hash.c libpurple/hash.h libpurple/hmaccipher.c libpurple/hmaccipher.h libpurple/md4hash.c libpurple/md4hash.h libpurple/md5cipher.c libpurple/md5cipher.h libpurple/plugins/perl/common/Hash.xs libpurple/pobject.c libpurple/pobject.h libpurple/rc4cipher.c libpurple/rc4cipher.h libpurple/sha1cipher.c libpurple/sha1cipher.h libpurple/sha256cipher.c libpurple/sha256cipher.h Modified files: COPYRIGHT ChangeLog ChangeLog.API acinclude.m4 configure.ac doc/PERL-HOWTO.dox doc/account-signals.dox finch/finch.c finch/finch.h finch/gntaccount.c finch/gntblist.c finch/gntconn.c finch/gntconv.c finch/gntlog.c finch/gntpounce.c finch/gntrequest.c finch/gntsound.c finch/gntui.c finch/plugins/gnthistory.c finch/plugins/grouping.c libpurple/Makefile.am libpurple/Makefile.mingw libpurple/account.c libpurple/account.h libpurple/blist.c libpurple/blist.h libpurple/buddyicon.c libpurple/certificate.c libpurple/cipher.c libpurple/cipher.h libpurple/connection.c libpurple/connection.h libpurple/conversation.c libpurple/conversation.h libpurple/core.c libpurple/dbus-analyze-functions.py libpurple/dbus-define-api.h libpurple/dbus-server.c libpurple/dbus-useful.c libpurple/dbus-useful.h libpurple/example/nullclient.c libpurple/idle.c libpurple/internal.h libpurple/log.c libpurple/marshallers.list libpurple/network.c libpurple/network.h libpurple/ntlm.c libpurple/plugins/Makefile.am libpurple/plugins/autoaccept.c libpurple/plugins/ciphertest.c libpurple/plugins/filectl.c libpurple/plugins/idle.c libpurple/plugins/log_reader.c libpurple/plugins/one_time_password.c libpurple/plugins/perl/common/Account.xs libpurple/plugins/perl/common/BuddyList.xs libpurple/plugins/perl/common/Cipher.xs libpurple/plugins/perl/common/Connection.xs libpurple/plugins/perl/common/MANIFEST libpurple/plugins/perl/common/Makefile.mingw libpurple/plugins/perl/common/Prpl.xs libpurple/plugins/perl/common/Status.xs libpurple/plugins/perl/common/Util.xs libpurple/plugins/perl/common/module.h libpurple/plugins/perl/common/typemap libpurple/plugins/signals-test.c libpurple/plugins/tcl/tcl_cmds.c libpurple/plugins/tcl/tcl_signals.c libpurple/pounce.c libpurple/protocols/bonjour/Makefile.mingw libpurple/protocols/bonjour/bonjour.c libpurple/protocols/bonjour/bonjour_ft.c libpurple/protocols/bonjour/buddy.c libpurple/protocols/bonjour/jabber.c libpurple/protocols/bonjour/mdns_avahi.c libpurple/protocols/bonjour/mdns_win32.c libpurple/protocols/gg/Makefile.mingw libpurple/protocols/gg/buddylist.c libpurple/protocols/gg/confer.c libpurple/protocols/gg/gg.c libpurple/protocols/gg/lib/common.c libpurple/protocols/gg/lib/events.c libpurple/protocols/gg/lib/libgadu.c libpurple/protocols/gg/lib/libgadu.h libpurple/protocols/gg/lib/resolver.c libpurple/protocols/gg/search.c libpurple/protocols/irc/Makefile.mingw libpurple/protocols/irc/cmds.c libpurple/protocols/irc/dcc_send.c libpurple/protocols/irc/irc.c libpurple/protocols/irc/msgs.c libpurple/protocols/irc/parse.c libpurple/protocols/jabber/adhoccommands.c libpurple/protocols/jabber/auth.c libpurple/protocols/jabber/buddy.c libpurple/protocols/jabber/caps.c libpurple/protocols/jabber/caps.h libpurple/protocols/jabber/chat.c libpurple/protocols/jabber/disco.c libpurple/protocols/jabber/google.c libpurple/protocols/jabber/jabber.c libpurple/protocols/jabber/jutil.c libpurple/protocols/jabber/message.c libpurple/protocols/jabber/oob.c libpurple/protocols/jabber/presence.c libpurple/protocols/jabber/roster.c libpurple/protocols/jabber/si.c libpurple/protocols/jabber/usermood.c libpurple/protocols/jabber/usernick.c libpurple/protocols/jabber/usertune.c libpurple/protocols/msn/Makefile.mingw libpurple/protocols/msn/contact.c libpurple/protocols/msn/dialog.c libpurple/protocols/msn/error.c libpurple/protocols/msn/httpconn.c libpurple/protocols/msn/msg.c libpurple/protocols/msn/msn.c libpurple/protocols/msn/msn.h libpurple/protocols/msn/msnutils.c libpurple/protocols/msn/nexus.c libpurple/protocols/msn/notification.c libpurple/protocols/msn/object.c libpurple/protocols/msn/oim.c libpurple/protocols/msn/servconn.c libpurple/protocols/msn/session.c libpurple/protocols/msn/slp.c libpurple/protocols/msn/switchboard.c libpurple/protocols/msn/sync.c libpurple/protocols/msn/user.c libpurple/protocols/msn/userlist.c libpurple/protocols/myspace/Makefile.mingw libpurple/protocols/myspace/myspace.c libpurple/protocols/myspace/myspace.h libpurple/protocols/myspace/user.c libpurple/protocols/myspace/zap.c libpurple/protocols/novell/Makefile.mingw libpurple/protocols/novell/novell.c libpurple/protocols/null/Makefile.mingw libpurple/protocols/null/nullprpl.c libpurple/protocols/oscar/Makefile.mingw libpurple/protocols/oscar/clientlogin.c libpurple/protocols/oscar/family_auth.c libpurple/protocols/oscar/family_icbm.c libpurple/protocols/oscar/family_oservice.c libpurple/protocols/oscar/flap_connection.c libpurple/protocols/oscar/oscar.c libpurple/protocols/oscar/oscar.h libpurple/protocols/qq/Makefile.mingw libpurple/protocols/qq/buddy_info.c libpurple/protocols/qq/buddy_list.c libpurple/protocols/qq/buddy_memo.c libpurple/protocols/qq/buddy_opt.c libpurple/protocols/qq/file_trans.c libpurple/protocols/qq/group.c libpurple/protocols/qq/group_im.c libpurple/protocols/qq/group_info.c libpurple/protocols/qq/group_internal.c libpurple/protocols/qq/group_join.c libpurple/protocols/qq/group_opt.c libpurple/protocols/qq/im.c libpurple/protocols/qq/qq.c libpurple/protocols/qq/qq_base.c libpurple/protocols/qq/qq_network.c libpurple/protocols/qq/qq_process.c libpurple/protocols/qq/qq_trans.c libpurple/protocols/qq/send_file.c libpurple/protocols/qq/utils.c libpurple/protocols/sametime/Makefile.mingw libpurple/protocols/sametime/sametime.c libpurple/protocols/silc/Makefile.mingw libpurple/protocols/silc/buddy.c libpurple/protocols/silc/chat.c libpurple/protocols/silc/ft.c libpurple/protocols/silc/ops.c libpurple/protocols/silc/pk.c libpurple/protocols/silc/silc.c libpurple/protocols/silc/util.c libpurple/protocols/silc/wb.c libpurple/protocols/silc10/buddy.c libpurple/protocols/silc10/chat.c libpurple/protocols/silc10/ft.c libpurple/protocols/silc10/ops.c libpurple/protocols/silc10/silc.c libpurple/protocols/silc10/util.c libpurple/protocols/simple/Makefile.mingw libpurple/protocols/simple/simple.c libpurple/protocols/simple/sipmsg.c libpurple/protocols/yahoo/Makefile.mingw libpurple/protocols/yahoo/libymsg.c libpurple/protocols/yahoo/util.c libpurple/protocols/yahoo/yahoo_aliases.c libpurple/protocols/yahoo/yahoo_doodle.c libpurple/protocols/yahoo/yahoo_filexfer.c libpurple/protocols/yahoo/yahoo_friend.c libpurple/protocols/yahoo/yahoo_picture.c libpurple/protocols/yahoo/yahoo_profile.c libpurple/protocols/yahoo/yahoochat.c libpurple/protocols/yahoo/ycht.c libpurple/protocols/zephyr/zephyr.c libpurple/proxy.c libpurple/prpl.c libpurple/purple.h.in libpurple/savedstatuses.c libpurple/server.c libpurple/server.h libpurple/signals.c libpurple/signals.h libpurple/status.c libpurple/status.h libpurple/tests/check_libpurple.c libpurple/tests/test_cipher.c libpurple/util.c libpurple/util.h libpurple/value.c libpurple/value.h libpurple/win32/global.mak pidgin/Makefile.am pidgin/gtkaccount.c pidgin/gtkblist.c pidgin/gtkblist.h pidgin/gtkconn.c pidgin/gtkconv.c pidgin/gtkdialogs.c pidgin/gtkdocklet.c pidgin/gtkeventloop.c pidgin/gtkimhtml.c pidgin/gtklog.c pidgin/gtkmain.c pidgin/gtknotify.c pidgin/gtkpounce.c pidgin/gtkprefs.c pidgin/gtkprivacy.c pidgin/gtkroomlist.c pidgin/gtksound.c pidgin/gtkstatusbox.c pidgin/gtkutils.c pidgin/plugins/cap/cap.c pidgin/plugins/convcolors.c pidgin/plugins/disco/gtkdisco.c pidgin/plugins/disco/xmppdisco.c pidgin/plugins/gestures/stroke-draw.c pidgin/plugins/gevolution/gevolution.c pidgin/plugins/gtk-signals-test.c pidgin/plugins/history.c pidgin/plugins/mailchk.c pidgin/plugins/notify.c pidgin/plugins/perl/common/GtkBlist.xs pidgin/plugins/pidgininc.c pidgin/plugins/pidginrc.c pidgin/plugins/raw.c pidgin/plugins/relnot.c pidgin/plugins/themeedit-icon.c pidgin/plugins/themeedit.c pidgin/plugins/ticker/gtkticker.c pidgin/plugins/ticker/ticker.c pidgin/plugins/timestamp_format.c pidgin/plugins/xmppconsole.c po/ChangeLog po/POTFILES.in po/ca.po po/gu.po po/ru.po po/te.po ChangeLog: explicit merge of 'f88202d487eede36a5891f32d7b0298a928f28ec' and '0ecc99ce4e098b73b3373d8778005589f6b37424' From qulogic at pidgin.im Wed Jun 9 01:33:10 2010 From: qulogic at pidgin.im (qulogic at pidgin.im) Date: Wed, 9 Jun 2010 01:33:10 -0400 (EDT) Subject: gobjectification: e4d0f77a: explicit merge of '8bda533c345d2ba17bad8... Message-ID: <20100609053310.6C169AFD0BA2@rock.pidgin.im> ----------------------------------------------------------------- Revision: e4d0f77a96e74fce51ffa66001fd267673e02b1b Ancestor: 74fba26cf88362a10729c3849697ff78c77f0d43 Ancestor: 8bda533c345d2ba17bad84253644895a9cf788df Author: qulogic at pidgin.im Date: 2010-06-06T00:51:48 Branch: im.pidgin.gobjectification URL: http://d.pidgin.im/viewmtn/revision/info/e4d0f77a96e74fce51ffa66001fd267673e02b1b Added files: doc/hierarchy.dot doc/jabber-signals.dox libpurple/accountmanager.c libpurple/accountmanager.h libpurple/blist-node.c libpurple/blist-node.h libpurple/buddy.c libpurple/buddy.h libpurple/chat.c libpurple/chat.h libpurple/contact.c libpurple/contact.h libpurple/des3cipher.c libpurple/des3cipher.h libpurple/descipher.c libpurple/descipher.h libpurple/ghash.c libpurple/ghash.h libpurple/group.c libpurple/group.h libpurple/gsignal.c libpurple/gsignal.h libpurple/hash.c libpurple/hash.h libpurple/hmaccipher.c libpurple/hmaccipher.h libpurple/md4hash.c libpurple/md4hash.h libpurple/md5cipher.c libpurple/md5cipher.h libpurple/plugins/perl/common/Hash.xs libpurple/pobject.c libpurple/pobject.h libpurple/rc4cipher.c libpurple/rc4cipher.h libpurple/sha1cipher.c libpurple/sha1cipher.h libpurple/sha256cipher.c libpurple/sha256cipher.h libpurple/tests/test_yahoo_util.c libpurple/valgrind.h share/ca-certs/Thawte_Premium_Server_CA.pem Modified files: COPYRIGHT ChangeLog ChangeLog.API ChangeLog.win32 INSTALL Makefile.mingw NEWS acinclude.m4 configure.ac doc/Makefile.am doc/core-signals.dox doc/funniest_home_convos.txt finch/finch.c finch/finch.h finch/gntaccount.c finch/gntblist.c finch/gntconn.c finch/gntconv.c finch/gntlog.c finch/gntmedia.c finch/gntpounce.c finch/gntrequest.c finch/gntsound.c finch/gntui.c finch/libgnt/gntkeys.c finch/plugins/gnthistory.c finch/plugins/grouping.c libpurple/Makefile.am libpurple/Makefile.mingw libpurple/account.c libpurple/account.h libpurple/accountopt.c libpurple/blist.c libpurple/blist.h libpurple/buddyicon.c libpurple/certificate.c libpurple/cipher.c libpurple/cipher.h libpurple/connection.c libpurple/connection.h libpurple/conversation.c libpurple/conversation.h libpurple/core.c libpurple/dbus-analyze-functions.py libpurple/dbus-define-api.h libpurple/dbus-server.c libpurple/dbus-useful.c libpurple/dbus-useful.h libpurple/desktopitem.c libpurple/example/nullclient.c libpurple/ft.c libpurple/ft.h libpurple/idle.c libpurple/internal.h libpurple/log.c libpurple/marshallers.list libpurple/media.c libpurple/media.h libpurple/mediamanager.c libpurple/network.c libpurple/network.h libpurple/ntlm.c libpurple/plugin.c libpurple/plugins/Makefile.am libpurple/plugins/autoaccept.c libpurple/plugins/ciphertest.c libpurple/plugins/filectl.c libpurple/plugins/idle.c libpurple/plugins/log_reader.c libpurple/plugins/one_time_password.c libpurple/plugins/perl/common/Account.xs libpurple/plugins/perl/common/BuddyList.xs libpurple/plugins/perl/common/Cipher.xs libpurple/plugins/perl/common/Connection.xs libpurple/plugins/perl/common/MANIFEST libpurple/plugins/perl/common/Makefile.mingw libpurple/plugins/perl/common/Prpl.xs libpurple/plugins/perl/common/Status.xs libpurple/plugins/perl/common/Util.xs libpurple/plugins/perl/common/XMLNode.xs libpurple/plugins/perl/common/module.h libpurple/plugins/perl/common/typemap libpurple/plugins/signals-test.c libpurple/plugins/tcl/tcl_cmds.c libpurple/plugins/tcl/tcl_signals.c libpurple/pounce.c libpurple/prefs.c libpurple/protocols/bonjour/Makefile.mingw libpurple/protocols/bonjour/bonjour.c libpurple/protocols/bonjour/bonjour_ft.c libpurple/protocols/bonjour/buddy.c libpurple/protocols/bonjour/jabber.c libpurple/protocols/bonjour/mdns_avahi.c libpurple/protocols/bonjour/mdns_win32.c libpurple/protocols/gg/Makefile.mingw libpurple/protocols/gg/buddylist.c libpurple/protocols/gg/confer.c libpurple/protocols/gg/gg.c libpurple/protocols/gg/lib/libgadu.c libpurple/protocols/gg/search.c libpurple/protocols/irc/Makefile.mingw libpurple/protocols/irc/cmds.c libpurple/protocols/irc/dcc_send.c libpurple/protocols/irc/irc.c libpurple/protocols/irc/irc.h libpurple/protocols/irc/msgs.c libpurple/protocols/irc/parse.c libpurple/protocols/jabber/adhoccommands.c libpurple/protocols/jabber/auth.c libpurple/protocols/jabber/bosh.c libpurple/protocols/jabber/bosh.h libpurple/protocols/jabber/buddy.c libpurple/protocols/jabber/buddy.h libpurple/protocols/jabber/caps.c libpurple/protocols/jabber/caps.h libpurple/protocols/jabber/chat.c libpurple/protocols/jabber/disco.c libpurple/protocols/jabber/google.c libpurple/protocols/jabber/iq.c libpurple/protocols/jabber/jabber.c libpurple/protocols/jabber/jabber.h libpurple/protocols/jabber/jingle/rtp.c libpurple/protocols/jabber/jutil.c libpurple/protocols/jabber/libxmpp.c libpurple/protocols/jabber/message.c libpurple/protocols/jabber/oob.c libpurple/protocols/jabber/presence.c libpurple/protocols/jabber/roster.c libpurple/protocols/jabber/si.c libpurple/protocols/jabber/useravatar.c libpurple/protocols/jabber/usermood.c libpurple/protocols/jabber/usernick.c libpurple/protocols/jabber/usertune.c libpurple/protocols/msn/Makefile.mingw libpurple/protocols/msn/cmdproc.c libpurple/protocols/msn/contact.c libpurple/protocols/msn/dialog.c libpurple/protocols/msn/directconn.c libpurple/protocols/msn/error.c libpurple/protocols/msn/httpconn.c libpurple/protocols/msn/msg.c libpurple/protocols/msn/msn.c libpurple/protocols/msn/msn.h libpurple/protocols/msn/msnutils.c libpurple/protocols/msn/nexus.c libpurple/protocols/msn/notification.c libpurple/protocols/msn/object.c libpurple/protocols/msn/oim.c libpurple/protocols/msn/servconn.c libpurple/protocols/msn/session.c libpurple/protocols/msn/session.h libpurple/protocols/msn/slp.c libpurple/protocols/msn/slpcall.c libpurple/protocols/msn/slplink.c libpurple/protocols/msn/slpmsg.h libpurple/protocols/msn/soap.c libpurple/protocols/msn/switchboard.c libpurple/protocols/msn/sync.c libpurple/protocols/msn/sync.h libpurple/protocols/msn/user.c libpurple/protocols/msn/userlist.c libpurple/protocols/msn/userlist.h libpurple/protocols/msnp9/Makefile.mingw libpurple/protocols/msnp9/dialog.c libpurple/protocols/msnp9/directconn.c libpurple/protocols/msnp9/error.c libpurple/protocols/msnp9/msn.c libpurple/protocols/msnp9/msn.h libpurple/protocols/msnp9/nexus.c libpurple/protocols/msnp9/notification.c libpurple/protocols/msnp9/object.c libpurple/protocols/msnp9/servconn.c libpurple/protocols/msnp9/session.c libpurple/protocols/msnp9/slp.c libpurple/protocols/msnp9/slplink.c libpurple/protocols/msnp9/switchboard.c libpurple/protocols/msnp9/sync.c libpurple/protocols/msnp9/userlist.c libpurple/protocols/myspace/Makefile.mingw libpurple/protocols/myspace/myspace.c libpurple/protocols/myspace/myspace.h libpurple/protocols/myspace/user.c libpurple/protocols/myspace/zap.c libpurple/protocols/novell/Makefile.mingw libpurple/protocols/novell/novell.c libpurple/protocols/null/Makefile.mingw libpurple/protocols/null/nullprpl.c libpurple/protocols/oscar/Makefile.mingw libpurple/protocols/oscar/clientlogin.c libpurple/protocols/oscar/family_auth.c libpurple/protocols/oscar/family_icq.c libpurple/protocols/oscar/family_locate.c libpurple/protocols/oscar/family_oservice.c libpurple/protocols/oscar/flap_connection.c libpurple/protocols/oscar/oscar.c libpurple/protocols/qq/Makefile.mingw libpurple/protocols/qq/buddy_info.c libpurple/protocols/qq/buddy_list.c libpurple/protocols/qq/buddy_memo.c libpurple/protocols/qq/buddy_opt.c libpurple/protocols/qq/file_trans.c libpurple/protocols/qq/group.c libpurple/protocols/qq/group_im.c libpurple/protocols/qq/group_info.c libpurple/protocols/qq/group_internal.c libpurple/protocols/qq/group_join.c libpurple/protocols/qq/group_opt.c libpurple/protocols/qq/im.c libpurple/protocols/qq/qq.c libpurple/protocols/qq/qq_base.c libpurple/protocols/qq/qq_network.c libpurple/protocols/qq/qq_process.c libpurple/protocols/qq/qq_trans.c libpurple/protocols/qq/send_file.c libpurple/protocols/qq/utils.c libpurple/protocols/sametime/Makefile.mingw libpurple/protocols/sametime/sametime.c libpurple/protocols/silc/Makefile.mingw libpurple/protocols/silc/buddy.c libpurple/protocols/silc/chat.c libpurple/protocols/silc/ft.c libpurple/protocols/silc/ops.c libpurple/protocols/silc/pk.c libpurple/protocols/silc/silc.c libpurple/protocols/silc/util.c libpurple/protocols/silc/wb.c libpurple/protocols/silc10/buddy.c libpurple/protocols/silc10/chat.c libpurple/protocols/silc10/ft.c libpurple/protocols/silc10/ops.c libpurple/protocols/silc10/silc.c libpurple/protocols/silc10/util.c libpurple/protocols/simple/Makefile.mingw libpurple/protocols/simple/simple.c libpurple/protocols/yahoo/Makefile.mingw libpurple/protocols/yahoo/libyahoo.c libpurple/protocols/yahoo/libyahoojp.c libpurple/protocols/yahoo/libymsg.c libpurple/protocols/yahoo/util.c libpurple/protocols/yahoo/yahoo_aliases.c libpurple/protocols/yahoo/yahoo_doodle.c libpurple/protocols/yahoo/yahoo_filexfer.c libpurple/protocols/yahoo/yahoo_friend.c libpurple/protocols/yahoo/yahoo_packet.c libpurple/protocols/yahoo/yahoo_picture.c libpurple/protocols/yahoo/yahoo_profile.c libpurple/protocols/yahoo/yahoochat.c libpurple/protocols/yahoo/ycht.c libpurple/protocols/zephyr/ZVariables.c libpurple/protocols/zephyr/internal.h libpurple/protocols/zephyr/zephyr.c libpurple/proxy.c libpurple/prpl.c libpurple/purple-send libpurple/purple-send-async libpurple/purple.h.in libpurple/savedstatuses.c libpurple/server.c libpurple/server.h libpurple/signals.c libpurple/signals.h libpurple/status.c libpurple/status.h libpurple/tests/Makefile.am libpurple/tests/check_libpurple.c libpurple/tests/test_cipher.c libpurple/tests/tests.h libpurple/util.c libpurple/util.h libpurple/value.c libpurple/value.h libpurple/win32/global.mak libpurple/win32/targets.mak libpurple/xmlnode.h pidgin/Makefile.am pidgin/gtkaccount.c pidgin/gtkblist.c pidgin/gtkblist.h pidgin/gtkcertmgr.c pidgin/gtkconn.c pidgin/gtkconv.c pidgin/gtkdialogs.c pidgin/gtkdocklet.c pidgin/gtkft.c pidgin/gtkimhtml.c pidgin/gtklog.c pidgin/gtkmain.c pidgin/gtkmedia.c pidgin/gtknotify.c pidgin/gtkpounce.c pidgin/gtkprefs.c pidgin/gtkprivacy.c pidgin/gtkroomlist.c pidgin/gtksound.c pidgin/gtkstatusbox.c pidgin/gtkthemes.c pidgin/gtkutils.c pidgin/gtkwhiteboard.c pidgin/pixmaps/emotes/default/24/default.theme.in pidgin/pixmaps/emotes/small/16/small.theme.in pidgin/plugins/cap/cap.c pidgin/plugins/crazychat/glm.c pidgin/plugins/disco/xmppdisco.c pidgin/plugins/gevolution/gevo-util.c pidgin/plugins/gevolution/gevolution.c pidgin/plugins/gtk-signals-test.c pidgin/plugins/history.c pidgin/plugins/mailchk.c pidgin/plugins/perl/common/GtkBlist.xs pidgin/plugins/pidgininc.c pidgin/plugins/raw.c pidgin/plugins/relnot.c pidgin/plugins/themeedit-icon.c pidgin/plugins/themeedit.c pidgin/plugins/ticker/ticker.c pidgin/plugins/xmppconsole.c pidgin/win32/nsis/pidgin-installer.nsi pidgin/win32/nsis/translations/italian.nsh pidgin.spec.in po/ChangeLog po/POTFILES.in po/af.po po/ca at valencia.po po/de.po po/eo.po po/es.po po/eu.po po/he.po po/hu.po po/it.po po/lt.po po/nn.po po/ro.po po/ru.po po/sk.po po/sl.po po/sv.po po/zh_HK.po po/zh_TW.po share/ca-certs/Makefile.am ChangeLog: explicit merge of '8bda533c345d2ba17bad84253644895a9cf788df' and '74fba26cf88362a10729c3849697ff78c77f0d43' From qulogic at pidgin.im Wed Jun 9 01:33:14 2010 From: qulogic at pidgin.im (qulogic at pidgin.im) Date: Wed, 9 Jun 2010 01:33:14 -0400 (EDT) Subject: gobjectification: ee1ff97a: explicit merge of '52d17b90bdf3dffc10c5d... Message-ID: <20100609053314.94C315BD0136@rock.pidgin.im> ----------------------------------------------------------------- Revision: ee1ff97a9998e202fbdc128de2989222fd7abd3f Ancestor: 1f1b7343bd021866e6857dca0404342741049452 Ancestor: 52d17b90bdf3dffc10c5d87ea7ae1e59e7972436 Author: qulogic at pidgin.im Date: 2010-06-07T04:51:27 Branch: im.pidgin.gobjectification URL: http://d.pidgin.im/viewmtn/revision/info/ee1ff97a9998e202fbdc128de2989222fd7abd3f Added files: doc/hierarchy.dot libpurple/accountmanager.c libpurple/accountmanager.h libpurple/blist-node.c libpurple/blist-node.h libpurple/buddy.c libpurple/buddy.h libpurple/chat.c libpurple/chat.h libpurple/contact.c libpurple/contact.h libpurple/des3cipher.c libpurple/des3cipher.h libpurple/descipher.c libpurple/descipher.h libpurple/ghash.c libpurple/ghash.h libpurple/group.c libpurple/group.h libpurple/gsignal.c libpurple/gsignal.h libpurple/hash.c libpurple/hash.h libpurple/hmaccipher.c libpurple/hmaccipher.h libpurple/md4hash.c libpurple/md4hash.h libpurple/md5cipher.c libpurple/md5cipher.h libpurple/plugins/perl/common/Hash.xs libpurple/pobject.c libpurple/pobject.h libpurple/protocols/mxit/Makefile.am libpurple/protocols/mxit/Makefile.mingw libpurple/protocols/mxit/actions.c libpurple/protocols/mxit/actions.h libpurple/protocols/mxit/aes.c libpurple/protocols/mxit/aes.h libpurple/protocols/mxit/chunk.c libpurple/protocols/mxit/chunk.h libpurple/protocols/mxit/cipher.c libpurple/protocols/mxit/cipher.h libpurple/protocols/mxit/filexfer.c libpurple/protocols/mxit/filexfer.h libpurple/protocols/mxit/formcmds.c libpurple/protocols/mxit/formcmds.h libpurple/protocols/mxit/http.c libpurple/protocols/mxit/http.h libpurple/protocols/mxit/login.c libpurple/protocols/mxit/login.h libpurple/protocols/mxit/markup.c libpurple/protocols/mxit/markup.h libpurple/protocols/mxit/multimx.c libpurple/protocols/mxit/multimx.h libpurple/protocols/mxit/mxit.c libpurple/protocols/mxit/mxit.h libpurple/protocols/mxit/profile.c libpurple/protocols/mxit/profile.h libpurple/protocols/mxit/protocol.c libpurple/protocols/mxit/protocol.h libpurple/protocols/mxit/roster.c libpurple/protocols/mxit/roster.h libpurple/protocols/mxit/splashscreen.c libpurple/protocols/mxit/splashscreen.h libpurple/rc4cipher.c libpurple/rc4cipher.h libpurple/sha1cipher.c libpurple/sha1cipher.h libpurple/sha256cipher.c libpurple/sha256cipher.h pidgin/pixmaps/protocols/16/mxit.png pidgin/pixmaps/protocols/22/mxit.png pidgin/pixmaps/protocols/48/mxit.png pidgin/pixmaps/protocols/scalable/mxit.svg Added directories: libpurple/protocols/mxit Modified files: COPYRIGHT ChangeLog acinclude.m4 configure.ac finch/finch.c finch/finch.h finch/gntaccount.c finch/gntblist.c finch/gntconn.c finch/gntconv.c finch/gntlog.c finch/gntpounce.c finch/gntrequest.c finch/gntsound.c finch/gntui.c finch/plugins/gnthistory.c finch/plugins/grouping.c libpurple/Makefile.am libpurple/Makefile.mingw libpurple/account.c libpurple/account.h libpurple/blist.c libpurple/blist.h libpurple/buddyicon.c libpurple/cipher.c libpurple/cipher.h libpurple/connection.c libpurple/connection.h libpurple/conversation.c libpurple/conversation.h libpurple/core.c libpurple/dbus-analyze-functions.py libpurple/dbus-define-api.h libpurple/dbus-server.c libpurple/dbus-useful.c libpurple/dbus-useful.h libpurple/example/nullclient.c libpurple/idle.c libpurple/internal.h libpurple/log.c libpurple/marshallers.list libpurple/network.c libpurple/ntlm.c libpurple/plugins/Makefile.am libpurple/plugins/autoaccept.c libpurple/plugins/ciphertest.c libpurple/plugins/filectl.c libpurple/plugins/idle.c libpurple/plugins/log_reader.c libpurple/plugins/one_time_password.c libpurple/plugins/perl/common/Account.xs libpurple/plugins/perl/common/BuddyList.xs libpurple/plugins/perl/common/Cipher.xs libpurple/plugins/perl/common/Connection.xs libpurple/plugins/perl/common/MANIFEST libpurple/plugins/perl/common/Makefile.mingw libpurple/plugins/perl/common/Prpl.xs libpurple/plugins/perl/common/Status.xs libpurple/plugins/perl/common/Util.xs libpurple/plugins/perl/common/module.h libpurple/plugins/perl/common/typemap libpurple/plugins/signals-test.c libpurple/plugins/tcl/tcl_cmds.c libpurple/plugins/tcl/tcl_signals.c libpurple/pounce.c libpurple/protocols/Makefile.am libpurple/protocols/bonjour/Makefile.mingw libpurple/protocols/bonjour/bonjour.c libpurple/protocols/bonjour/bonjour_ft.c libpurple/protocols/bonjour/buddy.c libpurple/protocols/bonjour/jabber.c libpurple/protocols/bonjour/mdns_avahi.c libpurple/protocols/bonjour/mdns_win32.c libpurple/protocols/gg/Makefile.mingw libpurple/protocols/gg/buddylist.c libpurple/protocols/gg/confer.c libpurple/protocols/gg/gg.c libpurple/protocols/gg/search.c libpurple/protocols/irc/Makefile.mingw libpurple/protocols/irc/cmds.c libpurple/protocols/irc/dcc_send.c libpurple/protocols/irc/irc.c libpurple/protocols/irc/msgs.c libpurple/protocols/irc/parse.c libpurple/protocols/jabber/adhoccommands.c libpurple/protocols/jabber/auth.c libpurple/protocols/jabber/buddy.c libpurple/protocols/jabber/caps.c libpurple/protocols/jabber/caps.h libpurple/protocols/jabber/chat.c libpurple/protocols/jabber/disco.c libpurple/protocols/jabber/google.c libpurple/protocols/jabber/jabber.c libpurple/protocols/jabber/jutil.c libpurple/protocols/jabber/message.c libpurple/protocols/jabber/oob.c libpurple/protocols/jabber/presence.c libpurple/protocols/jabber/roster.c libpurple/protocols/jabber/si.c libpurple/protocols/jabber/usermood.c libpurple/protocols/jabber/usernick.c libpurple/protocols/jabber/usertune.c libpurple/protocols/msn/Makefile.mingw libpurple/protocols/msn/contact.c libpurple/protocols/msn/dialog.c libpurple/protocols/msn/error.c libpurple/protocols/msn/httpconn.c libpurple/protocols/msn/msg.c libpurple/protocols/msn/msn.c libpurple/protocols/msn/msn.h libpurple/protocols/msn/msnutils.c libpurple/protocols/msn/nexus.c libpurple/protocols/msn/notification.c libpurple/protocols/msn/object.c libpurple/protocols/msn/oim.c libpurple/protocols/msn/servconn.c libpurple/protocols/msn/session.c libpurple/protocols/msn/slp.c libpurple/protocols/msn/switchboard.c libpurple/protocols/msn/sync.c libpurple/protocols/msn/user.c libpurple/protocols/msn/userlist.c libpurple/protocols/msnp9/Makefile.mingw libpurple/protocols/msnp9/dialog.c libpurple/protocols/msnp9/error.c libpurple/protocols/msnp9/msn.c libpurple/protocols/msnp9/msn.h libpurple/protocols/msnp9/nexus.c libpurple/protocols/msnp9/notification.c libpurple/protocols/msnp9/object.c libpurple/protocols/msnp9/servconn.c libpurple/protocols/msnp9/session.c libpurple/protocols/msnp9/slp.c libpurple/protocols/msnp9/switchboard.c libpurple/protocols/msnp9/sync.c libpurple/protocols/msnp9/userlist.c libpurple/protocols/myspace/Makefile.mingw libpurple/protocols/myspace/myspace.c libpurple/protocols/myspace/myspace.h libpurple/protocols/myspace/user.c libpurple/protocols/myspace/zap.c libpurple/protocols/novell/Makefile.mingw libpurple/protocols/novell/novell.c libpurple/protocols/null/Makefile.mingw libpurple/protocols/null/nullprpl.c libpurple/protocols/oscar/Makefile.mingw libpurple/protocols/oscar/clientlogin.c libpurple/protocols/oscar/family_auth.c libpurple/protocols/oscar/family_oservice.c libpurple/protocols/oscar/flap_connection.c libpurple/protocols/oscar/oscar.c libpurple/protocols/qq/Makefile.mingw libpurple/protocols/qq/buddy_info.c libpurple/protocols/qq/buddy_list.c libpurple/protocols/qq/buddy_memo.c libpurple/protocols/qq/buddy_opt.c libpurple/protocols/qq/file_trans.c libpurple/protocols/qq/group.c libpurple/protocols/qq/group_im.c libpurple/protocols/qq/group_info.c libpurple/protocols/qq/group_internal.c libpurple/protocols/qq/group_join.c libpurple/protocols/qq/group_opt.c libpurple/protocols/qq/im.c libpurple/protocols/qq/qq.c libpurple/protocols/qq/qq_base.c libpurple/protocols/qq/qq_network.c libpurple/protocols/qq/qq_process.c libpurple/protocols/qq/qq_trans.c libpurple/protocols/qq/send_file.c libpurple/protocols/qq/utils.c libpurple/protocols/sametime/Makefile.mingw libpurple/protocols/sametime/sametime.c libpurple/protocols/silc/Makefile.mingw libpurple/protocols/silc/buddy.c libpurple/protocols/silc/chat.c libpurple/protocols/silc/ft.c libpurple/protocols/silc/ops.c libpurple/protocols/silc/pk.c libpurple/protocols/silc/silc.c libpurple/protocols/silc/util.c libpurple/protocols/silc/wb.c libpurple/protocols/silc10/buddy.c libpurple/protocols/silc10/chat.c libpurple/protocols/silc10/ft.c libpurple/protocols/silc10/ops.c libpurple/protocols/silc10/silc.c libpurple/protocols/silc10/util.c libpurple/protocols/simple/Makefile.mingw libpurple/protocols/simple/simple.c libpurple/protocols/yahoo/Makefile.mingw libpurple/protocols/yahoo/libymsg.c libpurple/protocols/yahoo/util.c libpurple/protocols/yahoo/yahoo_aliases.c libpurple/protocols/yahoo/yahoo_doodle.c libpurple/protocols/yahoo/yahoo_filexfer.c libpurple/protocols/yahoo/yahoo_friend.c libpurple/protocols/yahoo/yahoo_picture.c libpurple/protocols/yahoo/yahoo_profile.c libpurple/protocols/yahoo/yahoochat.c libpurple/protocols/yahoo/ycht.c libpurple/protocols/zephyr/zephyr.c libpurple/proxy.c libpurple/prpl.c libpurple/purple.h.in libpurple/savedstatuses.c libpurple/server.c libpurple/server.h libpurple/signals.c libpurple/signals.h libpurple/status.c libpurple/status.h libpurple/tests/check_libpurple.c libpurple/tests/test_cipher.c libpurple/util.c libpurple/util.h libpurple/value.c libpurple/value.h libpurple/win32/global.mak pidgin/Makefile.am pidgin/gtkaccount.c pidgin/gtkblist.c pidgin/gtkblist.h pidgin/gtkconn.c pidgin/gtkconv.c pidgin/gtkdialogs.c pidgin/gtkdocklet.c pidgin/gtkimhtml.c pidgin/gtklog.c pidgin/gtkmain.c pidgin/gtknotify.c pidgin/gtkpounce.c pidgin/gtkprefs.c pidgin/gtkprivacy.c pidgin/gtkroomlist.c pidgin/gtksound.c pidgin/gtkstatusbox.c pidgin/gtkutils.c pidgin/pixmaps/Makefile.am pidgin/plugins/cap/cap.c pidgin/plugins/disco/xmppdisco.c pidgin/plugins/gevolution/gevo-util.c pidgin/plugins/gevolution/gevolution.c pidgin/plugins/gtk-signals-test.c pidgin/plugins/history.c pidgin/plugins/mailchk.c pidgin/plugins/perl/common/GtkBlist.xs pidgin/plugins/pidgininc.c pidgin/plugins/raw.c pidgin/plugins/relnot.c pidgin/plugins/themeedit-icon.c pidgin/plugins/themeedit.c pidgin/plugins/ticker/ticker.c pidgin/plugins/xmppconsole.c po/POTFILES.in Modified attrs: pidgin/pixmaps/protocols/16/mxit.png pidgin/pixmaps/protocols/22/mxit.png pidgin/pixmaps/protocols/48/mxit.png ChangeLog: explicit merge of '52d17b90bdf3dffc10c5d87ea7ae1e59e7972436' and '1f1b7343bd021866e6857dca0404342741049452' From qulogic at pidgin.im Wed Jun 9 01:33:15 2010 From: qulogic at pidgin.im (qulogic at pidgin.im) Date: Wed, 9 Jun 2010 01:33:15 -0400 (EDT) Subject: gobjectification: f7b35858: And nullprpl compiles. Message-ID: <20100609053315.3C5155BD011C@rock.pidgin.im> ----------------------------------------------------------------- Revision: f7b358587841a604fc466577f7c84742d4dc8c6f Ancestor: ce595caf8d9736f7f57dbe38da709aae9c4ca775 Author: qulogic at pidgin.im Date: 2010-06-09T02:18:14 Branch: im.pidgin.gobjectification URL: http://d.pidgin.im/viewmtn/revision/info/f7b358587841a604fc466577f7c84742d4dc8c6f Modified files: libpurple/protocols/null/nullprpl.c ChangeLog: And nullprpl compiles. -------------- next part -------------- ============================================================ --- libpurple/protocols/null/nullprpl.c a6b4c584e4b904fbd645cb5db9781d92eb1f55ee +++ libpurple/protocols/null/nullprpl.c 4f67207be4a88e0241ea219d7972ed006aa1cd1e @@ -225,10 +225,11 @@ static char *nullprpl_status_text(Purple } static char *nullprpl_status_text(PurpleBuddy *buddy) { + PurpleAccount *account = purple_buddy_get_account(buddy); purple_debug_info("nullprpl", "getting %s's status text for %s\n", - buddy->name, purple_account_get_username(buddy->account)); + purple_buddy_get_name(buddy), purple_account_get_username(account)); - if (purple_find_buddy(buddy->account, buddy->name)) { + if (purple_find_buddy(account, purple_buddy_get_name(buddy))) { PurplePresence *presence = purple_buddy_get_presence(buddy); PurpleStatus *status = purple_presence_get_active_status(presence); const char *name = purple_status_get_name(status); @@ -240,11 +241,11 @@ static char *nullprpl_status_text(Purple else text = g_strdup(name); - purple_debug_info("nullprpl", "%s's status text is %s\n", buddy->name, text); + purple_debug_info("nullprpl", "%s's status text is %s\n", purple_buddy_get_name(buddy), text); return text; } else { - purple_debug_info("nullprpl", "...but %s is not logged in\n", buddy->name); + purple_debug_info("nullprpl", "...but %s is not logged in\n", purple_buddy_get_name(buddy)); return g_strdup("Not logged in"); } } @@ -252,7 +253,7 @@ static void nullprpl_tooltip_text(Purple static void nullprpl_tooltip_text(PurpleBuddy *buddy, PurpleNotifyUserInfo *info, gboolean full) { - PurpleConnection *gc = get_nullprpl_gc(buddy->name); + PurpleConnection *gc = get_nullprpl_gc(purple_buddy_get_name(buddy)); if (gc) { /* they're logged in */ @@ -275,7 +276,7 @@ static void nullprpl_tooltip_text(Purple } purple_debug_info("nullprpl", "showing %s tooltip for %s\n", - (full) ? "full" : "short", buddy->name); + (full) ? "full" : "short", purple_buddy_get_name(buddy)); } static GList *nullprpl_status_types(PurpleAccount *acct) @@ -310,7 +311,7 @@ static void blist_example_menu_item(Purp static void blist_example_menu_item(PurpleBlistNode *node, gpointer userdata) { purple_debug_info("nullprpl", "example menu item clicked on user %s\n", - ((PurpleBuddy *)node)->name); + purple_buddy_get_name(PURPLE_BUDDY(node))); purple_notify_info(NULL, /* plugin handle or PurpleConnection */ _("Primary title"), @@ -321,7 +322,7 @@ static GList *nullprpl_blist_node_menu(P static GList *nullprpl_blist_node_menu(PurpleBlistNode *node) { purple_debug_info("nullprpl", "providing buddy list context menu item\n"); - if (PURPLE_BLIST_NODE_IS_BUDDY(node)) { + if (PURPLE_IS_BUDDY(node)) { PurpleMenuAction *action = purple_menu_action_new( _("Nullprpl example menu item"), PURPLE_CALLBACK(blist_example_menu_item), @@ -473,7 +474,7 @@ static void notify_typing(PurpleConnecti static void notify_typing(PurpleConnection *from, PurpleConnection *to, gpointer typing) { const char *from_username = purple_account_get_username(purple_connection_get_account(from)); - char *action = typing_state_to_string((PurpleTypingState)typing); + const char *action = typing_state_to_string((PurpleTypingState)typing); purple_debug_info("nullprpl", "notifying %s that %s %s\n", purple_account_get_username(purple_connection_get_account(to)), from_username, action); @@ -546,9 +547,9 @@ static void nullprpl_add_buddy(PurpleCon PurpleGroup *group) { const char *username = purple_account_get_username(purple_connection_get_account(gc)); - PurpleConnection *buddy_gc = get_nullprpl_gc(buddy->name); + PurpleConnection *buddy_gc = get_nullprpl_gc(purple_buddy_get_name(buddy)); - purple_debug_info("nullprpl", "adding %s to %s's buddy list\n", buddy->name, + purple_debug_info("nullprpl", "adding %s to %s's buddy list\n", purple_buddy_get_name(buddy), username); if (buddy_gc) { @@ -558,10 +559,10 @@ static void nullprpl_add_buddy(PurpleCon if (purple_find_buddy(buddy_acct, username)) { purple_debug_info("nullprpl", "%s is already on %s's buddy list\n", - username, buddy->name); + username, purple_buddy_get_name(buddy)); } else { purple_debug_info("nullprpl", "asking %s if they want to add %s\n", - buddy->name, username); + purple_buddy_get_name(buddy), username); purple_account_request_add(buddy_acct, username, NULL, /* local account id (rarely used) */ @@ -589,7 +590,7 @@ static void nullprpl_remove_buddy(Purple PurpleGroup *group) { purple_debug_info("nullprpl", "removing %s from %s's buddy list\n", - buddy->name, purple_account_get_username(purple_connection_get_account(gc))); + purple_buddy_get_name(buddy), purple_account_get_username(purple_connection_get_account(gc))); } static void nullprpl_remove_buddies(PurpleConnection *gc, GList *buddies, @@ -893,7 +894,8 @@ static void nullprpl_rename_group(Purple static void nullprpl_rename_group(PurpleConnection *gc, const char *old_name, PurpleGroup *group, GList *moved_buddies) { purple_debug_info("nullprpl", "%s has renamed group %s to %s\n", - purple_account_get_username(purple_connection_get_account(gc)), old_name, group->name); + purple_account_get_username(purple_connection_get_account(gc)), + old_name, purple_group_get_name(group)); } static void nullprpl_convo_closed(PurpleConnection *gc, const char *who) { @@ -918,7 +920,8 @@ static void nullprpl_remove_group(Purple static void nullprpl_remove_group(PurpleConnection *gc, PurpleGroup *group) { purple_debug_info("nullprpl", "%s has removed group %s\n", - purple_account_get_username(purple_connection_get_account(gc)), group->name); + purple_account_get_username(purple_connection_get_account(gc)), + purple_group_get_name(group)); } @@ -1035,7 +1038,7 @@ static gboolean nullprpl_offline_message static gboolean nullprpl_offline_message(const PurpleBuddy *buddy) { purple_debug_info("nullprpl", "reporting that offline messages are supported for %s\n", - buddy->name); + purple_buddy_get_name(buddy)); return TRUE; } From sadrul at pidgin.im Wed Jun 9 13:05:55 2010 From: sadrul at pidgin.im (sadrul at pidgin.im) Date: Wed, 9 Jun 2010 13:05:55 -0400 (EDT) Subject: pidgin: 6df484b5: Allow page-up/downing in the suggestion .. Message-ID: <20100609170555.A4B4DAFD1FB7@rock.pidgin.im> ----------------------------------------------------------------- Revision: 6df484b58e54743f46465726f124c339a884768f Ancestor: 66c343e57ba5828a78d88d159a594e3c4131e50e Author: sadrul at pidgin.im Date: 2010-06-09T16:58:41 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/6df484b58e54743f46465726f124c339a884768f Modified files: ChangeLog doc/finch.1.in finch/libgnt/gntentry.c ChangeLog: Allow page-up/downing in the suggestion list. Fixes #11813. -------------- next part -------------- ============================================================ --- ChangeLog 04aa577f39f4759a7677e6ecc0db9547d5c2d5a3 +++ ChangeLog f0e44b1c8cd6f46840382f64152e6e32acd06d4b @@ -1,6 +1,9 @@ version 2.7.2 (??/??/????): Pidgin and Finch: The Pimpin' Penguin IM Clients That're Good for the Soul version 2.7.2 (??/??/????): + Finch: + * Rebindable suggest-next-page and suggest-prev-page actions for + textboxes (GntEntry) to scroll through list of suggestions. version 2.7.1 (05/29/2010): General: ============================================================ --- doc/finch.1.in 916937ed475157200611774d4a04afcd84d666af +++ doc/finch.1.in 8f2c8c40b918e1237aa63b21eed903882c8e5f16 @@ -339,6 +339,10 @@ up = suggest-prev .br up = suggest-prev .br +page-down = suggest-next-page +.br +page-up = suggest-prev-page +.br c-w = delete-prev-word .br a-b = cursor-prev-word ============================================================ --- finch/libgnt/gntentry.c 957093af6c1454c2bf4e1eb4d292c1ccdbf5e22c +++ finch/libgnt/gntentry.c bcbefbbcf1d1b9f96b54dd0991043c00101085e2 @@ -579,6 +579,28 @@ static gboolean } static gboolean +suggest_next_page(GntBindable *bind, GList *null) +{ + GntEntry *entry = GNT_ENTRY(bind); + if (entry->ddown) { + gnt_bindable_perform_action_named(GNT_BINDABLE(entry->ddown), "page-down", NULL); + return TRUE; + } + return FALSE; +} + +static gboolean +suggest_prev_page(GntBindable *bind, GList *null) +{ + GntEntry *entry = GNT_ENTRY(bind); + if (entry->ddown) { + gnt_bindable_perform_action_named(GNT_BINDABLE(entry->ddown), "page-up", NULL); + return TRUE; + } + return FALSE; +} + +static gboolean del_to_home(GntBindable *bind, GList *null) { GntEntry *entry = GNT_ENTRY(bind); @@ -986,6 +1008,10 @@ gnt_entry_class_init(GntEntryClass *klas GNT_KEY_DOWN, NULL); gnt_bindable_class_register_action(bindable, "suggest-prev", suggest_prev, GNT_KEY_UP, NULL); + gnt_bindable_class_register_action(bindable, "suggest-next-page", suggest_next_page, + GNT_KEY_PGDOWN, NULL); + gnt_bindable_class_register_action(bindable, "suggest-prev-page", suggest_prev_page, + GNT_KEY_PGUP, NULL); gnt_bindable_class_register_action(bindable, "history-next", history_next, GNT_KEY_CTRL_DOWN, NULL); gnt_bindable_class_register_action(bindable, "history-prev", history_prev, From sadrul at pidgin.im Wed Jun 9 13:40:47 2010 From: sadrul at pidgin.im (sadrul at pidgin.im) Date: Wed, 9 Jun 2010 13:40:47 -0400 (EDT) Subject: pidgin: cea62f7b: merge of '6df484b58e54743f46465726f124c3... Message-ID: <20100609174047.8A400AFD1FB7@rock.pidgin.im> ----------------------------------------------------------------- Revision: cea62f7b47932346f03cee1e76ee19f0076147f8 Ancestor: 6df484b58e54743f46465726f124c339a884768f Ancestor: a5baf7ca8907c15748c0a707d36aa836518b73ae Author: sadrul at pidgin.im Date: 2010-06-09T17:36:49 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/cea62f7b47932346f03cee1e76ee19f0076147f8 Modified files: ChangeLog doc/finch.1.in finch/libgnt/gntentry.c pidgin/gtkimhtmltoolbar.c ChangeLog: merge of '6df484b58e54743f46465726f124c339a884768f' and 'a5baf7ca8907c15748c0a707d36aa836518b73ae' From malu at pidgin.im Wed Jun 9 17:35:41 2010 From: malu at pidgin.im (malu at pidgin.im) Date: Wed, 9 Jun 2010 17:35:41 -0400 (EDT) Subject: cpw.malu.xmpp.jingle_ft: a1bed004: Tell the UI to generate a thumbnail for ... Message-ID: <20100609213543.29A27AFD0B9A@rock.pidgin.im> ----------------------------------------------------------------- Revision: a1bed004d6a995c05ec80f3335187aef96b23a93 Ancestor: c4f7127dd8e10256b403364f3950e5302757aa54 Author: malu at pidgin.im Date: 2010-06-09T21:30:13 Branch: im.pidgin.cpw.malu.xmpp.jingle_ft URL: http://d.pidgin.im/viewmtn/revision/info/a1bed004d6a995c05ec80f3335187aef96b23a93 Modified files: libpurple/protocols/jabber/jingle/file-transfer.c ChangeLog: Tell the UI to generate a thumbnail for a transfer before initiating the transport, this should make thumbnails actually get included in the case when IBB is the first choice (and session-initiate is sent immediatly). -------------- next part -------------- ============================================================ --- libpurple/protocols/jabber/jingle/file-transfer.c 840680cb139c3b29fa48b30cbe47a0e91fffdb78 +++ libpurple/protocols/jabber/jingle/file-transfer.c e743cda192113a9e3df57256b126990056f4bbb4 @@ -500,6 +500,10 @@ jingle_file_transfer_xfer_init(PurpleXfe content, xfer); xfer->data = content; + /* ask UI to create a thumbnail */ + JINGLE_FT_GET_PRIVATE(JINGLE_FT(content))->thumbnail_cid = + jabber_xfer_add_thumbnail(js, xfer); + if (JINGLE_IS_IBB(transport)) { /* if it's IBB, send session-intitate directly */ jabber_iq_send(jingle_session_to_packet(session, @@ -518,10 +522,6 @@ jingle_file_transfer_xfer_init(PurpleXfe /* start local listen on the S5B transport */ jingle_s5b_gather_candidates(session, JINGLE_S5B(transport)); } - - /* ask UI to create a thumbnail */ - JINGLE_FT_GET_PRIVATE(JINGLE_FT(content))->thumbnail_cid = - jabber_xfer_add_thumbnail(js, xfer); } else if (xfer->data) { JingleContent *content = (JingleContent *) xfer->data; JingleSession *session = jingle_content_get_session(content); From qulogic at pidgin.im Thu Jun 10 01:31:41 2010 From: qulogic at pidgin.im (qulogic at pidgin.im) Date: Thu, 10 Jun 2010 01:31:41 -0400 (EDT) Subject: gobjectification: 18a99954: There can be only one... PurpleBuddyList... Message-ID: <20100610053141.AA83C5BD00E6@rock.pidgin.im> ----------------------------------------------------------------- Revision: 18a99954b390eb638a4cd8a365cb5a403f185d6d Ancestor: 5388c563498812095f02f8bbee6b848f1b2161f0 Author: qulogic at pidgin.im Date: 2010-06-10T05:24:25 Branch: im.pidgin.gobjectification URL: http://d.pidgin.im/viewmtn/revision/info/18a99954b390eb638a4cd8a365cb5a403f185d6d Modified files: pidgin/gtkblist.c ChangeLog: There can be only one... PurpleBuddyList, so only one PidginBuddyList. -------------- next part -------------- ============================================================ --- pidgin/gtkblist.c bee3456597afda16a1e1d9b66fd82a91f529ae1d +++ pidgin/gtkblist.c 651bb030f6ad366e791714de3ca17c711877347e @@ -4813,7 +4813,8 @@ static void pidgin_blist_new_list(void) static void pidgin_blist_new_list(void) { - PidginBuddyList *gtkblist; + if (gtkblist) + return; gtkblist = g_new0(PidginBuddyList, 1); gtkblist->connection_errors = g_hash_table_new_full(g_direct_hash, From qulogic at pidgin.im Thu Jun 10 01:31:42 2010 From: qulogic at pidgin.im (qulogic at pidgin.im) Date: Thu, 10 Jun 2010 01:31:42 -0400 (EDT) Subject: gobjectification: 5388c563: Yay, Pidgin compiles! Message-ID: <20100610053142.4707B5BD00E6@rock.pidgin.im> ----------------------------------------------------------------- Revision: 5388c563498812095f02f8bbee6b848f1b2161f0 Ancestor: 8803175ce90325a6bcb5dfe7f03373b3a5f19bfe Author: qulogic at pidgin.im Date: 2010-06-10T03:53:32 Branch: im.pidgin.gobjectification URL: http://d.pidgin.im/viewmtn/revision/info/5388c563498812095f02f8bbee6b848f1b2161f0 Modified files: pidgin/gtkblist.c pidgin/gtkconv.c pidgin/gtkdialogs.c ChangeLog: Yay, Pidgin compiles! -------------- next part -------------- ============================================================ --- pidgin/gtkblist.c 8ae72819ca6e194808ebe08d94f040813b83bdf9 +++ pidgin/gtkblist.c bee3456597afda16a1e1d9b66fd82a91f529ae1d @@ -31,6 +31,7 @@ #include "connection.h" #include "core.h" #include "debug.h" +#include "gsignal.h" #include "notify.h" #include "prpl.h" #include "prefs.h" @@ -185,7 +186,7 @@ static gboolean gtk_blist_visibility_cb( old_state != GDK_VISIBILITY_FULLY_OBSCURED) { /* no longer fully obscured */ - pidgin_blist_refresh_timer(purple_get_blist()); + pidgin_blist_refresh_timer(); } /* continue to handle event normally */ @@ -199,7 +200,7 @@ static gboolean gtk_blist_window_state_c purple_prefs_set_bool(PIDGIN_PREFS_ROOT "/blist/list_visible", FALSE); else { purple_prefs_set_bool(PIDGIN_PREFS_ROOT "/blist/list_visible", TRUE); - pidgin_blist_refresh_timer(purple_get_blist()); + pidgin_blist_refresh_timer(); } } @@ -213,7 +214,7 @@ static gboolean gtk_blist_window_state_c /* Refresh gtkblist if un-iconifying */ if (event->changed_mask & GDK_WINDOW_STATE_ICONIFIED){ if (!(event->new_window_state & GDK_WINDOW_STATE_ICONIFIED)) - pidgin_blist_refresh_timer(purple_get_blist()); + pidgin_blist_refresh_timer(); } return FALSE; @@ -336,7 +337,7 @@ static void gtk_blist_menu_move_to_cb(Gt static void gtk_blist_menu_move_to_cb(GtkWidget *w, PurpleBlistNode *node) { PurpleGroup *group = g_object_get_data(G_OBJECT(w), "groupnode"); - purple_blist_add_contact((PurpleContact *)node, group, NULL); + purple_blist_node_add_child(node, PURPLE_BLIST_NODE(group)); } @@ -404,11 +405,11 @@ static void gtk_blist_menu_join_cb(GtkWi gtk_blist_join_chat(chat); } -static void gtk_blist_renderer_editing_cancelled_cb(GtkCellRenderer *renderer, PurpleBuddyList *list) +static void gtk_blist_renderer_editing_cancelled_cb(GtkCellRenderer *renderer, gpointer user_data) { editing_blist = FALSE; g_object_set(G_OBJECT(renderer), "editable", FALSE, NULL); - pidgin_blist_refresh(list); + pidgin_blist_refresh(); } static void gtk_blist_renderer_editing_started_cb(GtkCellRenderer *renderer, @@ -435,7 +436,7 @@ static void gtk_blist_renderer_editing_s text = purple_buddy_get_alias(PURPLE_BUDDY(node)); } else if (PURPLE_IS_GROUP(node)) { text = purple_group_get_name(PURPLE_GROUP(node)); - } else if {PURPLE_IS_CHAT(node)) { + } else if (PURPLE_IS_CHAT(node)) { text = purple_chat_get_name(PURPLE_CHAT(node)); } else { g_return_if_reached(); @@ -465,14 +466,14 @@ gtk_blist_do_personize(GList *merges) int i = 0; if(PURPLE_IS_BUDDY(node)) - node = purple_blist_node_get_parent(node); + node = purple_blist_node_parent(node); if(!PURPLE_IS_CONTACT(node)) continue; - for (b = purple_blist_node_get_first_child(node); + for (b = purple_blist_node_first_child(node); b; - b = purple_blist_node_get_sibling_next(b)) + b = purple_blist_node_next(b)) { i++; } @@ -490,7 +491,7 @@ gtk_blist_do_personize(GList *merges) for (tmp = merges; tmp; tmp = tmp->next) { PurpleBlistNode *node = tmp->data; if (PURPLE_IS_BUDDY(node)) - node = purple_blist_node_get_parent(node); + node = purple_blist_node_parent(node); if (node == contact) continue; @@ -512,9 +513,9 @@ gtk_blist_auto_personize(PurpleBlistNode int i = 0; char *a = g_utf8_casefold(alias, -1); - for (contact = purple_blist_node_get_first_child(group); + for (contact = purple_blist_node_first_child(group); contact != NULL; - contact = purple_blist_node_get_sibling_next(contact)) { + contact = purple_blist_node_next(contact)) { char *node_alias; if (!PURPLE_IS_CONTACT(contact)) continue; @@ -528,9 +529,9 @@ gtk_blist_auto_personize(PurpleBlistNode } g_free(node_alias); - for (buddy = purple_blist_node_get_first_child(contact); + for (buddy = purple_blist_node_first_child(contact); buddy; - buddy = purple_blist_node_get_sibling_next(buddy)) + buddy = purple_blist_node_next(buddy)) { if (!PURPLE_IS_BUDDY(buddy)) continue; @@ -559,7 +560,7 @@ static void gtk_blist_renderer_edited_cb } static void gtk_blist_renderer_edited_cb(GtkCellRendererText *text_rend, char *arg1, - char *arg2, PurpleBuddyList *list) + char *arg2, gpointer user_data) { GtkTreeIter iter; GtkTreePath *path; @@ -592,12 +593,12 @@ static void gtk_blist_renderer_edited_cb */ if (purple_contact_get_alias(contact) || gtknode->contact_expanded) { purple_blist_alias_contact(contact, arg2); - gtk_blist_auto_personize(purple_blist_node_get_parent(node), arg2); + gtk_blist_auto_personize(purple_blist_node_parent(node), arg2); } else { PurpleBuddy *buddy = purple_contact_get_priority_buddy(contact); purple_buddy_set_alias(buddy, arg2); serv_alias_buddy(buddy); - gtk_blist_auto_personize(purple_blist_node_get_parent(node), arg2); + gtk_blist_auto_personize(purple_blist_node_parent(node), arg2); } } else if(PURPLE_IS_BUDDY(node)){ PurpleGroup *group = purple_buddy_get_group(PURPLE_BUDDY(node)); @@ -615,7 +616,7 @@ static void gtk_blist_renderer_edited_cb } else if(PURPLE_IS_CHAT(node)) { purple_chat_set_alias(PURPLE_CHAT(node), arg2); } - pidgin_blist_refresh(list); + pidgin_blist_refresh(); } static void @@ -697,7 +698,7 @@ static void gtk_blist_menu_alias_cb(GtkW if (!(get_iter_from_node(node, &iter))) { /* This is either a bug, or the buddy is in a collapsed contact */ - node = purple_blist_node_get_parent(node); + node = purple_blist_node_parent(node); if (!get_iter_from_node(node, &iter)) /* Now it's definitely a bug */ return; @@ -768,7 +769,7 @@ static void gtk_blist_menu_showoffline_c { purple_blist_node_set_bool(node, "show_offline", !purple_blist_node_get_bool(node, "show_offline")); - pidgin_blist_update(purple_get_blist(), node); + pidgin_blist_update(node); } else if (PURPLE_IS_CONTACT(node)) { @@ -776,29 +777,29 @@ static void gtk_blist_menu_showoffline_c gboolean setting = !purple_blist_node_get_bool(node, "show_offline"); purple_blist_node_set_bool(node, "show_offline", setting); - for (bnode = purple_blist_node_get_first_child(node); + for (bnode = purple_blist_node_first_child(node); bnode != NULL; - bnode = purple_blist_node_get_sibling_next(bnode)) + bnode = purple_blist_node_next(bnode)) { purple_blist_node_set_bool(bnode, "show_offline", setting); - pidgin_blist_update(purple_get_blist(), bnode); + pidgin_blist_update(bnode); } } else if (PURPLE_IS_GROUP(node)) { PurpleBlistNode *cnode, *bnode; gboolean setting = !purple_blist_node_get_bool(node, "show_offline"); purple_blist_node_set_bool(node, "show_offline", setting); - for (cnode = purple_blist_node_get_first_child(node); + for (cnode = purple_blist_node_first_child(node); cnode != NULL; - cnode = purple_blist_node_get_sibling_next(cnode)) + cnode = purple_blist_node_next(cnode)) { purple_blist_node_set_bool(cnode, "show_offline", setting); - for (bnode = purple_blist_node_get_first_child(cnode); + for (bnode = purple_blist_node_first_child(cnode); bnode != NULL; - bnode = purple_blist_node_get_sibling_next(bnode)) + bnode = purple_blist_node_next(bnode)) { purple_blist_node_set_bool(bnode, "show_offline", setting); - pidgin_blist_update(purple_get_blist(), bnode); + pidgin_blist_update(bnode); } } } @@ -843,7 +844,7 @@ do_join_chat(PidginChatData *data) chat = purple_chat_new(data->rq_data.account, NULL, components); gtk_blist_join_chat(chat); - purple_blist_remove_chat(chat); + purple_blist_node_remove(PURPLE_BLIST_NODE(chat)); } } @@ -911,7 +912,7 @@ pidgin_blist_update_privacy_cb(PurpleBud struct _pidgin_blist_node *ui_data = purple_blist_node_get_ui_data(PURPLE_BLIST_NODE(buddy)); if (ui_data == NULL || ui_data->row == NULL) return; - pidgin_blist_update_buddy(purple_get_blist(), PURPLE_BLIST_NODE(buddy), TRUE); + pidgin_blist_update_buddy(PURPLE_BLIST_NODE(buddy), TRUE); } static gboolean @@ -1186,13 +1187,13 @@ static void gtk_blist_row_collapsed_cb(G purple_blist_node_set_bool(node, "collapsed", TRUE); - for(cnode = purple_blist_node_get_first_child(node); cnode; cnode = purple_blist_node_get_sibling_next(cnode)) { + for(cnode = purple_blist_node_first_child(node); cnode; cnode = purple_blist_node_next(cnode)) { if (PURPLE_IS_CONTACT(cnode)) { gtknode = purple_blist_node_get_ui_data(cnode); if (!gtknode->contact_expanded) continue; gtknode->contact_expanded = FALSE; - pidgin_blist_update_contact(NULL, cnode); + pidgin_blist_update_contact(cnode); } } pidgin_blist_tooltip_destroy(); @@ -1262,7 +1263,7 @@ static void pidgin_blist_add_buddy_cb(vo if (PURPLE_IS_BUDDY(node)) { PurpleGroup *group = purple_buddy_get_group(PURPLE_BUDDY(node)); purple_blist_request_add_buddy(NULL, NULL, purple_group_get_name(group), NULL); - } else if (PURPLE_IS_CONTACT(node) || PURPLE_BLIST_NODE_IS_CHAT(node)) { + } else if (PURPLE_IS_CONTACT(node) || PURPLE_IS_CHAT(node)) { PurpleGroup *group = purple_contact_get_group(PURPLE_CONTACT(node)); purple_blist_request_add_buddy(NULL, NULL, purple_group_get_name(group), NULL); } else if (PURPLE_IS_GROUP(node)) { @@ -1299,7 +1300,7 @@ scroll_to_expanded_cell(gpointer data) { struct _expand *ex = data; gtk_tree_view_scroll_to_cell(ex->treeview, ex->path, NULL, FALSE, 0, 0); - pidgin_blist_update_contact(NULL, ex->node); + pidgin_blist_update_contact(ex->node); gtk_tree_path_free(ex->path); g_free(ex); @@ -1322,8 +1323,8 @@ pidgin_blist_expand_contact_cb(GtkWidget gtknode->contact_expanded = TRUE; - for(bnode = purple_blist_node_get_first_child(node); bnode; bnode = purple_blist_node_get_sibling_next(bnode)) { - pidgin_blist_update(NULL, bnode); + for(bnode = purple_blist_node_first_child(node); bnode; bnode = purple_blist_node_next(bnode)) { + pidgin_blist_update(bnode); } /* This ensures that the bottom buddy is visible, i.e. not scrolled off the alignment */ @@ -1337,7 +1338,7 @@ pidgin_blist_expand_contact_cb(GtkWidget /* Let the treeview draw so it knows where to scroll */ ex->treeview = GTK_TREE_VIEW(gtkblist->treeview); ex->path = path; - ex->node = purple_blist_node_get_first_child(node); + ex->node = purple_blist_node_first_child(node); g_idle_add(scroll_to_expanded_cell, ex); } } @@ -1355,8 +1356,8 @@ pidgin_blist_collapse_contact_cb(GtkWidg gtknode->contact_expanded = FALSE; - for(bnode = purple_blist_node_get_first_child(node); bnode; bnode = purple_blist_node_get_sibling_next(bnode)) { - pidgin_blist_update(NULL, bnode); + for(bnode = purple_blist_node_first_child(node); bnode; bnode = purple_blist_node_next(bnode)) { + pidgin_blist_update(bnode); } } @@ -1384,7 +1385,7 @@ toggle_privacy(GtkWidget *widget, Purple else purple_privacy_allow(account, name, FALSE, FALSE); - pidgin_blist_update(purple_get_blist(), node); + pidgin_blist_update(node); } void pidgin_append_blist_node_privacy_menu(GtkWidget *menu, PurpleBlistNode *node) @@ -1446,10 +1447,10 @@ pidgin_append_blist_node_move_to_menu(Gt submenu = gtk_menu_new(); gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem), submenu); - for (group = purple_blist_get_root(); group; group = purple_blist_node_get_sibling_next(group)) { + for (group = purple_blist_get_root(); group; group = purple_blist_node_next(group)) { if (!PURPLE_IS_GROUP(group)) continue; - if (group == purple_blist_node_get_parent(node)) + if (group == purple_blist_node_parent(node)) continue; menuitem = pidgin_new_item_from_stock(submenu, purple_group_get_name((PurpleGroup *)group), NULL, G_CALLBACK(gtk_blist_menu_move_to_cb), node, 0, 0, NULL); @@ -1753,7 +1754,7 @@ create_chat_menu(PurpleBlistNode *node, pidgin_new_item_from_stock(menu, _("View _Log"), NULL, G_CALLBACK(gtk_blist_menu_showlog_cb), node, 0, 0, NULL); - pidgin_append_blist_node_proto_menu(menu, purple_account_get_connection(c->account), node); + pidgin_append_blist_node_proto_menu(menu, purple_account_get_connection(purple_chat_get_account(c)), node); pidgin_append_blist_node_extended_menu(menu, node); pidgin_separator(menu); @@ -2118,7 +2119,7 @@ add_buddies_from_vcard(const char *prpl_ for (l = list; l != NULL; l = l->next) { purple_blist_request_add_buddy(account, l->data, - (group ? group->name : NULL), + (group ? purple_group_get_name(group) : NULL), alias); } } @@ -2383,17 +2384,17 @@ static void pidgin_blist_drag_data_rcv_c switch(position) { case GTK_TREE_VIEW_DROP_AFTER: case GTK_TREE_VIEW_DROP_INTO_OR_AFTER: - purple_blist_add_contact(c, (PurpleGroup*)node->parent, + purple_blist_node_add_sibling(PURPLE_BLIST_NODE(c), node); break; case GTK_TREE_VIEW_DROP_BEFORE: case GTK_TREE_VIEW_DROP_INTO_OR_BEFORE: - purple_blist_add_contact(c, (PurpleGroup*)node->parent, + purple_blist_node_add_sibling(PURPLE_BLIST_NODE(c), node->prev); break; } } else if(PURPLE_IS_GROUP(node)) { - purple_blist_add_contact(c, (PurpleGroup*)node, NULL); + purple_blist_node_add_child(PURPLE_BLIST_NODE(c), node); } else if(PURPLE_IS_BUDDY(node)) { purple_blist_merge_contact(c, node); } @@ -2481,18 +2482,18 @@ static void pidgin_blist_drag_data_rcv_c switch (position) { case GTK_TREE_VIEW_DROP_INTO_OR_AFTER: case GTK_TREE_VIEW_DROP_AFTER: - purple_blist_add_group(g, node); + purple_blist_node_add_child(PURPLE_BLIST_NODE(g), node); break; case GTK_TREE_VIEW_DROP_INTO_OR_BEFORE: case GTK_TREE_VIEW_DROP_BEFORE: - purple_blist_add_group(g, node->prev); + purple_blist_node_add_child(PURPLE_BLIST_NODE(g), node->prev); break; } } else if(PURPLE_IS_BUDDY(node)) { - purple_blist_add_group(g, node->parent->parent); + purple_blist_node_add_child(PURPLE_BLIST_NODE(g), node->parent->parent); } else if(PURPLE_IS_CONTACT(node) || PURPLE_IS_CHAT(node)) { - purple_blist_add_group(g, node->parent); + purple_blist_node_add_child(PURPLE_BLIST_NODE(g), node->parent); } } @@ -2552,7 +2553,7 @@ static void pidgin_blist_drag_data_rcv_c else { purple_blist_request_add_buddy(account, username, - (group ? group->name : NULL), + (group ? purple_group_get_name(group) : NULL), alias); } } @@ -2762,7 +2763,7 @@ static GdkPixbuf *pidgin_blist_get_buddy if (purple_presence_is_idle(presence)) idle = TRUE; } else if (group) { - if (purple_blist_get_group_online_count(group) == 0) + if (purple_group_get_online(group) == 0) offline = TRUE; } @@ -2900,7 +2901,7 @@ static struct tooltip_data * create_tip_ if (PURPLE_IS_BUDDY(node)) { account = purple_buddy_get_account(PURPLE_BUDDY(node)); } else if (PURPLE_IS_CHAT(node)) { - account = ((PurpleChat*)(node))->account; + account = purple_chat_get_account(PURPLE_CHAT(node)); } td->padding = TOOLTIP_BORDER; @@ -3416,7 +3417,7 @@ edit_mood_cb(PurpleConnection *gc, Purpl const char *text; PurpleAccount *account = purple_connection_get_account(gc); - if (purple_connection_get_flags(gc) & PURPLE_CONNECTION_SUPPORT_MOOD_MESSAGES) { + if (purple_connection_get_flags(gc) & PURPLE_CONNECTION_FLAGS_SUPPORT_MOOD_MESSAGES) { PurpleRequestField *text_field; text_field = purple_request_fields_get_field(fields, "text"); text = purple_request_field_string_get_value(text_field); @@ -3704,13 +3705,13 @@ static char *pidgin_get_tooltip_text(Pur PidginBlistNode *bnode = purple_blist_node_get_ui_data(node); chat = (PurpleChat *)node; - prpl = purple_find_prpl(purple_account_get_protocol_id(chat->account)); + prpl = purple_find_prpl(purple_account_get_protocol_id(purple_chat_get_account(chat))); prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(prpl); connections = purple_connections_get_all(); if (connections && connections->next) { - tmp = g_markup_escape_text(purple_account_get_username(chat->account), -1); + tmp = g_markup_escape_text(purple_account_get_username(purple_chat_get_account(chat)), -1); g_string_append_printf(str, _("Account: %s"), tmp); g_free(tmp); } @@ -3720,12 +3721,12 @@ static char *pidgin_get_tooltip_text(Pur } else { char *chat_name; if (prpl_info && prpl_info->get_chat_name) - chat_name = prpl_info->get_chat_name(chat->components); + chat_name = prpl_info->get_chat_name(purple_chat_get_components(chat)); else chat_name = g_strdup(purple_chat_get_name(chat)); conv = purple_find_conversation_with_account(PURPLE_CONV_TYPE_CHAT, chat_name, - chat->account); + purple_chat_get_account(chat)); g_free(chat_name); } @@ -3742,7 +3743,7 @@ static char *pidgin_get_tooltip_text(Pur } if (prpl_info && prpl_info->chat_info != NULL) - cur = prpl_info->chat_info(purple_account_get_connection(chat->account)); + cur = prpl_info->chat_info(purple_account_get_connection(purple_chat_get_account(chat))); else cur = NULL; @@ -3751,13 +3752,13 @@ static char *pidgin_get_tooltip_text(Pur pce = cur->data; if (!pce->secret && (!pce->required && - g_hash_table_lookup(chat->components, pce->identifier) == NULL)) + g_hash_table_lookup(purple_chat_get_components(chat), pce->identifier) == NULL)) { tmp = purple_text_strip_mnemonic(pce->label); name = g_markup_escape_text(tmp, -1); g_free(tmp); value = g_markup_escape_text(g_hash_table_lookup( - chat->components, pce->identifier), -1); + purple_chat_get_components(chat), pce->identifier), -1); g_string_append_printf(str, "\n%s %s", name ? name : "", value ? value : ""); @@ -3813,8 +3814,8 @@ static char *pidgin_get_tooltip_text(Pur /* If there's not a contact alias, the node is being displayed with * this alias, so there's no point in showing it in the tooltip. */ if (full && c && purple_buddy_get_alias(b)!= NULL && purple_buddy_get_alias(b)[0] != '\0' && - (c->alias != NULL && c->alias[0] != '\0') && - strcmp(c->alias, purple_buddy_get_alias(b)) != 0) + (purple_contact_get_alias(c) != NULL && purple_contact_get_alias(c)[0] != '\0') && + strcmp(purple_contact_get_alias(c), purple_buddy_get_alias(b)) != 0) { tmp = g_markup_escape_text(purple_buddy_get_alias(b), -1); purple_notify_user_info_add_pair(user_info, _("Buddy Alias"), tmp); @@ -3934,7 +3935,7 @@ static char *pidgin_get_tooltip_text(Pur user_info = purple_notify_user_info_new(); - count = purple_blist_get_group_online_count(group); + count = purple_group_get_online(group); if (count != 0) { /* Online buddies in group */ @@ -3946,7 +3947,7 @@ static char *pidgin_get_tooltip_text(Pur } count = 0; - count = purple_blist_get_group_size(group, FALSE); + count = purple_group_get_size(group, FALSE); if (count != 0) { /* Total buddies (from online accounts) in group */ tmp = g_strdup_printf("%d", count); @@ -4142,7 +4143,7 @@ pidgin_blist_get_status_icon(PurpleBlist if(buddy) account = purple_buddy_get_account(buddy); else - account = chat->account; + account = purple_chat_get_account(chat); prpl = purple_find_prpl(purple_account_get_protocol_id(account)); if(!prpl) @@ -4263,8 +4264,9 @@ pidgin_blist_get_name_markup(PurpleBuddy gtkcontactnode = purple_blist_node_get_ui_data(PURPLE_BLIST_NODE(contact)); /* Name */ - if (gtkcontactnode && !gtkcontactnode->contact_expanded && contact->alias) - name = contact->alias; + if (gtkcontactnode && !gtkcontactnode->contact_expanded && purple_contact_get_alias(contact)) + /* FIXME: I don't think this is the same as contact->alias */ + name = purple_contact_get_alias(contact); else name = purple_buddy_get_alias(b); @@ -4462,7 +4464,7 @@ static void pidgin_blist_restore_positio } } -static gboolean pidgin_blist_refresh_timer(PurpleBuddyList *list) +static gboolean pidgin_blist_refresh_timer(void) { PurpleBlistNode *gnode, *cnode; @@ -4481,7 +4483,7 @@ static gboolean pidgin_blist_refresh_tim if (buddy && purple_presence_is_idle(purple_buddy_get_presence(buddy))) - pidgin_blist_update_contact(list, (PurpleBlistNode*)buddy); + pidgin_blist_update_contact((PurpleBlistNode*)buddy); } } } @@ -4490,7 +4492,7 @@ static gboolean pidgin_blist_refresh_tim return TRUE; } -static void pidgin_blist_hide_node(PurpleBuddyList *list, PurpleBlistNode *node, gboolean update) +static void pidgin_blist_hide_node(PurpleBlistNode *node, gboolean update) { struct _pidgin_blist_node *gtknode = purple_blist_node_get_ui_data(node); GtkTreeIter iter; @@ -4504,7 +4506,7 @@ static void pidgin_blist_hide_node(Purpl gtk_tree_store_remove(gtkblist->treemodel, &iter); if(update && (PURPLE_IS_CONTACT(node) || PURPLE_IS_BUDDY(node) || PURPLE_IS_CHAT(node))) { - pidgin_blist_update(list, node->parent); + pidgin_blist_update(node->parent); } } gtk_tree_row_reference_free(gtknode->row); @@ -4561,7 +4563,7 @@ static void } static void -sign_on_off_cb(PurpleConnection *gc, PurpleBuddyList *blist) +sign_on_off_cb(PurpleConnection *gc, gpointer data) { PidginBuddyList *gtkblist = purple_blist_get_ui_data(); @@ -4651,7 +4653,7 @@ conversation_updated_cb(PurpleConversati if(conv->account != NULL && conv->name != NULL) { PurpleBuddy *buddy = purple_find_buddy(conv->account, conv->name); if(buddy != NULL) - pidgin_blist_update_buddy(NULL, (PurpleBlistNode *)buddy, TRUE); + pidgin_blist_update_buddy((PurpleBlistNode *)buddy, TRUE); } if (gtkblist->menutrayicon) { @@ -4741,7 +4743,7 @@ written_msg_update_ui_cb(PurpleAccount * ui->conv.flags |= PIDGIN_BLIST_CHAT_HAS_PENDING_MESSAGE_WITH_NICK; ui->conv.last_message = time(NULL); /* XXX: for lack of better data */ - pidgin_blist_update(purple_get_blist(), node); + pidgin_blist_update(node); } static void @@ -4752,7 +4754,7 @@ displayed_msg_update_ui_cb(PidginConvers return; ui->conv.flags &= ~(PIDGIN_BLIST_NODE_HAS_PENDING_MESSAGE | PIDGIN_BLIST_CHAT_HAS_PENDING_MESSAGE_WITH_NICK); - pidgin_blist_update(purple_get_blist(), node); + pidgin_blist_update(node); } static void @@ -4809,7 +4811,7 @@ conversation_created_cb(PurpleConversati * Public API Functions * **********************************************************************************/ -static void pidgin_blist_new_list(PurpleBuddyList *blist) +static void pidgin_blist_new_list(void) { PidginBuddyList *gtkblist; @@ -4884,7 +4886,7 @@ static void _prefs_change_redo_list(cons gtk_tree_model_get(GTK_TREE_MODEL(gtkblist->treemodel), &iter, NODE_COLUMN, &node, -1); } - redo_buddy_list(purple_get_blist(), FALSE, FALSE); + redo_buddy_list(FALSE, FALSE); gtk_tree_view_columns_autosize(GTK_TREE_VIEW(gtkblist->treeview)); if (node) @@ -5510,10 +5512,9 @@ treeview_style_set (GtkWidget *widget, GtkStyle *prev_style, gpointer data) { - PurpleBuddyList *list = data; PurpleBlistNode *node = purple_blist_get_root(); while (node) { - pidgin_blist_update_group(list, node); + pidgin_blist_update_group(node); node = node->next; } } @@ -5610,7 +5611,7 @@ static void /* builds the blist layout according to to the current theme */ static void -pidgin_blist_build_layout(PurpleBuddyList *list) +pidgin_blist_build_layout(void) { GtkTreeViewColumn *column; PidginBlistLayout *layout; @@ -5673,8 +5674,8 @@ pidgin_blist_build_layout(PurpleBuddyLis "markup", NAME_COLUMN, NULL); g_signal_connect(G_OBJECT(rend), "editing-started", G_CALLBACK(gtk_blist_renderer_editing_started_cb), NULL); - g_signal_connect(G_OBJECT(rend), "editing-canceled", G_CALLBACK(gtk_blist_renderer_editing_cancelled_cb), list); - g_signal_connect(G_OBJECT(rend), "edited", G_CALLBACK(gtk_blist_renderer_edited_cb), list); + g_signal_connect(G_OBJECT(rend), "editing-canceled", G_CALLBACK(gtk_blist_renderer_editing_cancelled_cb), NULL); + g_signal_connect(G_OBJECT(rend), "edited", G_CALLBACK(gtk_blist_renderer_edited_cb), NULL); g_object_set(rend, "ypad", 0, "yalign", 0.5, NULL); g_object_set(rend, "ellipsize", PANGO_ELLIPSIZE_END, NULL); @@ -5767,7 +5768,7 @@ pidgin_blist_search_equal_func(GtkTreeMo return res; } -static void pidgin_blist_show(PurpleBuddyList *list) +static void pidgin_blist_show(void) { PidginBuddyListPrivate *priv; void *handle; @@ -5957,7 +5958,7 @@ static void pidgin_blist_show(PurpleBudd g_signal_connect(gtkblist->treeview, "style-set", - G_CALLBACK(treeview_style_set), list); + G_CALLBACK(treeview_style_set), NULL); /* Set up selection stuff */ selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(gtkblist->treeview)); g_signal_connect(G_OBJECT(selection), "changed", G_CALLBACK(pidgin_blist_selection_changed), NULL); @@ -5995,7 +5996,7 @@ static void pidgin_blist_show(PurpleBudd /* everything else column */ gtkblist->text_column = gtk_tree_view_column_new (); gtk_tree_view_append_column(GTK_TREE_VIEW(gtkblist->treeview), gtkblist->text_column); - pidgin_blist_build_layout(list); + pidgin_blist_build_layout(); g_signal_connect(G_OBJECT(gtkblist->treeview), "row-activated", G_CALLBACK(gtk_blist_row_activated_cb), NULL); g_signal_connect(G_OBJECT(gtkblist->treeview), "row-expanded", G_CALLBACK(gtk_blist_row_expanded_cb), NULL); @@ -6068,14 +6069,14 @@ static void pidgin_blist_show(PurpleBudd pidgin_blist_update_sort_methods(); /* OK... let's show this bad boy. */ - pidgin_blist_refresh(list); + pidgin_blist_refresh(); pidgin_blist_restore_position(); gtk_widget_show_all(GTK_WIDGET(gtkblist->vbox)); gtk_widget_realize(GTK_WIDGET(gtkblist->window)); purple_blist_set_visible(purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/blist/list_visible")); /* start the refresh timer */ - gtkblist->refresh_timer = purple_timeout_add_seconds(30, (GSourceFunc)pidgin_blist_refresh_timer, list); + gtkblist->refresh_timer = purple_timeout_add_seconds(30, (GSourceFunc)pidgin_blist_refresh_timer, NULL); handle = pidgin_blist_get_handle(); @@ -6105,7 +6106,7 @@ static void pidgin_blist_show(PurpleBudd handle = purple_accounts_get_handle(); - purple_type_connect(PURPLE_TYPE_ACCOUNT, "enable-changed", + purple_g_signal_connect(PURPLE_TYPE_ACCOUNT, "enable-changed", G_CALLBACK(account_modified), gtkblist); purple_signal_connect(handle, "account-removed", gtkblist, @@ -6125,9 +6126,9 @@ static void pidgin_blist_show(PurpleBudd handle = NULL; purple_signal_connect(handle, "signed-on", gtkblist, - PURPLE_CALLBACK(sign_on_off_cb), list); + PURPLE_CALLBACK(sign_on_off_cb), NULL); purple_signal_connect(handle, "signed-off", gtkblist, - PURPLE_CALLBACK(sign_on_off_cb), list); + PURPLE_CALLBACK(sign_on_off_cb), NULL); handle = purple_plugins_get_handle(); purple_signal_connect(handle, "plugin-load", gtkblist, @@ -6152,10 +6153,10 @@ static void pidgin_blist_show(PurpleBudd /* emit our created signal */ handle = pidgin_blist_get_handle(); - purple_signal_emit(handle, "gtkblist-created", list); + purple_signal_emit(handle, "gtkblist-created", NULL); } -static void redo_buddy_list(PurpleBuddyList *list, gboolean remove, gboolean rerender) +static void redo_buddy_list(gboolean remove, gboolean rerender) { PurpleBlistNode *node; @@ -6171,34 +6172,32 @@ static void redo_buddy_list(PurpleBuddyL * status. We shouldn't need to remove otherwise. */ if (remove && !PURPLE_IS_GROUP(node)) - pidgin_blist_hide_node(list, node, FALSE); + pidgin_blist_hide_node(node, FALSE); if (PURPLE_IS_BUDDY(node)) - pidgin_blist_update_buddy(list, node, rerender); + pidgin_blist_update_buddy(node, rerender); else if (PURPLE_IS_CHAT(node)) - pidgin_blist_update(list, node); + pidgin_blist_update(node); else if (PURPLE_IS_GROUP(node)) - pidgin_blist_update(list, node); - node = purple_blist_node_next(node, FALSE); + pidgin_blist_update(node); + node = purple_blist_node_next_online(node, FALSE); } } -void pidgin_blist_refresh(PurpleBuddyList *list) +void pidgin_blist_refresh(void) { - redo_buddy_list(list, FALSE, TRUE); + redo_buddy_list(FALSE, TRUE); } void -pidgin_blist_update_refresh_timeout() +pidgin_blist_update_refresh_timeout(void) { - PurpleBuddyList *blist; PidginBuddyList *gtkblist; - blist = purple_get_blist(); gtkblist = purple_blist_get_ui_data(); - gtkblist->refresh_timer = purple_timeout_add_seconds(30,(GSourceFunc)pidgin_blist_refresh_timer, blist); + gtkblist->refresh_timer = purple_timeout_add_seconds(30,(GSourceFunc)pidgin_blist_refresh_timer, NULL); } static gboolean get_iter_from_node(PurpleBlistNode *node, GtkTreeIter *iter) { @@ -6229,16 +6228,16 @@ static gboolean get_iter_from_node(Purpl return TRUE; } -static void pidgin_blist_remove(PurpleBuddyList *list, PurpleBlistNode *node) +static void pidgin_blist_remove(PurpleBlistNode *node) { struct _pidgin_blist_node *gtknode = purple_blist_node_get_ui_data(node); purple_request_close_with_handle(node); - pidgin_blist_hide_node(list, node, TRUE); + pidgin_blist_hide_node(node, TRUE); if(node->parent) - pidgin_blist_update(list, node->parent); + pidgin_blist_update(node->parent); /* There's something I don't understand here - Ethan */ /* Ethan said that back in 2003, but this g_free has been left commented @@ -6268,9 +6267,9 @@ static gboolean do_selection_changed(Pur old_selection = gtkblist->selected_node; gtkblist->selected_node = new_selection; if(new_selection) - pidgin_blist_update(NULL, new_selection); + pidgin_blist_update(new_selection); if(old_selection) - pidgin_blist_update(NULL, old_selection); + pidgin_blist_update(old_selection); } return FALSE; @@ -6297,7 +6296,7 @@ static void pidgin_blist_selection_chang } } -static gboolean insert_node(PurpleBuddyList *list, PurpleBlistNode *node, GtkTreeIter *iter) +static gboolean insert_node(PurpleBlistNode *node, GtkTreeIter *iter) { GtkTreeIter parent_iter, cur, *curptr = NULL; struct _pidgin_blist_node *gtknode = purple_blist_node_get_ui_data(node); @@ -6313,9 +6312,9 @@ static gboolean insert_node(PurpleBuddyL curptr = &cur; if(PURPLE_IS_CONTACT(node) || PURPLE_IS_CHAT(node)) { - current_sort_method->func(node, list, parent_iter, curptr, iter); + current_sort_method->func(node, parent_iter, curptr, iter); } else { - sort_method_none(node, list, parent_iter, curptr, iter); + sort_method_none(node, parent_iter, curptr, iter); } if(gtknode != NULL) { @@ -6379,8 +6378,7 @@ static gboolean pidgin_blist_group_has_s /* This version of pidgin_blist_update_group can take the original buddy or a * group, but has much better algorithmic performance with a pre-known buddy. */ -static void pidgin_blist_update_group(PurpleBuddyList *list, - PurpleBlistNode *node) +static void pidgin_blist_update_group(PurpleBlistNode *node) { gint count; PurpleGroup *group; @@ -6406,9 +6404,9 @@ static void pidgin_blist_update_group(Pu show_offline = purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/blist/show_offline_buddies"); if(show_offline) - count = purple_blist_get_group_size(group, FALSE); + count = purple_group_get_size(group, FALSE); else - count = purple_blist_get_group_online_count(group); + count = purple_group_get_online(group); if (count > 0 || purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/blist/show_empty_groups")) show = TRUE; @@ -6428,7 +6426,7 @@ static void pidgin_blist_update_group(Pu GdkPixbuf *avatar = NULL; PidginBlistTheme *theme = NULL; - if(!insert_node(list, gnode, &iter)) + if(!insert_node(gnode, &iter)) return; if ((theme = pidgin_blist_get_theme()) == NULL) @@ -6465,7 +6463,7 @@ static void pidgin_blist_update_group(Pu -1); g_free(title); } else { - pidgin_blist_hide_node(list, gnode, TRUE); + pidgin_blist_hide_node(gnode, TRUE); } } @@ -6491,8 +6489,8 @@ static char *pidgin_get_group_title(Purp if (!expanded) { g_snprintf(group_count, sizeof(group_count), "%d/%d", - purple_blist_get_group_online_count(group), - purple_blist_get_group_size(group, FALSE)); + purple_group_get_online(group), + purple_group_get_size(group, FALSE)); } theme = pidgin_blist_get_theme(); @@ -6507,7 +6505,7 @@ static char *pidgin_get_group_title(Purp text_color = selected ? NULL : theme_font_get_color_default(pair, NULL); text_font = theme_font_get_face_default(pair, ""); - esc = g_markup_escape_text(group->name, -1); + esc = g_markup_escape_text(purple_group_get_name(group), -1); if (text_color) { mark = g_strdup_printf("%s%s%s%s", text_color, text_font, @@ -6636,7 +6634,7 @@ static void buddy_node(PurpleBuddy *budd /* This is a variation on the original gtk_blist_update_contact. Here we can know in advance which buddy has changed so we can just update that */ -static void pidgin_blist_update_contact(PurpleBuddyList *list, PurpleBlistNode *node) +static void pidgin_blist_update_contact(PurpleBlistNode *node) { PurpleBlistNode *cnode; PurpleContact *contact; @@ -6656,9 +6654,9 @@ static void pidgin_blist_update_contact( /* First things first, update the group */ if (PURPLE_IS_BUDDY(node)) - pidgin_blist_update_group(list, node); + pidgin_blist_update_group(node); else - pidgin_blist_update_group(list, cnode->parent); + pidgin_blist_update_group(cnode->parent); contact = (PurpleContact*)cnode; buddy = purple_contact_get_priority_buddy(contact); @@ -6667,7 +6665,7 @@ static void pidgin_blist_update_contact( { GtkTreeIter iter; - if(!insert_node(list, cnode, &iter)) + if(!insert_node(cnode, &iter)) return; gtknode = purple_blist_node_get_ui_data(cnode); @@ -6726,13 +6724,13 @@ static void pidgin_blist_update_contact( buddy_node(buddy, &iter, cnode); } } else { - pidgin_blist_hide_node(list, cnode, TRUE); + pidgin_blist_hide_node(cnode, TRUE); } } -static void pidgin_blist_update_buddy(PurpleBuddyList *list, PurpleBlistNode *node, gboolean status_change) +static void pidgin_blist_update_buddy(PurpleBlistNode *node, gboolean status_change) { PurpleBuddy *buddy; struct _pidgin_blist_node *gtkparentnode; @@ -6745,7 +6743,7 @@ static void pidgin_blist_update_buddy(Pu buddy = (PurpleBuddy*)node; /* First things first, update the contact */ - pidgin_blist_update_contact(list, node); + pidgin_blist_update_contact(node); gtkparentnode = purple_blist_node_get_ui_data(PURPLE_BLIST_NODE(node->parent)); @@ -6753,18 +6751,18 @@ static void pidgin_blist_update_buddy(Pu { GtkTreeIter iter; - if (!insert_node(list, node, &iter)) + if (!insert_node(node, &iter)) return; buddy_node(buddy, &iter, node); } else { - pidgin_blist_hide_node(list, node, TRUE); + pidgin_blist_hide_node(node, TRUE); } } -static void pidgin_blist_update_chat(PurpleBuddyList *list, PurpleBlistNode *node) +static void pidgin_blist_update_chat(PurpleBlistNode *node) { PurpleChat *chat; @@ -6774,11 +6772,11 @@ static void pidgin_blist_update_chat(Pur return; /* First things first, update the group */ - pidgin_blist_update_group(list, node->parent); + pidgin_blist_update_group(node->parent); chat = (PurpleChat*)node; - if(purple_account_is_connected(chat->account)) { + if(purple_account_is_connected(purple_chat_get_account(chat))) { GtkTreeIter iter; GdkPixbuf *status, *avatar, *emblem, *prpl_icon; const gchar *color, *font; @@ -6794,7 +6792,7 @@ static void pidgin_blist_update_chat(Pur gboolean selected = (gtkblist->selected_node == node); gboolean nick_said = FALSE; - if (!insert_node(list, node, &iter)) + if (!insert_node(node, &iter)) return; ui = purple_blist_node_get_ui_data(node); @@ -6842,7 +6840,7 @@ static void pidgin_blist_update_chat(Pur g_free(mark); mark = tmp; - prpl_icon = pidgin_create_prpl_icon(chat->account, PIDGIN_PRPL_ICON_SMALL); + prpl_icon = pidgin_create_prpl_icon(purple_chat_get_account(chat), PIDGIN_PRPL_ICON_SMALL); if (theme != NULL) bgcolor = pidgin_blist_theme_get_contact_color(theme); @@ -6872,14 +6870,13 @@ static void pidgin_blist_update_chat(Pur g_object_unref(prpl_icon); } else { - pidgin_blist_hide_node(list, node, TRUE); + pidgin_blist_hide_node(node, TRUE); } } -static void pidgin_blist_update(PurpleBuddyList *list, PurpleBlistNode *node) +static void pidgin_blist_update(PurpleBlistNode *node) { - if (list) - gtkblist = purple_blist_get_ui_data(); + gtkblist = purple_blist_get_ui_data(); if(!gtkblist || !gtkblist->treeview || !node) return; @@ -6887,26 +6884,23 @@ static void pidgin_blist_update(PurpleBu pidgin_blist_new_node(node); if (PURPLE_IS_GROUP(node)){ - pidgin_blist_update_group(list, node); + pidgin_blist_update_group(node); } else if (PURPLE_IS_CONTACT(node)){ - pidgin_blist_update_contact(list, node); + pidgin_blist_update_contact(node); } else if (PURPLE_IS_BUDDY(node)){ - pidgin_blist_update_buddy(list, node, TRUE); + pidgin_blist_update_buddy(node, TRUE); } else if (PURPLE_IS_CHAT(node)){ - pidgin_blist_update_chat(list, node); + pidgin_blist_update_chat(node); } } -static void pidgin_blist_destroy(PurpleBuddyList *list) +static void pidgin_blist_destroy(void) { PidginBuddyListPrivate *priv; - if (!list || !list->ui_data) - return; + g_return_if_fail(purple_blist_get_ui_data() == gtkblist); - g_return_if_fail(list->ui_data == gtkblist); - purple_signals_disconnect_by_handle(gtkblist); if (gtkblist->headline_close) @@ -6949,7 +6943,7 @@ static void pidgin_blist_destroy(PurpleB purple_prefs_disconnect_by_handle(pidgin_blist_get_handle()); } -static void pidgin_blist_set_visible(PurpleBuddyList *list, gboolean show) +static void pidgin_blist_set_visible(gboolean show) { if (!(gtkblist && gtkblist->window)) return; @@ -6995,7 +6989,7 @@ groups_tree(void) if (PURPLE_IS_GROUP(gnode)) { g = (PurpleGroup *)gnode; - tmp2 = g->name; + tmp2 = purple_group_get_name(g); list = g_list_append(list, tmp2); } } @@ -7044,7 +7038,7 @@ add_buddy_cb(GtkWidget *w, int resp, Pid if ((g = purple_find_group(grp)) == NULL) { g = purple_group_new(grp); - purple_blist_add_group(g, NULL); + purple_blist_node_add_child(PURPLE_BLIST_NODE(g), purple_blist_get_root()); } b = purple_find_buddy_in_group(account, who, g); @@ -7196,7 +7190,7 @@ add_chat_cb(GtkWidget *w, PidginAddChatD ((group = purple_find_group(group_name)) == NULL)) { group = purple_group_new(group_name); - purple_blist_add_group(group, NULL); + purple_blist_node_add_child(PURPLE_BLIST_NODE(group), purple_blist_get_root()); } purple_blist_add_chat(chat, group, NULL); @@ -7299,7 +7293,7 @@ pidgin_blist_request_add_chat(PurpleAcco if (name != NULL) gtk_widget_grab_focus(data->alias_entry); - data->group_combo = pidgin_text_combo_box_entry_new(group ? group->name : NULL, groups_tree()); + data->group_combo = pidgin_text_combo_box_entry_new(group ? purple_group_get_name(group) : NULL, groups_tree()); pidgin_add_widget_to_vbox(GTK_BOX(vbox), _("_Group:"), data->chat_data.rq_data.sg, data->group_combo, TRUE, NULL); @@ -7321,7 +7315,7 @@ add_group_cb(PurpleConnection *gc, const return; group = purple_group_new(group_name); - purple_blist_add_group(group, NULL); + purple_blist_node_add_child(PURPLE_BLIST_NODE(group), purple_blist_get_root()); } static void @@ -7456,13 +7450,13 @@ static gboolean autojoin_cb(PurpleConnec chat = (PurpleChat *)cnode; - if(chat->account != account) + if(purple_chat_get_account(chat) != account) continue; if(purple_blist_node_get_bool((PurpleBlistNode*)chat, "gtk-autojoin") || (purple_blist_node_get_string((PurpleBlistNode*)chat, "gtk-autojoin") != NULL)) - serv_join_chat(gc, chat->components); + serv_join_chat(gc, purple_chat_get_components(chat)); } } @@ -7484,7 +7478,7 @@ static gboolean buddy_signonoff_timeout_ gtknode->recent_signonoff = FALSE; gtknode->recent_signonoff_timer = 0; - pidgin_blist_update(NULL, (PurpleBlistNode*)buddy); + pidgin_blist_update((PurpleBlistNode*)buddy); return FALSE; } @@ -7511,7 +7505,6 @@ pidgin_blist_set_theme(PidginBlistTheme pidgin_blist_set_theme(PidginBlistTheme *theme) { PidginBuddyListPrivate *priv = PIDGIN_BUDDY_LIST_GET_PRIVATE(gtkblist); - PurpleBuddyList *list = purple_get_blist(); if (theme != NULL) purple_prefs_set_string(PIDGIN_PREFS_ROOT "/blist/theme", @@ -7524,9 +7517,9 @@ pidgin_blist_set_theme(PidginBlistTheme priv->current_theme = theme ? g_object_ref(theme) : NULL; - pidgin_blist_build_layout(list); + pidgin_blist_build_layout(); - pidgin_blist_refresh(list); + pidgin_blist_refresh(); } @@ -7676,9 +7669,9 @@ void pidgin_blist_sort_method_set(const return; } if (!strcmp(id, "none")) { - redo_buddy_list(purple_get_blist(), TRUE, FALSE); + redo_buddy_list(TRUE, FALSE); } else { - redo_buddy_list(purple_get_blist(), FALSE, FALSE); + redo_buddy_list(FALSE, FALSE); } } @@ -7686,7 +7679,7 @@ void pidgin_blist_sort_method_set(const ** Sort Methods ******************************************/ -static void sort_method_none(PurpleBlistNode *node, PurpleBuddyList *blist, GtkTreeIter parent_iter, GtkTreeIter *cur, GtkTreeIter *iter) +static void sort_method_none(PurpleBlistNode *node, GtkTreeIter parent_iter, GtkTreeIter *cur, GtkTreeIter *iter) { PurpleBlistNode *sibling = node->prev; GtkTreeIter sibling_iter; @@ -7705,7 +7698,7 @@ static void sort_method_none(PurpleBlist sibling ? &sibling_iter : NULL); } -static void sort_method_alphabetical(PurpleBlistNode *node, PurpleBuddyList *blist, GtkTreeIter groupiter, GtkTreeIter *cur, GtkTreeIter *iter) +static void sort_method_alphabetical(PurpleBlistNode *node, GtkTreeIter groupiter, GtkTreeIter *cur, GtkTreeIter *iter) { GtkTreeIter more_z; @@ -7716,7 +7709,7 @@ static void sort_method_alphabetical(Pur } else if(PURPLE_IS_CHAT(node)) { my_name = purple_chat_get_name((PurpleChat*)node); } else { - sort_method_none(node, blist, groupiter, cur, iter); + sort_method_none(node, groupiter, cur, iter); return; } @@ -7769,7 +7762,7 @@ static void sort_method_alphabetical(Pur } } -static void sort_method_status(PurpleBlistNode *node, PurpleBuddyList *blist, GtkTreeIter groupiter, GtkTreeIter *cur, GtkTreeIter *iter) +static void sort_method_status(PurpleBlistNode *node, GtkTreeIter groupiter, GtkTreeIter *cur, GtkTreeIter *iter) { GtkTreeIter more_z; @@ -7786,7 +7779,7 @@ static void sort_method_status(PurpleBli gtk_tree_store_append(gtkblist->treemodel, iter, &groupiter); return; } else { - sort_method_none(node, blist, groupiter, cur, iter); + sort_method_none(node, groupiter, cur, iter); return; } @@ -7856,7 +7849,7 @@ static void sort_method_status(PurpleBli } } -static void sort_method_log_activity(PurpleBlistNode *node, PurpleBuddyList *blist, GtkTreeIter groupiter, GtkTreeIter *cur, GtkTreeIter *iter) +static void sort_method_log_activity(PurpleBlistNode *node, GtkTreeIter groupiter, GtkTreeIter *cur, GtkTreeIter *iter) { GtkTreeIter more_z; @@ -7887,7 +7880,7 @@ static void sort_method_log_activity(Pur gtk_tree_store_append(gtkblist->treemodel, iter, &groupiter); return; } else { - sort_method_none(node, blist, groupiter, cur, iter); + sort_method_none(node, groupiter, cur, iter); return; } @@ -8142,7 +8135,7 @@ pidgin_blist_update_accounts_menu(void) (PURPLE_PROTOCOL_PLUGIN_HAS_FUNC(prpl_info, get_moods) || PURPLE_PLUGIN_HAS_ACTIONS(plugin))) { if (PURPLE_PROTOCOL_PLUGIN_HAS_FUNC(prpl_info, get_moods) && - purple_connection_get_flags(gc) & PURPLE_CONNECTION_SUPPORT_MOODS) { + purple_connection_get_flags(gc) & PURPLE_CONNECTION_FLAGS_SUPPORT_MOODS) { if (purple_account_get_status(account, "mood")) { menuitem = gtk_menu_item_new_with_mnemonic(_("Set _Mood...")); ============================================================ --- pidgin/gtkconv.c 305f5dd2a86bd7a23fe213b945b29043b93cdd05 +++ pidgin/gtkconv.c a73da40f4ddc73740796320ae5d73e9692869d36 @@ -3220,7 +3220,7 @@ populate_menu_with_options(GtkWidget *me purple_blist_node_set_flags((PurpleBlistNode *)chat, PURPLE_BLIST_NODE_FLAG_NO_SAVE); g_object_set_data_full(G_OBJECT(gtkconv->imhtml), "transient_chat", - chat, (GDestroyNotify)purple_blist_remove_chat); + chat, (GDestroyNotify)purple_blist_node_remove); } } else { if (!purple_account_is_connected(conv->account)) @@ -5235,7 +5235,7 @@ pidgin_conv_find_gtkconv(PurpleConversat return NULL; cn = PURPLE_BLIST_NODE(c); - for (bn = purple_blist_node_get_first_child(cn); bn; bn = purple_blist_node_get_sibling_next(bn)) { + for (bn = purple_blist_node_first_child(cn); bn; bn = purple_blist_node_next(bn)) { PurpleBuddy *b = PURPLE_BUDDY(bn); PurpleConversation *conv; if ((conv = purple_find_conversation_with_account(PURPLE_CONV_TYPE_IM, purple_buddy_get_name(b), purple_buddy_get_account(b)))) { ============================================================ --- pidgin/gtkdialogs.c 70375ca910d1fc2ca596228a3bda915a4026de2f +++ pidgin/gtkdialogs.c 3fbe33ae8080dd105992eb69d247a160b2ee6357 @@ -819,7 +819,7 @@ pidgin_dialogs_im(void) purple_request_field_set_required(field, TRUE); purple_request_field_group_add_field(group, field); - purple_request_fields(purple_get_blist(), _("New Instant Message"), + purple_request_fields(purple_blist_get_handle(), _("New Instant Message"), NULL, _("Please enter the username or alias of the person " "you would like to IM."), @@ -958,7 +958,7 @@ pidgin_dialogs_info(void) purple_request_field_set_required(field, TRUE); purple_request_field_group_add_field(group, field); - purple_request_fields(purple_get_blist(), _("Get User Info"), + purple_request_fields(purple_blist_get_handle(), _("Get User Info"), NULL, _("Please enter the username or alias of the person " "whose info you would like to view."), @@ -1050,7 +1050,7 @@ pidgin_dialogs_log(void) purple_request_field_set_required(field, TRUE); purple_request_field_group_add_field(group, field); - purple_request_fields(purple_get_blist(), _("View User Log"), + purple_request_fields(purple_blist_get_handle(), _("View User Log"), NULL, _("Please enter the username or alias of the person " "whose log you would like to view."), @@ -1074,7 +1074,8 @@ pidgin_dialogs_alias_contact(PurpleConta purple_request_input(NULL, _("Alias Contact"), NULL, _("Enter an alias for this contact."), - contact->alias, FALSE, FALSE, NULL, + /* FIXME: Should this be contact->alias? */ + purple_contact_get_alias(contact), FALSE, FALSE, NULL, _("Alias"), G_CALLBACK(pidgin_dialogs_alias_contact_cb), _("Cancel"), NULL, NULL, purple_contact_get_alias(contact), NULL, @@ -1156,6 +1157,7 @@ pidgin_dialogs_remove_contact(PurpleCont pidgin_dialogs_remove_buddy(buddy); } else { gchar *text; + int size = purple_contact_get_totalsize(contact) - 1; text = g_strdup_printf( ngettext( "You are about to remove the contact containing %s " @@ -1163,8 +1165,8 @@ pidgin_dialogs_remove_contact(PurpleCont "want to continue?", "You are about to remove the contact containing %s " "and %d other buddies from your buddy list. Do you " - "want to continue?", contact->totalsize - 1), - purple_buddy_get_name(buddy), contact->totalsize - 1); + "want to continue?", size), + purple_buddy_get_name(buddy), size); purple_request_action(contact, NULL, _("Remove Contact"), text, 0, NULL, purple_contact_get_alias(contact), NULL, From qulogic at pidgin.im Thu Jun 10 01:31:42 2010 From: qulogic at pidgin.im (qulogic at pidgin.im) Date: Thu, 10 Jun 2010 01:31:42 -0400 (EDT) Subject: pidgin: 5e3707fd: gpointer* is redundant. Message-ID: <20100610053142.D1A0F5BD00E6@rock.pidgin.im> ----------------------------------------------------------------- Revision: 5e3707fd727a9e7f1d26a84dbf06be284072fd1f Ancestor: cea62f7b47932346f03cee1e76ee19f0076147f8 Author: qulogic at pidgin.im Date: 2010-06-10T00:37:52 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/5e3707fd727a9e7f1d26a84dbf06be284072fd1f Modified files: pidgin/gtkblist.c ChangeLog: gpointer* is redundant. -------------- next part -------------- ============================================================ --- pidgin/gtkblist.c 7a26a39217a1d40f3639c84f8b6bc06ab53b620f +++ pidgin/gtkblist.c 69ce95680f7dc8772402870c51c5fccd8b7e4560 @@ -4590,7 +4590,7 @@ static void } static void -plugin_changed_cb(PurplePlugin *p, gpointer *data) +plugin_changed_cb(PurplePlugin *p, gpointer data) { pidgin_blist_update_plugin_actions(); } From qulogic at pidgin.im Thu Jun 10 01:31:43 2010 From: qulogic at pidgin.im (qulogic at pidgin.im) Date: Thu, 10 Jun 2010 01:31:43 -0400 (EDT) Subject: gobjectification: 8803175c: I think this should probably be a siblin... Message-ID: <20100610053143.70A935BD00E6@rock.pidgin.im> ----------------------------------------------------------------- Revision: 8803175ce90325a6bcb5dfe7f03373b3a5f19bfe Ancestor: 2931c8b8e1a900b7964d6fe88a458e120b423ca9 Author: qulogic at pidgin.im Date: 2010-06-10T02:57:07 Branch: im.pidgin.gobjectification URL: http://d.pidgin.im/viewmtn/revision/info/8803175ce90325a6bcb5dfe7f03373b3a5f19bfe Modified files: finch/gntblist.c ChangeLog: I think this should probably be a sibling, not a child. -------------- next part -------------- ============================================================ --- finch/gntblist.c 63c36e882befd129cf75ef97534c3204fba7636c +++ finch/gntblist.c 3ccddb8402b78387eaf65d27ef86b652295d7c88 @@ -1632,7 +1632,7 @@ finch_blist_place_tagged(PurpleBlistNode purple_blist_merge_contact((PurpleContact*)node, (PurpleBlistNode*)tc); } else { /* The target is a chat. Add the contact to the group after this chat. */ - purple_blist_node_add_child(node, target); + purple_blist_node_add_sibling(node, target); } } else if (PURPLE_IS_BUDDY(node)) { update_buddy_display((PurpleBuddy*)node, ggblist); From malu at pidgin.im Thu Jun 10 15:55:42 2010 From: malu at pidgin.im (malu at pidgin.im) Date: Thu, 10 Jun 2010 15:55:42 -0400 (EDT) Subject: pidgin: 2e945980: media: Fix the TURN server setting to ac... Message-ID: <20100610195542.02B1FAFD1F89@rock.pidgin.im> ----------------------------------------------------------------- Revision: 2e94598029dc6350d656fd335ad83738ff0c8e29 Ancestor: a5baf7ca8907c15748c0a707d36aa836518b73ae Author: malu at pidgin.im Date: 2010-06-10T19:54:17 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/2e94598029dc6350d656fd335ad83738ff0c8e29 Modified files: ChangeLog libpurple/media/backend-fs2.c ChangeLog: media: Fix the TURN server setting to actually work again (it was apparently broken since the media refactoring for 2.7.0, as I found out when testing a TURN deployment...) -------------- next part -------------- ============================================================ --- ChangeLog 5dfe2d1234a64fc6f348ab1911c654d326c4dd8b +++ ChangeLog 00d40f1392cd4925f77c62201e260089b233fdfe @@ -1,6 +1,9 @@ version 2.7.2 (??/??/????): Pidgin and Finch: The Pimpin' Penguin IM Clients That're Good for the Soul version 2.7.2 (??/??/????): + libpurple: + * Fix the TURN server setting to work again since the media refactor. + Pidgin: * Re-focus the input area after clicking the attention toolbar button. ============================================================ --- libpurple/media/backend-fs2.c 648440768a9f9891a769a4c606716d18af47c432 +++ libpurple/media/backend-fs2.c f7a35c8d2a85fb0992e84bc4d0e348d44c510205 @@ -1639,6 +1639,7 @@ create_stream(PurpleMediaBackendFs2 *sel g_value_set_boxed(&_params[_num_params].value, relay_info); g_value_array_free(relay_info); + _num_params++; } session = get_session(self, sess_id); From malu at pidgin.im Thu Jun 10 16:40:46 2010 From: malu at pidgin.im (malu at pidgin.im) Date: Thu, 10 Jun 2010 16:40:46 -0400 (EDT) Subject: pidgin: 8138501a: merge of '2e94598029dc6350d656fd335ad837... Message-ID: <20100610204046.25686AFD2072@rock.pidgin.im> ----------------------------------------------------------------- Revision: 8138501adc82bed07f319a032075157923e0cb9b Ancestor: 2e94598029dc6350d656fd335ad83738ff0c8e29 Ancestor: 5e3707fd727a9e7f1d26a84dbf06be284072fd1f Author: malu at pidgin.im Date: 2010-06-10T20:35:08 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/8138501adc82bed07f319a032075157923e0cb9b Modified files: ChangeLog doc/finch.1.in finch/libgnt/gntentry.c libpurple/media/backend-fs2.c pidgin/gtkblist.c ChangeLog: merge of '2e94598029dc6350d656fd335ad83738ff0c8e29' and '5e3707fd727a9e7f1d26a84dbf06be284072fd1f' From masca at cpw.pidgin.im Fri Jun 11 12:52:10 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Fri, 11 Jun 2010 12:52:10 -0400 (EDT) Subject: soc.2010.msn-tlc: 2baa1459: Since we can create a SlpMessage without... Message-ID: <20100611165211.12FD5AFD1FA0@rock.pidgin.im> ----------------------------------------------------------------- Revision: 2baa1459f60e0d607e1c3c740aea075ce4d15a51 Ancestor: 8dd895e308adc6bac99f43c5e04d5e00b208d541 Author: masca at cpw.pidgin.im Date: 2010-06-10T22:17:26 Branch: im.pidgin.soc.2010.msn-tlc URL: http://d.pidgin.im/viewmtn/revision/info/2baa1459f60e0d607e1c3c740aea075ce4d15a51 Modified files: libpurple/protocols/msn/slpmsg.c libpurple/protocols/msn/slpmsg.h ChangeLog: Since we can create a SlpMessage without a SlpLink, add a function to relate them post-creation. -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/slpmsg.c 6ed98a51527fcf876f12fe498a861621f8456dd2 +++ libpurple/protocols/msn/slpmsg.c 819cddc93574f5ae00cec89d1dd92d832155d302 @@ -42,12 +42,9 @@ msn_slpmsg_new(MsnSlpLink *slplink) if (purple_debug_is_verbose()) purple_debug_info("msn", "slpmsg new (%p)\n", slpmsg); - if (slplink) { - slpmsg->slplink = slplink; - - slplink->slp_msgs = - g_list_append(slplink->slp_msgs, slpmsg); - } else + if (slplink) + msn_slpmsg_set_slplink(slpmsg, slplink); + else slpmsg->slplink = NULL; slpmsg->header = NULL; @@ -134,6 +131,18 @@ void } void +msn_slpmsg_set_slplink(MsnSlpMessage *slpmsg, MsnSlpLink *slplink) +{ + g_return_if_fail(slplink != NULL); + + slpmsg->slplink = slplink; + + slplink->slp_msgs = + g_list_append(slplink->slp_msgs, slpmsg); + +} + +void msn_slpmsg_set_body(MsnSlpMessage *slpmsg, const char *body, long long size) { ============================================================ --- libpurple/protocols/msn/slpmsg.h ec8bf59de5566a02b2db027e84ec266f18f3d682 +++ libpurple/protocols/msn/slpmsg.h be8ee8c2a6e8b72e0a37146d293845eba4e3c4e9 @@ -111,6 +111,13 @@ void msn_slpmsg_destroy(MsnSlpMessage *s */ void msn_slpmsg_destroy(MsnSlpMessage *slpmsg); +/** + * Relate this SlpMessage with an existing SlpLink + * + * @param slplink The SlpLink that will send this message. + */ +void msn_slpmsg_set_slplink(MsnSlpMessage *slpmsg, MsnSlpLink *slplink); + void msn_slpmsg_set_body(MsnSlpMessage *slpmsg, const char *body, long long size); void msn_slpmsg_set_image(MsnSlpMessage *slpmsg, PurpleStoredImage *img); From masca at cpw.pidgin.im Fri Jun 11 12:52:11 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Fri, 11 Jun 2010 12:52:11 -0400 (EDT) Subject: soc.2010.msn-tlc: 2f970e54: The creation of SlpMessage must be done ... Message-ID: <20100611165211.7A067AFD1FA0@rock.pidgin.im> ----------------------------------------------------------------- Revision: 2f970e541e55b8bed161082b2fff07f59f12fae4 Ancestor: 2baa1459f60e0d607e1c3c740aea075ce4d15a51 Author: masca at cpw.pidgin.im Date: 2010-06-10T22:40:44 Branch: im.pidgin.soc.2010.msn-tlc URL: http://d.pidgin.im/viewmtn/revision/info/2f970e541e55b8bed161082b2fff07f59f12fae4 Modified files: libpurple/protocols/msn/slplink.c libpurple/protocols/msn/slpmsg.c libpurple/protocols/msn/slpmsg.h ChangeLog: The creation of SlpMessage must be done in its own module. -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/slplink.c b0caf7d5dca0655ea59d394ca4beeb722ff093e6 +++ libpurple/protocols/msn/slplink.c d2bb985a259189ec94fd206c584e9cb96fb90e86 @@ -505,16 +505,9 @@ msn_slplink_create_ack(MsnSlpLink *slpli { MsnSlpMessage *slpmsg; - slpmsg = msn_slpmsg_new(slplink); + slpmsg = msn_slpmsg_new_ack(header); + msn_slpmsg_set_slplink(slpmsg, slplink); - slpmsg->session_id = header->session_id; - slpmsg->size = header->total_size; - slpmsg->flags = P2P_ACK; - slpmsg->ack_id = header->id; - slpmsg->ack_sub_id = header->ack_id; - slpmsg->ack_size = header->total_size; - slpmsg->info = "SLP ACK"; - return slpmsg; } ============================================================ --- libpurple/protocols/msn/slpmsg.c 819cddc93574f5ae00cec89d1dd92d832155d302 +++ libpurple/protocols/msn/slpmsg.c d1957d9f3598d5c6a9cbd2c32390923005466b56 @@ -263,6 +263,23 @@ msn_slpmsg_sip_new(MsnSlpCall *slpcall, return slpmsg; } +MsnSlpMessage *msn_slpmsg_new_ack(MsnP2PHeader *header) +{ + MsnSlpMessage *slpmsg; + + slpmsg = msn_slpmsg_new(NULL); + + slpmsg->session_id = header->session_id; + slpmsg->size = header->total_size; + slpmsg->flags = P2P_ACK; + slpmsg->ack_id = header->id; + slpmsg->ack_sub_id = header->ack_id; + slpmsg->ack_size = header->total_size; + slpmsg->info = "SLP ACK"; + + return slpmsg; +} + char *msn_slpmsg_serialize(MsnSlpMessage *slpmsg, size_t *ret_size) { MsnP2PHeader *header; ============================================================ --- libpurple/protocols/msn/slpmsg.h be8ee8c2a6e8b72e0a37146d293845eba4e3c4e9 +++ libpurple/protocols/msn/slpmsg.h 7926313e7301651878b108b0360050dd631e3795 @@ -129,6 +129,15 @@ MsnSlpMessage * msn_slpmsg_sip_new(MsnSl const char *content_type, const char *content); +/** + * Create a new SLP Ack message + * + * @param header the value of the header in this slpmsg. + * + * @return A new SlpMessage with ACK headers + */ +MsnSlpMessage *msn_slpmsg_new_ack(MsnP2PHeader *header); + void msn_slpmsg_show(MsnMessage *msg); /** From masca at cpw.pidgin.im Fri Jun 11 12:52:11 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Fri, 11 Jun 2010 12:52:11 -0400 (EDT) Subject: soc.2010.msn-tlc: 8dd895e3: Avoid magic numbers. Message-ID: <20100611165212.1233FAFD1FA0@rock.pidgin.im> ----------------------------------------------------------------- Revision: 8dd895e308adc6bac99f43c5e04d5e00b208d541 Ancestor: ef492fed05ca0246b8619c35e5c2b7c0b3639eef Author: masca at cpw.pidgin.im Date: 2010-06-09T23:03:34 Branch: im.pidgin.soc.2010.msn-tlc URL: http://d.pidgin.im/viewmtn/revision/info/8dd895e308adc6bac99f43c5e04d5e00b208d541 Modified files: libpurple/protocols/msn/slpmsg.c ChangeLog: Avoid magic numbers. -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/slpmsg.c 99dd7d9f8a010d85f499fdced91be98fd3124d3b +++ libpurple/protocols/msn/slpmsg.c 6ed98a51527fcf876f12fe498a861621f8456dd2 @@ -176,14 +176,14 @@ msn_slpmsg_show(MsnMessage *msg) switch (flags) { - case 0x0: + case P2P_NO_FLAG : info = "SLP CONTROL"; text = TRUE; break; - case 0x2: + case P2P_ACK: info = "SLP ACK"; break; - case 0x20: - case 0x1000030: + case P2P_MSN_OBJ_DATA: + case P2P_FILE_DATA: info = "SLP DATA"; break; default: info = "SLP UNKNOWN"; break; From masca at cpw.pidgin.im Fri Jun 11 12:52:12 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Fri, 11 Jun 2010 12:52:12 -0400 (EDT) Subject: soc.2010.msn-tlc: ef492fed: Remove replaced code. Message-ID: <20100611165212.B7047AFD1FA0@rock.pidgin.im> ----------------------------------------------------------------- Revision: ef492fed05ca0246b8619c35e5c2b7c0b3639eef Ancestor: f483541110cc65c870ddbd5f48726949dfa5f6f4 Author: masca at cpw.pidgin.im Date: 2010-06-09T22:59:16 Branch: im.pidgin.soc.2010.msn-tlc URL: http://d.pidgin.im/viewmtn/revision/info/ef492fed05ca0246b8619c35e5c2b7c0b3639eef Modified files: libpurple/protocols/msn/msg.c libpurple/protocols/msn/msg.h ChangeLog: Remove replaced code. -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/msg.c f68e3e8ffa29733b9d4b1c9f97c89c6231d78d96 +++ libpurple/protocols/msn/msg.c 88db0d7df39a36a39fa3b2c1cad25a6952d0bdb9 @@ -161,46 +161,7 @@ msn_message_new_nudge(void) return msg; } -#if 0 void -msn_message_parse_slp_body(MsnMessage *msg, const char *body, size_t len) -{ - MsnP2PHeader *header; - MsnP2PHeader wire; - const char *tmp; - int body_len; - - tmp = body; - - if (len < sizeof(wire)) { - g_return_if_reached(); - } - - /* Extract the binary SLP header */ - memcpy(&wire, tmp, sizeof(wire)); - tmp += sizeof(wire); - - header = msn_p2p_header_from_wire(&wire); - - memcpy(&msg->msnslp_header, (char*)header, sizeof(*header)); - - g_free(header); - - /* Extract the body */ - body_len = len - (tmp - body); - /* msg->body_len = msg->msnslp_header.length; */ - - if (body_len > 0) { - msg->body_len = len - (tmp - body); - msg->body = g_malloc(msg->body_len + 1); - memcpy(msg->body, tmp, msg->body_len); - msg->body[msg->body_len] = '\0'; - tmp += body_len; - } -} -#endif - -void msn_message_parse_payload(MsnMessage *msg, const char *payload, size_t payload_len, const char *line_dem,const char *body_dem) @@ -301,71 +262,22 @@ msn_message_parse_payload(MsnMessage *ms msg->slpmsg = msn_slpmsg_new_from_data(tmp, payload_len - (tmp - tmp_base)); } -#if 0 - { - MsnP2PHeader *header; - MsnP2PHeader wire; - MsnP2PFooter footer; - int body_len; - - if (payload_len - (tmp - tmp_base) < sizeof(header)) { - g_free(tmp_base); - g_return_if_reached(); - } - - msg->msnslp_message = TRUE; - - /* Extract the binary SLP header */ - memcpy(&wire, tmp, sizeof(wire)); - tmp += sizeof(wire); - - header = msn_p2p_header_from_wire(&wire); - - memcpy(&msg->msnslp_header, (char*)header, sizeof(*header)); - - g_free(header); - - body_len = payload_len - (tmp - tmp_base) - sizeof(footer); - - /* Extract the body */ - if (body_len > 0) { - msg->body_len = body_len; - g_free(msg->body); - msg->body = g_malloc(msg->body_len + 1); - memcpy(msg->body, tmp, msg->body_len); - msg->body[msg->body_len] = '\0'; - tmp += body_len; - } - - /* Extract the footer */ - if (body_len >= 0) { - memcpy(&footer, tmp, sizeof(footer)); - tmp += sizeof(footer); - msg->msnslp_footer.value = GUINT32_FROM_BE(footer.value); - } + if (payload_len - (tmp - tmp_base) > 0) { + msg->body_len = payload_len - (tmp - tmp_base); + g_free(msg->body); + msg->body = g_malloc(msg->body_len + 1); + memcpy(msg->body, tmp, msg->body_len); + msg->body[msg->body_len] = '\0'; } - else - { -#endif - if (payload_len - (tmp - tmp_base) > 0) { - msg->body_len = payload_len - (tmp - tmp_base); - g_free(msg->body); - msg->body = g_malloc(msg->body_len + 1); - memcpy(msg->body, tmp, msg->body_len); - msg->body[msg->body_len] = '\0'; - } - if ((!content_type || !strcmp(content_type, "text/plain")) + if ((!content_type || !strcmp(content_type, "text/plain")) && msg->charset == NULL) { - char *body = g_convert(msg->body, msg->body_len, "UTF-8", - "ISO-8859-1", NULL, &msg->body_len, NULL); - g_free(msg->body); - msg->body = body; - msg->charset = g_strdup("UTF-8"); - } -#if 0 + char *body = g_convert(msg->body, msg->body_len, "UTF-8", + "ISO-8859-1", NULL, &msg->body_len, NULL); + g_free(msg->body); + msg->body = body; + msg->charset = g_strdup("UTF-8"); } -#endif g_free(tmp_base); } @@ -389,39 +301,6 @@ msn_message_gen_slp_body(MsnMessage *msg char * msn_message_gen_slp_body(MsnMessage *msg, size_t *ret_size) { -#if 0 - MsnP2PHeader *header; - - char *tmp, *base; - const void *body; - size_t len, body_len; - - g_return_val_if_fail(msg != NULL, NULL); - - len = MSN_BUF_LEN; - - base = tmp = g_malloc(len + 1); - - body = msn_message_get_bin_data(msg, &body_len); - - header = msn_p2p_header_to_wire(&(msg->msnslp_header)); - - memcpy(tmp, header, 48); - tmp += 48; - - g_free(header); - - if (body != NULL) - { - memcpy(tmp, body, body_len); - tmp += body_len; - } - - if (ret_size != NULL) - *ret_size = tmp - base; - - return base; -#endif char *tmp; tmp = msn_slpmsg_serialize(msg->slpmsg, ret_size); @@ -487,29 +366,6 @@ msn_message_gen_payload(MsnMessage *msg, memcpy(n, body, siz); n += siz; -#if 0 - MsnP2PHeader *header; - MsnP2PFooter footer; - - header = msn_p2p_header_to_wire(&(msg->msnslp_header)); - - memcpy(n, header, 48); - n += 48; - - g_free(header); - - if (body != NULL) - { - memcpy(n, body, body_len); - - n += body_len; - } - - footer.value = GUINT32_TO_BE(msg->msnslp_footer.value); - - memcpy(n, &footer, 4); - n += 4; -#endif } else { ============================================================ --- libpurple/protocols/msn/msg.h 7c034264171cab1d93018fb274b9ab6ba9758a20 +++ libpurple/protocols/msn/msg.h 56760f9c0b0dd2d7bc99c3fccf5e28bb9a7bf136 @@ -307,9 +307,6 @@ void msn_message_show_readable(MsnMessag void msn_message_show_readable(MsnMessage *msg, const char *info, gboolean text_body); -void msn_message_parse_slp_body(MsnMessage *msg, const char *body, - size_t len); - char *msn_message_gen_slp_body(MsnMessage *msg, size_t *ret_size); char *msn_message_to_string(MsnMessage *msg); From masca at cpw.pidgin.im Fri Jun 11 12:52:13 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Fri, 11 Jun 2010 12:52:13 -0400 (EDT) Subject: soc.2010.msn-tlc: f4835411: The include is needed here. Message-ID: <20100611165213.5D53B5BD00FE@rock.pidgin.im> ----------------------------------------------------------------- Revision: f483541110cc65c870ddbd5f48726949dfa5f6f4 Ancestor: 9b332ad8cd71ea42d5f550b014577faf4361d628 Author: masca at cpw.pidgin.im Date: 2010-06-09T22:54:58 Branch: im.pidgin.soc.2010.msn-tlc URL: http://d.pidgin.im/viewmtn/revision/info/f483541110cc65c870ddbd5f48726949dfa5f6f4 Modified files: libpurple/protocols/msn/slpmsg.h ChangeLog: The include is needed here. -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/slpmsg.h d908e8ec199df6b6d8ca6103e8c065b1eb3586dc +++ libpurple/protocols/msn/slpmsg.h ec8bf59de5566a02b2db027e84ec266f18f3d682 @@ -32,6 +32,7 @@ typedef struct _MsnSlpMessage MsnSlpMess #include "slplink.h" #include "session.h" #include "msg.h" +#include "p2p.h" #include "slp.h" From rekkanoryo at pidgin.im Fri Jun 11 22:45:44 2010 From: rekkanoryo at pidgin.im (rekkanoryo at pidgin.im) Date: Fri, 11 Jun 2010 22:45:44 -0400 (EDT) Subject: pidgin: 06fcbcb8: Change the function of the "proxy_ssl" a... Message-ID: <20100612024545.0400FAFD0007@rock.pidgin.im> ----------------------------------------------------------------- Revision: 06fcbcb8d044bcd6887415dc87274071bb724596 Ancestor: 8138501adc82bed07f319a032075157923e0cb9b Author: rekkanoryo at pidgin.im Date: 2010-06-12T02:41:35 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/06fcbcb8d044bcd6887415dc87274071bb724596 Modified files: libpurple/protocols/yahoo/libyahoo.c libpurple/protocols/yahoo/libyahoojp.c libpurple/protocols/yahoo/libymsg.c ChangeLog: Change the function of the "proxy_ssl" account option to cover regular HTTP requests as well as HTTPS requests. While this does fix the core issue of #11986, there is still more that I need to do to fix his issue. Refs #11986. -------------- next part -------------- ============================================================ --- libpurple/protocols/yahoo/libyahoo.c 3b665fc43ba5773de00087dac573cf7c9dd1d8b0 +++ libpurple/protocols/yahoo/libyahoo.c 875b38564e0465d1d3f278991eb20e9cc118127e @@ -327,7 +327,7 @@ init_plugin(PurplePlugin *plugin) option = purple_account_option_bool_new(_("Ignore conference and chatroom invitations"), "ignore_invites", FALSE); prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, option); - option = purple_account_option_bool_new(_("Use account proxy for SSL connections"), "proxy_ssl", FALSE); + option = purple_account_option_bool_new(_("Use account proxy for HTTP and HTTPS connections"), "proxy_ssl", FALSE); prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, option); #if 0 ============================================================ --- libpurple/protocols/yahoo/libyahoojp.c 404dee90b563851004f718d5e2dd502b0ef81613 +++ libpurple/protocols/yahoo/libyahoojp.c 3a6cf95dce97904c0262b7e9401fda5e4460913f @@ -223,7 +223,7 @@ init_plugin(PurplePlugin *plugin) option = purple_account_option_bool_new(_("Ignore conference and chatroom invitations"), "ignore_invites", FALSE); prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, option); - option = purple_account_option_bool_new(_("Use account proxy for SSL connections"), "proxy_ssl", FALSE); + option = purple_account_option_bool_new(_("Use account proxy for HTTP and HTTPS connections"), "proxy_ssl", FALSE); prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, option); #if 0 ============================================================ --- libpurple/protocols/yahoo/libymsg.c a78b9b5fa500695a7250aa0b14f0f20273471b2c +++ libpurple/protocols/yahoo/libymsg.c 10e1f954fa17346bfe6febf9f63e94fad26de543 @@ -3644,6 +3644,7 @@ void yahoo_login(PurpleAccount *account) YahooData *yd = gc->proto_data = g_new0(YahooData, 1); PurpleStatus *status = purple_account_get_active_status(account); gboolean use_whole_url = yahoo_account_use_http_proxy(gc); + gboolean proxy_ssl = purple_account_get_bool(account, "proxy_ssl", FALSE); PurpleUtilFetchUrlData *url_data; gc->flags |= PURPLE_CONNECTION_HTML | PURPLE_CONNECTION_NO_BGCOLOR | PURPLE_CONNECTION_NO_URLDESC; @@ -3678,7 +3679,7 @@ void yahoo_login(PurpleAccount *account) /* Get the pager server. Actually start connecting in the callback since we * must have the contents of the HTTP response to proceed. */ url_data = purple_util_fetch_url_request_len_with_account( - purple_connection_get_account(gc), + proxy_ssl ? purple_connection_get_account(gc) : NULL, yd->jp ? YAHOOJP_PAGER_HOST_REQ_URL : YAHOO_PAGER_HOST_REQ_URL, use_whole_url ? TRUE : FALSE, YAHOO_CLIENT_USERAGENT, TRUE, NULL, FALSE, -1, From darkrain42 at pidgin.im Sat Jun 12 14:25:46 2010 From: darkrain42 at pidgin.im (darkrain42 at pidgin.im) Date: Sat, 12 Jun 2010 14:25:46 -0400 (EDT) Subject: pidgin: 0673f857: jabber: Fix the GSSAPI-not-attempted fal... Message-ID: <20100612182546.4CA79AFD0007@rock.pidgin.im> ----------------------------------------------------------------- Revision: 0673f8579282f4181ac7fb5738a1afc873b57cac Ancestor: 06fcbcb8d044bcd6887415dc87274071bb724596 Author: darkrain42 at pidgin.im Date: 2010-06-12T18:22:46 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/0673f8579282f4181ac7fb5738a1afc873b57cac Modified files: ChangeLog libpurple/protocols/jabber/auth_cyrus.c ChangeLog: jabber: Fix the GSSAPI-not-attempted fallback. Refs #12031 The mech string ends with a ' ', so this wasn't matching. -------------- next part -------------- ============================================================ --- ChangeLog b726d30ee39ac1ef0a53d572ef8eaad04538f8a8 +++ ChangeLog be8ee4ae8437b441401513586a8cdd97d457d075 @@ -11,6 +11,10 @@ version 2.7.2 (??/??/????): * Rebindable suggest-next-page and suggest-prev-page actions for textboxes (GntEntry) to scroll through list of suggestions. + XMPP: + * Allow connecting to servers that only advertise GSSAPI and expect + a fallback to legacy IQ authentication (broken in 2.7.0). + version 2.7.1 (05/29/2010): General: * Build fixes on OpenSolaris. (Brian Lu) ============================================================ --- libpurple/protocols/jabber/auth_cyrus.c 4f2b22d5544a49be18e0f71ac97b67fcc5fec23d +++ libpurple/protocols/jabber/auth_cyrus.c 0133869a6af054953573bb36fcb09742d79083ac @@ -256,7 +256,7 @@ jabber_auth_start_cyrus(JabberStream *js js->auth_fail_count++; if (js->auth_fail_count == 1 && - (js->sasl_mechs->str && g_str_equal(js->sasl_mechs->str, "GSSAPI"))) { + (js->sasl_mechs->str && g_str_equal(js->sasl_mechs->str, "GSSAPI "))) { /* If we tried GSSAPI first, it failed, and it was the only method we had to try, try jabber:iq:auth * for compatibility with iChat 10.5 Server and other jabberd based servers. * From darkrain42 at pidgin.im Sat Jun 12 16:20:46 2010 From: darkrain42 at pidgin.im (darkrain42 at pidgin.im) Date: Sat, 12 Jun 2010 16:20:46 -0400 (EDT) Subject: pidgin: 63223dd2: jabber: Make that more future-proof by n... Message-ID: <20100612202046.70077AFD0007@rock.pidgin.im> ----------------------------------------------------------------- Revision: 63223dd28d39ec1b2e6b4f834003f60f33583385 Ancestor: 0673f8579282f4181ac7fb5738a1afc873b57cac Author: darkrain42 at pidgin.im Date: 2010-06-12T20:18:31 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/63223dd28d39ec1b2e6b4f834003f60f33583385 Modified files: libpurple/protocols/jabber/auth_cyrus.c ChangeLog: jabber: Make that more future-proof by never generating "GSSAPI " Changed at Masca's pestering. -------------- next part -------------- ============================================================ --- libpurple/protocols/jabber/auth_cyrus.c 0133869a6af054953573bb36fcb09742d79083ac +++ libpurple/protocols/jabber/auth_cyrus.c 3f23cf2f2b7f4616ebedaf633dcdda0dadc91efb @@ -256,7 +256,7 @@ jabber_auth_start_cyrus(JabberStream *js js->auth_fail_count++; if (js->auth_fail_count == 1 && - (js->sasl_mechs->str && g_str_equal(js->sasl_mechs->str, "GSSAPI "))) { + (js->sasl_mechs->str && g_str_equal(js->sasl_mechs->str, "GSSAPI"))) { /* If we tried GSSAPI first, it failed, and it was the only method we had to try, try jabber:iq:auth * for compatibility with iChat 10.5 Server and other jabberd based servers. * @@ -419,6 +419,10 @@ jabber_cyrus_start(JabberStream *js, xml g_free(mech_name); } + /* Strip off the trailing ' ' */ + if (js->sasl_mechs->len > 1) + g_string_truncate(js->sasl_mechs, js->sasl_mechs->len - 1); + jabber_sasl_build_callbacks(js); ret = jabber_auth_start_cyrus(js, reply, error); From masca at cpw.pidgin.im Sat Jun 12 17:45:53 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Sat, 12 Jun 2010 17:45:53 -0400 (EDT) Subject: soc.2010.msn-tlc: 39e9d0d3: Move more SlpMessage creation to its mod... Message-ID: <20100612214553.B1345AFD0007@rock.pidgin.im> ----------------------------------------------------------------- Revision: 39e9d0d35f265ccc2eda57be427140e9a587fc2f Ancestor: 2f970e541e55b8bed161082b2fff07f59f12fae4 Author: masca at cpw.pidgin.im Date: 2010-06-12T21:22:06 Branch: im.pidgin.soc.2010.msn-tlc URL: http://d.pidgin.im/viewmtn/revision/info/39e9d0d35f265ccc2eda57be427140e9a587fc2f Modified files: libpurple/protocols/msn/slp.c libpurple/protocols/msn/slplink.c libpurple/protocols/msn/slpmsg.c libpurple/protocols/msn/slpmsg.h ChangeLog: Move more SlpMessage creation to its module. -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/slp.c f88c999f8ae623e7ecb6fb87d4e1be9d8908ea1f +++ libpurple/protocols/msn/slp.c 8a50a90b765b9fc7a4013b8f1c1ca062c3a4100a @@ -509,19 +509,13 @@ got_sessionreq(MsnSlpCall *slpcall, cons if (img != NULL) { /* DATA PREP */ - slpmsg = msn_slpmsg_new(slplink); - slpmsg->slpcall = slpcall; - slpmsg->session_id = slpcall->session_id; - msn_slpmsg_set_body(slpmsg, NULL, 4); - slpmsg->info = "SLP DATA PREP"; + slpmsg = msn_slpmsg_new_dataprep(slpcall); + msn_slpmsg_set_slplink(slpmsg, slplink); msn_slplink_queue_slpmsg(slplink, slpmsg); /* DATA */ - slpmsg = msn_slpmsg_new(slplink); - slpmsg->slpcall = slpcall; - slpmsg->flags = P2P_MSN_OBJ_DATA; - slpmsg->info = "SLP DATA"; - msn_slpmsg_set_image(slpmsg, img); + slpmsg = msn_slpmsg_new_obj(slpcall, img); + msn_slpmsg_set_slplink(slpmsg, slplink); msn_slplink_queue_slpmsg(slplink, slpmsg); purple_imgstore_unref(img); ============================================================ --- libpurple/protocols/msn/slplink.c d2bb985a259189ec94fd206c584e9cb96fb90e86 +++ libpurple/protocols/msn/slplink.c 1f00da23217b1437e514e12fb5a4913227dce5a6 @@ -538,11 +538,8 @@ send_file_cb(MsnSlpCall *slpcall) } purple_xfer_unref(xfer); - slpmsg = msn_slpmsg_new(slpcall->slplink); - slpmsg->slpcall = slpcall; - slpmsg->flags = P2P_FILE_DATA; - slpmsg->info = "SLP FILE"; - slpmsg->size = purple_xfer_get_size(xfer); + slpmsg = msn_slpmsg_new_file(slpcall, purple_xfer_get_size(xfer)); + msn_slpmsg_set_slplink(slpmsg, slpcall->slplink); msn_slplink_send_slpmsg(slpcall->slplink, slpmsg); } ============================================================ --- libpurple/protocols/msn/slpmsg.c d1957d9f3598d5c6a9cbd2c32390923005466b56 +++ libpurple/protocols/msn/slpmsg.c bb2aeab4fa57ecd93d19017da57649702c4681e6 @@ -280,6 +280,48 @@ MsnSlpMessage *msn_slpmsg_new_ack(MsnP2P return slpmsg; } +MsnSlpMessage *msn_slpmsg_new_obj(MsnSlpCall *slpcall,PurpleStoredImage *img) +{ + MsnSlpMessage *slpmsg; + + slpmsg = msn_slpmsg_new(NULL); + slpmsg->slpcall = slpcall; + slpmsg->flags = P2P_MSN_OBJ_DATA; + slpmsg->info = "SLP DATA"; + + msn_slpmsg_set_image(slpmsg, img); + + return slpmsg; +} + +MsnSlpMessage *msn_slpmsg_new_dataprep(MsnSlpCall *slpcall) +{ + MsnSlpMessage *slpmsg; + + slpmsg = msn_slpmsg_new(NULL); + slpmsg->slpcall = slpcall; + slpmsg->session_id = slpcall->session_id; + msn_slpmsg_set_body(slpmsg, NULL, 4); + slpmsg->info = "SLP DATA PREP"; + + return slpmsg; + +} + +MsnSlpMessage *msn_slpmsg_new_file(MsnSlpCall *slpcall, size_t size) +{ + MsnSlpMessage *slpmsg; + + slpmsg = msn_slpmsg_new(NULL); + + slpmsg->slpcall = slpcall; + slpmsg->flags = P2P_FILE_DATA; + slpmsg->info = "SLP FILE"; + slpmsg->size = size; + + return slpmsg; +} + char *msn_slpmsg_serialize(MsnSlpMessage *slpmsg, size_t *ret_size) { MsnP2PHeader *header; ============================================================ --- libpurple/protocols/msn/slpmsg.h 7926313e7301651878b108b0360050dd631e3795 +++ libpurple/protocols/msn/slpmsg.h 2e10f8f669df5d84cc962252515db2d833995c46 @@ -138,6 +138,35 @@ MsnSlpMessage *msn_slpmsg_new_ack(MsnP2P */ MsnSlpMessage *msn_slpmsg_new_ack(MsnP2PHeader *header); +/** + * Create a new SLP message for MsnObject data. + * + * @param slpcall The slpcall that manages this message. + * @param img The image to be sent in this message. + * + * @return A new SlpMessage with MsnObject info. + */ +MsnSlpMessage *msn_slpmsg_new_obj(MsnSlpCall *slpcall, PurpleStoredImage *img); + +/** + * Create a new SLP message for data preparation. + * + * @param slpcall The slpcall that manages this message. + * + * @return A new SlpMessage with data preparation info. + */ +MsnSlpMessage *msn_slpmsg_new_dataprep(MsnSlpCall *slpcall); + +/** + * Create a new SLP message for File transfer. + * + * @param slpcall The slpcall that manages this message. + * @param size The size of the file being transsmited. + * + * @return A new SlpMessage with the file transfer info. + */ +MsnSlpMessage *msn_slpmsg_new_file(MsnSlpCall *slpcall, size_t size); + void msn_slpmsg_show(MsnMessage *msg); /** From masca at cpw.pidgin.im Sat Jun 12 17:45:54 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Sat, 12 Jun 2010 17:45:54 -0400 (EDT) Subject: soc.2010.msn-tlc: 3d5d87c1: Use better function names. Message-ID: <20100612214554.281D8AFD0007@rock.pidgin.im> ----------------------------------------------------------------- Revision: 3d5d87c16b3ebcaf8c44aa828aa50ba9bb73fe05 Ancestor: 39e9d0d35f265ccc2eda57be427140e9a587fc2f Author: masca at cpw.pidgin.im Date: 2010-06-12T21:38:32 Branch: im.pidgin.soc.2010.msn-tlc URL: http://d.pidgin.im/viewmtn/revision/info/3d5d87c16b3ebcaf8c44aa828aa50ba9bb73fe05 Modified files: libpurple/protocols/msn/slp.c libpurple/protocols/msn/slplink.c libpurple/protocols/msn/slpmsg.c libpurple/protocols/msn/slpmsg.h ChangeLog: Use better function names. -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/slp.c 8a50a90b765b9fc7a4013b8f1c1ca062c3a4100a +++ libpurple/protocols/msn/slp.c 36c16b64c8fc663ba1a55928b513a7f505c6bc1e @@ -509,12 +509,12 @@ got_sessionreq(MsnSlpCall *slpcall, cons if (img != NULL) { /* DATA PREP */ - slpmsg = msn_slpmsg_new_dataprep(slpcall); + slpmsg = msn_slpmsg_dataprep_new(slpcall); msn_slpmsg_set_slplink(slpmsg, slplink); msn_slplink_queue_slpmsg(slplink, slpmsg); /* DATA */ - slpmsg = msn_slpmsg_new_obj(slpcall, img); + slpmsg = msn_slpmsg_obj_new(slpcall, img); msn_slpmsg_set_slplink(slpmsg, slplink); msn_slplink_queue_slpmsg(slplink, slpmsg); purple_imgstore_unref(img); ============================================================ --- libpurple/protocols/msn/slplink.c 1f00da23217b1437e514e12fb5a4913227dce5a6 +++ libpurple/protocols/msn/slplink.c 1a8038e7777a9d00932fc382939a436d301dae21 @@ -505,7 +505,7 @@ msn_slplink_create_ack(MsnSlpLink *slpli { MsnSlpMessage *slpmsg; - slpmsg = msn_slpmsg_new_ack(header); + slpmsg = msn_slpmsg_ack_new(header); msn_slpmsg_set_slplink(slpmsg, slplink); return slpmsg; @@ -538,7 +538,7 @@ send_file_cb(MsnSlpCall *slpcall) } purple_xfer_unref(xfer); - slpmsg = msn_slpmsg_new_file(slpcall, purple_xfer_get_size(xfer)); + slpmsg = msn_slpmsg_file_new(slpcall, purple_xfer_get_size(xfer)); msn_slpmsg_set_slplink(slpmsg, slpcall->slplink); msn_slplink_send_slpmsg(slpcall->slplink, slpmsg); ============================================================ --- libpurple/protocols/msn/slpmsg.c bb2aeab4fa57ecd93d19017da57649702c4681e6 +++ libpurple/protocols/msn/slpmsg.c acfbd76951c87394b517da9440fa6e63a1526ef6 @@ -263,7 +263,7 @@ msn_slpmsg_sip_new(MsnSlpCall *slpcall, return slpmsg; } -MsnSlpMessage *msn_slpmsg_new_ack(MsnP2PHeader *header) +MsnSlpMessage *msn_slpmsg_ack_new(MsnP2PHeader *header) { MsnSlpMessage *slpmsg; @@ -280,7 +280,7 @@ MsnSlpMessage *msn_slpmsg_new_ack(MsnP2P return slpmsg; } -MsnSlpMessage *msn_slpmsg_new_obj(MsnSlpCall *slpcall,PurpleStoredImage *img) +MsnSlpMessage *msn_slpmsg_obj_new(MsnSlpCall *slpcall, PurpleStoredImage *img) { MsnSlpMessage *slpmsg; @@ -294,7 +294,7 @@ MsnSlpMessage *msn_slpmsg_new_obj(MsnSlp return slpmsg; } -MsnSlpMessage *msn_slpmsg_new_dataprep(MsnSlpCall *slpcall) +MsnSlpMessage *msn_slpmsg_dataprep_new(MsnSlpCall *slpcall) { MsnSlpMessage *slpmsg; @@ -308,7 +308,7 @@ MsnSlpMessage *msn_slpmsg_new_dataprep(M } -MsnSlpMessage *msn_slpmsg_new_file(MsnSlpCall *slpcall, size_t size) +MsnSlpMessage *msn_slpmsg_file_new(MsnSlpCall *slpcall, size_t size) { MsnSlpMessage *slpmsg; ============================================================ --- libpurple/protocols/msn/slpmsg.h 2e10f8f669df5d84cc962252515db2d833995c46 +++ libpurple/protocols/msn/slpmsg.h 2e246a268658e331b764f6275bad04acb9a1e86e @@ -136,7 +136,7 @@ MsnSlpMessage * msn_slpmsg_sip_new(MsnSl * * @return A new SlpMessage with ACK headers */ -MsnSlpMessage *msn_slpmsg_new_ack(MsnP2PHeader *header); +MsnSlpMessage *msn_slpmsg_ack_new(MsnP2PHeader *header); /** * Create a new SLP message for MsnObject data. @@ -146,7 +146,7 @@ MsnSlpMessage *msn_slpmsg_new_ack(MsnP2P * * @return A new SlpMessage with MsnObject info. */ -MsnSlpMessage *msn_slpmsg_new_obj(MsnSlpCall *slpcall, PurpleStoredImage *img); +MsnSlpMessage *msn_slpmsg_obj_new(MsnSlpCall *slpcall, PurpleStoredImage *img); /** * Create a new SLP message for data preparation. @@ -155,7 +155,7 @@ MsnSlpMessage *msn_slpmsg_new_obj(MsnSlp * * @return A new SlpMessage with data preparation info. */ -MsnSlpMessage *msn_slpmsg_new_dataprep(MsnSlpCall *slpcall); +MsnSlpMessage *msn_slpmsg_dataprep_new(MsnSlpCall *slpcall); /** * Create a new SLP message for File transfer. @@ -165,7 +165,7 @@ MsnSlpMessage *msn_slpmsg_new_dataprep(M * * @return A new SlpMessage with the file transfer info. */ -MsnSlpMessage *msn_slpmsg_new_file(MsnSlpCall *slpcall, size_t size); +MsnSlpMessage *msn_slpmsg_file_new(MsnSlpCall *slpcall, size_t size); void msn_slpmsg_show(MsnMessage *msg); From darkrain42 at pidgin.im Sat Jun 12 19:05:53 2010 From: darkrain42 at pidgin.im (darkrain42 at pidgin.im) Date: Sat, 12 Jun 2010 19:05:53 -0400 (EDT) Subject: pidgin: ceb005fd: jabber: Document the other cyrus hack (i... Message-ID: <20100612230553.08C33AFD0007@rock.pidgin.im> ----------------------------------------------------------------- Revision: ceb005fdb6c0df6220be2407cb7e30d74c470667 Ancestor: 63223dd28d39ec1b2e6b4f834003f60f33583385 Author: darkrain42 at pidgin.im Date: 2010-06-12T23:01:44 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/ceb005fdb6c0df6220be2407cb7e30d74c470667 Modified files: libpurple/protocols/jabber/auth_cyrus.c ChangeLog: jabber: Document the other cyrus hack (ignoring EXTERNAL) -------------- next part -------------- ============================================================ --- libpurple/protocols/jabber/auth_cyrus.c 3f23cf2f2b7f4616ebedaf633dcdda0dadc91efb +++ libpurple/protocols/jabber/auth_cyrus.c 4b15693ad4c1683516c1a26132737e98e4e4f471 @@ -408,6 +408,12 @@ jabber_cyrus_start(JabberStream *js, xml { char *mech_name = xmlnode_get_data(mechnode); + /* Ignore blank mechanisms and EXTERNAL. External isn't + * supported, and Cyrus SASL's mechanism returns + * SASL_NOMECH when the caller (us) doesn't configure it. + * Except SASL_NOMECH is supposed to mean "no concordant + * mechanisms"... Easiest just to blacklist it (for now). + */ if (!mech_name || !*mech_name || g_str_equal(mech_name, "EXTERNAL")) { g_free(mech_name); From darkrain42 at pidgin.im Sun Jun 13 01:51:53 2010 From: darkrain42 at pidgin.im (darkrain42 at pidgin.im) Date: Sun, 13 Jun 2010 01:51:53 -0400 (EDT) Subject: pidgin: 7f18d445: Formatting Message-ID: <20100613055153.9CB58AFD1FE4@rock.pidgin.im> ----------------------------------------------------------------- Revision: 7f18d445cdefc8ed3f973f00e9d2176eebf75bd4 Ancestor: ceb005fdb6c0df6220be2407cb7e30d74c470667 Author: darkrain42 at pidgin.im Date: 2010-06-13T05:44:13 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/7f18d445cdefc8ed3f973f00e9d2176eebf75bd4 Modified files: ChangeLog ChangeLog: Formatting -------------- next part -------------- ============================================================ --- ChangeLog be8ee4ae8437b441401513586a8cdd97d457d075 +++ ChangeLog 4b1d534dbc493e05c24ae3088b6406a21bf5c652 @@ -2,7 +2,7 @@ version 2.7.2 (??/??/????): version 2.7.2 (??/??/????): libpurple: - * Fix the TURN server setting to work again since the media refactor. + * Fix the TURN server settings (broken in 2.7.0). Pidgin: * Re-focus the input area after clicking the attention toolbar button. From rekkanoryo at pidgin.im Sun Jun 13 20:10:49 2010 From: rekkanoryo at pidgin.im (rekkanoryo at pidgin.im) Date: Sun, 13 Jun 2010 20:10:49 -0400 (EDT) Subject: pidgin: 1724c0c7: Very hackily implement a fallback mechan... Message-ID: <20100614001049.F3385AFD0A36@rock.pidgin.im> ----------------------------------------------------------------- Revision: 1724c0c7cbf56b08b5454e796b80173ec9aef481 Ancestor: 7f18d445cdefc8ed3f973f00e9d2176eebf75bd4 Author: rekkanoryo at pidgin.im Date: 2010-06-13T23:07:24 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/1724c0c7cbf56b08b5454e796b80173ec9aef481 Modified files: libpurple/protocols/yahoo/libymsg.c libpurple/protocols/yahoo/libymsg.h ChangeLog: Very hackily implement a fallback mechanism in Yahoo, but not for Yahoo Japan because we don't know hosts we can fall back to there yet. This fallback mechanism just blindly connects to scsa.msg.yahoo.com if the HTTP-based CS lookup fails. I guarantee this will break in the future. Refs #11986. -------------- next part -------------- ============================================================ --- libpurple/protocols/yahoo/libymsg.c 10e1f954fa17346bfe6febf9f63e94fad26de543 +++ libpurple/protocols/yahoo/libymsg.c 048656e6bbe4958a2ecaeac7f596cb934b8f7b80 @@ -3602,8 +3602,17 @@ static void yahoo_got_pager_server(Purpl purple_debug_error("yahoo", "Unable to retrieve server info. %" G_GSIZE_FORMAT " bytes retrieved with error message: %s\n", len, error_message ? error_message : "(null)"); - purple_connection_error_reason(gc, PURPLE_CONNECTION_ERROR_NETWORK_ERROR, - _("Unable to connect: The server returned an empty response.")); + + if(yahoo_is_japan(a)) { /* We don't know fallback hosts for Yahoo Japan :( */ + purple_connection_error_reason(gc, PURPLE_CONNECTION_ERROR_NETWORK_ERROR, + _("Unable to connect: The server returned an empty response.")); + } else { + if(purple_proxy_connect(gc, a, YAHOO_PAGER_HOST_FALLBACK, port, + yahoo_got_connected, gc) == NULL) { + purple_connection_error_reason(gc, PURPLE_CONNECTION_ERROR_NETWORK_ERROR, + _("Unable to connect")); + } + } } else { strings = g_strsplit(url_text, "\r\n", -1); @@ -3629,9 +3638,17 @@ static void yahoo_got_pager_server(Purpl } else { purple_debug_error("yahoo", "No CS address retrieved! Server " "response:\n%s\n", url_text ? url_text : "(null)"); - purple_connection_error_reason(gc, PURPLE_CONNECTION_ERROR_NETWORK_ERROR, - _("Unable to connect: The server's response did not contain " - "the necessary information")); + + if(yahoo_is_japan(a)) { /* We don't know fallback hosts for Yahoo Japan :( */ + purple_connection_error_reason(gc, PURPLE_CONNECTION_ERROR_NETWORK_ERROR, + _("Unable to connect: The server's response did not contain " + "the necessary information")); + } else + if(purple_proxy_connect(gc, a, YAHOO_PAGER_HOST_FALLBACK, port, + yahoo_got_connected, gc) == NULL) { + purple_connection_error_reason(gc, PURPLE_CONNECTION_ERROR_NETWORK_ERROR, + _("Unable to connect")); + } } } ============================================================ --- libpurple/protocols/yahoo/libymsg.h 42ea038bc0dea38c8052be92b166322a6308d8f4 +++ libpurple/protocols/yahoo/libymsg.h 4d92455a28672f64f4e44567a24889776d720d01 @@ -30,6 +30,7 @@ #include "prpl.h" #define YAHOO_PAGER_HOST_REQ_URL "http://vcs1.msg.yahoo.com/capacity" +#define YAHOO_PAGER_HOST_FALLBACK "scsa.msg.yahoo.com" #define YAHOO_PAGER_PORT 5050 #define YAHOO_PAGER_PORT_P2P 5101 #define YAHOO_LOGIN_URL "https://login.yahoo.com/config/pwtoken_login?src=ymsgr&ts=&token=%s" From rekkanoryo at pidgin.im Sun Jun 13 20:10:50 2010 From: rekkanoryo at pidgin.im (rekkanoryo at pidgin.im) Date: Sun, 13 Jun 2010 20:10:50 -0400 (EDT) Subject: pidgin: d6854bcc: Change the shortcut key for "Set Mood" t... Message-ID: <20100614001050.71845AFD0A36@rock.pidgin.im> ----------------------------------------------------------------- Revision: d6854bccda6ab4484ef57cac3867d4f02fb083e4 Ancestor: f08e4f567582f7d28683d043f759a720ee9142e3 Author: rekkanoryo at pidgin.im Date: 2010-06-14T00:08:25 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/d6854bccda6ab4484ef57cac3867d4f02fb083e4 Modified files: pidgin/gtkblist.c ChangeLog: Change the shortcut key for "Set Mood" to Ctrl+O for uniqueness. Fixes #12166. -------------- next part -------------- ============================================================ --- pidgin/gtkblist.c 69ce95680f7dc8772402870c51c5fccd8b7e4560 +++ pidgin/gtkblist.c 66bedfb6412ebf8abf4d2d63115661ba9df4e4cb @@ -3686,7 +3686,7 @@ static GtkItemFactoryEntry blist_menu[] { N_("/Tools/Plu_gins"), "U", pidgin_plugin_dialog_show, 2, "", PIDGIN_STOCK_TOOLBAR_PLUGINS }, { N_("/Tools/Pr_eferences"), "P", pidgin_prefs_show, 0, "", GTK_STOCK_PREFERENCES }, { N_("/Tools/Pr_ivacy"), NULL, pidgin_privacy_dialog_show, 0, "", NULL }, - { N_("/Tools/Set _Mood"), "M", set_mood_show, 0, "", NULL }, + { N_("/Tools/Set _Mood"), "O", set_mood_show, 0, "", NULL }, { "/Tools/sep2", NULL, NULL, 0, "", NULL }, { N_("/Tools/_File Transfers"), "T", pidgin_xfer_dialog_show, 0, "", PIDGIN_STOCK_TOOLBAR_TRANSFER }, { N_("/Tools/R_oom List"), NULL, pidgin_roomlist_dialog_show, 0, "", NULL }, From rekkanoryo at pidgin.im Sun Jun 13 20:10:50 2010 From: rekkanoryo at pidgin.im (rekkanoryo at pidgin.im) Date: Sun, 13 Jun 2010 20:10:50 -0400 (EDT) Subject: pidgin: f08e4f56: Make HTTP proxy detection in the yahoo p... Message-ID: <20100614001050.F1E25AFD0A36@rock.pidgin.im> ----------------------------------------------------------------- Revision: f08e4f567582f7d28683d043f759a720ee9142e3 Ancestor: 1724c0c7cbf56b08b5454e796b80173ec9aef481 Author: rekkanoryo at pidgin.im Date: 2010-06-14T00:05:55 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/f08e4f567582f7d28683d043f759a720ee9142e3 Modified files: libpurple/protocols/yahoo/util.c ChangeLog: Make HTTP proxy detection in the yahoo prpls a bit more robust. This should solve some weird proxy related items I couldn't figure out before. Refs #11986. -------------- next part -------------- ============================================================ --- libpurple/protocols/yahoo/util.c 8b1a626fda1a7464e60bdbb4de4d48c6f4e695e5 +++ libpurple/protocols/yahoo/util.c bbd849135757fe7f16a2945beae0724771ef0179 @@ -33,10 +33,21 @@ gboolean #include gboolean -yahoo_account_use_http_proxy(PurpleConnection *conn) +yahoo_account_use_http_proxy(PurpleConnection *pc) { - PurpleProxyInfo *ppi = purple_proxy_get_setup(conn->account); - return (ppi->type == PURPLE_PROXY_HTTP || ppi->type == PURPLE_PROXY_USE_ENVVAR); + PurpleAccount *account = purple_connection_get_account(pc); + PurpleProxyInfo *ppi = NULL; + PurpleProxyType type = PURPLE_PROXY_NONE; + gboolean proxy_ssl = purple_account_get_bool(account, "proxy_ssl", FALSE); + + if(proxy_ssl) + ppi = purple_proxy_get_setup(account); + else + ppi = purple_global_proxy_get_info(); + + type = purple_proxy_info_get_type(ppi); + + return (type == PURPLE_PROXY_HTTP || type == PURPLE_PROXY_USE_ENVVAR); } /* From pieter.loubser at mxit.com Mon Jun 14 08:20:48 2010 From: pieter.loubser at mxit.com (pieter.loubser at mxit.com) Date: Mon, 14 Jun 2010 08:20:48 -0400 (EDT) Subject: pidgin.mxit: 5e100dff: Implemented new naming conventions Message-ID: <20100614122048.21B62AFD2191@rock.pidgin.im> ----------------------------------------------------------------- Revision: 5e100dffc9b7d212a420f899daa1f893a4be6b3c Ancestor: 819b7b498d49ef63fabf7e08c3a5c9263294a09f Author: pieter.loubser at mxit.com Date: 2010-06-14T12:16:50 Branch: im.pidgin.pidgin.mxit URL: http://d.pidgin.im/viewmtn/revision/info/5e100dffc9b7d212a420f899daa1f893a4be6b3c Modified files: libpurple/protocols/mxit/actions.c libpurple/protocols/mxit/login.c libpurple/protocols/mxit/mxit.c libpurple/protocols/mxit/mxit.h libpurple/protocols/mxit/profile.c libpurple/protocols/mxit/protocol.c ChangeLog: Implemented new naming conventions * changed MXitId to UID * changed nickname to Display Name * changed loginname to MXit ID -------------- next part -------------- ============================================================ --- libpurple/protocols/mxit/actions.c 09a1faf94e3d8faca80b46b142ea0a1c91f2b36e +++ libpurple/protocols/mxit/actions.c 124224391d5cf7a01ae4abd409022ee8e41e4694 @@ -225,12 +225,14 @@ static void mxit_cb_action_profile( Purp group = purple_request_field_group_new( NULL ); purple_request_fields_add_group( fields, group ); - /* mxitId (read-only) */ - if ( session->mxitId ) { - field = purple_request_field_string_new( "mxitid", _( "Your MXitId" ), session->mxitId, FALSE ); +#if 0 + /* UID (read-only) */ + if ( session->uid ) { + field = purple_request_field_string_new( "mxitid", _( "Your UID" ), session->uid, FALSE ); purple_request_field_string_set_editable( field, FALSE ); purple_request_field_group_add_field( group, field ); } +#endif /* pin */ field = purple_request_field_string_new( "pin", _( "PIN" ), session->acc->password, FALSE ); ============================================================ --- libpurple/protocols/mxit/login.c 39098bab736b280eedce55173d685922a5fa7de9 +++ libpurple/protocols/mxit/login.c a10dab5a9666e795e60966664f9fc109e2cabca9 @@ -238,7 +238,7 @@ static void mxit_cb_register_ok( PurpleC /* nickname */ str = purple_request_fields_get_string( fields, "nickname" ); if ( ( !str ) || ( strlen( str ) < 3 ) ) { - err = _( "The nick name you entered is invalid." ); + err = _( "The Display Name you entered is invalid." ); goto out; } g_strlcpy( profile->nickname, str, sizeof( profile->nickname ) ); @@ -329,12 +329,12 @@ static void mxit_register_view( struct M purple_request_fields_add_group( fields, group ); /* mxit login name */ - field = purple_request_field_string_new( "loginname", _( "MXit Login Name" ), purple_account_get_username( session->acc ), FALSE ); + field = purple_request_field_string_new( "loginname", _( "MXit ID" ), purple_account_get_username( session->acc ), FALSE ); purple_request_field_string_set_editable( field, FALSE ); purple_request_field_group_add_field( group, field ); /* nick name (required) */ - field = purple_request_field_string_new( "nickname", _( "Nick Name" ), profile->nickname, FALSE ); + field = purple_request_field_string_new( "nickname", _( "Display Name" ), profile->nickname, FALSE ); purple_request_field_set_required( field, TRUE ); purple_request_field_group_add_field( group, field ); @@ -418,10 +418,10 @@ static void mxit_cb_clientinfo2( PurpleU purple_connection_error( session->con, _( "Invalid country selected. Please try again." ) ); return; case '6' : - purple_connection_error( session->con, _( "Username is not registered. Please register first." ) ); + purple_connection_error( session->con, _( "The MXit ID you entered is not registered. Please register first." ) ); return; case '7' : - purple_connection_error( session->con, _( "Username is already registered. Please choose another username." ) ); + purple_connection_error( session->con, _( "The MXit ID you entered is already registered. Please choose another." ) ); /* this user's account already exists, so we need to change the registration login flag to be login */ purple_account_set_int( session->acc, MXIT_CONFIG_STATE, MXIT_STATE_LOGIN ); return; ============================================================ --- libpurple/protocols/mxit/mxit.c a1cb4e2f463dd954f5d9c073aa18708ebe4f88e8 +++ libpurple/protocols/mxit/mxit.c 3b38418b69f625ac76b62d9785a96b82c1b70743 @@ -578,7 +578,7 @@ static GHashTable* mxit_get_text_table( table = g_hash_table_new( g_str_hash, g_str_equal ); - g_hash_table_insert( table, "login_label", (gpointer)_( "Your Mobile Number..." ) ); + g_hash_table_insert( table, "login_label", (gpointer)_( "Your MXit ID..." ) ); return table; } ============================================================ --- libpurple/protocols/mxit/mxit.h b8ba177f94dec3776b4703c253f1cbc3ab73ad91 +++ libpurple/protocols/mxit/mxit.h ca90cb4e0826ed8a97559e5b968ded42613b5b0a @@ -151,7 +151,7 @@ struct MXitSession { /* personal (profile) */ struct MXitProfile* profile; /* user's profile information */ - char* mxitId; /* the user's MXitId */ + char* uid; /* the user's UID */ /* libpurple */ PurpleAccount* acc; /* pointer to the libpurple internal account struct */ ============================================================ --- libpurple/protocols/mxit/profile.c d309b2d1d4748a1bb8ce6f21067c4710d9b6189a +++ libpurple/protocols/mxit/profile.c 0bfa75e5781533d06df731d90cfc6c89f51ce60a @@ -120,7 +120,7 @@ void mxit_show_profile( struct MXitSessi contact = purple_buddy_get_protocol_data(buddy); } - purple_notify_user_info_add_pair( info, _( "Nick Name" ), profile->nickname ); + purple_notify_user_info_add_pair( info, _( "Display Name" ), profile->nickname ); purple_notify_user_info_add_pair( info, _( "Birthday" ), profile->birthday ); purple_notify_user_info_add_pair( info, _( "Gender" ), profile->male ? _( "Male" ) : _( "Female" ) ); // purple_notify_user_info_add_pair( info, _( "Hidden Number" ), profile->hidden ? _( "Yes" ) : _( "No" ) ); ============================================================ --- libpurple/protocols/mxit/protocol.c b9ceffc9dbb27b91d58bc792ac63cda4ea7505c6 +++ libpurple/protocols/mxit/protocol.c 5743ef03d27d58e0b74a46e93b287b4f76b2a4f1 @@ -1304,7 +1304,7 @@ static void mxit_parse_cmd_login( struct /* extract MXitId (from protocol 5.9) */ if ( records[1]->fcount >= 9 ) - session->mxitId = g_strdup( records[1]->fields[8]->data ); + session->uid = g_strdup( records[1]->fields[8]->data ); /* display the current splash-screen */ if ( splash_popup_enabled( session ) ) @@ -2487,8 +2487,8 @@ void mxit_close_connection( struct MXitS mxit_free_emoticon_cache( session ); /* free allocated memory */ - if ( session->mxitId ) - g_free( session->mxitId ); + if ( session->uid ) + g_free( session->uid ); g_free( session->encpwd ); session->encpwd = NULL; From rekkanoryo at pidgin.im Mon Jun 14 10:16:02 2010 From: rekkanoryo at pidgin.im (rekkanoryo at pidgin.im) Date: Mon, 14 Jun 2010 10:16:02 -0400 (EDT) Subject: pidgin: 141f4010: Fix a mistake I made with the fallback c... Message-ID: <20100614141602.15D5FAFD1FF3@rock.pidgin.im> ----------------------------------------------------------------- Revision: 141f4010f85161aa008307a388f75d651ef6d758 Ancestor: d6854bccda6ab4484ef57cac3867d4f02fb083e4 Author: rekkanoryo at pidgin.im Date: 2010-06-14T14:10:42 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/141f4010f85161aa008307a388f75d651ef6d758 Modified files: libpurple/protocols/yahoo/libymsg.c ChangeLog: Fix a mistake I made with the fallback code. Refs #11986. -------------- next part -------------- ============================================================ --- libpurple/protocols/yahoo/libymsg.c 048656e6bbe4958a2ecaeac7f596cb934b8f7b80 +++ libpurple/protocols/yahoo/libymsg.c 5ab8f3bdabb7e62cf56623ed1d9f85e516a8aec4 @@ -3594,7 +3594,8 @@ static void yahoo_got_pager_server(Purpl PurpleConnection *gc = yd->gc; PurpleAccount *a = purple_connection_get_account(gc); gchar **strings = NULL, *cs_server = NULL; - int port = 0, stringslen = 0; + int port = purple_account_get_int(a, "port", YAHOO_PAGER_PORT); + int stringslen = 0; yd->url_datas = g_slist_remove(yd->url_datas, url_data); @@ -3630,8 +3631,6 @@ static void yahoo_got_pager_server(Purpl } if(cs_server) { /* got an address; get on with connecting */ - port = purple_account_get_int(a, "port", YAHOO_PAGER_PORT); - if(purple_proxy_connect(gc, a, cs_server, port, yahoo_got_connected, gc) == NULL) purple_connection_error_reason(gc, PURPLE_CONNECTION_ERROR_NETWORK_ERROR, _("Unable to connect")); @@ -3699,7 +3698,7 @@ void yahoo_login(PurpleAccount *account) proxy_ssl ? purple_connection_get_account(gc) : NULL, yd->jp ? YAHOOJP_PAGER_HOST_REQ_URL : YAHOO_PAGER_HOST_REQ_URL, use_whole_url ? TRUE : FALSE, - YAHOO_CLIENT_USERAGENT, TRUE, NULL, FALSE, -1, + YAHOO_CLIENT_USERAGENT, FALSE, NULL, FALSE, -1, yahoo_got_pager_server, yd); if (url_data) yd->url_datas = g_slist_prepend(yd->url_datas, url_data); From rekkanoryo at pidgin.im Mon Jun 14 12:02:53 2010 From: rekkanoryo at pidgin.im (rekkanoryo at pidgin.im) Date: Mon, 14 Jun 2010 12:02:53 -0400 (EDT) Subject: pidgin: b002aa7c: !ChangeLog all the changes I've made to ... Message-ID: <20100614160253.807F35BD009A@rock.pidgin.im> ----------------------------------------------------------------- Revision: b002aa7c53145ba5350bf1b2ed47059a4018c79a Ancestor: 141f4010f85161aa008307a388f75d651ef6d758 Author: rekkanoryo at pidgin.im Date: 2010-06-14T15:59:18 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/b002aa7c53145ba5350bf1b2ed47059a4018c79a Modified files: ChangeLog ChangeLog: !ChangeLog all the changes I've made to the Yahoo prpls so far. Refs #11986. Refs #11908. -------------- next part -------------- ============================================================ --- ChangeLog 4b1d534dbc493e05c24ae3088b6406a21bf5c652 +++ ChangeLog 51b7dd202fd70cfb8cefc6e5e69129b60287aa9c @@ -15,6 +15,17 @@ version 2.7.2 (??/??/????): * Allow connecting to servers that only advertise GSSAPI and expect a fallback to legacy IQ authentication (broken in 2.7.0). + Yahoo/Yahoo JAPAN: + * Renamed "Use account proxy for SSL connections" to "Use account proxy + for HTTP and HTTPS requests" and tied the option to HTTP requests too. + * Properly detect HTTP proxy server use when the HTTP proxy is the global + proxy server, an account-level non-HTTP proxy server is configured, and + the "Use account proxy for HTTP and HTTPS requests" account option is + turned off. This fixes connecting for some HTTP proxy servers. + * Fall back to connecting to scsa.msg.yahoo.com (not configurable) if the + HTTP-based connect server lookup fails. This does not work for Yahoo + JAPAN accounts. + version 2.7.1 (05/29/2010): General: * Build fixes on OpenSolaris. (Brian Lu) From markdoliner at pidgin.im Mon Jun 14 17:10:40 2010 From: markdoliner at pidgin.im (markdoliner at pidgin.im) Date: Mon, 14 Jun 2010 17:10:40 -0400 (EDT) Subject: pidgin: 74a81229: Expand our test for purple_email_is_vali... Message-ID: <20100614211040.ABA20AFD219D@rock.pidgin.im> ----------------------------------------------------------------- Revision: 74a81229c626a318447546176d5b27a0197a44a4 Ancestor: b002aa7c53145ba5350bf1b2ed47059a4018c79a Author: markdoliner at pidgin.im Date: 2010-06-14T21:05:47 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/74a81229c626a318447546176d5b27a0197a44a4 Modified files: libpurple/tests/test_util.c ChangeLog: Expand our test for purple_email_is_valid(). I stumbled across a large list of valid and invalid email address and thought it'd make a good test. The ones that are commented out belong in their respective list, but our validate function doesn't catch them. I don't plan on changing our validate function, though. If anyone else wants to... more power to ya -------------- next part -------------- ============================================================ --- libpurple/tests/test_util.c 88da4e64dd0cc9050d58f8ec014f97b050692bb7 +++ libpurple/tests/test_util.c 4f0635a8b3688980eea70f2fb12af4a7e039499c @@ -66,8 +66,57 @@ END_TEST } END_TEST +/* + * Lists of valid and invalid email addresses comes from + * http://fightingforalostcause.net/misc/2006/compare-email-regex.php + */ +const char *valid_emails[] = { + "l3tt3rsAndNumb3rs at domain.com", + "has-dash at domain.com", + "hasApostrophe.o'leary at domain.org", + "uncommonTLD at domain.museum", + "uncommonTLD at domain.travel", + "uncommonTLD at domain.mobi", + "countryCodeTLD at domain.uk", + "countryCodeTLD at domain.rw", + "lettersInDomain at 911.com", + "underscore_inLocal at domain.net", + "IPInsteadOfDomain at 127.0.0.1", + /* "IPAndPort at 127.0.0.1:25", */ + "subdomain at sub.domain.com", + "local at dash-inDomain.com", + "dot.inLocal at foo.com", + "a at singleLetterLocal.org", + "singleLetterDomain at x.org", + "&*=?^+{}'~@validCharsInLocal.net", + "foor at bar.newTLD" +}; + +const char *invalid_emails[] = { + "missingDomain at .com", + "@missingLocal.org", + "missingatSign.net", + "missingDot at com", + "two@@signs.com", + "colonButNoPort at 127.0.0.1:", + "" + /* "someone-else at 127.0.0.1.26", */ + /* ".localStartsWithDot at domain.com", */ + /* "localEndsWithDot. at domain.com", */ + /* "two..consecutiveDots at domain.com", */ + /* "domainStartsWithDash at -domain.com", */ + "domainEndsWithDash at domain-.com", + /* "numbersInTLD at domain.c0m", */ + /* "missingTLD at domain.", */ + "! \"#$%(),/;<>[]`|@invalidCharsInLocal.org", + "invalidCharsInDomain@! \"#$%(),/;<>_[]`|.org", + /* "local at SecondLevelDomainNamesAreInvalidIfTheyAreLongerThan64Charactersss.org" */ +}; + START_TEST(test_util_email_is_valid) { + size_t i; + fail_unless(purple_email_is_valid("purple-devel at lists.sf.net")); fail_if(purple_email_is_valid("purple-devel@@lists.sf.net")); fail_if(purple_email_is_valid("purple at devel@lists.sf.net")); @@ -77,6 +126,12 @@ START_TEST(test_util_email_is_valid) fail_if(purple_email_is_valid("@lists.sf.net")); fail_if(purple_email_is_valid("")); fail_if(purple_email_is_valid("totally bogus")); + + for (i = 0; i < G_N_ELEMENTS(valid_emails); i++) + fail_unless(purple_email_is_valid(valid_emails[i]), "Email address was: %s", valid_emails[i]); + + for (i = 0; i < G_N_ELEMENTS(invalid_emails); i++) + fail_if(purple_email_is_valid(invalid_emails[i]), "Email address was: %s", invalid_emails[i]); } END_TEST From datallah at pidgin.im Mon Jun 14 18:15:47 2010 From: datallah at pidgin.im (datallah at pidgin.im) Date: Mon, 14 Jun 2010 18:15:47 -0400 (EDT) Subject: pidgin: baeaaf7d: Attempt to improve handling of HTTP requ... Message-ID: <20100614221547.56AFEAFD1FFF@rock.pidgin.im> ----------------------------------------------------------------- Revision: baeaaf7de69d9f99b7545dda73f219292c4dd106 Ancestor: d6854bccda6ab4484ef57cac3867d4f02fb083e4 Author: datallah at pidgin.im Date: 2010-06-14T22:09:12 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/baeaaf7de69d9f99b7545dda73f219292c4dd106 Modified files: libpurple/util.c ChangeLog: Attempt to improve handling of HTTP requests on port 80 when there is a HTTP proxy that requires authentication involved. This also has a fix to make sure that we continue to use the same proxy when we are redirected to an alternative URL. I'm tempted to create a purple_proxy_append_proxy_auth_headers(), but that would have to wait until 2.8.0. Refs #11986. Refs #11908. -------------- next part -------------- ============================================================ --- libpurple/util.c 7f7d25705b11fab7757bae05ad90b85e4d28b3e1 +++ libpurple/util.c f4a91454cdbe3b0ae65c2bd1c50680424315e44f @@ -28,6 +28,7 @@ #include "core.h" #include "debug.h" #include "notify.h" +#include "ntlm.h" #include "prpl.h" #include "prefs.h" #include "util.h" @@ -69,6 +70,7 @@ struct _PurpleUtilFetchUrlData unsigned long data_len; gssize max_len; gboolean chunked; + PurpleAccount *account; }; static char *custom_user_dir = NULL; @@ -3619,11 +3621,11 @@ parse_redirect(const char *data, size_t if (purple_strcasestr(new_url, "https://") != NULL) { gfud->is_ssl = TRUE; - gfud->ssl_connection = purple_ssl_connect(NULL, + gfud->ssl_connection = purple_ssl_connect(gfud->account, gfud->website.address, gfud->website.port, ssl_url_fetch_connect_cb, ssl_url_fetch_error_cb, gfud); } else { - gfud->connect_data = purple_proxy_connect(NULL, NULL, + gfud->connect_data = purple_proxy_connect(NULL, gfud->account, gfud->website.address, gfud->website.port, url_fetch_connect_cb, gfud); } @@ -3915,36 +3917,68 @@ url_fetch_send_cb(gpointer data, gint so gfud = data; - if (gfud->request == NULL) - { + if (gfud->request == NULL) { + + PurpleProxyInfo *gpi = purple_proxy_get_setup(gfud->account); + GString *request_str = g_string_new(NULL); + + g_string_append_printf(request_str, "GET %s%s HTTP/%s\r\n" + "Connection: close\r\n", + (gfud->full ? "" : "/"), + (gfud->full ? (gfud->url ? gfud->url : "") : (gfud->website.page ? gfud->website.page : "")), + (gfud->http11 ? "1.1" : "1.0")); + + if (gfud->user_agent) + g_string_append_printf(request_str, "User-Agent: %s\r\n", gfud->user_agent); + /* Host header is not forbidden in HTTP/1.0 requests, and HTTP/1.1 * clients must know how to handle the "chunked" transfer encoding. * Purple doesn't know how to handle "chunked", so should always send * the Host header regardless, to get around some observed problems */ - if (gfud->user_agent) { - gfud->request = g_strdup_printf( - "GET %s%s HTTP/%s\r\n" - "Connection: close\r\n" - "User-Agent: %s\r\n" - "Accept: */*\r\n" - "Host: %s\r\n\r\n", - (gfud->full ? "" : "/"), - (gfud->full ? (gfud->url ? gfud->url : "") : (gfud->website.page ? gfud->website.page : "")), - (gfud->http11 ? "1.1" : "1.0"), - (gfud->user_agent ? gfud->user_agent : ""), - (gfud->website.address ? gfud->website.address : "")); - } else { - gfud->request = g_strdup_printf( - "GET %s%s HTTP/%s\r\n" - "Connection: close\r\n" - "Accept: */*\r\n" - "Host: %s\r\n\r\n", - (gfud->full ? "" : "/"), - (gfud->full ? (gfud->url ? gfud->url : "") : (gfud->website.page ? gfud->website.page : "")), - (gfud->http11 ? "1.1" : "1.0"), - (gfud->website.address ? gfud->website.address : "")); + g_string_append_printf(request_str, "Accept: */*\r\n" + "Host: %s\r\n", + (gfud->website.address ? gfud->website.address : "")); + + if (purple_proxy_info_get_username(gpi) != NULL + && (purple_proxy_info_get_type(gpi) == PURPLE_PROXY_USE_ENVVAR + || purple_proxy_info_get_type(gpi) == PURPLE_PROXY_HTTP)) { + /* This chunk of code was copied from proxy.c http_start_connect_tunneling() + * This is really a temporary hack - we need a more complete proxy handling solution, + * so I didn't think it was worthwhile to refactor for reuse + */ + char *t1, *t2, *ntlm_type1; + char hostname[256]; + int ret; + + ret = gethostname(hostname, sizeof(hostname)); + hostname[sizeof(hostname) - 1] = '\0'; + if (ret < 0 || hostname[0] == '\0') { + purple_debug_warning("util", "proxy - gethostname() failed -- is your hostname set?"); + strcpy(hostname, "localhost"); + } + + t1 = g_strdup_printf("%s:%s", + purple_proxy_info_get_username(gpi), + purple_proxy_info_get_password(gpi) ? + purple_proxy_info_get_password(gpi) : ""); + t2 = purple_base64_encode((const guchar *)t1, strlen(t1)); + g_free(t1); + + ntlm_type1 = purple_ntlm_gen_type1(hostname, ""); + + g_string_append_printf(request_str, + "Proxy-Authorization: Basic %s\r\n" + "Proxy-Authorization: NTLM %s\r\n" + "Proxy-Connection: Keep-Alive\r\n", + t2, ntlm_type1); + g_free(ntlm_type1); + g_free(t2); } + + g_string_append(request_str, "\r\n"); + + gfud->request = g_string_free(request_str, FALSE); } if(purple_debug_is_unsafe()) @@ -4083,6 +4117,7 @@ purple_util_fetch_url_request_len_with_a gfud->include_headers = include_headers; gfud->fd = -1; gfud->max_len = max_len; + gfud->account = account; purple_url_parse(url, &gfud->website.address, &gfud->website.port, &gfud->website.page, &gfud->website.user, &gfud->website.passwd); From datallah at pidgin.im Mon Jun 14 18:15:47 2010 From: datallah at pidgin.im (datallah at pidgin.im) Date: Mon, 14 Jun 2010 18:15:47 -0400 (EDT) Subject: pidgin: d918cdc5: merge of '74a81229c626a318447546176d5b27... Message-ID: <20100614221547.C6814AFD1FFF@rock.pidgin.im> ----------------------------------------------------------------- Revision: d918cdc525638623e1e461b9967485eec5d758ee Ancestor: 74a81229c626a318447546176d5b27a0197a44a4 Ancestor: baeaaf7de69d9f99b7545dda73f219292c4dd106 Author: datallah at pidgin.im Date: 2010-06-14T22:09:50 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/d918cdc525638623e1e461b9967485eec5d758ee Modified files: ChangeLog libpurple/protocols/yahoo/libymsg.c libpurple/tests/test_util.c libpurple/util.c ChangeLog: merge of '74a81229c626a318447546176d5b27a0197a44a4' and 'baeaaf7de69d9f99b7545dda73f219292c4dd106' From markdoliner at pidgin.im Mon Jun 14 18:25:32 2010 From: markdoliner at pidgin.im (markdoliner at pidgin.im) Date: Mon, 14 Jun 2010 18:25:32 -0400 (EDT) Subject: pidgin: df45ef4a: Oh, let's put our original test cases in... Message-ID: <20100614222532.9CB02AFD1FFF@rock.pidgin.im> ----------------------------------------------------------------- Revision: df45ef4a7ecbd22816d968415916540e2629c321 Ancestor: d918cdc525638623e1e461b9967485eec5d758ee Author: markdoliner at pidgin.im Date: 2010-06-14T22:23:33 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/df45ef4a7ecbd22816d968415916540e2629c321 Modified files: libpurple/tests/test_util.c ChangeLog: Oh, let's put our original test cases in the two arrays, to make things consistent and good -------------- next part -------------- ============================================================ --- libpurple/tests/test_util.c 4f0635a8b3688980eea70f2fb12af4a7e039499c +++ libpurple/tests/test_util.c 9c02b76b1af268d52783bbb6912d61d036dfb9b2 @@ -67,10 +67,11 @@ END_TEST END_TEST /* - * Lists of valid and invalid email addresses comes from + * Many of the valid and invalid email addresses lised below are from * http://fightingforalostcause.net/misc/2006/compare-email-regex.php */ const char *valid_emails[] = { + "purple-devel at lists.sf.net", "l3tt3rsAndNumb3rs at domain.com", "has-dash at domain.com", "hasApostrophe.o'leary at domain.org", @@ -93,6 +94,13 @@ const char *invalid_emails[] = { }; const char *invalid_emails[] = { + "purple-devel@@lists.sf.net", + "purple at devel@lists.sf.net", + "purple-devel at list..sf.net", + "purple-devel", + "purple-devel@", + "@lists.sf.net", + "totally bogus", "missingDomain at .com", "@missingLocal.org", "missingatSign.net", @@ -117,16 +125,6 @@ START_TEST(test_util_email_is_valid) { size_t i; - fail_unless(purple_email_is_valid("purple-devel at lists.sf.net")); - fail_if(purple_email_is_valid("purple-devel@@lists.sf.net")); - fail_if(purple_email_is_valid("purple at devel@lists.sf.net")); - fail_if(purple_email_is_valid("purple-devel at list..sf.net")); - fail_if(purple_email_is_valid("purple-devel")); - fail_if(purple_email_is_valid("purple-devel@")); - fail_if(purple_email_is_valid("@lists.sf.net")); - fail_if(purple_email_is_valid("")); - fail_if(purple_email_is_valid("totally bogus")); - for (i = 0; i < G_N_ELEMENTS(valid_emails); i++) fail_unless(purple_email_is_valid(valid_emails[i]), "Email address was: %s", valid_emails[i]); From nosnilmot at pidgin.im Mon Jun 14 21:30:43 2010 From: nosnilmot at pidgin.im (nosnilmot at pidgin.im) Date: Mon, 14 Jun 2010 21:30:43 -0400 (EDT) Subject: pidgin: 04b459a0: Catch some more invalid email addresses,... Message-ID: <20100615013043.406D8AFD20F0@rock.pidgin.im> ----------------------------------------------------------------- Revision: 04b459a0054fec05e338c8cb5cdafb9d3feb12b5 Ancestor: df45ef4a7ecbd22816d968415916540e2629c321 Author: nosnilmot at pidgin.im Date: 2010-06-15T01:28:17 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/04b459a0054fec05e338c8cb5cdafb9d3feb12b5 Modified files: libpurple/tests/test_util.c libpurple/util.c ChangeLog: Catch some more invalid email addresses, thanks to Mark for additional tests (not that I agree with all of them) -------------- next part -------------- ============================================================ --- libpurple/tests/test_util.c 9c02b76b1af268d52783bbb6912d61d036dfb9b2 +++ libpurple/tests/test_util.c 9bde46e7f01384240bb1aa1db759e2f80ed7c5de @@ -109,13 +109,13 @@ const char *invalid_emails[] = { "colonButNoPort at 127.0.0.1:", "" /* "someone-else at 127.0.0.1.26", */ - /* ".localStartsWithDot at domain.com", */ - /* "localEndsWithDot. at domain.com", */ - /* "two..consecutiveDots at domain.com", */ - /* "domainStartsWithDash at -domain.com", */ + ".localStartsWithDot at domain.com", + /* "localEndsWithDot. at domain.com", */ /* I don't think this is invalid -- Stu */ + /* "two..consecutiveDots at domain.com", */ /* I don't think this is invalid -- Stu */ + "domainStartsWithDash at -domain.com", "domainEndsWithDash at domain-.com", /* "numbersInTLD at domain.c0m", */ - /* "missingTLD at domain.", */ + /* "missingTLD at domain.", */ /* This certainly isn't invalid -- Stu */ "! \"#$%(),/;<>[]`|@invalidCharsInLocal.org", "invalidCharsInDomain@! \"#$%(),/;<>_[]`|.org", /* "local at SecondLevelDomainNamesAreInvalidIfTheyAreLongerThan64Charactersss.org" */ ============================================================ --- libpurple/util.c f4a91454cdbe3b0ae65c2bd1c50680424315e44f +++ libpurple/util.c 40d477227df1569d24e08d81df631fca3e531c6b @@ -4271,6 +4271,8 @@ purple_email_is_valid(const char *addres g_return_val_if_fail(address != NULL, FALSE); + if (*address == '.') return FALSE; + /* first we validate the name portion (name at domain) (rfc822)*/ for (c = address; *c; c++) { if (*c == '\"' && (c == address || *(c - 1) == '.' || *(c - 1) == '\"')) { @@ -4304,7 +4306,7 @@ purple_email_is_valid(const char *addres do { if (*c == '.' && (c == domain || *(c - 1) == '.' || *(c - 1) == '-')) return FALSE; - if (*c == '-' && *(c - 1) == '.') return FALSE; + if (*c == '-' && (*(c - 1) == '.' || *(c - 1) == '@')) return FALSE; if ((*c < '0' && *c != '-' && *c != '.') || (*c > '9' && *c < 'A') || (*c > 'Z' && *c < 'a') || (*c > 'z')) return FALSE; } while (*++c); From darkrain42 at pidgin.im Mon Jun 14 21:35:32 2010 From: darkrain42 at pidgin.im (darkrain42 at pidgin.im) Date: Mon, 14 Jun 2010 21:35:32 -0400 (EDT) Subject: pidgin: 4dfc05ac: gg: s/exit/_exit/ in the resolver fork() Message-ID: <20100615013532.5DAFBAFD21DE@rock.pidgin.im> ----------------------------------------------------------------- Revision: 4dfc05ac6d6ae070920c029799fb08b7e3b08973 Ancestor: df45ef4a7ecbd22816d968415916540e2629c321 Author: darkrain42 at pidgin.im Date: 2010-06-15T01:32:14 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/4dfc05ac6d6ae070920c029799fb08b7e3b08973 Modified files: libpurple/protocols/gg/lib/resolver.c ChangeLog: gg: s/exit/_exit/ in the resolver fork() code This fixes some crashes in Adium because various OS X libraries use (P)threads and add atexit() hooks. -------------- next part -------------- ============================================================ --- libpurple/protocols/gg/lib/resolver.c de27978ed18f6890e64f38b4b3ed09023d7a07d9 +++ libpurple/protocols/gg/lib/resolver.c 88351e4626d264a861591e607719e9396ef9d1f3 @@ -551,9 +551,9 @@ static int gg_resolver_fork_start(int *f } if (write(pipes[1], &addr, sizeof(addr)) != sizeof(addr)) - exit(1); + _exit(1); - exit(0); + _exit(0); } close(pipes[1]); From darkrain42 at pidgin.im Mon Jun 14 21:35:32 2010 From: darkrain42 at pidgin.im (darkrain42 at pidgin.im) Date: Mon, 14 Jun 2010 21:35:32 -0400 (EDT) Subject: pidgin: 8d0bb283: merge of '04b459a0054fec05e338c8cb5cdafb... Message-ID: <20100615013533.2AE8CAFD2276@rock.pidgin.im> ----------------------------------------------------------------- Revision: 8d0bb2830b866b018ff771a36b7bddfa4aef8f7a Ancestor: 04b459a0054fec05e338c8cb5cdafb9d3feb12b5 Ancestor: 4dfc05ac6d6ae070920c029799fb08b7e3b08973 Author: darkrain42 at pidgin.im Date: 2010-06-15T01:33:28 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/8d0bb2830b866b018ff771a36b7bddfa4aef8f7a Modified files: libpurple/protocols/gg/lib/resolver.c libpurple/tests/test_util.c libpurple/util.c ChangeLog: merge of '04b459a0054fec05e338c8cb5cdafb9d3feb12b5' and '4dfc05ac6d6ae070920c029799fb08b7e3b08973' From sadrul at pidgin.im Tue Jun 15 15:06:00 2010 From: sadrul at pidgin.im (sadrul at pidgin.im) Date: Tue, 15 Jun 2010 15:06:00 -0400 (EDT) Subject: pidgin: d7d35b64: Ignore invisible widgets when resizing. ... Message-ID: <20100615190601.03028AFD2098@rock.pidgin.im> ----------------------------------------------------------------- Revision: d7d35b64d7c7663c0332d9995109dbd7b12c7f11 Ancestor: 8d0bb2830b866b018ff771a36b7bddfa4aef8f7a Author: sadrul at pidgin.im Date: 2010-06-15T17:11:15 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/d7d35b64d7c7663c0332d9995109dbd7b12c7f11 Modified files: finch/libgnt/gntbox.c ChangeLog: Ignore invisible widgets when resizing. References #12169. -------------- next part -------------- ============================================================ --- finch/libgnt/gntbox.c 6b1701f62bcb14270cfbfec19f719ed27eb5c83f +++ finch/libgnt/gntbox.c 2bba1c2a935faf49058a2fa578214b0a606cf198 @@ -422,7 +422,9 @@ gnt_box_confirm_size(GntWidget *widget, gnt_widget_get_size(wid, &w, &h); - if (wid != last && !child && w > 0 && h > 0 && gnt_widget_confirm_size(wid, w - wchange, h - hchange)) { + if (wid != last && !child && w > 0 && h > 0 && + !GNT_WIDGET_IS_FLAG_SET(wid, GNT_WIDGET_INVISIBLE) && + gnt_widget_confirm_size(wid, w - wchange, h - hchange)) { child = wid; break; } From sadrul at pidgin.im Tue Jun 15 15:06:01 2010 From: sadrul at pidgin.im (sadrul at pidgin.im) Date: Tue, 15 Jun 2010 15:06:01 -0400 (EDT) Subject: pidgin: fc7c355a: Allow rebinding the key to show the drop... Message-ID: <20100615190601.6EB16AFD1FBE@rock.pidgin.im> ----------------------------------------------------------------- Revision: fc7c355ab0d2fb25d82bfd4e3847128276915e28 Ancestor: d7d35b64d7c7663c0332d9995109dbd7b12c7f11 Author: sadrul at pidgin.im Date: 2010-06-15T17:12:48 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/fc7c355ab0d2fb25d82bfd4e3847128276915e28 Modified files: ChangeLog doc/finch.1.in finch/libgnt/gntcombobox.c ChangeLog: Allow rebinding the key to show the dropdown menu for comboboxes. -------------- next part -------------- ============================================================ --- ChangeLog 51b7dd202fd70cfb8cefc6e5e69129b60287aa9c +++ ChangeLog 028fe3743148f69496e4bd22dad8c6a8864e4763 @@ -8,8 +8,10 @@ version 2.7.2 (??/??/????): * Re-focus the input area after clicking the attention toolbar button. Finch: - * Rebindable suggest-next-page and suggest-prev-page actions for + * Rebindable 'suggest-next-page' and 'suggest-prev-page' actions for textboxes (GntEntry) to scroll through list of suggestions. + * Rebindable 'dropdown' action for comboboxes (GntComboBox) to show the + dropdown list of options. XMPP: * Allow connecting to servers that only advertise GSSAPI and expect ============================================================ --- doc/finch.1.in 8f2c8c40b918e1237aa63b21eed903882c8e5f16 +++ doc/finch.1.in 86570e8d57dc1b436616e1b84ce97d15bdc9f58a @@ -305,6 +305,13 @@ left = focus-prev left = focus-prev .br +[GntComboBox::binding] +.br +down = dropdown +.br +up = dropdown + +.br [GntEntry::binding] .br c-a = cursor-home ============================================================ --- finch/libgnt/gntcombobox.c 6ea4ab3db35c312f0ea8039b41886a2d6c995951 +++ finch/libgnt/gntcombobox.c 5eb790b149b6444fcb4e1647617135e9c0588145 @@ -25,6 +25,7 @@ #include "gntcombobox.h" #include "gnttree.h" #include "gntmarshal.h" +#include "gntstyle.h" #include "gntutils.h" #include @@ -168,18 +169,6 @@ gnt_combo_box_key_pressed(GntWidget *wid if (gnt_widget_key_pressed(box->dropdown, text)) return TRUE; } - else - { - if (text[0] == 27) - { - if (strcmp(text, GNT_KEY_UP) == 0 || - strcmp(text, GNT_KEY_DOWN) == 0) - { - popup_dropdown(box); - return TRUE; - } - } - } return FALSE; } @@ -229,9 +218,20 @@ gnt_combo_box_size_changed(GntWidget *wi gnt_widget_set_size(box->dropdown, widget->priv.width - 1, box->dropdown->priv.height); } +static gboolean +dropdown_menu(GntBindable *b, GList *null) +{ + if (GNT_WIDGET_IS_FLAG_SET(GNT_COMBO_BOX(b)->dropdown->parent, GNT_WIDGET_MAPPED)) + return FALSE; + popup_dropdown(GNT_COMBO_BOX(b)); + return TRUE; +} + static void gnt_combo_box_class_init(GntComboBoxClass *klass) { + GntBindableClass *bindable = GNT_BINDABLE_CLASS(klass); + parent_class = GNT_WIDGET_CLASS(klass); parent_class->destroy = gnt_combo_box_destroy; @@ -245,7 +245,7 @@ gnt_combo_box_class_init(GntComboBoxClas widget_lost_focus = parent_class->lost_focus; parent_class->lost_focus = gnt_combo_box_lost_focus; - signals[SIG_SELECTION_CHANGED] = + signals[SIG_SELECTION_CHANGED] = g_signal_new("selection-changed", G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_LAST, @@ -254,6 +254,12 @@ gnt_combo_box_class_init(GntComboBoxClas gnt_closure_marshal_VOID__POINTER_POINTER, G_TYPE_NONE, 2, G_TYPE_POINTER, G_TYPE_POINTER); + gnt_bindable_class_register_action(bindable, "dropdown", dropdown_menu, + GNT_KEY_DOWN, NULL); + gnt_bindable_register_binding(bindable, "dropdown", GNT_KEY_UP, NULL); + + gnt_style_read_actions(G_OBJECT_CLASS_TYPE(klass), bindable); + GNTDEBUG; } @@ -272,7 +278,7 @@ gnt_combo_box_init(GTypeInstance *instan GNT_WIDGET_SET_FLAGS(box, GNT_WIDGET_NO_SHADOW | GNT_WIDGET_NO_BORDER | GNT_WIDGET_TRANSIENT); gnt_box_set_pad(GNT_BOX(box), 0); gnt_box_add_widget(GNT_BOX(box), combo->dropdown); - + widget->priv.minw = 4; widget->priv.minh = 3; GNTDEBUG; From darkrain42 at pidgin.im Tue Jun 15 16:15:51 2010 From: darkrain42 at pidgin.im (darkrain42 at pidgin.im) Date: Tue, 15 Jun 2010 16:15:51 -0400 (EDT) Subject: adium.1-4: 05de2208: *** Plucked rev 4dfc05ac6d6ae070920c0297... Message-ID: <20100615201551.E0EE35BD011E@rock.pidgin.im> ----------------------------------------------------------------- Revision: 05de220897399efab7e75a020a1be564e7f0a233 Ancestor: fa7af7557f09b92cf55a6a813fd980e7c25e1a7b Author: darkrain42 at pidgin.im Date: 2010-06-15T20:11:26 Branch: im.pidgin.adium.1-4 URL: http://d.pidgin.im/viewmtn/revision/info/05de220897399efab7e75a020a1be564e7f0a233 Modified files: libpurple/protocols/gg/lib/resolver.c ChangeLog: *** Plucked rev 4dfc05ac6d6ae070920c029799fb08b7e3b08973 (darkrain42 at pidgin.im): gg: s/exit/_exit/ in the resolver fork() code This fixes some crashes in Adium because various OS X libraries use (P)threads and add atexit() hooks. -------------- next part -------------- ============================================================ --- libpurple/protocols/gg/lib/resolver.c 0f9fc890ab9c40208b1a79fd8097cda62e463dbf +++ libpurple/protocols/gg/lib/resolver.c c4d5a0afeb860382a400277e7cdf7ba9552ceeab @@ -551,9 +551,9 @@ static int gg_resolver_fork_start(int *f } if (write(pipes[1], &addr, sizeof(addr)) != sizeof(addr)) - exit(1); + _exit(1); - exit(0); + _exit(0); } close(pipes[1]); From darkrain42 at pidgin.im Tue Jun 15 18:46:01 2010 From: darkrain42 at pidgin.im (darkrain42 at pidgin.im) Date: Tue, 15 Jun 2010 18:46:01 -0400 (EDT) Subject: pidgin: 2e4b491e: jabber: Stricter checks on the send_raw ... Message-ID: <20100615224601.454AB5BD015A@rock.pidgin.im> ----------------------------------------------------------------- Revision: 2e4b491ee89464d56b79db045bcef7f63fda6b97 Ancestor: 8d0bb2830b866b018ff771a36b7bddfa4aef8f7a Author: darkrain42 at pidgin.im Date: 2010-06-15T22:41:37 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/2e4b491ee89464d56b79db045bcef7f63fda6b97 Modified files: libpurple/protocols/jabber/jabber.c ChangeLog: jabber: Stricter checks on the send_raw prpl function. This (should) avoids a crash in the gtalkinvisible plugin as seen in a crash log from #pidgin. The plugin is trying to send a stanza as the (eventual) result of the signing-on signal, which is before prpl_info->login() is called. Call stack: jabber_send_raw protocols/jabber/jabber.c:443 jabber_prpl_send_raw protocols/jabber/jabber.c:548 6EA0122D plugins\gtalkinvisible.dll plugin_invisible_cb gtalkinvisible.c:147 67D0410B purple_signal_emit_vargs signals.c:465 67D04217 purple_signal_emit signals.c:436 67CFB75F purple_prpl_change_account_status prpl.c:389 67D09B3F status_has_changed status.c:669 67CC4409 purple_account_set_status_list account.c:1783 67CC4717 purple_account_set_status account.c:1752 67D00F18 purple_savedstatus_activate_for_account savedstatuses.c:1174 67D01899 purple_savedstatus_set_idleaway savedstatuses.c:887 67CE5D13 check_idleness idle.c:193 67D0410B purple_signal_emit_vargs signals.c:465 67D04217 purple_signal_emit signals.c:436 67CD9F34 _purple_connection_new connection.c:157 67CC56C1 purple_account_connect account.c:1216 -------------- next part -------------- ============================================================ --- libpurple/protocols/jabber/jabber.c ae1a7be34b9d204679e0a2490331e12906f72cd6 +++ libpurple/protocols/jabber/jabber.c 8f43fd5f70bf5bcfc48893ee9f27302fa9da97a2 @@ -543,6 +543,13 @@ int jabber_prpl_send_raw(PurpleConnectio int jabber_prpl_send_raw(PurpleConnection *gc, const char *buf, int len) { JabberStream *js = purple_connection_get_protocol_data(gc); + + g_return_val_if_fail(js != NULL, -1); + /* TODO: It's probably worthwhile to restrict this to when the account + * state is CONNECTED, but I can /almost/ envision reasons for wanting + * to do things during the connection process. + */ + jabber_send_raw(js, buf, len); return len; } From darkrain42 at pidgin.im Tue Jun 15 18:46:01 2010 From: darkrain42 at pidgin.im (darkrain42 at pidgin.im) Date: Tue, 15 Jun 2010 18:46:01 -0400 (EDT) Subject: pidgin: 8d94b5b7: merge of '2e4b491ee89464d56b79db045bcef7... Message-ID: <20100615224601.BAEE55BD0158@rock.pidgin.im> ----------------------------------------------------------------- Revision: 8d94b5b7c8b83cf8842ac37678bd680f7ada6638 Ancestor: 2e4b491ee89464d56b79db045bcef7f63fda6b97 Ancestor: fc7c355ab0d2fb25d82bfd4e3847128276915e28 Author: darkrain42 at pidgin.im Date: 2010-06-15T22:42:49 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/8d94b5b7c8b83cf8842ac37678bd680f7ada6638 Modified files: ChangeLog doc/finch.1.in finch/libgnt/gntbox.c finch/libgnt/gntcombobox.c libpurple/protocols/jabber/jabber.c ChangeLog: merge of '2e4b491ee89464d56b79db045bcef7f63fda6b97' and 'fc7c355ab0d2fb25d82bfd4e3847128276915e28' From masca at cpw.pidgin.im Wed Jun 16 19:15:56 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Wed, 16 Jun 2010 19:15:56 -0400 (EDT) Subject: soc.2010.msn-tlc: 122d6790: Msg->slpmsg is not valid anymore, use pa... Message-ID: <20100616231556.AB841AFD20E9@rock.pidgin.im> ----------------------------------------------------------------- Revision: 122d679002c0937d01d43cc58d5ce34e42d09ca5 Ancestor: 4c2cec592f9e8bb4fa35d1642639b22dadb05fa5 Author: masca at cpw.pidgin.im Date: 2010-06-16T22:18:22 Branch: im.pidgin.soc.2010.msn-tlc URL: http://d.pidgin.im/viewmtn/revision/info/122d679002c0937d01d43cc58d5ce34e42d09ca5 Modified files: libpurple/protocols/msn/slp.c ChangeLog: Msg->slpmsg is not valid anymore, use part. -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/slp.c 36c16b64c8fc663ba1a55928b513a7f505c6bc1e +++ libpurple/protocols/msn/slp.c a8e774e30628bbae5db4db7c25dc36582df5647e @@ -1106,7 +1106,7 @@ msn_p2p_msg(MsnCmdProc *cmdproc, MsnMess data = msn_message_get_bin_data(msg, &len); - msn_slplink_process_msg(slplink, msg->slpmsg->header, data, len); + msn_slplink_process_msg(slplink, msg->part->header, data, len); } static void From masca at cpw.pidgin.im Wed Jun 16 19:15:57 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Wed, 16 Jun 2010 19:15:57 -0400 (EDT) Subject: soc.2010.msn-tlc: 2b033301: Introduce SlpMessagePart, It will replac... Message-ID: <20100616231557.1CFD4AFD20E9@rock.pidgin.im> ----------------------------------------------------------------- Revision: 2b033301427d91a22a7846282b10e24ac754694b Ancestor: 9833702ef48cab7ac01356e052d78c9f0f01ae83 Author: masca at cpw.pidgin.im Date: 2010-06-16T21:25:11 Branch: im.pidgin.soc.2010.msn-tlc URL: http://d.pidgin.im/viewmtn/revision/info/2b033301427d91a22a7846282b10e24ac754694b Added files: libpurple/protocols/msn/slpmsg_part.c libpurple/protocols/msn/slpmsg_part.h Modified files: libpurple/protocols/msn/Makefile.am libpurple/protocols/msn/Makefile.mingw ChangeLog: Introduce SlpMessagePart, It will replace MsnMessage in every Slp related code so MsnMessage just get used where it makes sense, in the Switchboard. -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/slpmsg_part.c 3f42c5411427812a44062de598c5b7f8cfd3d599 +++ libpurple/protocols/msn/slpmsg_part.c 3f42c5411427812a44062de598c5b7f8cfd3d599 @@ -0,0 +1,171 @@ +#include "internal.h" + +#include "slpmsg.h" +#include "slpmsg_part.h" + +MsnSlpMessagePart *msn_slpmsgpart_new(MsnP2PHeader *header, MsnP2PFooter *footer) +{ + MsnSlpMessagePart *part; + + part = g_new0(MsnSlpMessagePart, 1); + + if (header) + part->header = g_memdup(header, P2P_PACKET_HEADER_SIZE); + if (footer) + part->footer = g_memdup(footer, P2P_PACKET_FOOTER_SIZE); + + part->ack_cb = msn_slpmsgpart_ack; + part->nack_cb = msn_slpmsgpart_nak; + + return part; +} + +MsnSlpMessagePart *msn_slpmsgpart_new_from_data(const char *data, size_t data_len) +{ + MsnSlpMessagePart *part; + MsnP2PHeader *header; + const char *tmp; + int body_len; + + tmp = data; + part = msn_slpmsgpart_new(NULL, NULL); + + if (data_len < sizeof(*header)) { + return NULL; + } + + /* Extract the binary SLP header */ + part->header = msn_p2p_header_from_wire((MsnP2PHeader*)tmp); + + /* Extract the body */ + body_len = data_len - (tmp - data); + /* msg->body_len = msg->msnslp_header.length; */ + + if (body_len > 0) { + part->size = body_len; + part->buffer = g_malloc(body_len); + memcpy(part->buffer, tmp, body_len); + tmp += body_len; + } + + /* Extract the footer */ + if (body_len >= 0) + part->footer = msn_p2p_footer_from_wire((MsnP2PFooter*)tmp); + + return part; +} + +void msn_slpmsgpart_destroy(MsnSlpMessagePart *part) +{ + g_free(part->header); + g_free(part->footer); + + g_free(part); + +} + +void msn_slpmsgpart_set_bin_data(MsnSlpMessagePart *part, const void *data, size_t len) +{ + g_return_if_fail(part != NULL); + + if (part->buffer != NULL) + g_free(part->buffer); + + if (data != NULL && len > 0) { + part->buffer = g_malloc(len + 1); + memcpy(part->buffer, data, len); + part->buffer[len] = '\0'; + part->size = len; + } else { + part->buffer = NULL; + part->size = 0; + } + +} + +char *msn_slpmsgpart_serialize(MsnSlpMessagePart *part, size_t *ret_size) +{ + MsnP2PHeader *header; + MsnP2PFooter *footer; + char *base; + char *tmp; + size_t siz; + + base = g_malloc(P2P_PACKET_HEADER_SIZE + part->size + sizeof(MsnP2PFooter)); + tmp = base; + + header = msn_p2p_header_to_wire(part->header); + footer = msn_p2p_footer_to_wire(part->footer); + + siz = sizeof(MsnP2PHeader); + /* Copy header */ + memcpy(tmp, (char*)header, siz); + tmp += siz; + + /* Copy body */ + memcpy(tmp, part->buffer, part->size); + tmp += part->size; + + /* Copy footer */ + siz = sizeof(MsnP2PFooter); + memcpy(tmp, (char*)footer, siz); + tmp += siz; + + *ret_size = tmp - base; + + return base; +} +/* We have received the message ack */ +void +msn_slpmsgpart_ack(MsnSlpMessagePart *part, void *data) +{ + MsnSlpMessage *slpmsg; + long long real_size; + + slpmsg = data; + + real_size = (slpmsg->flags == P2P_ACK) ? 0 : slpmsg->size; + + slpmsg->offset += part->header->length; + + slpmsg->parts = g_list_remove(slpmsg->parts, part); + + if (slpmsg->offset < real_size) + { + if (slpmsg->slpcall->xfer && purple_xfer_get_status(slpmsg->slpcall->xfer) == PURPLE_XFER_STATUS_STARTED) + { + slpmsg->slpcall->xfer_msg = slpmsg; + purple_xfer_prpl_ready(slpmsg->slpcall->xfer); + } + else + msn_slplink_send_msgpart(slpmsg->slplink, slpmsg); + } + else + { + /* The whole message has been sent */ + if (slpmsg->flags == P2P_MSN_OBJ_DATA || + slpmsg->flags == (P2P_WML2009_COMP | P2P_MSN_OBJ_DATA) || + slpmsg->flags == P2P_FILE_DATA) + { + if (slpmsg->slpcall != NULL) + { + if (slpmsg->slpcall->cb) + slpmsg->slpcall->cb(slpmsg->slpcall, + NULL, 0); + } + } + } +} + +/* We have received the message nak. */ +void +msn_slpmsgpart_nak(MsnSlpMessagePart *part, void *data) +{ + MsnSlpMessage *slpmsg; + + slpmsg = data; + + msn_slplink_send_msgpart(slpmsg->slplink, slpmsg); + + slpmsg->parts = g_list_remove(slpmsg->parts, part); +} ============================================================ --- libpurple/protocols/msn/slpmsg_part.h caed71263d5b10963b84e99598d45e8bf64bba13 +++ libpurple/protocols/msn/slpmsg_part.h caed71263d5b10963b84e99598d45e8bf64bba13 @@ -0,0 +1,34 @@ +#ifndef MSN_SLPMSG_PART_H +#define MSN_SLPMSG_PART_H + +#include "p2p.h" + +typedef struct _MsnSlpMessagePart MsnSlpMessagePart; +typedef void (*MsnSlpPartCb)(MsnSlpMessagePart *part, void *data); + +struct _MsnSlpMessagePart +{ + MsnP2PHeader *header; + MsnP2PFooter *footer; + + MsnSlpPartCb ack_cb; + MsnSlpPartCb nack_cb; + + guchar *buffer; + size_t size; +}; + +MsnSlpMessagePart *msn_slpmsgpart_new(MsnP2PHeader *header, MsnP2PFooter *footer); + +MsnSlpMessagePart *msn_slpmsgpart_new_from_data(const char *data, size_t data_len); + +void msn_slpmsgpart_destroy(MsnSlpMessagePart *part); + +void msn_slpmsgpart_set_bin_data(MsnSlpMessagePart *part, const void *data, size_t len); + +char *msn_slpmsgpart_serialize(MsnSlpMessagePart *part, size_t *ret_size); + +void msn_slpmsgpart_ack(MsnSlpMessagePart *part, void *data); + +void msn_slpmsgpart_nak(MsnSlpMessagePart *part, void *data); +#endif /* MSN_SLPMSG_PART_H */ ============================================================ --- libpurple/protocols/msn/Makefile.am 92e18590a57f724e046601ca95ef41d92bcf7735 +++ libpurple/protocols/msn/Makefile.am 5caeb94245d48d0c31803caf6487013d52ae088c @@ -50,6 +50,8 @@ MSNSOURCES = \ slplink.h \ slpmsg.c \ slpmsg.h \ + slpmsg_part.c \ + slpmsg_part.h \ soap.c \ soap.h \ state.c \ ============================================================ --- libpurple/protocols/msn/Makefile.mingw e3371113dc93110638043690e78c2f7af03a0d74 +++ libpurple/protocols/msn/Makefile.mingw df1732a022290a420ce30a5e4091742221dbfa55 @@ -60,6 +60,7 @@ C_SRC = cmdproc.c \ slpcall.c \ slplink.c \ slpmsg.c \ + slpmsg_part.c \ soap.c\ state.c \ sbconn.c \ From masca at cpw.pidgin.im Wed Jun 16 19:15:57 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Wed, 16 Jun 2010 19:15:57 -0400 (EDT) Subject: soc.2010.msn-tlc: 3a9d3cac: Migrate MsnMessage code to use Parts ins... Message-ID: <20100616231557.A36FBAFD20E9@rock.pidgin.im> ----------------------------------------------------------------- Revision: 3a9d3cac5779d90239da0ec1ccaf190effa5618f Ancestor: d8d1a7f9f306bf0ffba2783a2b35b8b33f7257e6 Author: masca at cpw.pidgin.im Date: 2010-06-16T22:12:07 Branch: im.pidgin.soc.2010.msn-tlc URL: http://d.pidgin.im/viewmtn/revision/info/3a9d3cac5779d90239da0ec1ccaf190effa5618f Modified files: libpurple/protocols/msn/msg.c ChangeLog: Migrate MsnMessage code to use Parts instead of the whole SlpMessage. -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/msg.c 88db0d7df39a36a39fa3b2c1cad25a6952d0bdb9 +++ libpurple/protocols/msn/msg.c 506dee5dbad362381db6dcdf0adf19d4fa0b520d @@ -259,7 +259,7 @@ msn_message_parse_payload(MsnMessage *ms if (content_type != NULL && !strcmp(content_type, "application/x-msnmsgrp2p")) { msg->msnslp_message = TRUE; - msg->slpmsg = msn_slpmsg_new_from_data(tmp, payload_len - (tmp - tmp_base)); + msg->part = msn_slpmsgpart_new_from_data(tmp, payload_len - (tmp - tmp_base)); } if (payload_len - (tmp - tmp_base) > 0) { @@ -303,7 +303,7 @@ msn_message_gen_slp_body(MsnMessage *msg { char *tmp; - tmp = msn_slpmsg_serialize(msg->slpmsg, ret_size); + tmp = msn_slpmsgpart_serialize(msg->part, ret_size); return tmp; } @@ -362,7 +362,7 @@ msn_message_gen_payload(MsnMessage *msg, size_t siz; char *body; - body = msn_slpmsg_serialize(msg->slpmsg, &siz); + body = msn_slpmsgpart_serialize(msg->part, &siz); memcpy(n, body, siz); n += siz; @@ -625,15 +625,15 @@ msn_message_show_readable(MsnMessage *ms if (msg->msnslp_message) { - g_string_append_printf(str, "Session ID: %u\r\n", msg->slpmsg->header->session_id); - g_string_append_printf(str, "ID: %u\r\n", msg->slpmsg->header->id); - g_string_append_printf(str, "Offset: %" G_GUINT64_FORMAT "\r\n", msg->slpmsg->header->offset); - g_string_append_printf(str, "Total size: %" G_GUINT64_FORMAT "\r\n", msg->slpmsg->header->total_size); - g_string_append_printf(str, "Length: %u\r\n", msg->slpmsg->header->length); - g_string_append_printf(str, "Flags: 0x%x\r\n", msg->slpmsg->header->flags); - g_string_append_printf(str, "ACK ID: %u\r\n", msg->slpmsg->header->ack_id); - g_string_append_printf(str, "SUB ID: %u\r\n", msg->slpmsg->header->ack_sub_id); - g_string_append_printf(str, "ACK Size: %" G_GUINT64_FORMAT "\r\n", msg->slpmsg->header->ack_size); + g_string_append_printf(str, "Session ID: %u\r\n", msg->part->header->session_id); + g_string_append_printf(str, "ID: %u\r\n", msg->part->header->id); + g_string_append_printf(str, "Offset: %" G_GUINT64_FORMAT "\r\n", msg->part->header->offset); + g_string_append_printf(str, "Total size: %" G_GUINT64_FORMAT "\r\n", msg->part->header->total_size); + g_string_append_printf(str, "Length: %u\r\n", msg->part->header->length); + g_string_append_printf(str, "Flags: 0x%x\r\n", msg->part->header->flags); + g_string_append_printf(str, "ACK ID: %u\r\n", msg->part->header->ack_id); + g_string_append_printf(str, "SUB ID: %u\r\n", msg->part->header->ack_sub_id); + g_string_append_printf(str, "ACK Size: %" G_GUINT64_FORMAT "\r\n", msg->part->header->ack_size); if (purple_debug_is_verbose() && body != NULL) { @@ -660,7 +660,7 @@ msn_message_show_readable(MsnMessage *ms } } - g_string_append_printf(str, "Footer: %u\r\n", msg->slpmsg->footer->value); + g_string_append_printf(str, "Footer: %u\r\n", msg->part->footer->value); } else { From masca at cpw.pidgin.im Wed Jun 16 19:15:58 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Wed, 16 Jun 2010 19:15:58 -0400 (EDT) Subject: soc.2010.msn-tlc: 42d97406: Move MsnMessage stuff out of slplink to ... Message-ID: <20100616231558.3B1DEAFD20E9@rock.pidgin.im> ----------------------------------------------------------------- Revision: 42d97406a4966cdb5d0a74cce32b25d6c5c6482a Ancestor: 3d5d87c16b3ebcaf8c44aa828aa50ba9bb73fe05 Author: masca at cpw.pidgin.im Date: 2010-06-15T00:42:05 Branch: im.pidgin.soc.2010.msn-tlc URL: http://d.pidgin.im/viewmtn/revision/info/42d97406a4966cdb5d0a74cce32b25d6c5c6482a Added files: libpurple/protocols/msn/sbconn.c libpurple/protocols/msn/sbconn.h Modified files: libpurple/protocols/msn/Makefile.am libpurple/protocols/msn/Makefile.mingw libpurple/protocols/msn/slplink.c ChangeLog: Move MsnMessage stuff out of slplink to SBConn. -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/sbconn.c 1dfe9a263dec74d50117d63a08dcc10450f8ec05 +++ libpurple/protocols/msn/sbconn.c 1dfe9a263dec74d50117d63a08dcc10450f8ec05 @@ -0,0 +1,61 @@ +#include "sbconn.h" + +/* We have received the message ack */ +void +msn_sbconn_msg_ack(MsnMessage *msg, void *data) +{ + MsnSlpMessage *slpmsg; + long long real_size; + + slpmsg = data; + + real_size = (slpmsg->flags == P2P_ACK) ? 0 : slpmsg->size; + + slpmsg->offset += msg->slpmsg->header->length; + + slpmsg->msgs = g_list_remove(slpmsg->msgs, msg); + + if (slpmsg->offset < real_size) + { + if (slpmsg->slpcall->xfer && purple_xfer_get_status(slpmsg->slpcall->xfer) == PURPLE_XFER_STATUS_STARTED) + { + slpmsg->slpcall->xfer_msg = slpmsg; + msn_message_ref(msg); + purple_xfer_prpl_ready(slpmsg->slpcall->xfer); + } + else + msn_slplink_send_msgpart(slpmsg->slplink, slpmsg); + } + else + { + /* The whole message has been sent */ + if (slpmsg->flags == P2P_MSN_OBJ_DATA || + slpmsg->flags == (P2P_WML2009_COMP | P2P_MSN_OBJ_DATA) || + slpmsg->flags == P2P_FILE_DATA) + { + if (slpmsg->slpcall != NULL) + { + if (slpmsg->slpcall->cb) + slpmsg->slpcall->cb(slpmsg->slpcall, + NULL, 0); + } + } + } + + msn_message_unref(msg); +} + +/* We have received the message nak. */ +void +msn_sbconn_msg_nak(MsnMessage *msg, void *data) +{ + MsnSlpMessage *slpmsg; + + slpmsg = data; + + msn_slplink_send_msgpart(slpmsg->slplink, slpmsg); + + slpmsg->msgs = g_list_remove(slpmsg->msgs, msg); + msn_message_unref(msg); +} + ============================================================ --- libpurple/protocols/msn/sbconn.h a4decb4c77b646fe7f124d8fbbbdff4a47585240 +++ libpurple/protocols/msn/sbconn.h a4decb4c77b646fe7f124d8fbbbdff4a47585240 @@ -0,0 +1,9 @@ +#ifndef MSN_SBCONN_H +#define MSN_SBCONN_H + +#include "msg.h" + +void msn_sbconn_msg_ack(MsnMessage *msg, void *data); + +void msn_sbconn_msg_nak(MsnMessage *msg, void *data); +#endif /* MSN_SBCONN_H */ ============================================================ --- libpurple/protocols/msn/Makefile.am c798a884bd63ad37644cbeafc082f26c95376307 +++ libpurple/protocols/msn/Makefile.am 92e18590a57f724e046601ca95ef41d92bcf7735 @@ -54,6 +54,8 @@ MSNSOURCES = \ soap.h \ state.c \ state.h \ + sbconn.c \ + sbconn.h \ switchboard.c \ switchboard.h \ table.c \ ============================================================ --- libpurple/protocols/msn/Makefile.mingw 0d858261872c095dd105a45bad5d00921881a16c +++ libpurple/protocols/msn/Makefile.mingw e3371113dc93110638043690e78c2f7af03a0d74 @@ -62,6 +62,7 @@ C_SRC = cmdproc.c \ slpmsg.c \ soap.c\ state.c \ + sbconn.c \ switchboard.c \ sync.c \ table.c \ ============================================================ --- libpurple/protocols/msn/slplink.c 1a8038e7777a9d00932fc382939a436d301dae21 +++ libpurple/protocols/msn/slplink.c f75fe3889ed7bd059248b13e33a93cc5b65ccdf2 @@ -28,6 +28,7 @@ #include "msn.h" #include "slplink.h" +#include "sbconn.h" #include "switchboard.h" #include "slp.h" #include "p2p.h" @@ -351,66 +352,7 @@ msn_slplink_send_msgpart(MsnSlpLink *slp /* slpmsg->offset += len; */ } -/* We have received the message ack */ static void -msg_ack(MsnMessage *msg, void *data) -{ - MsnSlpMessage *slpmsg; - long long real_size; - - slpmsg = data; - - real_size = (slpmsg->flags == P2P_ACK) ? 0 : slpmsg->size; - - slpmsg->offset += msg->slpmsg->header->length; - - slpmsg->msgs = g_list_remove(slpmsg->msgs, msg); - - if (slpmsg->offset < real_size) - { - if (slpmsg->slpcall->xfer && purple_xfer_get_status(slpmsg->slpcall->xfer) == PURPLE_XFER_STATUS_STARTED) - { - slpmsg->slpcall->xfer_msg = slpmsg; - msn_message_ref(msg); - purple_xfer_prpl_ready(slpmsg->slpcall->xfer); - } - else - msn_slplink_send_msgpart(slpmsg->slplink, slpmsg); - } - else - { - /* The whole message has been sent */ - if (slpmsg->flags == P2P_MSN_OBJ_DATA || - slpmsg->flags == (P2P_WML2009_COMP | P2P_MSN_OBJ_DATA) || - slpmsg->flags == P2P_FILE_DATA) - { - if (slpmsg->slpcall != NULL) - { - if (slpmsg->slpcall->cb) - slpmsg->slpcall->cb(slpmsg->slpcall, - NULL, 0); - } - } - } - - msn_message_unref(msg); -} - -/* We have received the message nak. */ -static void -msg_nak(MsnMessage *msg, void *data) -{ - MsnSlpMessage *slpmsg; - - slpmsg = data; - - msn_slplink_send_msgpart(slpmsg->slplink, slpmsg); - - slpmsg->msgs = g_list_remove(slpmsg->msgs, msg); - msn_message_unref(msg); -} - -static void msn_slplink_release_slpmsg(MsnSlpLink *slplink, MsnSlpMessage *slpmsg) { MsnMessage *msg; @@ -461,8 +403,8 @@ msn_slplink_release_slpmsg(MsnSlpLink *s passport = purple_normalize(slplink->session->account, slplink->remote_user); msn_message_set_header(msg, "P2P-Dest", passport); - msg->ack_cb = msg_ack; - msg->nak_cb = msg_nak; + msg->ack_cb = msn_sbconn_msg_ack; + msg->nak_cb = msn_sbconn_msg_nak; msg->ack_data = slpmsg; msn_slplink_send_msgpart(slplink, slpmsg); From masca at cpw.pidgin.im Wed Jun 16 19:15:58 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Wed, 16 Jun 2010 19:15:58 -0400 (EDT) Subject: soc.2010.msn-tlc: 482b1439: Document SlpMessage size limits. Message-ID: <20100616231559.021C9AFD20E9@rock.pidgin.im> ----------------------------------------------------------------- Revision: 482b14391e896022cbd7f8150ac4423ab1b4317d Ancestor: 42d97406a4966cdb5d0a74cce32b25d6c5c6482a Author: masca at cpw.pidgin.im Date: 2010-06-15T21:05:27 Branch: im.pidgin.soc.2010.msn-tlc URL: http://d.pidgin.im/viewmtn/revision/info/482b14391e896022cbd7f8150ac4423ab1b4317d Modified files: libpurple/protocols/msn/directconn.h libpurple/protocols/msn/sbconn.h libpurple/protocols/msn/slplink.c ChangeLog: Document SlpMessage size limits. -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/directconn.h 2be569768132f7eb1cb16d77bac44572341d06b2 +++ libpurple/protocols/msn/directconn.h 45f0333bb464cc48e28a5e62ae625a6796d5d06a @@ -36,6 +36,8 @@ typedef struct _MsnDirectConn MsnDirectC #include "slpmsg.h" #include "p2p.h" +#define MSN_DCCONN_MAX_SIZE 1352 + typedef enum { DC_STATE_CLOSED, /*< No socket opened yet */ ============================================================ --- libpurple/protocols/msn/sbconn.h a4decb4c77b646fe7f124d8fbbbdff4a47585240 +++ libpurple/protocols/msn/sbconn.h 14610611c08cd31033babab9f077b3a59179a023 @@ -3,6 +3,8 @@ #include "msg.h" +#define MSN_SBCONN_MAX_SIZE 1202 + void msn_sbconn_msg_ack(MsnMessage *msg, void *data); void msn_sbconn_msg_nak(MsnMessage *msg, void *data); ============================================================ --- libpurple/protocols/msn/slplink.c f75fe3889ed7bd059248b13e33a93cc5b65ccdf2 +++ libpurple/protocols/msn/slplink.c a3df971cf7ea2e35d82d29113caae165f8faf59b @@ -307,15 +307,15 @@ msn_slplink_send_msgpart(MsnSlpLink *slp if (slpmsg->slpcall && slpmsg->slpcall->xfer && purple_xfer_get_type(slpmsg->slpcall->xfer) == PURPLE_XFER_SEND && purple_xfer_get_status(slpmsg->slpcall->xfer) == PURPLE_XFER_STATUS_STARTED) { - len = MIN(1202, slpmsg->slpcall->u.outgoing.len); + len = MIN(MSN_SBCONN_MAX_SIZE, slpmsg->slpcall->u.outgoing.len); msn_message_set_bin_data(msg, slpmsg->slpcall->u.outgoing.data, len); } else { len = slpmsg->size - slpmsg->offset; - if (len > 1202) - len = 1202; + if (len > MSN_SBCONN_MAX_SIZE) + len = MSN_SBCONN_MAX_SIZE; msn_message_set_bin_data(msg, slpmsg->buffer + slpmsg->offset, len); } From masca at cpw.pidgin.im Wed Jun 16 19:16:02 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Wed, 16 Jun 2010 19:16:02 -0400 (EDT) Subject: soc.2010.msn-tlc: 4c2cec59: SlpLink must not use MsnMessages but Slp... Message-ID: <20100616231604.E9BF55BD02CE@rock.pidgin.im> ----------------------------------------------------------------- Revision: 4c2cec592f9e8bb4fa35d1642639b22dadb05fa5 Ancestor: 3a9d3cac5779d90239da0ec1ccaf190effa5618f Author: masca at cpw.pidgin.im Date: 2010-06-16T22:17:28 Branch: im.pidgin.soc.2010.msn-tlc URL: http://d.pidgin.im/viewmtn/revision/info/4c2cec592f9e8bb4fa35d1642639b22dadb05fa5 Modified files: libpurple/protocols/msn/slplink.c ChangeLog: SlpLink must not use MsnMessages but SlpMessageParts, so migrate code to use SlpMessagePart API. -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/slplink.c 433a6308d6f560df6a60b53116ddacb1221fe050 +++ libpurple/protocols/msn/slplink.c 1534e2a46d37c04fa0a1bc79ddcfd5b3e6c39ca2 @@ -27,6 +27,7 @@ #include "msn.h" #include "slplink.h" +#include "slpmsg_part.h" #include "sbconn.h" #include "switchboard.h" @@ -266,6 +267,18 @@ void } void +msn_slplink_send_part(MsnSlpLink *slplink, MsnSlpMessagePart *part) +{ + if (slplink->dc != NULL && slplink->dc->state == DC_STATE_ESTABLISHED) + { + msn_dc_enqueue_part(slplink->dc, part); + } + else + { + msn_sbconn_send_part(slplink, part); + } +} +void msn_slplink_send_msg(MsnSlpLink *slplink, MsnMessage *msg) { if (slplink->dc != NULL && slplink->dc->state == DC_STATE_ESTABLISHED) @@ -281,13 +294,13 @@ msn_slplink_send_msgpart(MsnSlpLink *slp void msn_slplink_send_msgpart(MsnSlpLink *slplink, MsnSlpMessage *slpmsg) { - MsnMessage *msg; + MsnSlpMessagePart *part; long long real_size; size_t len = 0; /* Maybe we will want to create a new msg for this slpmsg instead of * reusing the same one all the time. */ - msg = slpmsg->msg; + part = msn_slpmsgpart_new(slpmsg->header, slpmsg->footer); real_size = (slpmsg->flags == P2P_ACK) ? 0 : slpmsg->size; @@ -297,7 +310,7 @@ msn_slplink_send_msgpart(MsnSlpLink *slp purple_xfer_get_status(slpmsg->slpcall->xfer) == PURPLE_XFER_STATUS_STARTED) { len = MIN(MSN_SBCONN_MAX_SIZE, slpmsg->slpcall->u.outgoing.len); - msn_message_set_bin_data(msg, slpmsg->slpcall->u.outgoing.data, len); + msn_slpmsgpart_set_bin_data(part, slpmsg->slpcall->u.outgoing.data, len); } else { @@ -306,23 +319,25 @@ msn_slplink_send_msgpart(MsnSlpLink *slp if (len > MSN_SBCONN_MAX_SIZE) len = MSN_SBCONN_MAX_SIZE; - msn_message_set_bin_data(msg, slpmsg->buffer + slpmsg->offset, len); + msn_slpmsgpart_set_bin_data(part, slpmsg->slpcall->u.outgoing.data, len); } slpmsg->header->offset = slpmsg->offset; slpmsg->header->length = len; } +#if 0 + /* TODO: port this function to SlpMessageParts */ if (purple_debug_is_verbose()) msn_message_show_readable(msg, slpmsg->info, slpmsg->text_body); +#endif #ifdef MSN_DEBUG_SLP_FILES debug_msg_to_file(msg, TRUE); #endif - slpmsg->msgs = - g_list_append(slpmsg->msgs, msn_message_ref(msg)); - msn_slplink_send_msg(slplink, msg); + slpmsg->parts = g_list_append(slpmsg->parts, part); + msn_slplink_send_part(slplink, part); if ((slpmsg->flags == P2P_MSN_OBJ_DATA || slpmsg->flags == (P2P_WML2009_COMP | P2P_MSN_OBJ_DATA) || From masca at cpw.pidgin.im Wed Jun 16 19:16:07 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Wed, 16 Jun 2010 19:16:07 -0400 (EDT) Subject: soc.2010.msn-tlc: 8eb8de8c: Add a P2PFooter size define. Message-ID: <20100616231609.318365BD02CC@rock.pidgin.im> ----------------------------------------------------------------- Revision: 8eb8de8cc192d5ba98a54419653634ce378a17dd Ancestor: c3f5c6f78e3b02b7d9cf5aa2c09873dff549912f Author: masca at cpw.pidgin.im Date: 2010-06-16T21:53:08 Branch: im.pidgin.soc.2010.msn-tlc URL: http://d.pidgin.im/viewmtn/revision/info/8eb8de8cc192d5ba98a54419653634ce378a17dd Modified files: libpurple/protocols/msn/p2p.h ChangeLog: Add a P2PFooter size define. -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/p2p.h 29d576e7dd3da553521a05ef018d9300e2d870ef +++ libpurple/protocols/msn/p2p.h 56ce58b038906389e60098562bcf7f9c9942a445 @@ -40,6 +40,7 @@ typedef enum */ #define P2P_PACKET_HEADER_SIZE sizeof(MsnP2PHeader) +#define P2P_PACKET_FOOTER_SIZE sizeof(MsnP2PFooter) MsnP2PHeader * msn_p2p_header_from_wire(MsnP2PHeader *wire); From masca at cpw.pidgin.im Wed Jun 16 19:16:11 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Wed, 16 Jun 2010 19:16:11 -0400 (EDT) Subject: soc.2010.msn-tlc: 9833702e: Manage sending messages trough switchboa... Message-ID: <20100616231611.2A2BC5BD02D8@rock.pidgin.im> ----------------------------------------------------------------- Revision: 9833702ef48cab7ac01356e052d78c9f0f01ae83 Ancestor: 482b14391e896022cbd7f8150ac4423ab1b4317d Author: masca at cpw.pidgin.im Date: 2010-06-15T21:21:24 Branch: im.pidgin.soc.2010.msn-tlc URL: http://d.pidgin.im/viewmtn/revision/info/9833702ef48cab7ac01356e052d78c9f0f01ae83 Modified files: libpurple/protocols/msn/sbconn.c libpurple/protocols/msn/sbconn.h libpurple/protocols/msn/slplink.c ChangeLog: Manage sending messages trough switchboard in sbconn. -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/sbconn.c 1dfe9a263dec74d50117d63a08dcc10450f8ec05 +++ libpurple/protocols/msn/sbconn.c 41f3ea6b941d6dd4eaf8a80671d3e3c6053cbeab @@ -59,3 +59,18 @@ msn_sbconn_msg_nak(MsnMessage *msg, void msn_message_unref(msg); } +void msn_sbconn_send_msg(MsnSlpLink *slplink, MsnMessage *msg) +{ + if (slplink->swboard == NULL) + { + slplink->swboard = msn_session_get_swboard(slplink->session, + slplink->remote_user, MSN_SB_FLAG_FT); + + g_return_if_fail(slplink->swboard != NULL); + + /* If swboard is destroyed we will be too */ + slplink->swboard->slplinks = g_list_prepend(slplink->swboard->slplinks, slplink); + } + + msn_switchboard_send_msg(slplink->swboard, msg, TRUE); +} ============================================================ --- libpurple/protocols/msn/sbconn.h 14610611c08cd31033babab9f077b3a59179a023 +++ libpurple/protocols/msn/sbconn.h 4095835a2d125f29ce57b3c7d25d14d5f3926ded @@ -2,10 +2,14 @@ #define MSN_SBCONN_H #include "msg.h" +#include "slplink.h" #define MSN_SBCONN_MAX_SIZE 1202 void msn_sbconn_msg_ack(MsnMessage *msg, void *data); void msn_sbconn_msg_nak(MsnMessage *msg, void *data); + +void msn_sbconn_send_msg(MsnSlpLink *slplink, MsnMessage *msg); + #endif /* MSN_SBCONN_H */ ============================================================ --- libpurple/protocols/msn/slplink.c a3df971cf7ea2e35d82d29113caae165f8faf59b +++ libpurple/protocols/msn/slplink.c 433a6308d6f560df6a60b53116ddacb1221fe050 @@ -274,18 +274,7 @@ msn_slplink_send_msg(MsnSlpLink *slplink } else { - if (slplink->swboard == NULL) - { - slplink->swboard = msn_session_get_swboard(slplink->session, - slplink->remote_user, MSN_SB_FLAG_FT); - - g_return_if_fail(slplink->swboard != NULL); - - /* If swboard is destroyed we will be too */ - slplink->swboard->slplinks = g_list_prepend(slplink->swboard->slplinks, slplink); - } - - msn_switchboard_send_msg(slplink->swboard, msg, TRUE); + msn_sbconn_send_msg(slplink, msg); } } From masca at cpw.pidgin.im Wed Jun 16 19:16:11 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Wed, 16 Jun 2010 19:16:11 -0400 (EDT) Subject: soc.2010.msn-tlc: a222d47d: Add a function that enqueue a Part inste... Message-ID: <20100616231613.7F84CAFD2109@rock.pidgin.im> ----------------------------------------------------------------- Revision: a222d47d0bed2d96c6c0c590c6f1f03831749b4d Ancestor: 2b033301427d91a22a7846282b10e24ac754694b Author: masca at cpw.pidgin.im Date: 2010-06-16T21:32:12 Branch: im.pidgin.soc.2010.msn-tlc URL: http://d.pidgin.im/viewmtn/revision/info/a222d47d0bed2d96c6c0c590c6f1f03831749b4d Modified files: libpurple/protocols/msn/directconn.c libpurple/protocols/msn/directconn.h ChangeLog: Add a function that enqueue a Part instead of a Message since directconn does not sends messages. -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/directconn.c 2ba2caccaa232c569aee2a7a80c6010821004953 +++ libpurple/protocols/msn/directconn.c 5f23e41e40e01a3ae2e44ccfd08ba1165b8f13a8 @@ -557,6 +557,23 @@ msn_dc_enqueue_msg(MsnDirectConn *dc, Ms msn_dc_enqueue_packet(dc, p); } +void +msn_dc_enqueue_part(MsnDirectConn *dc, MsnSlpMessagePart *part) +{ + MsnDirectConnPacket *p; + guint32 length; + + length = part->size + P2P_PACKET_HEADER_SIZE; + p = msn_dc_new_packet(length); + + memcpy(p->data, part->header, P2P_PACKET_HEADER_SIZE); + memcpy(p->data + P2P_PACKET_HEADER_SIZE, part->buffer, part->size); + + p->sent_cb = msn_dc_send_packet_cb; + + msn_dc_enqueue_packet(dc, p); +} + static int msn_dc_process_packet(MsnDirectConn *dc, guint32 packet_length) { ============================================================ --- libpurple/protocols/msn/directconn.h 45f0333bb464cc48e28a5e62ae625a6796d5d06a +++ libpurple/protocols/msn/directconn.h 17da80547ba777b2b104986e3751365a068efe96 @@ -34,6 +34,7 @@ typedef struct _MsnDirectConn MsnDirectC #include "slp.h" #include "slplink.h" #include "slpmsg.h" +#include "slpmsg_part.h" #include "p2p.h" #define MSN_DCCONN_MAX_SIZE 1352 @@ -129,6 +130,8 @@ msn_dc_enqueue_msg(MsnDirectConn *dc, Ms */ void msn_dc_enqueue_msg(MsnDirectConn *dc, MsnMessage *msg); +void +msn_dc_enqueue_part(MsnDirectConn *dc, MsnSlpMessagePart *part); /* * Creates, initializes, and returns a new MsnDirectConn structure. From masca at cpw.pidgin.im Wed Jun 16 19:16:16 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Wed, 16 Jun 2010 19:16:16 -0400 (EDT) Subject: soc.2010.msn-tlc: c3f5c6f7: Add support in SBConn to send parts inst... Message-ID: <20100616231618.F03A55BD02D3@rock.pidgin.im> ----------------------------------------------------------------- Revision: c3f5c6f78e3b02b7d9cf5aa2c09873dff549912f Ancestor: a222d47d0bed2d96c6c0c590c6f1f03831749b4d Author: masca at cpw.pidgin.im Date: 2010-06-16T21:45:50 Branch: im.pidgin.soc.2010.msn-tlc URL: http://d.pidgin.im/viewmtn/revision/info/c3f5c6f78e3b02b7d9cf5aa2c09873dff549912f Modified files: libpurple/protocols/msn/sbconn.c libpurple/protocols/msn/sbconn.h ChangeLog: Add support in SBConn to send parts instead of messages. -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/sbconn.c 41f3ea6b941d6dd4eaf8a80671d3e3c6053cbeab +++ libpurple/protocols/msn/sbconn.c 5484cf31f72d32cf9f76fb0b9fca160bd6947ded @@ -1,3 +1,6 @@ +#include "internal.h" + +#include "msg.h" #include "sbconn.h" /* We have received the message ack */ @@ -74,3 +77,30 @@ void msn_sbconn_send_msg(MsnSlpLink *slp msn_switchboard_send_msg(slplink->swboard, msg, TRUE); } + +void msn_sbconn_send_part(MsnSlpLink *slplink, MsnSlpMessagePart *part) +{ + MsnMessage *msg; + char *data; + size_t size; + + msg = msn_message_new_msnslp(); + + data = msn_slpmsgpart_serialize(part, &size); + msg->part = part; + + msn_message_set_bin_data(msg, data, size); + + if (slplink->swboard == NULL) + { + slplink->swboard = msn_session_get_swboard(slplink->session, + slplink->remote_user, MSN_SB_FLAG_FT); + + g_return_if_fail(slplink->swboard != NULL); + + /* If swboard is destroyed we will be too */ + slplink->swboard->slplinks = g_list_prepend(slplink->swboard->slplinks, slplink); + } + + msn_switchboard_send_msg(slplink->swboard, msg, TRUE); +} ============================================================ --- libpurple/protocols/msn/sbconn.h 4095835a2d125f29ce57b3c7d25d14d5f3926ded +++ libpurple/protocols/msn/sbconn.h 22693c5892efab5ba357a9c19f0e91c49b435b56 @@ -11,5 +11,6 @@ void msn_sbconn_send_msg(MsnSlpLink *slp void msn_sbconn_msg_nak(MsnMessage *msg, void *data); void msn_sbconn_send_msg(MsnSlpLink *slplink, MsnMessage *msg); +void msn_sbconn_send_part(MsnSlpLink *slplink, MsnSlpMessagePart *part); #endif /* MSN_SBCONN_H */ From masca at cpw.pidgin.im Wed Jun 16 19:16:20 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Wed, 16 Jun 2010 19:16:20 -0400 (EDT) Subject: soc.2010.msn-tlc: d8d1a7f9: Add support for Parts in the MsnSlpMessa... Message-ID: <20100616231620.42AF75BD02D2@rock.pidgin.im> ----------------------------------------------------------------- Revision: d8d1a7f9f306bf0ffba2783a2b35b8b33f7257e6 Ancestor: 8eb8de8cc192d5ba98a54419653634ce378a17dd Author: masca at cpw.pidgin.im Date: 2010-06-16T21:55:23 Branch: im.pidgin.soc.2010.msn-tlc URL: http://d.pidgin.im/viewmtn/revision/info/d8d1a7f9f306bf0ffba2783a2b35b8b33f7257e6 Modified files: libpurple/protocols/msn/msg.h libpurple/protocols/msn/slpmsg.h ChangeLog: Add support for Parts in the MsnSlpMessages and MsnMessages structs. -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/msg.h 56760f9c0b0dd2d7bc99c3fccf5e28bb9a7bf136 +++ libpurple/protocols/msn/msg.h bb238fb27c820ab92f480b1a3bfbe132d7dc21b3 @@ -59,6 +59,7 @@ typedef enum #include "transaction.h" #include "user.h" #include "slpmsg.h" +#include "slpmsg_part.h" typedef void (*MsnMsgCb)(MsnMessage *, void *data); @@ -79,6 +80,7 @@ struct _MsnMessage gboolean msnslp_message; MsnSlpMessage *slpmsg; + MsnSlpMessagePart *part; char *remote_user; char flag; ============================================================ --- libpurple/protocols/msn/slpmsg.h 2e246a268658e331b764f6275bad04acb9a1e86e +++ libpurple/protocols/msn/slpmsg.h d60d32f062d450afdec8afd94bb3ec9fb06b6335 @@ -76,6 +76,7 @@ struct _MsnSlpMessage long long size; GList *msgs; /**< The real messages. */ + GList *parts; /**< A list with the SlpMsgParts */ #if 1 MsnMessage *msg; /**< The temporary real message that will be sent. */ From darkrain42 at pidgin.im Wed Jun 16 21:55:59 2010 From: darkrain42 at pidgin.im (darkrain42 at pidgin.im) Date: Wed, 16 Jun 2010 21:55:59 -0400 (EDT) Subject: pidgin: 26acfe7e: jabber: Don't use a static array when it... Message-ID: <20100617015559.DF636AFD0B92@rock.pidgin.im> ----------------------------------------------------------------- Revision: 26acfe7eacc1bdb290a00149b828ed102e023284 Ancestor: ecaf7f1b35c3334cbb085a7f493c59291f8fd8a9 Author: darkrain42 at pidgin.im Date: 2010-06-17T01:45:44 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/26acfe7eacc1bdb290a00149b828ed102e023284 Modified files: libpurple/protocols/jabber/data.c ChangeLog: jabber: Don't use a static array when it might not be sufficient. JabberData:cid may come from the network, in which case the one I changed here would result in truncation. -------------- next part -------------- ============================================================ --- libpurple/protocols/jabber/data.c 3470d9f005c744dcb9ddb35040dc41b653c9f082 +++ libpurple/protocols/jabber/data.c 668dd94891f8de9d3f3e835459909a4e8e89c7bc @@ -43,7 +43,7 @@ jabber_data_create_from_data(gconstpoint { JabberData *data; gchar *checksum; - gchar cid[256]; + gchar cid[256]; /* "Big enough" for a SHA1 hex hash value */ g_return_val_if_fail(rawdata != NULL, NULL); g_return_val_if_fail(size > 0, NULL); @@ -191,15 +191,17 @@ jabber_data_get_xhtml_im(const JabberDat jabber_data_get_xhtml_im(const JabberData *data, const gchar *alt) { xmlnode *img; - char src[128]; + char *src; g_return_val_if_fail(data != NULL, NULL); g_return_val_if_fail(alt != NULL, NULL); img = xmlnode_new("img"); xmlnode_set_attrib(img, "alt", alt); - g_snprintf(src, sizeof(src), "cid:%s", data->cid); + + src = g_strconcat("cid:", data->cid, NULL); xmlnode_set_attrib(img, "src", src); + g_free(src); return img; } From darkrain42 at pidgin.im Wed Jun 16 21:56:00 2010 From: darkrain42 at pidgin.im (darkrain42 at pidgin.im) Date: Wed, 16 Jun 2010 21:56:00 -0400 (EDT) Subject: pidgin: 3c6688d4: jabber: Add a bunch of g_return_if_fail ... Message-ID: <20100617015600.53FA5AFD0B92@rock.pidgin.im> ----------------------------------------------------------------- Revision: 3c6688d49a7d287b24c6518b3e32dd1c742d1451 Ancestor: 8d94b5b7c8b83cf8842ac37678bd680f7ada6638 Author: darkrain42 at pidgin.im Date: 2010-06-17T01:26:02 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/3c6688d49a7d287b24c6518b3e32dd1c742d1451 Modified files: libpurple/protocols/jabber/data.c ChangeLog: jabber: Add a bunch of g_return_if_fail checks to the BoB code (Entirely untested, but I asked Marcus to double-check them) -------------- next part -------------- ============================================================ --- libpurple/protocols/jabber/data.c bf7262ae17964ed2b2cf6f94c7f95f8c96a0c8a1 +++ libpurple/protocols/jabber/data.c 664509781d2b33753f70ffb5f3f6f0be7ca534bb @@ -41,10 +41,17 @@ jabber_data_create_from_data(gconstpoint jabber_data_create_from_data(gconstpointer rawdata, gsize size, const char *type, gboolean ephemeral, JabberStream *js) { - JabberData *data = g_new0(JabberData, 1); - gchar *checksum = jabber_calculate_data_hash(rawdata, size, "sha1"); + JabberData *data; + gchar *checksum; gchar cid[256]; + g_return_val_if_fail(rawdata != NULL, NULL); + g_return_val_if_fail(size > 0, NULL); + g_return_val_if_fail(type != NULL, NULL); + + data = g_new0(JabberData, 1); + checksum = jabber_calculate_data_hash(rawdata, size, "sha1"); + g_snprintf(cid, sizeof(cid), "sha1+%s at bob.xmpp.org", checksum); g_free(checksum); @@ -62,6 +69,7 @@ jabber_data_delete(gpointer cbdata) jabber_data_delete(gpointer cbdata) { JabberData *data = cbdata; + g_free(data->cid); g_free(data->type); g_free(data->data); @@ -76,6 +84,8 @@ jabber_data_create_from_xml(xmlnode *tag gchar *raw_data = NULL; const gchar *cid, *type; + g_return_val_if_fail(tag != NULL, NULL); + /* check if this is a "data" tag */ if (strcmp(tag->name, "data") != 0) { purple_debug_error("jabber", "Invalid data element\n"); @@ -117,12 +127,16 @@ jabber_data_destroy(JabberData *data) void jabber_data_destroy(JabberData *data) { + g_return_if_fail(data != NULL); + jabber_data_delete(data); } const char * jabber_data_get_cid(const JabberData *data) { + g_return_val_if_fail(data != NULL, NULL); + return data->cid; } @@ -130,27 +144,38 @@ jabber_data_get_type(const JabberData *d const char * jabber_data_get_type(const JabberData *data) { + g_return_val_if_fail(data != NULL, NULL); + return data->type; } gsize jabber_data_get_size(const JabberData *data) { + g_return_val_if_fail(data != NULL, 0); + return data->size; } gpointer jabber_data_get_data(const JabberData *data) { + g_return_val_if_fail(data != NULL, NULL); + return data->data; } xmlnode * jabber_data_get_xml_definition(const JabberData *data) { - xmlnode *tag = xmlnode_new("data"); - char *base64data = purple_base64_encode(data->data, data->size); + xmlnode *tag; + char *base64data; + g_return_val_if_fail(data != NULL, NULL); + + tag = xmlnode_new("data"); + base64data = purple_base64_encode(data->data, data->size); + xmlnode_set_namespace(tag, NS_BOB); xmlnode_set_attrib(tag, "cid", data->cid); xmlnode_set_attrib(tag, "type", data->type); @@ -165,9 +190,13 @@ jabber_data_get_xhtml_im(const JabberDat xmlnode * jabber_data_get_xhtml_im(const JabberData *data, const gchar *alt) { - xmlnode *img = xmlnode_new("img"); + xmlnode *img; char src[128]; + g_return_val_if_fail(data != NULL, NULL); + g_return_val_if_fail(alt != NULL, NULL); + + img = xmlnode_new("img"); xmlnode_set_attrib(img, "alt", alt); g_snprintf(src, sizeof(src), "cid:%s", data->cid); xmlnode_set_attrib(img, "src", src); @@ -269,7 +298,7 @@ jabber_data_request_cb(JabberStream *js, "Responder didn't recognize requested data\n"); cb(NULL, alt, userdata); } else { - purple_debug_error("jabber", "Unknown response to data request\n"); + purple_debug_warning("jabber", "Unknown response to data request\n"); cb(NULL, alt, userdata); } @@ -281,10 +310,18 @@ jabber_data_request(JabberStream *js, co gchar *alt, gboolean ephemeral, JabberDataRequestCallback cb, gpointer userdata) { - JabberIq *request = jabber_iq_new(js, JABBER_IQ_GET); - xmlnode *data_request = jabber_data_get_xml_request(cid); - JabberDataRequestData *data = g_new0(JabberDataRequestData, 1); + JabberIq *request; + xmlnode *data_request; + JabberDataRequestData *data; + g_return_if_fail(cid != NULL); + g_return_if_fail(who != NULL); + g_return_if_fail(alt != NULL); + + request = jabber_iq_new(js, JABBER_IQ_GET); + data_request = jabber_data_get_xml_request(cid); + data = g_new0(JabberDataRequestData, 1); + data->userdata = userdata; data->alt = alt; data->ephemeral = ephemeral; @@ -333,6 +370,9 @@ jabber_data_associate_local(JabberData * void jabber_data_associate_local(JabberData *data, const gchar *alt) { + g_return_if_fail(data != NULL); + g_return_if_fail(alt != NULL); + purple_debug_info("jabber", "associating local data object\n alt = %s, cid = %s\n", alt , jabber_data_get_cid(data)); if (alt) @@ -345,7 +385,9 @@ jabber_data_associate_remote(JabberStrea jabber_data_associate_remote(JabberStream *js, const gchar *who, JabberData *data) { gchar *cid; - + + g_return_if_fail(data != NULL); + if (jabber_data_has_valid_hash(data)) { cid = g_strdup(jabber_data_get_cid(data)); } else { From darkrain42 at pidgin.im Wed Jun 16 21:56:00 2010 From: darkrain42 at pidgin.im (darkrain42 at pidgin.im) Date: Wed, 16 Jun 2010 21:56:00 -0400 (EDT) Subject: pidgin: ca8febcd: jabber: Fix a crash in the BoB code when... Message-ID: <20100617015600.D7437AFD0B92@rock.pidgin.im> ----------------------------------------------------------------- Revision: ca8febcd75d5d72dae81ba4d2c0b30c1620853c9 Ancestor: 26acfe7eacc1bdb290a00149b828ed102e023284 Author: darkrain42 at pidgin.im Date: 2010-06-17T01:51:58 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/ca8febcd75d5d72dae81ba4d2c0b30c1620853c9 Modified files: ChangeLog libpurple/protocols/jabber/data.c ChangeLog: jabber: Fix a crash in the BoB code when receiving from Jabbim. Actually, the real problem here is that Jabbim is leaving off a REQUIRED attribute (see http://xmpp.org/extensions/xep-0231.html#format), but we still shouldn't crash :). Closes #12185 -------------- next part -------------- ============================================================ --- ChangeLog 028fe3743148f69496e4bd22dad8c6a8864e4763 +++ ChangeLog a6bb4ec247905ed0e6a2d9118bb9c6d3d9646a27 @@ -16,6 +16,8 @@ version 2.7.2 (??/??/????): XMPP: * Allow connecting to servers that only advertise GSSAPI and expect a fallback to legacy IQ authentication (broken in 2.7.0). + * Fix a crash when receiving custom emoticons that don't adhere to + the specification. Yahoo/Yahoo JAPAN: * Renamed "Use account proxy for SSL connections" to "Use account proxy ============================================================ --- libpurple/protocols/jabber/data.c 668dd94891f8de9d3f3e835459909a4e8e89c7bc +++ libpurple/protocols/jabber/data.c e964bbee9f5c902eaed77496f915daa1b8f4f611 @@ -291,7 +291,7 @@ jabber_data_request_cb(JabberStream *js, if (data_element && type == JABBER_IQ_RESULT) { JabberData *data = jabber_data_create_from_xml(data_element); - if (!ephemeral) { + if (data && !ephemeral) { jabber_data_associate_remote(js, from, data); } cb(data, alt, userdata); From darkrain42 at pidgin.im Wed Jun 16 21:56:01 2010 From: darkrain42 at pidgin.im (darkrain42 at pidgin.im) Date: Wed, 16 Jun 2010 21:56:01 -0400 (EDT) Subject: pidgin: ecaf7f1b: jabber: Oops, forgot to save the file be... Message-ID: <20100617015603.7DCD15BD02C2@rock.pidgin.im> ----------------------------------------------------------------- Revision: ecaf7f1b35c3334cbb085a7f493c59291f8fd8a9 Ancestor: 3c6688d49a7d287b24c6518b3e32dd1c742d1451 Author: darkrain42 at pidgin.im Date: 2010-06-17T01:30:06 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/ecaf7f1b35c3334cbb085a7f493c59291f8fd8a9 Modified files: libpurple/protocols/jabber/data.c ChangeLog: jabber: Oops, forgot to save the file before the last commit. The thumbnail code uses this function with alt==NULL -------------- next part -------------- ============================================================ --- libpurple/protocols/jabber/data.c 664509781d2b33753f70ffb5f3f6f0be7ca534bb +++ libpurple/protocols/jabber/data.c 3470d9f005c744dcb9ddb35040dc41b653c9f082 @@ -371,7 +371,6 @@ jabber_data_associate_local(JabberData * jabber_data_associate_local(JabberData *data, const gchar *alt) { g_return_if_fail(data != NULL); - g_return_if_fail(alt != NULL); purple_debug_info("jabber", "associating local data object\n alt = %s, cid = %s\n", alt , jabber_data_get_cid(data)); From darkrain42 at pidgin.im Thu Jun 17 15:25:51 2010 From: darkrain42 at pidgin.im (darkrain42 at pidgin.im) Date: Thu, 17 Jun 2010 15:25:51 -0400 (EDT) Subject: pidgin: 36a2252d: jabber: Fix a crash when sending typing ... Message-ID: <20100617192551.E480FAFD2085@rock.pidgin.im> ----------------------------------------------------------------- Revision: 36a2252d33b7a01e01f00ac7599f91059951e47e Ancestor: ca8febcd75d5d72dae81ba4d2c0b30c1620853c9 Author: darkrain42 at pidgin.im Date: 2010-06-17T19:17:32 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/36a2252d33b7a01e01f00ac7599f91059951e47e Modified files: libpurple/protocols/jabber/message.c ChangeLog: jabber: Fix a crash when sending typing notifications to a malformed buddy E.g. "test at example.com ". Reported by Mark. -------------- next part -------------- ============================================================ --- libpurple/protocols/jabber/message.c 01bd63d3f9d470888095e5c4bfe40307f3ef761e +++ libpurple/protocols/jabber/message.c 45645a38d429674a2a45c79226aa8ec6b8ea4562 @@ -1239,14 +1239,19 @@ unsigned int jabber_send_typing(PurpleCo unsigned int jabber_send_typing(PurpleConnection *gc, const char *who, PurpleTypingState state) { + JabberStream *js; JabberMessage *jm; JabberBuddy *jb; JabberBuddyResource *jbr; - char *resource = jabber_get_resource(who); + char *resource; - jb = jabber_buddy_find(gc->proto_data, who, TRUE); + js = purple_connection_get_protocol_data(gc); + jb = jabber_buddy_find(js, who, TRUE); + if (!jb) + return 0; + + resource = jabber_get_resource(who); jbr = jabber_buddy_find_resource(jb, resource); - g_free(resource); /* We know this entity doesn't support chat states */ @@ -1261,7 +1266,7 @@ unsigned int jabber_send_typing(PurpleCo /* TODO: figure out threading */ jm = g_new0(JabberMessage, 1); - jm->js = gc->proto_data; + jm->js = js; jm->type = JABBER_MESSAGE_CHAT; jm->to = g_strdup(who); jm->id = jabber_get_next_id(jm->js); From markdoliner at pidgin.im Thu Jun 17 17:11:03 2010 From: markdoliner at pidgin.im (markdoliner at pidgin.im) Date: Thu, 17 Jun 2010 17:11:03 -0400 (EDT) Subject: pidgin: 18ddd668: Minor cleanup Message-ID: <20100617211103.EB6F5AFD23B5@rock.pidgin.im> ----------------------------------------------------------------- Revision: 18ddd668ba1cc77ed0a0595a053f8a2879dddfd0 Ancestor: 874e9c9941d0587cc9a12f70910987a514f1cee3 Author: markdoliner at pidgin.im Date: 2010-06-17T21:06:00 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/18ddd668ba1cc77ed0a0595a053f8a2879dddfd0 Modified files: libpurple/protocols/yahoo/libymsg.c ChangeLog: Minor cleanup -------------- next part -------------- ============================================================ --- libpurple/protocols/yahoo/libymsg.c 5ab8f3bdabb7e62cf56623ed1d9f85e516a8aec4 +++ libpurple/protocols/yahoo/libymsg.c ff966131fb334d1a9f45da8f4ab0767ef6db302a @@ -401,15 +401,13 @@ static void yahoo_do_group_check(PurpleA PurpleBuddy *b; PurpleGroup *g; GSList *list, *i; - gboolean onlist = 0; - char *oname = NULL; - char **oname_p = &oname; - GSList **list_p = &list; + gboolean onlist = FALSE; + char *oname; - if (!g_hash_table_lookup_extended(ht, purple_normalize(account, name), (gpointer *) oname_p, (gpointer *) list_p)) - list = purple_find_buddies(account, name); + if (g_hash_table_lookup_extended(ht, purple_normalize(account, name), (gpointer *)&oname, (gpointer *)&list)) + g_hash_table_steal(ht, oname); else - g_hash_table_steal(ht, name); + list = purple_find_buddies(account, name); for (i = list; i; i = i->next) { b = i->data; @@ -418,7 +416,7 @@ static void yahoo_do_group_check(PurpleA purple_debug_misc("yahoo", "Oh good, %s is in the right group (%s).\n", name, group); list = g_slist_delete_link(list, i); - onlist = 1; + onlist = TRUE; break; } } @@ -438,7 +436,7 @@ static void yahoo_do_group_check(PurpleA if (!oname) oname = g_strdup(purple_normalize(account, name)); g_hash_table_insert(ht, oname, list); - } else if (oname) + } else g_free(oname); } From markdoliner at pidgin.im Thu Jun 17 17:11:04 2010 From: markdoliner at pidgin.im (markdoliner at pidgin.im) Date: Thu, 17 Jun 2010 17:11:04 -0400 (EDT) Subject: pidgin: 3f1be4e6: Remove some stray spaces Message-ID: <20100617211104.6175BAFD23B5@rock.pidgin.im> ----------------------------------------------------------------- Revision: 3f1be4e68646e1b8b8d32c50d6a1ec4b2be9b7d6 Ancestor: 36a2252d33b7a01e01f00ac7599f91059951e47e Author: markdoliner at pidgin.im Date: 2010-06-17T20:53:44 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/3f1be4e68646e1b8b8d32c50d6a1ec4b2be9b7d6 Modified files: libpurple/protocols/oscar/family_icbm.c ChangeLog: Remove some stray spaces -------------- next part -------------- ============================================================ --- libpurple/protocols/oscar/family_icbm.c 52688bc864209fd4471193bfce81c4547ba8ae51 +++ libpurple/protocols/oscar/family_icbm.c 454c1eab3e803b8a00d48b3ff4b4f80a83caf866 @@ -2701,55 +2701,55 @@ static int clientautoresp(OscarData *od, if (channel == 0x0002) { - hdrlen = byte_stream_getle16(bs); - if ( ((hdrlen == 27 ) && (bs->len > (27 + 51)))) { - byte_stream_advance(bs, 51); - num1 = byte_stream_getle16(bs); - num2 = byte_stream_getle16(bs); - purple_debug_misc("oscar", "X-Status: Num1 %i, num2 %i\n",num1, num2); - - if(((num1 == 0x4f00)&&(num2 == 0x3b00))) { - byte_stream_advance(bs, 86); - curpos = byte_stream_curpos(bs); - xml = byte_stream_getstr(bs, bs->len - curpos); - purple_debug_misc("oscar", "X-Status: Received XML reply\n"); - if(xml) { - /* purple_debug_misc("oscar", "X-Status: XML reply: %s\n", (const char*) xml); */ - if ((desc=strstr(xml,"<desc>")) != NULL) { - temp=strstr(xml,"</desc>"); - temp[0]=0; - desc=desc+12; - } - if ((title=strstr(xml,"<title>")) != NULL) { - temp=strstr(xml,"</title>"); - temp[0]=0; - title=title+13; - } else { - title=""; - } - strcpy(xml,title); + hdrlen = byte_stream_getle16(bs); + if ( ((hdrlen == 27 ) && (bs->len > (27 + 51)))) { + byte_stream_advance(bs, 51); + num1 = byte_stream_getle16(bs); + num2 = byte_stream_getle16(bs); + purple_debug_misc("oscar", "X-Status: Num1 %i, num2 %i\n",num1, num2); + + if(((num1 == 0x4f00)&&(num2 == 0x3b00))) { + byte_stream_advance(bs, 86); + curpos = byte_stream_curpos(bs); + xml = byte_stream_getstr(bs, bs->len - curpos); + purple_debug_misc("oscar", "X-Status: Received XML reply\n"); + if(xml) { + /* purple_debug_misc("oscar", "X-Status: XML reply: %s\n", (const char*) xml); */ + if ((desc=strstr(xml,"<desc>")) != NULL) { + temp=strstr(xml,"</desc>"); + temp[0]=0; + desc=desc+12; + } + if ((title=strstr(xml,"<title>")) != NULL) { + temp=strstr(xml,"</title>"); + temp[0]=0; + title=title+13; + } else { + title=""; + } + strcpy(xml,title); if (desc) { - strcat(xml, " - "); - strcat(xml, desc); + strcat(xml, " - "); + strcat(xml, desc); } - purple_debug_misc("oscar", "X-Status reply: %s\n", (const char*)xml); - account = purple_connection_get_account(od->gc); - buddy = purple_find_buddy(account, bn); - presence = purple_buddy_get_presence(buddy); - status = purple_presence_get_active_status(presence); - purple_prpl_got_user_status(account, bn, - purple_status_get_id(status), "message", xml, NULL); - } else { - purple_debug_misc("oscar", "X-Status: Can't get XML reply string\n"); + purple_debug_misc("oscar", "X-Status reply: %s\n", (const char*)xml); + account = purple_connection_get_account(od->gc); + buddy = purple_find_buddy(account, bn); + presence = purple_buddy_get_presence(buddy); + status = purple_presence_get_active_status(presence); + purple_prpl_got_user_status(account, bn, + purple_status_get_id(status), "message", xml, NULL); + } else { + purple_debug_misc("oscar", "X-Status: Can't get XML reply string\n"); } - } else { - purple_debug_misc("oscar", "X-Status: 0x0004, 0x000b not an xstatus reply\n" ); + } else { + purple_debug_misc("oscar", "X-Status: 0x0004, 0x000b not an xstatus reply\n" ); /* if ((userfunc = aim_callhandler(od, snac->family, snac->subtype))) - ret = userfunc(od, conn, frame, channel, sn, reason); */ + ret = userfunc(od, conn, frame, channel, sn, reason); */ } - - } + } + } else if (channel == 0x0004) { /* ICQ message */ switch (reason) { case 0x0003: { /* ICQ status message. Maybe other stuff too, you never know with these people. */ @@ -2930,12 +2930,12 @@ int icq_im_xstatus_request(OscarData *od char *statxml; int xmllen; - static const guint8 pluginid[] = + static const guint8 pluginid[] = { - 0x09, 0x46, 0x13, 0x49, 0x4C, 0x7F, 0x11, 0xD1, + 0x09, 0x46, 0x13, 0x49, 0x4C, 0x7F, 0x11, 0xD1, 0x82, 0x22, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00 }; - + static const guint8 c_plugindata[] = { 0x1B, 0x00, 0x0A, @@ -2949,14 +2949,14 @@ int icq_im_xstatus_request(OscarData *od 0x72, 0x72, 0x69, 0x76, 0x65, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x01, 0x00, 0x00, 0x10, 0x01, 0x00, 0x00 }; - + if (!od || !(conn = flap_connection_findbygroup(od, 0x0004))) return -EINVAL; if (!sn) return -EINVAL; - fmt = "<Q><PluginID>srvMng</PluginID></Q><srv><id>cAwaySrv</id><req><id>AwayStat</id><trans>2</trans><senderId>%s</senderId></req></srv>\r\n"; + fmt = "<Q><PluginID>srvMng</PluginID></Q><srv><id>cAwaySrv</id><req><id>AwayStat</id><trans>2</trans><senderId>%s</senderId></req></srv>\r\n"; account = purple_connection_get_account(od->gc); xmllen = strlen(fmt) - 2 + strlen(account->username); @@ -2970,7 +2970,7 @@ int icq_im_xstatus_request(OscarData *od + 2 + 2 + 8 + 16 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + sizeof(c_plugindata) + xmllen + 2 + 2); - + snacid = aim_cachesnac(od, 0x0004, 0x0006, 0x0000, NULL, 0); aim_im_puticbm(&bs, cookie, 0x0002, sn); @@ -2980,24 +2980,23 @@ int icq_im_xstatus_request(OscarData *od byte_stream_put16(&header, 0x0000); /* Message Type: Request */ byte_stream_putraw(&header, cookie, sizeof(cookie)); /* Message ID */ byte_stream_putraw(&header, pluginid, sizeof(pluginid)); /* Plugin ID */ - + aim_tlvlist_add_16(&inner_tlvlist, 0x000a, 0x0001); aim_tlvlist_add_noval(&inner_tlvlist, 0x000f); - + /* Add Plugin Specific Data */ byte_stream_putraw(&plugindata, c_plugindata, sizeof(c_plugindata)); /* Content of TLV 0x2711 */ byte_stream_putstr(&plugindata, statxml); aim_tlvlist_add_raw(&inner_tlvlist, 0x2711, (sizeof(c_plugindata) + xmllen), plugindata.data); - + aim_tlvlist_write(&header, &inner_tlvlist); - - + aim_tlvlist_add_raw(&outer_tlvlist, 0x0005, byte_stream_curpos(&header), header.data); aim_tlvlist_add_noval(&outer_tlvlist, 0x0003); /* Empty TLV 0x0003 */ - + aim_tlvlist_write(&bs, &outer_tlvlist); - + purple_debug_misc("oscar", "X-Status Request\n"); flap_connection_send_snac_with_priority(od, conn, 0x0004, 0x0006, 0x0000, snacid, &bs, TRUE); @@ -3024,39 +3023,38 @@ int icq_relay_xstatus(OscarData *od, con char *statxml; const char *title; int len; - + static const guint8 plugindata[] = { 0x1B, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0xF9, 0xD1, 0x0E, 0x00, 0xF9, 0xD1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x4F, - 0x00, 0x3B, 0x60, 0xB3, 0xEF, 0xD8, 0x2A, 0x6C, 0x45, 0xA4, 0xE0, - 0x9C, 0x5A, 0x5E, 0x67, 0xE8, 0x65, 0x08, 0x00, 0x2A, 0x00, 0x00, - 0x00, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x20, 0x50, 0x6C, 0x75, - 0x67, 0x2D, 0x69, 0x6E, 0x3A, 0x20, 0x52, 0x65, 0x6D, 0x6F, 0x74, + 0x00, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x4F, + 0x00, 0x3B, 0x60, 0xB3, 0xEF, 0xD8, 0x2A, 0x6C, 0x45, 0xA4, 0xE0, + 0x9C, 0x5A, 0x5E, 0x67, 0xE8, 0x65, 0x08, 0x00, 0x2A, 0x00, 0x00, + 0x00, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x20, 0x50, 0x6C, 0x75, + 0x67, 0x2D, 0x69, 0x6E, 0x3A, 0x20, 0x52, 0x65, 0x6D, 0x6F, 0x74, 0x65, 0x20, 0x4E, 0x6F, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x20, 0x41, 0x72, 0x72, 0x69, 0x76, 0x65, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF3, 0x01, 0x00, 0x00, 0xEF, 0x01, 0x00, 0x00 - }; + }; fmt = "<ret event='OnRemoteNotification'><srv><id>cAwaySrv</id><val srv_id='cAwaySrv'><Root><CASXtraSetAwayMessage></CASXtraSetAwayMessage>&l t;uin>%s</uin><index>1</index><title>%s</title><desc>%s</desc></Root></val></srv><srv><id>cRandomizerSrv</id><val srv_id='cRandomizerSrv'>undefined</val></srv></ret>\r\n"; - - + if (!od || !(conn = flap_connection_findbygroup(od, 0x0002))) return -EINVAL; if (!sn) return -EINVAL; - + account = purple_connection_get_account(od->gc); if(!account) return -EINVAL; - + /* if (!strcmp(account->username, sn)) icq_im_xstatus_request(od, sn); */ - + status = purple_presence_get_active_status(account->presence); if (!status) return -EINVAL; title = purple_status_get_name(status); @@ -3068,7 +3066,7 @@ int icq_relay_xstatus(OscarData *od, con len = strlen(fmt)-6+strlen(account->username)+strlen(title)+strlen(msg); statxml = (char*) g_malloc(len); - snprintf(statxml, len, fmt, + snprintf(statxml, len, fmt, account->username, title, msg); purple_debug_misc("oscar", "X-Status AutoReply: %s, %s\n", formatted_msg, msg); @@ -3080,7 +3078,7 @@ int icq_relay_xstatus(OscarData *od, con byte_stream_put16(&bs, 0x0003); byte_stream_putraw(&bs, plugindata, sizeof(plugindata)); byte_stream_putraw(&bs, (const guint8*)statxml, strlen(statxml)); - + flap_connection_send_snac_with_priority(od, conn, 0x0004, 0x000b, 0x0000, snacid, &bs, TRUE); g_free(statxml); From markdoliner at pidgin.im Thu Jun 17 17:11:05 2010 From: markdoliner at pidgin.im (markdoliner at pidgin.im) Date: Thu, 17 Jun 2010 17:11:05 -0400 (EDT) Subject: pidgin: 874e9c99: We've already checked for the existance ... Message-ID: <20100617211105.174CEAFD20FB@rock.pidgin.im> ----------------------------------------------------------------- Revision: 874e9c9941d0587cc9a12f70910987a514f1cee3 Ancestor: 3f1be4e68646e1b8b8d32c50d6a1ec4b2be9b7d6 Author: markdoliner at pidgin.im Date: 2010-06-17T21:04:40 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/874e9c9941d0587cc9a12f70910987a514f1cee3 Modified files: libpurple/protocols/jabber/jabber.c ChangeLog: We've already checked for the existance of the starttls node, so we know it's gonna be there, so we don't need to check again -------------- next part -------------- ============================================================ --- libpurple/protocols/jabber/jabber.c 8f43fd5f70bf5bcfc48893ee9f27302fa9da97a2 +++ libpurple/protocols/jabber/jabber.c cf194fc66f579908ead131e17041021b586f6755 @@ -218,22 +218,25 @@ jabber_process_starttls(JabberStream *js account = purple_connection_get_account(js->gc); - if((starttls = xmlnode_get_child(packet, "starttls"))) { - if(purple_ssl_is_supported()) { - jabber_send_raw(js, - "", -1); - return TRUE; - } else if(xmlnode_get_child(starttls, "required")) { - purple_connection_error_reason(js->gc, + if(purple_ssl_is_supported()) { + jabber_send_raw(js, + "", -1); + return TRUE; + } + + starttls = xmlnode_get_child(packet, "starttls"); + if(xmlnode_get_child(starttls, "required")) { + purple_connection_error_reason(js->gc, PURPLE_CONNECTION_ERROR_NO_SSL_SUPPORT, _("Server requires TLS/SSL, but no TLS/SSL support was found.")); - return TRUE; - } else if(purple_account_get_bool(account, "require_tls", JABBER_DEFAULT_REQUIRE_TLS)) { - purple_connection_error_reason(js->gc, - PURPLE_CONNECTION_ERROR_NO_SSL_SUPPORT, + return TRUE; + } + + if(purple_account_get_bool(account, "require_tls", JABBER_DEFAULT_REQUIRE_TLS)) { + purple_connection_error_reason(js->gc, + PURPLE_CONNECTION_ERROR_NO_SSL_SUPPORT, _("You require encryption, but no TLS/SSL support was found.")); - return TRUE; - } + return TRUE; } return FALSE; From darkrain42 at pidgin.im Thu Jun 17 17:25:32 2010 From: darkrain42 at pidgin.im (darkrain42 at pidgin.im) Date: Thu, 17 Jun 2010 17:25:32 -0400 (EDT) Subject: pidgin: 63b644ac: jabber: Exclude ASCII 127 (Delete) from ... Message-ID: <20100617212532.8B306AFD23C0@rock.pidgin.im> ----------------------------------------------------------------- Revision: 63b644ac7791059c9fad6128d17bccebca8ad71a Ancestor: 36a2252d33b7a01e01f00ac7599f91059951e47e Author: darkrain42 at pidgin.im Date: 2010-06-17T21:21:30 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/63b644ac7791059c9fad6128d17bccebca8ad71a Modified files: libpurple/protocols/jabber/jutil.c libpurple/tests/test_jabber_scram.c ChangeLog: jabber: Exclude ASCII 127 (Delete) from allowed SASLprep characters Tested with libidn, so changed it for the non-libidn code. Also, disable a test that cannot succeed without libidn (since it contains a vulgar 1/2). -------------- next part -------------- ============================================================ --- libpurple/protocols/jabber/jutil.c e235b25d5f555565bc0dc271b36aa49633e86337 +++ libpurple/protocols/jabber/jutil.c 46a9ecb1259d7c6faae8b27a3eff569172a67acd @@ -303,8 +303,10 @@ char *jabber_saslprep(const char *in) c = (const guchar *)in; for ( ; *c; ++c) { - if (*c > 0x7f || + if (*c > 0x7f || /* Non-ASCII characters */ + *c == 0x7f || /* ASCII Delete character */ (*c < 0x20 && *c != '\t' && *c != '\n' && *c != '\r')) + /* ASCII control characters */ return NULL; } ============================================================ --- libpurple/tests/test_jabber_scram.c 5c76e6cb39a12cd0ec17ad2658af55ac4a184351 +++ libpurple/tests/test_jabber_scram.c 706c0804fce2556818a6568708190eae99da1209 @@ -89,11 +89,13 @@ START_TEST(test_mech) "c=biws,r=H7yDYKAWBCrM2Fa5SxGa4iezFPVDPpDUcGxPkH3RzP,p=pXkak78EuwwOEwk2/h/OzD7NkEI=", "v=ldX4EBNnOgDnNTOCmbSfBHAUCOs="); +#ifdef USE_IDN assert_successful_exchange("pass 1/2 word", "GNb2HsNI7VnTv8ABsE5AnY8W", "n=paul,r=GNb2HsNI7VnTv8ABsE5AnY8W", "r=GNb2HsNI7VnTv8ABsE5AnY8W/w/I3eRKM0I7jxFWOH,s=ysAriUjPzFqOXnMQ,i=4096", "c=biws,r=GNb2HsNI7VnTv8ABsE5AnY8W/w/I3eRKM0I7jxFWOH,p=n/CtgdWjOYnLQ4m9Na+wPn9D2uY=", "v=4TkZwKWy6JHNmrUbU2+IdAaXtos="); +#endif } END_TEST From darkrain42 at pidgin.im Thu Jun 17 17:25:33 2010 From: darkrain42 at pidgin.im (darkrain42 at pidgin.im) Date: Thu, 17 Jun 2010 17:25:33 -0400 (EDT) Subject: pidgin: 957a4bbd: merge of '18ddd668ba1cc77ed0a0595a053f8a... Message-ID: <20100617212533.0687BAFD23C0@rock.pidgin.im> ----------------------------------------------------------------- Revision: 957a4bbd52c402829dbe3dbe7a88d69e70d00a97 Ancestor: 18ddd668ba1cc77ed0a0595a053f8a2879dddfd0 Ancestor: 63b644ac7791059c9fad6128d17bccebca8ad71a Author: darkrain42 at pidgin.im Date: 2010-06-17T21:23:01 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/957a4bbd52c402829dbe3dbe7a88d69e70d00a97 Modified files: libpurple/protocols/jabber/jabber.c libpurple/protocols/jabber/jutil.c libpurple/protocols/oscar/family_icbm.c libpurple/protocols/yahoo/libymsg.c libpurple/tests/test_jabber_scram.c ChangeLog: merge of '18ddd668ba1cc77ed0a0595a053f8a2879dddfd0' and '63b644ac7791059c9fad6128d17bccebca8ad71a' From rekkanoryo at pidgin.im Thu Jun 17 18:25:47 2010 From: rekkanoryo at pidgin.im (rekkanoryo at pidgin.im) Date: Thu, 17 Jun 2010 18:25:47 -0400 (EDT) Subject: pidgin: 17361f09: Fix a typo and solve a crash. g_free() ... Message-ID: <20100617222547.5874AAFD20C3@rock.pidgin.im> ----------------------------------------------------------------- Revision: 17361f09097a5f1f0b18ee376798623ad992ef35 Ancestor: 957a4bbd52c402829dbe3dbe7a88d69e70d00a97 Author: rekkanoryo at pidgin.im Date: 2010-06-17T22:20:25 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/17361f09097a5f1f0b18ee376798623ad992ef35 Modified files: libpurple/protocols/yahoo/libymsg.c ChangeLog: Fix a typo and solve a crash. g_free() is not safe on uninitialized pointers. -------------- next part -------------- ============================================================ --- libpurple/protocols/yahoo/libymsg.c ff966131fb334d1a9f45da8f4ab0767ef6db302a +++ libpurple/protocols/yahoo/libymsg.c e02aeb1ac11c66512e8892a40da7841e6d14762c @@ -402,10 +402,10 @@ static void yahoo_do_group_check(PurpleA PurpleGroup *g; GSList *list, *i; gboolean onlist = FALSE; - char *oname; + char *oname = NULL; if (g_hash_table_lookup_extended(ht, purple_normalize(account, name), (gpointer *)&oname, (gpointer *)&list)) - g_hash_table_steal(ht, oname); + g_hash_table_steal(ht, name); else list = purple_find_buddies(account, name); From sadrul at pidgin.im Thu Jun 17 18:25:48 2010 From: sadrul at pidgin.im (sadrul at pidgin.im) Date: Thu, 17 Jun 2010 18:25:48 -0400 (EDT) Subject: pidgin: 3f9a4a19: Initialize pointer, fix a typo to fix a ... Message-ID: <20100617222548.85D74AFD20C3@rock.pidgin.im> ----------------------------------------------------------------- Revision: 3f9a4a1940360f059c6e0ba16f841443e5b07da1 Ancestor: 957a4bbd52c402829dbe3dbe7a88d69e70d00a97 Author: sadrul at pidgin.im Date: 2010-06-17T22:21:53 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/3f9a4a1940360f059c6e0ba16f841443e5b07da1 Modified files: libpurple/protocols/yahoo/libymsg.c ChangeLog: Initialize pointer, fix a typo to fix a crash. -------------- next part -------------- ============================================================ --- libpurple/protocols/yahoo/libymsg.c ff966131fb334d1a9f45da8f4ab0767ef6db302a +++ libpurple/protocols/yahoo/libymsg.c 2284abcd1dfed143756540ddb01b96577b7d8928 @@ -402,10 +402,10 @@ static void yahoo_do_group_check(PurpleA PurpleGroup *g; GSList *list, *i; gboolean onlist = FALSE; - char *oname; + char *oname = NULL; if (g_hash_table_lookup_extended(ht, purple_normalize(account, name), (gpointer *)&oname, (gpointer *)&list)) - g_hash_table_steal(ht, oname); + g_hash_table_steal(ht, name); else list = purple_find_buddies(account, name); @@ -841,15 +841,14 @@ static void yahoo_process_notify(PurpleC default: break; } - + if (*stat == '1') serv_got_typing(gc, fed_from, 0, PURPLE_TYPING); else serv_got_typing_stopped(gc, fed_from); - + if (fed_from != from) g_free(fed_from); - } else if (!g_ascii_strncasecmp(msg, "GAME", strlen("GAME"))) { PurpleBuddy *bud = purple_find_buddy(account, from); @@ -1012,7 +1011,6 @@ static void yahoo_process_message(Purple break; } purple_debug_info("yahoo", "Message from federated (%d) buddy %s.\n", im->fed, im->fed_from); - } /* peer session id */ if (im && (pair->key == 11)) { From rekkanoryo at pidgin.im Thu Jun 17 18:25:49 2010 From: rekkanoryo at pidgin.im (rekkanoryo at pidgin.im) Date: Thu, 17 Jun 2010 18:25:49 -0400 (EDT) Subject: pidgin: e3a6ef73: merge of '17361f09097a5f1f0b18ee37679862... Message-ID: <20100617222549.77A6CAFD23CA@rock.pidgin.im> ----------------------------------------------------------------- Revision: e3a6ef7390d7890b02866222f5f347f383cd6a48 Ancestor: 17361f09097a5f1f0b18ee376798623ad992ef35 Ancestor: 3f9a4a1940360f059c6e0ba16f841443e5b07da1 Author: rekkanoryo at pidgin.im Date: 2010-06-17T22:23:38 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/e3a6ef7390d7890b02866222f5f347f383cd6a48 Modified files: libpurple/protocols/yahoo/libymsg.c ChangeLog: merge of '17361f09097a5f1f0b18ee376798623ad992ef35' and '3f9a4a1940360f059c6e0ba16f841443e5b07da1' From markdoliner at pidgin.im Thu Jun 17 21:45:49 2010 From: markdoliner at pidgin.im (markdoliner at pidgin.im) Date: Thu, 17 Jun 2010 21:45:49 -0400 (EDT) Subject: pidgin: 7fe05653: Formatting changes. Hopefully I didn't ... Message-ID: <20100618014549.E9845AFD1FFE@rock.pidgin.im> ----------------------------------------------------------------- Revision: 7fe056535dca3e50f6489654f491a2f9e487b4d4 Ancestor: 957a4bbd52c402829dbe3dbe7a88d69e70d00a97 Author: markdoliner at pidgin.im Date: 2010-06-18T01:39:55 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/7fe056535dca3e50f6489654f491a2f9e487b4d4 Modified files: libpurple/protocols/oscar/family_icbm.c ChangeLog: Formatting changes. Hopefully I didn't break anything this time -------------- next part -------------- ============================================================ --- libpurple/protocols/oscar/family_icbm.c 454c1eab3e803b8a00d48b3ff4b4f80a83caf866 +++ libpurple/protocols/oscar/family_icbm.c 6bd004ad5bc6daac2ea0213e73e62d2fd949a883 @@ -2684,9 +2684,9 @@ static int clientautoresp(OscarData *od, guchar *cookie; guint8 bnlen; char *xml = NULL; - int hdrlen; + guint16 hdrlen; int curpos; - int num1,num2; + guint16 num1, num2; char *desc, *title, *temp; PurpleAccount *account; PurpleBuddy *buddy; @@ -2702,50 +2702,52 @@ static int clientautoresp(OscarData *od, if (channel == 0x0002) { hdrlen = byte_stream_getle16(bs); - if ( ((hdrlen == 27 ) && (bs->len > (27 + 51)))) { + if (hdrlen == 27 && bs->len > (27 + 51)) { byte_stream_advance(bs, 51); num1 = byte_stream_getle16(bs); num2 = byte_stream_getle16(bs); - purple_debug_misc("oscar", "X-Status: Num1 %i, num2 %i\n",num1, num2); + purple_debug_misc("oscar", "X-Status: num1 %hu, num2 %hu\n", num1, num2); - if(((num1 == 0x4f00)&&(num2 == 0x3b00))) { + if (num1 == 0x4f00 && num2 == 0x3b00) { byte_stream_advance(bs, 86); curpos = byte_stream_curpos(bs); xml = byte_stream_getstr(bs, bs->len - curpos); purple_debug_misc("oscar", "X-Status: Received XML reply\n"); - if(xml) { - /* purple_debug_misc("oscar", "X-Status: XML reply: %s\n", (const char*) xml); */ - if ((desc=strstr(xml,"<desc>")) != NULL) { - temp=strstr(xml,"</desc>"); - temp[0]=0; - desc=desc+12; + if (xml) { + /* purple_debug_misc("oscar", "X-Status: XML reply: %s\n", xml); */ + desc = strstr(xml, "<desc>"); + if (desc != NULL) { + temp = strstr(xml, "</desc>"); + temp[0] = 0; + desc = desc + 12; } - if ((title=strstr(xml,"<title>")) != NULL) { - temp=strstr(xml,"</title>"); - temp[0]=0; - title=title+13; + title = strstr(xml, "<title>"); + if (title != NULL) { + temp = strstr(xml, "</title>"); + temp[0] = 0; + title = title + 13; } else { - title=""; + title = ""; } strcpy(xml,title); if (desc) { strcat(xml, " - "); strcat(xml, desc); } - purple_debug_misc("oscar", "X-Status reply: %s\n", (const char*)xml); + purple_debug_misc("oscar", "X-Status reply: %s\n", xml); account = purple_connection_get_account(od->gc); buddy = purple_find_buddy(account, bn); presence = purple_buddy_get_presence(buddy); status = purple_presence_get_active_status(presence); purple_prpl_got_user_status(account, bn, - purple_status_get_id(status), "message", xml, NULL); + purple_status_get_id(status), "message", xml, NULL); } else { purple_debug_misc("oscar", "X-Status: Can't get XML reply string\n"); } } else { - purple_debug_misc("oscar", "X-Status: 0x0004, 0x000b not an xstatus reply\n" ); - /* if ((userfunc = aim_callhandler(od, snac->family, snac->subtype))) - ret = userfunc(od, conn, frame, channel, sn, reason); */ + purple_debug_misc("oscar", "X-Status: 0x0004, 0x000b not an xstatus reply\n"); + /* if ((userfunc = aim_callhandler(od, snac->family, snac->subtype))) + ret = userfunc(od, conn, frame, channel, sn, reason); */ } } @@ -2884,7 +2886,7 @@ int aim_im_sendmtn(OscarData *od, guint1 if (!bn) return -EINVAL; - byte_stream_new(&bs, 11+strlen(bn)+2); + byte_stream_new(&bs, 11 + strlen(bn) + 2); snacid = aim_cachesnac(od, SNAC_FAMILY_ICBM, 0x0014, 0x0000, NULL, 0); @@ -2930,24 +2932,22 @@ int icq_im_xstatus_request(OscarData *od char *statxml; int xmllen; - static const guint8 pluginid[] = - { - 0x09, 0x46, 0x13, 0x49, 0x4C, 0x7F, 0x11, 0xD1, - 0x82, 0x22, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00 + static const guint8 pluginid[] = { + 0x09, 0x46, 0x13, 0x49, 0x4C, 0x7F, 0x11, 0xD1, + 0x82, 0x22, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00 }; - static const guint8 c_plugindata[] = - { - 0x1B, 0x00, 0x0A, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0xF9, 0xD1, 0x0E, 0x00, 0xF9, 0xD1, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x01, 0x00, - 0x01, 0x00, 0x00, 0x4F, 0x00, 0x3B, 0x60, 0xB3, 0xEF, 0xD8, 0x2A, 0x6C, 0x45, 0xA4, 0xE0, 0x9C, - 0x5A, 0x5E, 0x67, 0xE8, 0x65, 0x08, 0x00, 0x2A, 0x00, 0x00, 0x00, 0x53, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x20, 0x50, 0x6C, 0x75, 0x67, 0x2D, 0x69, 0x6E, 0x3A, 0x20, 0x52, 0x65, 0x6D, 0x6F, 0x74, - 0x65, 0x20, 0x4E, 0x6F, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x20, 0x41, - 0x72, 0x72, 0x69, 0x76, 0x65, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x14, 0x01, 0x00, 0x00, 0x10, 0x01, 0x00, 0x00 + static const guint8 c_plugindata[] = { + 0x1B, 0x00, 0x0A, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0xF9, 0xD1, 0x0E, 0x00, 0xF9, 0xD1, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x01, 0x00, + 0x01, 0x00, 0x00, 0x4F, 0x00, 0x3B, 0x60, 0xB3, 0xEF, 0xD8, 0x2A, 0x6C, 0x45, 0xA4, 0xE0, 0x9C, + 0x5A, 0x5E, 0x67, 0xE8, 0x65, 0x08, 0x00, 0x2A, 0x00, 0x00, 0x00, 0x53, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x20, 0x50, 0x6C, 0x75, 0x67, 0x2D, 0x69, 0x6E, 0x3A, 0x20, 0x52, 0x65, 0x6D, 0x6F, 0x74, + 0x65, 0x20, 0x4E, 0x6F, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x20, 0x41, + 0x72, 0x72, 0x69, 0x76, 0x65, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x14, 0x01, 0x00, 0x00, 0x10, 0x01, 0x00, 0x00 }; if (!od || !(conn = flap_connection_findbygroup(od, 0x0004))) @@ -2961,7 +2961,7 @@ int icq_im_xstatus_request(OscarData *od account = purple_connection_get_account(od->gc); xmllen = strlen(fmt) - 2 + strlen(account->username); - statxml = (char*) g_malloc(xmllen); + statxml = g_malloc(xmllen); snprintf(statxml, xmllen, fmt, account->username); aim_icbm_makecookie(cookie); @@ -2975,8 +2975,6 @@ int icq_im_xstatus_request(OscarData *od aim_im_puticbm(&bs, cookie, 0x0002, sn); byte_stream_new(&header, (7*2) + 16 + 8 + 2 + sizeof(c_plugindata) + xmllen); /* TLV 0x0005 Stream + Size */ - byte_stream_new(&plugindata, (sizeof(c_plugindata) + xmllen)); - byte_stream_put16(&header, 0x0000); /* Message Type: Request */ byte_stream_putraw(&header, cookie, sizeof(cookie)); /* Message ID */ byte_stream_putraw(&header, pluginid, sizeof(pluginid)); /* Plugin ID */ @@ -2985,22 +2983,23 @@ int icq_im_xstatus_request(OscarData *od aim_tlvlist_add_noval(&inner_tlvlist, 0x000f); /* Add Plugin Specific Data */ + byte_stream_new(&plugindata, (sizeof(c_plugindata) + xmllen)); byte_stream_putraw(&plugindata, c_plugindata, sizeof(c_plugindata)); /* Content of TLV 0x2711 */ byte_stream_putstr(&plugindata, statxml); aim_tlvlist_add_raw(&inner_tlvlist, 0x2711, (sizeof(c_plugindata) + xmllen), plugindata.data); aim_tlvlist_write(&header, &inner_tlvlist); + aim_tlvlist_free(inner_tlvlist); aim_tlvlist_add_raw(&outer_tlvlist, 0x0005, byte_stream_curpos(&header), header.data); - aim_tlvlist_add_noval(&outer_tlvlist, 0x0003); /* Empty TLV 0x0003 */ + aim_tlvlist_add_noval(&outer_tlvlist, 0x0003); /* Empty TLV 0x0003 */ aim_tlvlist_write(&bs, &outer_tlvlist); purple_debug_misc("oscar", "X-Status Request\n"); flap_connection_send_snac_with_priority(od, conn, 0x0004, 0x0006, 0x0000, snacid, &bs, TRUE); - aim_tlvlist_free(inner_tlvlist); aim_tlvlist_free(outer_tlvlist); byte_stream_destroy(&header); byte_stream_destroy(&plugindata); @@ -3017,28 +3016,28 @@ int icq_relay_xstatus(OscarData *od, con aim_snacid_t snacid; PurpleAccount *account; PurpleStatus *status; - const char *fmt; - const char *formatted_msg; - char *msg; - char *statxml; + const char *fmt; + const char *formatted_msg; + char *msg; + char *statxml; const char *title; int len; static const guint8 plugindata[] = { - 0x1B, 0x00, - 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x00, 0xF9, 0xD1, 0x0E, 0x00, 0xF9, 0xD1, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x4F, - 0x00, 0x3B, 0x60, 0xB3, 0xEF, 0xD8, 0x2A, 0x6C, 0x45, 0xA4, 0xE0, - 0x9C, 0x5A, 0x5E, 0x67, 0xE8, 0x65, 0x08, 0x00, 0x2A, 0x00, 0x00, - 0x00, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x20, 0x50, 0x6C, 0x75, - 0x67, 0x2D, 0x69, 0x6E, 0x3A, 0x20, 0x52, 0x65, 0x6D, 0x6F, 0x74, - 0x65, 0x20, 0x4E, 0x6F, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6F, 0x6E, 0x20, 0x41, 0x72, 0x72, 0x69, 0x76, 0x65, 0x00, - 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xF3, 0x01, 0x00, 0x00, 0xEF, 0x01, 0x00, 0x00 + 0x1B, 0x00, + 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0xF9, 0xD1, 0x0E, 0x00, 0xF9, 0xD1, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x4F, + 0x00, 0x3B, 0x60, 0xB3, 0xEF, 0xD8, 0x2A, 0x6C, 0x45, 0xA4, 0xE0, + 0x9C, 0x5A, 0x5E, 0x67, 0xE8, 0x65, 0x08, 0x00, 0x2A, 0x00, 0x00, + 0x00, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x20, 0x50, 0x6C, 0x75, + 0x67, 0x2D, 0x69, 0x6E, 0x3A, 0x20, 0x52, 0x65, 0x6D, 0x6F, 0x74, + 0x65, 0x20, 0x4E, 0x6F, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6F, 0x6E, 0x20, 0x41, 0x72, 0x72, 0x69, 0x76, 0x65, 0x00, + 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xF3, 0x01, 0x00, 0x00, 0xEF, 0x01, 0x00, 0x00 }; fmt = "<ret event='OnRemoteNotification'><srv><id>cAwaySrv</id><val srv_id='cAwaySrv'><Root><CASXtraSetAwayMessage></CASXtraSetAwayMessage>&l t;uin>%s</uin><index>1</index><title>%s</title><desc>%s</desc></Root></val></srv><srv><id>cRandomizerSrv</id><val srv_id='cRandomizerSrv'>undefined</val></srv></ret>\r\n"; @@ -3050,25 +3049,33 @@ int icq_relay_xstatus(OscarData *od, con return -EINVAL; account = purple_connection_get_account(od->gc); - if(!account) return -EINVAL; + if (!account) + return -EINVAL; -/* if (!strcmp(account->username, sn)) + /* if (!strcmp(account->username, sn)) icq_im_xstatus_request(od, sn); */ - status = purple_presence_get_active_status(account->presence); - if (!status) return -EINVAL; - title = purple_status_get_name(status); - if (!title) return -EINVAL; + status = purple_presence_get_active_status(account->presence); + if (!status) + return -EINVAL; + + title = purple_status_get_name(status); + if (!title) + return -EINVAL; + formatted_msg = purple_status_get_attr_string(status, "message"); - if (!formatted_msg) return -EINVAL; - msg = purple_markup_strip_html(formatted_msg); - if (!msg) return -EINVAL; - len = strlen(fmt)-6+strlen(account->username)+strlen(title)+strlen(msg); - statxml = (char*) g_malloc(len); + if (!formatted_msg) + return -EINVAL; - snprintf(statxml, len, fmt, - account->username, title, msg); + msg = purple_markup_strip_html(formatted_msg); + if (!msg) + return -EINVAL; + len = strlen(fmt) - 6 + strlen(account->username) + strlen(title) + strlen(msg); + statxml = g_malloc(len); + + snprintf(statxml, len, fmt, account->username, title, msg); + purple_debug_misc("oscar", "X-Status AutoReply: %s, %s\n", formatted_msg, msg); byte_stream_new(&bs, 10 + 8 + 2 + 1 + strlen(sn) + 2 + sizeof(plugindata) + strlen(statxml)); /* 16 extra */ @@ -3077,7 +3084,7 @@ int icq_relay_xstatus(OscarData *od, con aim_im_puticbm(&bs, cookie, 0x0002, sn); byte_stream_put16(&bs, 0x0003); byte_stream_putraw(&bs, plugindata, sizeof(plugindata)); - byte_stream_putraw(&bs, (const guint8*)statxml, strlen(statxml)); + byte_stream_putraw(&bs, (const guint8 *)statxml, strlen(statxml)); flap_connection_send_snac_with_priority(od, conn, 0x0004, 0x000b, 0x0000, snacid, &bs, TRUE); From gillux at soc.pidgin.im Fri Jun 18 07:14:53 2010 From: gillux at soc.pidgin.im (gillux at soc.pidgin.im) Date: Fri, 18 Jun 2010 07:14:53 -0400 (EDT) Subject: soc.2010.detachablepurple: 26c217ac: A first draft of the RPC system and the ... Message-ID: <20100618111453.C49BDAFD202F@rock.pidgin.im> ----------------------------------------------------------------- Revision: 26c217ac06a699c51e69e806a01be2719fb8b134 Ancestor: 18a99954b390eb638a4cd8a365cb5a403f185d6d Author: gillux at soc.pidgin.im Date: 2010-06-18T07:50:59 Branch: im.pidgin.soc.2010.detachablepurple URL: http://d.pidgin.im/viewmtn/revision/info/26c217ac06a699c51e69e806a01be2719fb8b134 Added files: libpurple/account-dbus.c libpurple/account-dbus.h libpurple/dbus-prototypes/account.xml purpled/Makefile.am purpled/purpled.c purpled/purpled.h purpled/purpled.pc.in Added directories: libpurple/dbus-prototypes purpled Modified files: Makefile.am configure.ac libpurple/Makefile.am libpurple/account.c libpurple/core.c libpurple/core.h libpurple/dbus-bindings.h libpurple/dbus-maybe.h libpurple/dbus-purple.h libpurple/dbus-server.c libpurple/example/Makefile.am ChangeLog: A first draft of the RPC system and the libpurple daemon purpled. Added a new flag in core.c to say if libpurple acts as a daemon (normal mode) or as a proxy UI client (remote mode). Added "purpled" (the daemon) which basically consists in a nullclient. A new dbus service that use the dbus glib bindings (im.pidgin.purple) works at the same time as the current dbus low-level implementation. Currently it only provides the PurpleAccount object with its SetPassword method, which remotely runs purple_account_set_password(). In addition the glib dbus bindings make PurpleAccount getters and setters available (try to run dbus-send --print-reply --session --dest="im.pidgin.purple" "/im/pidgin/purple/account" "org.freedesktop.DBus.Introspectable.Introspect"). Added a remotenullclient which can be used in conjunction with purpled to test this stuff. Alternatively use: dbus-send --print-reply --session --dest="im.pidgin.purple" "/im/pidgin/purple/account" . [args] -------------- next part -------------- ============================================================ --- libpurple/account-dbus.c 92e104e7119e7c4c277c14a05fa4dabf6c7dccda +++ libpurple/account-dbus.c 92e104e7119e7c4c277c14a05fa4dabf6c7dccda @@ -0,0 +1,16 @@ + +#include +#include "account.h" + +/* + * purple_account_set_password()'s dbus twin. This is what is actually called + * when someone calls the associated dbus method SetPassword. + */ +gboolean +DBUS_purple_account_set_password(PurpleAccount *account, gchar* password, + GError** error) +{ + purple_account_set_password(account, password); + return TRUE; +} + ============================================================ --- libpurple/account-dbus.h 2d831e0cb82ded61325f2592acf13c395726f9d9 +++ libpurple/account-dbus.h 2d831e0cb82ded61325f2592acf13c395726f9d9 @@ -0,0 +1,3 @@ + +gboolean DBUS_purple_account_set_password(PurpleAccount *account, gchar* password, GError** error); + ============================================================ --- libpurple/dbus-prototypes/account.xml c3aa9f2daab780413a455f96ab79f3871a60bb30 +++ libpurple/dbus-prototypes/account.xml c3aa9f2daab780413a455f96ab79f3871a60bb30 @@ -0,0 +1,8 @@ + + + + + + + + ============================================================ --- purpled/Makefile.am 81efcb3c2db532d384606abcb13eb56ed6e68610 +++ purpled/Makefile.am 81efcb3c2db532d384606abcb13eb56ed6e68610 @@ -0,0 +1,35 @@ +EXTRA_DIST = + +if ENABLE_DBUS + +pkgconfigdir = $(libdir)/pkgconfig +pkgconfig_DATA = purpled.pc + +SUBDIRS = + +bin_PROGRAMS = purpled + +purpled_SOURCES = \ + purpled.c + +purpled_headers = \ + purpled.h + +purpled_LDFLAGS = +purpled_LDADD = \ + $(GLIB_LIBS) \ + $(DBUS_LIBS) \ + $(top_builddir)/libpurple/libpurple.la + +AM_CPPFLAGS = \ + -DLOCALEDIR=\"$(datadir)/locale\" \ + -DSYSCONFDIR=\"$(sysconfdir)\" \ + -I$(top_builddir)/libpurple \ + -I$(top_srcdir)/libpurple/ \ + -I$(top_builddir) \ + -I$(top_srcdir) \ + $(GLIB_CFLAGS) \ + $(DEBUG_CFLAGS) \ + $(DBUS_CFLAGS) + +endif # ENABLE_DBUS ============================================================ --- purpled/purpled.c b588bb857cad46ef09e6f149a31d5dc7fb536a41 +++ purpled/purpled.c b588bb857cad46ef09e6f149a31d5dc7fb536a41 @@ -0,0 +1,152 @@ +/* + * Purpled is the legal property of its developers, whose names are too numerous + * to list here. Please refer to the COPYRIGHT file distributed with this + * source distribution. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA + * + */ + +#include "purple.h" + +#include "purpled.h" +#include "account.h" /* purple_account_new() */ + +/* Copied verbatim from nullclient */ +#define PURPLE_GLIB_READ_COND (G_IO_IN | G_IO_HUP | G_IO_ERR) +#define PURPLE_GLIB_WRITE_COND (G_IO_OUT | G_IO_HUP | G_IO_ERR | G_IO_NVAL) + +typedef struct _PurpleGLibIOClosure { + PurpleInputFunction function; + guint result; + gpointer data; +} PurpleGLibIOClosure; + +static void purple_glib_io_destroy(gpointer data) +{ + g_free(data); +} + +static gboolean purple_glib_io_invoke(GIOChannel *source, GIOCondition condition, gpointer data) +{ + PurpleGLibIOClosure *closure = data; + PurpleInputCondition purple_cond = 0; + + if (condition & PURPLE_GLIB_READ_COND) + purple_cond |= PURPLE_INPUT_READ; + if (condition & PURPLE_GLIB_WRITE_COND) + purple_cond |= PURPLE_INPUT_WRITE; + + closure->function(closure->data, g_io_channel_unix_get_fd(source), + purple_cond); + + return TRUE; +} + +static guint glib_input_add(gint fd, PurpleInputCondition condition, PurpleInputFunction function, + gpointer data) +{ + PurpleGLibIOClosure *closure = g_new0(PurpleGLibIOClosure, 1); + GIOChannel *channel; + GIOCondition cond = 0; + + closure->function = function; + closure->data = data; + + if (condition & PURPLE_INPUT_READ) + cond |= PURPLE_GLIB_READ_COND; + if (condition & PURPLE_INPUT_WRITE) + cond |= PURPLE_GLIB_WRITE_COND; + +#if defined _WIN32 && !defined WINPIDGIN_USE_GLIB_IO_CHANNEL + channel = wpurple_g_io_channel_win32_new_socket(fd); +#else + channel = g_io_channel_unix_new(fd); +#endif + closure->result = g_io_add_watch_full(channel, G_PRIORITY_DEFAULT, cond, + purple_glib_io_invoke, closure, purple_glib_io_destroy); + + g_io_channel_unref(channel); + return closure->result; +} + +static PurpleEventLoopUiOps glib_eventloops = +{ + g_timeout_add, + g_source_remove, + glib_input_add, + g_source_remove, + NULL, +#if GLIB_CHECK_VERSION(2,14,0) + g_timeout_add_seconds, +#else + NULL, +#endif + + /* padding */ + NULL, + NULL, + NULL +}; +/*** End of the eventloop functions. ***/ + +static void +init_libpurple(void) +{ + purple_eventloop_set_ui_ops(&glib_eventloops); + + /* + * Note: currently the following code will fail if it tries to load the + * accounts from your accounts.xml, because it makes it automatically + * instantiate your accounts, whereas there is only a single account + * exportable via dbus, yet (the /im/pidgin/purple/account object). + * So spoof the user dir. + */ + purple_util_set_user_dir("/dev/null"); + + if (!purple_core_init(PURPLED_ID)) { + fprintf(stderr, "libpurple initialization failed."); + exit(1); + } + + /* + * Instantiate an account so that it will be accessible in dbus at + * /im/pidgin/purple/account. This will have to be initiated by the + * client. + */ + purple_account_new("nothing", "prpl-jabber"); +} + +int +main(int argc, char **argv) +{ + GMainLoop *loop = g_main_loop_new(NULL, FALSE); + +#ifndef _WIN32 + /* libpurple's built-in DNS resolution forks processes to perform + * blocking lookups without blocking the main process. It does not + * handle SIGCHLD itself, so if the UI does not you quickly get an army + * of zombie subprocesses marching around. + */ + signal(SIGCHLD, SIG_IGN); +#endif + + init_libpurple(); + purple_eventloop_set_ui_ops(&glib_eventloops); + + g_main_loop_run(loop); + return 0; +} + ============================================================ --- purpled/purpled.h e02f613b5f48c55fc8364b84f8a6150f85ccc4a3 +++ purpled/purpled.h e02f613b5f48c55fc8364b84f8a6150f85ccc4a3 @@ -0,0 +1,27 @@ +/* + * Purpled is the legal property of its developers, whose names are too numerous + * to list here. Please refer to the COPYRIGHT file distributed with this + * source distribution. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA + * + */ + +#ifndef _PURPLED_H_ +#define _PURPLED_H_ + +#define PURPLED_ID "purpled" + +#endif /* _PURPLE_H_ */ ============================================================ --- purpled/purpled.pc.in a7f1b817c3ba2ac8c9d922ef2b9f1b998317e647 +++ purpled/purpled.pc.in a7f1b817c3ba2ac8c9d922ef2b9f1b998317e647 @@ -0,0 +1,13 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +includedir=@includedir@ +datarootdir=@datarootdir@ +datadir=@datadir@ +sysconfdir=@sysconfdir@ + +Name: Purpled +Description: Purpled handles detachable sessions of libpurple based clients. +Version: @VERSION@ +Requires: purple + ============================================================ --- Makefile.am 042cd4f1a587ff1633aaed103f0874c7cec999c6 +++ Makefile.am 396912673117ba9ec53df0a33e81b1a4ae23e3f8 @@ -127,7 +127,7 @@ distcleancheck_listfiles = find . -type # line does is tell 'distcheck' to shut up and ignore those two files. distcleancheck_listfiles = find . -type f -a ! -name package_revision.h -SUBDIRS = . libpurple doc $(GNT_DIR) $(GTK_DIR) m4macros $(PO_DIR) share/ca-certs share/sounds +SUBDIRS = . libpurple doc $(GNT_DIR) $(GTK_DIR) purpled m4macros $(PO_DIR) share/ca-certs share/sounds docs: Doxyfile if HAVE_DOXYGEN ============================================================ --- configure.ac fdb3abd7bfa2002742e7469f2aad07d011992e58 +++ configure.ac ff43007b947cf87f36e578c3904144b28f3b7ff8 @@ -2611,6 +2611,8 @@ AC_CONFIG_FILES([Makefile finch/libgnt/gnt.pc finch/libgnt/wms/Makefile finch/plugins/Makefile + purpled/Makefile + purpled/purpled.pc po/Makefile.in pidgin.spec ]) ============================================================ --- libpurple/Makefile.am c27e10aa80edb816e3109c5084420d412171b987 +++ libpurple/Makefile.am 7cc991e06c754b5b0f7a724aac310297b7ed0863 @@ -203,7 +203,9 @@ purple_mediaheaders = \ codec.h \ enum-types.h -purple_builtheaders = purple.h version.h marshallers.h +purple_builtheaders = \ + purple.h version.h marshallers.h \ + dbus-account-server.h dbus-account-client.h marshallers.h: marshallers.list @echo "Generating marshallers.h" @@ -219,6 +221,12 @@ if ENABLE_DBUS if ENABLE_DBUS +dbus-account-server.h: dbus-prototypes/account.xml + dbus-binding-tool --prefix=DBUS_purple_account --mode=glib-server --output=$@ $< + +dbus-account-client.h: dbus-prototypes/account.xml + dbus-binding-tool --prefix=DBUS_purple_account --mode=glib-client --output=$@ $< + CLEANFILES = \ dbus-bindings.c \ dbus-client-binding.c \ @@ -234,8 +242,10 @@ CLEANFILES = \ # purple dbus server -dbus_sources = dbus-server.c dbus-useful.c -dbus_headers = dbus-bindings.h dbus-purple.h dbus-server.h dbus-useful.h dbus-define-api.h dbus-types.h +dbus_sources = dbus-server.c dbus-useful.c \ + account-dbus.c +dbus_headers = dbus-bindings.h dbus-purple.h dbus-server.h dbus-useful.h dbus-define-api.h dbus-types.h \ + account-dbus.h dbus_exported = dbus-useful.h dbus-define-api.h account.h blist.h buddyicon.h \ connection.h conversation.h core.h ft.h log.h notify.h prefs.h roomlist.h \ ============================================================ --- libpurple/account.c b98f88b2980b08ff5ecd1191bbb014a7a2dbc33a +++ libpurple/account.c 0e23f59ed035aa0a3499294c931c5e583510cc0f @@ -43,6 +43,16 @@ #include "util.h" #include "xmlnode.h" +#ifdef HAVE_DBUS +/* Provides DBUS_SERVICE_DBUS etc. */ +# include +/* Our dbus exported stuff description (generated) */ +/* Note: we are both client and server, depending on purple_core_get_remote_mode() */ +# include "account-dbus.h" +# include "dbus-account-server.h" +# include "dbus-account-client.h" +#endif + struct _PurpleAccountPrivate { char *username; /**< The username. */ @@ -752,6 +762,12 @@ static void purple_account_class_init(Pu G_TYPE_NONE, 0); #warning TODO: Setup more signals +#ifdef HAVE_DBUS + /* Add dbus stuff (method introspection data) */ + if(!purple_core_get_remote_mode()) + dbus_g_object_type_install_info(PURPLE_TYPE_OBJECT, + &dbus_glib_DBUS_purple_account_object_info); +#endif g_type_class_add_private(klass, sizeof(PurpleAccountPrivate)); } @@ -793,6 +809,14 @@ purple_account_new(const char *username, g_return_val_if_fail(username != NULL, NULL); g_return_val_if_fail(protocol_id != NULL, NULL); +#ifdef HAVE_DBUS + if(purple_core_get_remote_mode()) + return (PurpleAccount *)dbus_g_proxy_new_for_name(purple_dbus_get_g_connection(), + DBUS_PURPLE_SERVICE, + DBUS_ACCOUNT_PATH, + DBUS_ACCOUNT_INTERFACE); +#endif + account = purple_accounts_find(username, protocol_id); if (account != NULL) @@ -809,6 +833,8 @@ purple_account_new(const char *username, PURPLE_DBUS_REGISTER_POINTER(account, PurpleAccount); + PURPLE_DBUS_REGISTER_OBJECT(DBUS_ACCOUNT_PATH, account); + prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(prpl); if (prpl_info != NULL && prpl_info->status_types != NULL) purple_account_set_status_types(account, prpl_info->status_types(account)); @@ -1359,7 +1385,22 @@ purple_account_set_password(PurpleAccoun purple_account_set_password(PurpleAccount *account, const char *password) { PurpleAccountPrivate *priv; +#ifdef HAVE_DBUS + GError *error = NULL; + if (purple_core_get_remote_mode()) { + if (!im_pidgin_purple_account_set_password((DBusGProxy *)account, + password, &error)) { + purple_debug_error("dbus", "Failed to remotely call purple_account_set_password(): %s\n", + error->message); + g_error_free(error); + } + else + purple_debug_info("dbus", "Successfully remotely called purple_account_set_password :-D\n"); + return; + } +#endif + g_return_if_fail(PURPLE_IS_ACCOUNT(account)); priv = PURPLE_ACCOUNT_GET_PRIVATE(account); @@ -2946,6 +2987,11 @@ purple_accounts_init(void) void purple_accounts_init(void) { +#ifdef HAVE_DBUS + DBusGProxy* dbus_proxy; + GError *error = NULL; + guint request_ret; +#endif void *handle = purple_accounts_get_handle(); purple_signal_register(handle, "account-connecting", @@ -3030,6 +3076,31 @@ purple_accounts_init(void) purple_signal_connect(conn_handle, "connection-error", handle, PURPLE_CALLBACK(connection_error_cb), NULL); #endif + +#ifdef HAVE_DBUS + /* Export our objects only if we are in normal mode. */ + if (!purple_core_get_remote_mode()) { + /* + * Create a proxy for the account objects, so we can register them + * on the bus. + */ + dbus_proxy = dbus_g_proxy_new_for_name(purple_dbus_get_g_connection(), + DBUS_SERVICE_DBUS, DBUS_PATH_DBUS, + DBUS_INTERFACE_DBUS); + if (!dbus_proxy) { + purple_debug_error("dbus", "Unable to create proxy\n"); + } else { + if (!org_freedesktop_DBus_request_name(dbus_proxy, + DBUS_PURPLE_SERVICE, 0, + &request_ret, &error)) { + purple_debug_error("dbus", "Unable to request the name of service " + DBUS_PURPLE_SERVICE ": %s\n", error->message); + g_error_free(error); + } + /* We should also care about request_ret */ + } + } +#endif } void ============================================================ --- libpurple/core.c 9c92c653f62d14cd94007a8e150f69ce659c3863 +++ libpurple/core.c c8507e0a2b89ee1236cfce0063465f47c8ad48d6 @@ -72,6 +72,7 @@ static PurpleCore *_core = NULL; static PurpleCoreUiOps *_ops = NULL; static PurpleCore *_core = NULL; +static gboolean _remote_mode = FALSE; STATIC_PROTO_INIT @@ -316,6 +317,27 @@ purple_core_get_ui_ops(void) return _ops; } +gboolean +purple_core_get_remote_mode(void) +{ +#if HAVE_DBUS + return _remote_mode; +#else + return FALSE; +#endif +} + +void +purple_core_set_remote_mode(gboolean mode) +{ +#if HAVE_DBUS + _remote_mode = mode; +#else + if (mode) + purple_debug_warning("core", "Couldn't activate remote mode: this feature is not compiled in.\n"); +#endif +} + #ifdef HAVE_DBUS static char *purple_dbus_owner_user_dir(void) { ============================================================ --- libpurple/core.h 00ce2d639ef12115482b3f6806654a33ccc047d8 +++ libpurple/core.h 7bd4e9c6268135652c8b21bfca7367b6cf46cfab @@ -142,6 +142,28 @@ PurpleCore *purple_get_core(void); PurpleCore *purple_get_core(void); /** + * Returns the remote mode flag of the purple core. + * + * Remote mode is used in detachable sessions scenarios. It is set + * by UI clients which want to attach and detach from purpled. As + * a default beheaviour this flag is FALSE. + * + * @return TRUE if remote mode is activated, FALSE if not. + */ +gboolean purple_core_get_remote_mode(void); + +/** + * Sets the remote mode flag of the purple core. + * + * Remote mode is used in detachable sessions scenarios. It is set + * by UI clients which want to attach and detach from purpled. As + * a default beheaviour this flag is FALSE. + * + * @param mode The wanted remote mode flag. + */ +void purple_core_set_remote_mode(gboolean mode); + +/** * Sets the UI ops for the core. * * @param ops A UI ops structure for the core. ============================================================ --- libpurple/dbus-bindings.h 55b8c581bc82b5fa70ee12d1b6e827ba16eb0b0e +++ libpurple/dbus-bindings.h cf9bc137c80c8a1d14cd0a38d74fc9d6ef839238 @@ -107,6 +107,8 @@ DBusConnection *purple_dbus_get_connecti DBusConnection *purple_dbus_get_connection(void); +DBusGConnection *purple_dbus_get_g_connection(void); + #ifdef __cplusplus } #endif ============================================================ --- libpurple/dbus-maybe.h f210b7a2cfca56cc9fecc9a7a307ae5de47d0323 +++ libpurple/dbus-maybe.h 9f796119b84aea176bcccd82ddffa4c118f98840 @@ -14,6 +14,13 @@ #include "dbus-server.h" +#define PURPLE_DBUS_REGISTER_OBJECT(path, object) \ +G_STMT_START { \ + if (!purple_core_get_remote_mode()) \ + dbus_g_connection_register_g_object(purple_dbus_get_g_connection(), \ + path, G_OBJECT(object)); \ +} G_STMT_END + /* this provides a type check */ #define PURPLE_DBUS_REGISTER_POINTER(ptr, type) { \ type *typed_ptr = ptr; \ @@ -23,6 +30,8 @@ #else /* !HAVE_DBUS */ +#define PURPLE_DBUS_REGISTER_OBJECT(path, object) + #define PURPLE_DBUS_REGISTER_POINTER(ptr, type) { \ if (ptr) {} \ } ============================================================ --- libpurple/dbus-purple.h c4ff62d0358f860ec0c87f55cccc3c0875472bef +++ libpurple/dbus-purple.h 832adde929eaddf164a190f4027a12fc7b4a8d6c @@ -28,4 +28,8 @@ #define DBUS_PATH_PURPLE "/im/pidgin/purple/PurpleObject" #define DBUS_INTERFACE_PURPLE "im.pidgin.purple.PurpleInterface" +#define DBUS_PURPLE_SERVICE "im.pidgin.purple" +#define DBUS_ACCOUNT_PATH "/im/pidgin/purple/account" +#define DBUS_ACCOUNT_INTERFACE "im.pidgin.purple.account" + #endif /* _DBUS_PURPLE_H_ */ ============================================================ --- libpurple/dbus-server.c 71e774dce7c36d2ff6b2aaea325e0145c1951c42 +++ libpurple/dbus-server.c 64719562c572c07f0e63850e964e40abf20e957e @@ -415,8 +415,16 @@ error: /* DBus bindings ... */ /**************************************************************/ +static DBusGConnection *purple_dbus_g_connection; + static DBusConnection *purple_dbus_connection; +DBusGConnection * +purple_dbus_get_g_connection(void) +{ + return purple_dbus_g_connection; +} + DBusConnection * purple_dbus_get_connection(void) { @@ -601,14 +609,16 @@ purple_dbus_dispatch_init(void) { static DBusObjectPathVTable vtable = {NULL, &purple_dbus_dispatch, NULL, NULL, NULL, NULL}; DBusError error; + GError *gerror = NULL; dbus_error_init(&error); - purple_dbus_connection = dbus_bus_get(DBUS_BUS_STARTER, &error); + purple_dbus_g_connection = dbus_g_bus_get(DBUS_BUS_STARTER, &gerror); + purple_dbus_connection = dbus_g_connection_get_connection(purple_dbus_g_connection); if (purple_dbus_connection == NULL) { init_error = g_strdup_printf(N_("Failed to get connection: %s"), error.message); - dbus_error_free(&error); + g_error_free(gerror); return; } ============================================================ --- libpurple/example/Makefile.am 904f30518e485f956e8bd0070618ecd62241b530 +++ libpurple/example/Makefile.am 627f86529dc474877557a279a24557d2eaa9bf3e @@ -1,6 +1,5 @@ -noinst_PROGRAMS = nullclient +noinst_PROGRAMS = nullclient remotenullclient -nullclient_SOURCES = defines.h nullclient.c nullclient_DEPENDENCIES = nullclient_LDFLAGS = -export-dynamic nullclient_LDADD = \ @@ -10,6 +9,11 @@ nullclient_LDADD = \ $(LIBXML_LIBS) \ $(top_builddir)/libpurple/libpurple.la +remotenullclient_SOURCES = defines.h remotenullclient.c +remotenullclient_DEPENDENCIES = $(nullclient_DEPENDENCIES) +remotenullclient_LDFLAGS = $(nullclient_LDFLAGS) +remotenullclient_LDADD = $(nullclient_LDADD) + AM_CPPFLAGS = \ -DSTANDALONE \ -DDATADIR=\"$(datadir)\" \ From darkrain42 at pidgin.im Fri Jun 18 16:15:48 2010 From: darkrain42 at pidgin.im (darkrain42 at pidgin.im) Date: Fri, 18 Jun 2010 16:15:48 -0400 (EDT) Subject: pidgin: 0627a49f: Only call failure_cb if it exists for th... Message-ID: <20100618201548.E6281AFD1FB4@rock.pidgin.im> ----------------------------------------------------------------- Revision: 0627a49f54e3d5317e6a8dd97956ee2abfa32f9d Ancestor: 63b644ac7791059c9fad6128d17bccebca8ad71a Author: darkrain42 at pidgin.im Date: 2010-06-18T20:12:41 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/0627a49f54e3d5317e6a8dd97956ee2abfa32f9d Modified files: ChangeLog.API libpurple/account.c ChangeLog: Only call failure_cb if it exists for the [gs]et_public_alias functions. Craig "charding" Harding discovered (read: ran into the crash) this -------------- next part -------------- ============================================================ --- ChangeLog.API aeaa49f1143187442db23d394344206ba021adef +++ ChangeLog.API 7506e29b249f9ac031167def0f09de6b5bfb0cd3 @@ -1,6 +1,11 @@ version 2.7.2 (??/??/????): Pidgin and Finch: The Pimpin' Penguin IM Clients That're Good for the Soul version 2.7.2 (??/??/????): + libpurple: + Fixed: + * purple_account_[gs]et_public_alias no longer crash when + called for a protocol that doesn't support the underlying + calls and the caller does not specify a failure callback. version 2.7.1 (05/29/2010): * No changes ============================================================ --- libpurple/account.c d8b86378c4aeae32fabdcaf478e904ec4c844526 +++ libpurple/account.c 950ac1ab9a1d7557336d39b6542200633483cd2b @@ -1819,7 +1819,7 @@ purple_account_set_public_alias(PurpleAc if (PURPLE_PROTOCOL_PLUGIN_HAS_FUNC(prpl_info, set_public_alias)) prpl_info->set_public_alias(gc, alias, success_cb, failure_cb); - else { + else if (failure_cb) { struct public_alias_closure *closure = g_new0(struct public_alias_closure, 1); closure->account = account; @@ -1859,7 +1859,7 @@ purple_account_get_public_alias(PurpleAc if (PURPLE_PROTOCOL_PLUGIN_HAS_FUNC(prpl_info, get_public_alias)) prpl_info->get_public_alias(gc, success_cb, failure_cb); - else { + else if (failure_cb) { struct public_alias_closure *closure = g_new0(struct public_alias_closure, 1); closure->account = account; From darkrain42 at pidgin.im Fri Jun 18 16:15:49 2010 From: darkrain42 at pidgin.im (darkrain42 at pidgin.im) Date: Fri, 18 Jun 2010 16:15:49 -0400 (EDT) Subject: pidgin: 729b63af: merge of '0627a49f54e3d5317e6a8dd97956ee... Message-ID: <20100618201549.D041FAFD1FB4@rock.pidgin.im> ----------------------------------------------------------------- Revision: 729b63af926beb43b3250b2a744b67d654624cc7 Ancestor: 0627a49f54e3d5317e6a8dd97956ee2abfa32f9d Ancestor: 8bc0a157fd0b23d8e7b6dc9b581fc636e9a0f258 Author: darkrain42 at pidgin.im Date: 2010-06-18T20:14:06 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/729b63af926beb43b3250b2a744b67d654624cc7 Modified files: ChangeLog.API libpurple/account.c libpurple/protocols/jabber/jabber.c libpurple/protocols/oscar/family_icbm.c libpurple/protocols/yahoo/libymsg.c ChangeLog: merge of '0627a49f54e3d5317e6a8dd97956ee2abfa32f9d' and '8bc0a157fd0b23d8e7b6dc9b581fc636e9a0f258' From darkrain42 at pidgin.im Fri Jun 18 16:15:50 2010 From: darkrain42 at pidgin.im (darkrain42 at pidgin.im) Date: Fri, 18 Jun 2010 16:15:50 -0400 (EDT) Subject: pidgin: 8bc0a157: merge of '7fe056535dca3e50f6489654f491a2... Message-ID: <20100618201550.BC7DAAFD1FB4@rock.pidgin.im> ----------------------------------------------------------------- Revision: 8bc0a157fd0b23d8e7b6dc9b581fc636e9a0f258 Ancestor: 7fe056535dca3e50f6489654f491a2f9e487b4d4 Ancestor: e3a6ef7390d7890b02866222f5f347f383cd6a48 Author: darkrain42 at pidgin.im Date: 2010-06-18T20:14:04 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/8bc0a157fd0b23d8e7b6dc9b581fc636e9a0f258 Modified files: libpurple/protocols/oscar/family_icbm.c libpurple/protocols/yahoo/libymsg.c ChangeLog: merge of '7fe056535dca3e50f6489654f491a2f9e487b4d4' and 'e3a6ef7390d7890b02866222f5f347f383cd6a48' From rekkanoryo at pidgin.im Sat Jun 19 12:20:57 2010 From: rekkanoryo at pidgin.im (rekkanoryo at pidgin.im) Date: Sat, 19 Jun 2010 12:20:57 -0400 (EDT) Subject: pidgin: ea0921d4: So it turns out the name vs oname thing ... Message-ID: <20100619162057.C21DBAFD2013@rock.pidgin.im> ----------------------------------------------------------------- Revision: ea0921d43a5820fff32499ae68b7550b0779fec2 Ancestor: 729b63af926beb43b3250b2a744b67d654624cc7 Author: rekkanoryo at pidgin.im Date: 2010-06-19T16:15:19 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/ea0921d43a5820fff32499ae68b7550b0779fec2 Modified files: libpurple/protocols/yahoo/libymsg.c ChangeLog: So it turns out the name vs oname thing wasn't a typo on Mark's part. I just misinterpreted it. Fix that and also avoid use of purple_normalize() in this function, because both places it's called already normalize strings before passing them in. No sense normalizing the same string twice. -------------- next part -------------- ============================================================ --- libpurple/protocols/yahoo/libymsg.c f559efc53c46efa0e9678a2e898cb0644fc902a5 +++ libpurple/protocols/yahoo/libymsg.c 6090714a7b0fb9c74656b7346d20c6be74c9176e @@ -404,8 +404,8 @@ static void yahoo_do_group_check(PurpleA gboolean onlist = FALSE; char *oname = NULL; - if (g_hash_table_lookup_extended(ht, purple_normalize(account, name), (gpointer *)&oname, (gpointer *)&list)) - g_hash_table_steal(ht, name); + if (g_hash_table_lookup_extended(ht, name, (gpointer *)&oname, (gpointer *)&list)) + g_hash_table_steal(ht, oname); else list = purple_find_buddies(account, name); @@ -434,7 +434,7 @@ static void yahoo_do_group_check(PurpleA if (list) { if (!oname) - oname = g_strdup(purple_normalize(account, name)); + oname = g_strdup(name); g_hash_table_insert(ht, oname, list); } else g_free(oname); From xake at rymdraket.net Sun Jun 20 13:55:47 2010 From: xake at rymdraket.net (xake at rymdraket.net) Date: Sun, 20 Jun 2010 13:55:47 -0400 (EDT) Subject: pidgin: 140d7640: Updated swedish translation Message-ID: <20100620175547.98136AFD2018@rock.pidgin.im> ----------------------------------------------------------------- Revision: 140d7640af14c88fbd79c73548a8cf89067e6542 Ancestor: ea0921d43a5820fff32499ae68b7550b0779fec2 Author: xake at rymdraket.net Date: 2010-06-20T17:51:31 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/140d7640af14c88fbd79c73548a8cf89067e6542 Modified files: po/sv.po ChangeLog: Updated swedish translation -------------- next part -------------- ============================================================ --- po/sv.po e34edb360bbd6b33c8ad9b1db1cd870f6272bb97 +++ po/sv.po 8d5757f08ca532329408ab9474b7d51e1369d873 @@ -9,8 +9,8 @@ msgstr "" msgstr "" "Project-Id-Version: Pidgin\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-05-30 23:16-0400\n" -"PO-Revision-Date: 2010-01-13 13:48+0100\n" +"POT-Creation-Date: 2010-06-20 19:20+0200\n" +"PO-Revision-Date: 2010-06-20 19:50+0100\n" "Last-Translator: Peter Hjalmarsson \n" "Language-Team: \n" "Language: \n" @@ -49,14 +49,8 @@ msgstr "" " -v, --version visa nuvarande version och avsluta\n" #, c-format -msgid "" -"%s encountered errors migrating your settings from %s to %s. Please " -"investigate and complete the migration by hand. Please report this error at " -"http://developer.pidgin.im" -msgstr "" -"%s st?tte p? problem d? dina inst?llningar flyttades fr?n %s till %s. Du kan " -"unders?ka och flytta inst?llningarna f?r han och rapportera felet p? sidan " -"http://developer.pidgin.im" +msgid "%s encountered errors migrating your settings from %s to %s. Please investigate and complete the migration by hand. Please report this error at http://developer.pidgin.im" +msgstr "%s st?tte p? problem d? dina inst?llningar flyttades fr?n %s till %s. Du kan unders?ka och flytta inst?llningarna f?r han och rapportera felet p? sidan http://developer.pidgin.im" #. the user did not fill in the captcha msgid "Error" @@ -353,12 +347,8 @@ msgstr "Ta bort blockering" msgid "Unblock" msgstr "Ta bort blockering" -msgid "" -"Please enter the username or alias of the person you would like to Block/" -"Unblock." -msgstr "" -"Ange anv?ndarnamnet eller aliaset f?r den person som du vill blockera/" -"avblockera." +msgid "Please enter the username or alias of the person you would like to Block/Unblock." +msgstr "Ange anv?ndarnamnet eller aliaset f?r den person som du vill blockera/avblockera." #. Not multiline #. Not masked? @@ -370,9 +360,7 @@ msgid "Please enter the username or alia msgstr "Nytt snabbmeddelande" msgid "Please enter the username or alias of the person you would like to IM." -msgstr "" -"Ange anv?ndarnamnet eller aliaset f?r den person som du vill skicka " -"snabbmeddelande till." +msgstr "Ange anv?ndarnamnet eller aliaset f?r den person som du vill skicka snabbmeddelande till." msgid "Channel" msgstr "Kanal" @@ -386,11 +374,8 @@ msgstr "Anslut" msgid "Join" msgstr "Anslut" -msgid "" -"Please enter the username or alias of the person whose log you would like to " -"view." -msgstr "" -"Ange anv?ndarnamnet eller aliaset f?r den person vars logg du vill visa." +msgid "Please enter the username or alias of the person whose log you would like to view." +msgstr "Ange anv?ndarnamnet eller aliaset f?r den person vars logg du vill visa." #. Create the "Options" frame. msgid "Options" @@ -536,13 +521,11 @@ msgid "" msgid "" "%s\n" "\n" -"Finch will not attempt to reconnect the account until you correct the error " -"and re-enable the account." +"Finch will not attempt to reconnect the account until you correct the error and re-enable the account." msgstr "" "%s\n" "\n" -"Finch kommer inte f?rs?ka ansluta f?rr?n du har r?ttat till felet och " -"?teraktiverat kontot." +"Finch kommer inte f?rs?ka ansluta f?rr?n du har r?ttat till felet och ?teraktiverat kontot." msgid "Re-enable Account" msgstr "?teraktivera konto" @@ -587,23 +570,14 @@ msgstr "Du har l?mnat denna chatt." msgid "You have left this chat." msgstr "Du har l?mnat denna chatt." -msgid "" -"The account has disconnected and you are no longer in this chat. You will be " -"automatically rejoined in the chat when the account reconnects." -msgstr "" -"Kontot har inaktiverats och du ?r inte l?ngre med i denna chatt. Du kommer " -"automatiskt g? med i chatten n?r kontot ?teransluts." +msgid "The account has disconnected and you are no longer in this chat. You will be automatically rejoined in the chat when the account reconnects." +msgstr "Kontot har inaktiverats och du ?r inte l?ngre med i denna chatt. Du kommer automatiskt g? med i chatten n?r kontot ?teransluts." msgid "Logging started. Future messages in this conversation will be logged." -msgstr "" -"Loggning startades. Framtida meddelanden i denna konversation kommer att " -"loggas." +msgstr "Loggning startades. Framtida meddelanden i denna konversation kommer att loggas." -msgid "" -"Logging stopped. Future messages in this conversation will not be logged." -msgstr "" -"Loggning stoppades. Framtida meddelanden i denna konversation kommer inte " -"att loggas." +msgid "Logging stopped. Future messages in this conversation will not be logged." +msgstr "Loggning stoppades. Framtida meddelanden i denna konversation kommer inte att loggas." msgid "Send To" msgstr "Skicka till" @@ -655,34 +629,21 @@ msgstr "" "F?ljande kommandon ?r tillg?ngliga i sammanhanget:\n" #, c-format -msgid "" -"%s is not a valid message class. See '/help msgcolor' for valid message " -"classes." -msgstr "" -"%s ?r inte en giltig meddelandeklass. Se '/help msgcolor' f?r giltiga " -"meddelandeklasser." +msgid "%s is not a valid message class. See '/help msgcolor' for valid message classes." +msgstr "%s ?r inte en giltig meddelandeklass. Se '/help msgcolor' f?r giltiga meddelandeklasser." #, c-format msgid "%s is not a valid color. See '/help msgcolor' for valid colors." msgstr "%s ?r inte en giltig f?rg. Se '/help msgcolor' f?r giltiga f?rger." -msgid "" -"say <message>: Send a message normally as if you weren't using a " -"command." -msgstr "" -"say <meddelande>: Skickar ett meddelande normalt som om du inte " -"anv?nde ett kommando." +msgid "say <message>: Send a message normally as if you weren't using a command." +msgstr "say <meddelande>: Skickar ett meddelande normalt som om du inte anv?nde ett kommando." msgid "me <action>: Send an IRC style action to a buddy or chat." -msgstr "" -"me <?tg?rd>: Skickar en ?tg?rd i IRC-stil till en kompis eller chatt." +msgstr "me <?tg?rd>: Skickar en ?tg?rd i IRC-stil till en kompis eller chatt." -msgid "" -"debug <option>: Send various debug information to the current " -"conversation." -msgstr "" -"debug <alternativ>: Skickar all m?jlig fels?kningsinformation till " -"den nuvarande konversationen." +msgid "debug <option>: Send various debug information to the current conversation." +msgstr "debug <alternativ>: Skickar all m?jlig fels?kningsinformation till den nuvarande konversationen." msgid "clear: Clears the conversation scrollback." msgstr "clear: Rensar konversationens tillbakablick." @@ -711,18 +672,8 @@ msgstr "statuses: Visar statushanteraren msgid "statuses: Show the savedstatuses window." msgstr "statuses: Visar statushanteraren." -msgid "" -"msgcolor <class> <foreground> <background>: Set the color " -"for different classes of messages in the conversation window.
<" -"class>: receive, send, highlight, action, timestamp
<foreground/" -"background>: black, red, green, blue, white, gray, darkgray, magenta, " -"cyan, default

EXAMPLE:
msgcolor send cyan default" -msgstr "" -"msgcolor <klass> <f?rgrund> <bakgrund>: Anger f?rgerna f?r " -"olika klasser av meddelanden in konversationsf?nstret.
<" -"klass>: recieve, send, highlight, action, timestamp
<f?rgrund/" -"bakgrund>: black, red, green, blue, white, gray, darkgray, magenta, cyan, " -"default

EXEMPEL:
msgcolor send cyan default" +msgid "msgcolor <class> <foreground> <background>: Set the color for different classes of messages in the conversation window.
<class>: receive, send, highlight, action, timestamp
<foreground/background>: black, red, green, blue, white, gray, darkgray, magenta, cyan, default

EXAMPLE:
msgcolor send cyan default" +msgstr "msgcolor <klass> <f?rgrund> <bakgrund>: Anger f?rgerna f?r olika klasser av meddelanden in konversationsf?nstret.
<klass>: recieve, send, highlight, action, timestamp
<f?rgrund/bakgrund>: black, red, green, blue, white, gray, darkgray, magenta, cyan, default

EXEMPEL:
msgcolor send cyan default" msgid "Unable to open file." msgstr "Kan inte ?ppna filen." @@ -825,25 +776,14 @@ msgstr "%B %Y" msgid "%B %Y" msgstr "%B %Y" -msgid "" -"System events will only be logged if the \"Log all status changes to system " -"log\" preference is enabled." -msgstr "" -"Systemh?ndelser kommer endast att loggas om alternativet \"Logga alla " -"statusf?r?ndringar till systemloggen\" ?r aktiverat i inst?llningarna." +msgid "System events will only be logged if the \"Log all status changes to system log\" preference is enabled." +msgstr "Systemh?ndelser kommer endast att loggas om alternativet \"Logga alla statusf?r?ndringar till systemloggen\" ?r aktiverat i inst?llningarna." -msgid "" -"Instant messages will only be logged if the \"Log all instant messages\" " -"preference is enabled." -msgstr "" -"Snabbmeddelanden kommer endast att loggas om alternativet \"Logga alla " -"snabbmeddelanden\" ?r aktiverat i inst?llningarna." +msgid "Instant messages will only be logged if the \"Log all instant messages\" preference is enabled." +msgstr "Snabbmeddelanden kommer endast att loggas om alternativet \"Logga alla snabbmeddelanden\" ?r aktiverat i inst?llningarna." -msgid "" -"Chats will only be logged if the \"Log all chats\" preference is enabled." -msgstr "" -"Chattar kommer endast att loggas om alternativet \"Logga alla chattar\" ?r " -"aktiverat i inst?llningarna." +msgid "Chats will only be logged if the \"Log all chats\" preference is enabled." +msgstr "Chattar kommer endast att loggas om alternativet \"Logga alla chattar\" ?r aktiverat i inst?llningarna." msgid "No logs were found" msgstr "Inga loggar hittades" @@ -985,11 +925,8 @@ msgstr "Den valda filen ?r inte en gilt msgid "The selected file is not a valid plugin." msgstr "Den valda filen ?r inte en giltig insticksmodul." -msgid "" -"Please open the debug window and try again to see the exact error message." -msgstr "" -"?ppna fels?kningsf?nstret och f?rs?k igen f?r att f? det exakta " -"felmeddelandet." +msgid "Please open the debug window and try again to see the exact error message." +msgstr "?ppna fels?kningsf?nstret och f?rs?k igen f?r att f? det exakta felmeddelandet." msgid "Select plugin to install" msgstr "V?lj en insticksmodul att installera" @@ -1418,8 +1355,7 @@ msgid "This plugin cannot be loaded beca msgstr "Kunde inte hitta f?nster" msgid "This plugin cannot be loaded because it was not built with X11 support." -msgstr "" -"Insticksmodulen kan inte laddas eftersom den inte ?r byggd med st?d f?r X11." +msgstr "Insticksmodulen kan inte laddas eftersom den inte ?r byggd med st?d f?r X11." msgid "GntClipboard" msgstr "GntKlippbok" @@ -1427,12 +1363,8 @@ msgstr "Klippbordsmodul" msgid "Clipboard plugin" msgstr "Klippbordsmodul" -msgid "" -"When the gnt clipboard contents change, the contents are made available to " -"X, if possible." -msgstr "" -"N?r inneh?llet i gnt klippboken ?ndras g?rs inneh?llet tillg?ngligt f?r X, " -"n?r det ?r m?jligt." +msgid "When the gnt clipboard contents change, the contents are made available to X, if possible." +msgstr "N?r inneh?llet i gnt klippboken ?ndras g?rs inneh?llet tillg?ngligt f?r X, n?r det ?r m?jligt." #, c-format msgid "%s just signed on" @@ -1491,13 +1423,11 @@ msgid "" msgid "" "Logging can be enabled from Tools -> Preferences -> Logging.\n" "\n" -"Enabling logs for instant messages and/or chats will activate history for " -"the same conversation type(s)." +"Enabling logs for instant messages and/or chats will activate history for the same conversation type(s)." msgstr "" "Loggning kan aktiveras fr?n Verktyg -> Inst?llningar -> Loggning.\n" "\n" -"Om loggning aktiveras f?r snabbmeddelanden och/eller chattar s? aktiveras " -"?ven historik f?r samma konversationstyper." +"Om loggning aktiveras f?r snabbmeddelanden och/eller chattar s? aktiveras ?ven historik f?r samma konversationstyper." msgid "GntHistory" msgstr "GntHistorik" @@ -1505,12 +1435,8 @@ msgstr "Visar nyligen loggade konversati msgid "Shows recently logged conversations in new conversations." msgstr "Visar nyligen loggade konversationer i nya konversationsf?nster." -msgid "" -"When a new conversation is opened this plugin will insert the last " -"conversation into the current conversation." -msgstr "" -"N?r en ny konversation ?ppnas kommer denna insticksmodul att l?gga till den " -"f?reg?ende konversationen i den nuvarande." +msgid "When a new conversation is opened this plugin will insert the last conversation into the current conversation." +msgstr "N?r en ny konversation ?ppnas kommer denna insticksmodul att l?gga till den f?reg?ende konversationen i den nuvarande." #, c-format msgid "" @@ -1540,9 +1466,7 @@ msgid "When receiving a message with URL msgstr "TinyURL modul" msgid "When receiving a message with URL(s), use TinyURL for easier copying" -msgstr "" -"N?r du f?r meddelande med en/flera URL/URLer, anv?nd TinyURL f?r att l?ttare " -"hantering" +msgstr "N?r du f?r meddelande med en/flera URL/URLer, anv?nd TinyURL f?r att l?ttare hantering" msgid "Online" msgstr "Ansluten" @@ -1640,13 +1564,11 @@ msgstr "Ange anv?ndarinformation" msgid "Set User Info" msgstr "Ange anv?ndarinformation" -#, fuzzy msgid "This protocol does not support setting a public alias." -msgstr "Protokollet st?djer inte chattrum." +msgstr "Protokollet st?djer inte att ange ett publikt alias." -#, fuzzy msgid "This protocol does not support fetching the public alias." -msgstr "Protokollet st?djer inte chattrum." +msgstr "Protokollet st?djer inte att h?mta publikt alias." msgid "Unknown" msgstr "Ok?nd" @@ -1658,15 +1580,10 @@ msgid "The certificate is self-signed an msgstr "kompislista" msgid "The certificate is self-signed and cannot be automatically checked." -msgstr "" -"Detta certifikatet ?r sj?lvsignerat och kan inte kontrolleras automatiskt." +msgstr "Detta certifikatet ?r sj?lvsignerat och kan inte kontrolleras automatiskt." -msgid "" -"The certificate is not trusted because no certificate that can verify it is " -"currently trusted." -msgstr "" -"Detta certifikat ?r inte betrott eftersom inget certifikat som kan verifiera " -"det ?r betrott." +msgid "The certificate is not trusted because no certificate that can verify it is currently trusted." +msgstr "Detta certifikat ?r inte betrott eftersom inget certifikat som kan verifiera det ?r betrott." msgid "The certificate is not valid yet." msgstr "Certifikatet ?r inte giltigt ?n." @@ -1678,12 +1595,8 @@ msgstr "Certifikatet ?r inte utf?rdat msgid "The certificate presented is not issued to this domain." msgstr "Certifikatet ?r inte utf?rdat f?r denna dom?n." -msgid "" -"You have no database of root certificates, so this certificate cannot be " -"validated." -msgstr "" -"Du har ingen databas ?ver rootcertifikat, s? detta certifikat kan inte bli " -"verifierat." +msgid "You have no database of root certificates, so this certificate cannot be validated." +msgstr "Du har ingen databas ?ver rootcertifikat, s? detta certifikat kan inte bli verifierat." msgid "The certificate chain presented is invalid." msgstr "Certifikatskedjan som uppvisades ?r ogiltig." @@ -1750,12 +1663,8 @@ msgstr "Kan inte validera certifikat." msgstr "Kan inte validera certifikat." #, c-format -msgid "" -"The certificate claims to be from \"%s\" instead. This could mean that you " -"are not connecting to the service you believe you are." -msgstr "" -"Certifikatet p?st?r sig vara f?r \"%s\" ist?llet. Detta kan betyda att du " -"inte ansluter till den tj?nst du tror du ansluter till." +msgid "The certificate claims to be from \"%s\" instead. This could mean that you are not connecting to the service you believe you are." +msgstr "Certifikatet p?st?r sig vara f?r \"%s\" ist?llet. Detta kan betyda att du inte ansluter till den tj?nst du tror du ansluter till." #. Make messages #, c-format @@ -1845,12 +1754,8 @@ msgstr "Bjud in till chatt" msgstr "Bjud in till chatt" #. Put our happy label in it. -msgid "" -"Please enter the name of the user you wish to invite, along with an optional " -"invite message." -msgstr "" -"Ange namnet p? den anv?ndare du vill bjuda in, samt ett " -"inbjudningsmeddelande om du vill" +msgid "Please enter the name of the user you wish to invite, along with an optional invite message." +msgstr "Ange namnet p? den anv?ndare du vill bjuda in, samt ett inbjudningsmeddelande om du vill" #, c-format msgid "Failed to get connection: %s" @@ -1865,9 +1770,7 @@ msgid "Purple's D-BUS server is not runn msgstr "Kunde inte f? serv namn: %s" msgid "Purple's D-BUS server is not running for the reason listed below" -msgstr "" -"Purples D-BUS server k?rs inte p? grund av n?gon av de nedan listade " -"anledningarna" +msgstr "Purples D-BUS server k?rs inte p? grund av n?gon av de nedan listade anledningarna" msgid "No name" msgstr "Inget namn" @@ -2076,52 +1979,32 @@ msgstr "Hanteraren f?r \"ymsgr\" URLer" msgid "The handler for \"ymsgr\" URLs" msgstr "Hanteraren f?r \"ymsgr\" URLer" -msgid "" -"True if the command specified in the \"command\" key should handle \"aim\" " -"URLs." +msgid "True if the command specified in the \"command\" key should handle \"aim\" URLs." msgstr "Sant om kommandot i nyckeln \"kommando\" ska hantera \"aim\" URLer" -msgid "" -"True if the command specified in the \"command\" key should handle \"gg\" " -"URLs." +msgid "True if the command specified in the \"command\" key should handle \"gg\" URLs." msgstr "Sant om kommandot i nyckeln \"kommando\" ska hantera \"gg\" URLer" -msgid "" -"True if the command specified in the \"command\" key should handle \"icq\" " -"URLs." +msgid "True if the command specified in the \"command\" key should handle \"icq\" URLs." msgstr "Sant om kommandot i nyckeln \"kommando\" ska hantera \"icq\" URLer" -msgid "" -"True if the command specified in the \"command\" key should handle \"irc\" " -"URLs." +msgid "True if the command specified in the \"command\" key should handle \"irc\" URLs." msgstr "Sant om kommandot i nyckeln \"kommando\" ska hantera \"irc\" URLer" -msgid "" -"True if the command specified in the \"command\" key should handle \"msnim\" " -"URLs." +msgid "True if the command specified in the \"command\" key should handle \"msnim\" URLs." msgstr "Sant om kommandot i nyckeln \"kommando\" ska hantera \"msnim\" URLer" -msgid "" -"True if the command specified in the \"command\" key should handle \"sip\" " -"URLs." +msgid "True if the command specified in the \"command\" key should handle \"sip\" URLs." msgstr "Sant om kommandot i nyckeln \"kommando\" ska hantera \"sip\" URLer" -msgid "" -"True if the command specified in the \"command\" key should handle \"xmpp\" " -"URLs." +msgid "True if the command specified in the \"command\" key should handle \"xmpp\" URLs." msgstr "Sant om kommandot i nyckeln \"kommando\" ska hantera \"xmpp\" URLer" -msgid "" -"True if the command specified in the \"command\" key should handle \"ymsgr\" " -"URLs." +msgid "True if the command specified in the \"command\" key should handle \"ymsgr\" URLs." msgstr "Sant om kommandot i nyckeln \"kommando\" ska hantera \"ymsgr\" URLer" -msgid "" -"True if the command used to handle this type of URL should be run in a " -"terminal." -msgstr "" -"Sant om kommandot som anv?nds f?r att hantera denna sortens URLer ska k?ras " -"i en terminal." +msgid "True if the command used to handle this type of URL should be run in a terminal." +msgstr "Sant om kommandot som anv?nds f?r att hantera denna sortens URLer ska k?ras i en terminal." msgid "Whether the specified command should handle \"aim\" URLs" msgstr "Om det specifika kommandot ska hantera \"aim\" URLer" @@ -2166,20 +2049,12 @@ msgstr "XML" msgstr "XML" #, c-format -msgid "" -"(%s) %s <AUTO-" -"REPLY>: %s
\n" -msgstr "" -"(%s) %s <AUTO-SVAR>:" -" %s
\n" +msgid "(%s) %s <AUTO-REPLY>: %s
\n" +msgstr "(%s) %s <AUTO-SVAR>: %s
\n" #, c-format -msgid "" -"(%s) %s <AUTO-" -"REPLY>: %s
\n" -msgstr "" -"(%s) %s <AUTO-SVAR>:" -" %s
\n" +msgid "(%s) %s <AUTO-REPLY>: %s
\n" +msgstr "(%s) %s <AUTO-SVAR>: %s
\n" msgid "Unable to find log path!" msgstr "Kunde inte hitta loggens s?kv?g!" @@ -2192,17 +2067,11 @@ msgstr "(%s) %s : %s\n" msgid "(%s) %s : %s\n" msgstr "(%s) %s : %s\n" -msgid "" -"No codecs found. Install some GStreamer codecs found in GStreamer plugins " -"packages." -msgstr "" -"Hittade inga codecs. Installera n?gra GStreamer codecs vilka finns i " -"GStreamers pluginpaket." +msgid "No codecs found. Install some GStreamer codecs found in GStreamer plugins packages." +msgstr "Hittade inga codecs. Installera n?gra GStreamer codecs vilka finns i GStreamers pluginpaket." -msgid "" -"No codecs left. Your codec preferences in fs-codecs.conf are too strict." -msgstr "" -"Ingen codec kvar. Dina codec-inst?llningar i fs-codecs.conf ?r f?r strikta." +msgid "No codecs left. Your codec preferences in fs-codecs.conf are too strict." +msgstr "Ingen codec kvar. Dina codec-inst?llningar i fs-codecs.conf ?r f?r strikta." msgid "A non-recoverable Farsight2 error has occurred." msgstr "Ett ok?nt Farsight2-fel har intr?ffat." @@ -2235,19 +2104,12 @@ msgstr "ABI versionen passar inte %d.%d. msgid "ABI version mismatch %d.%d.x (need %d.%d.x)" msgstr "ABI versionen passar inte %d.%d.x (beh?ver %d.%d.x)" -msgid "" -"Plugin does not implement all required functions (list_icon, login and close)" -msgstr "" -"Insticksmodulen tillhandah?ller inte alla n?dv?ndiga funktioner (list_icon, " -"login och close)" +msgid "Plugin does not implement all required functions (list_icon, login and close)" +msgstr "Insticksmodulen tillhandah?ller inte alla n?dv?ndiga funktioner (list_icon, login och close)" #, c-format -msgid "" -"The required plugin %s was not found. Please install this plugin and try " -"again." -msgstr "" -"Den efterfr?gade insticksmodulen %s kunde inte hittas. Installera " -"insticksmodulen och f?rs?k igen." +msgid "The required plugin %s was not found. Please install this plugin and try again." +msgstr "Den efterfr?gade insticksmodulen %s kunde inte hittas. Installera insticksmodulen och f?rs?k igen." msgid "Unable to load the plugin" msgstr "Kunde inte ladda insticksmodulen" @@ -2349,8 +2211,7 @@ msgid "Adds the option to store notes fo #. *< summary msgid "Adds the option to store notes for buddies on your buddy list." -msgstr "" -"L?gger till m?jligheten att lagra noteringar f?r kompisar i din kompislista." +msgstr "L?gger till m?jligheten att lagra noteringar f?r kompisar i din kompislista." #. *< type #. *< ui_requirement @@ -2448,12 +2309,8 @@ msgstr "Testinsticksmodul f?r IPC-st?d msgstr "Testinsticksmodul f?r IPC-st?d, som en klient." #. * description -msgid "" -"Test plugin IPC support, as a client. This locates the server plugin and " -"calls the commands registered." -msgstr "" -"Testinsticksmodul f?r IPC-st?d. Denna lokaliserar serverinsticksmodulen och " -"anropar de kommandon som kr?vs." +msgid "Test plugin IPC support, as a client. This locates the server plugin and calls the commands registered." +msgstr "Testinsticksmodul f?r IPC-st?d. Denna lokaliserar serverinsticksmodulen och anropar de kommandon som kr?vs." #. *< type #. *< ui_requirement @@ -2472,9 +2329,7 @@ msgid "Test plugin IPC support, as a ser #. * description msgid "Test plugin IPC support, as a server. This registers the IPC commands." -msgstr "" -"Testinsticksmodul f?r IPC-st?d, som en server. Denna registrerar IPC-" -"kommandona." +msgstr "Testinsticksmodul f?r IPC-st?d, som en server. Denna registrerar IPC-kommandona." msgid "Hide Joins/Parts" msgstr "G?m g? med/l?mna" @@ -2505,12 +2360,8 @@ msgstr "G?mmer extraaktiga kommer in/l? msgstr "G?mmer extraaktiga kommer in/l?mnar meddelanden." #. * description -msgid "" -"This plugin hides join/part messages in large rooms, except for those users " -"actively taking part in a conversation." -msgstr "" -"Denna modul g?mmer kommer in/l?mnar meddelanden i stora rum, f?rutom f?r de " -"anv?ndare som ?r aktiva i konversationen." +msgid "This plugin hides join/part messages in large rooms, except for those users actively taking part in a conversation." +msgstr "Denna modul g?mmer kommer in/l?mnar meddelanden i stora rum, f?rutom f?r de anv?ndare som ?r aktiva i konversationen." #. This is used in the place of a timezone abbreviation if the #. * offset is way off. The user should never really see it, but @@ -2535,16 +2386,11 @@ msgstr "Du har blivit fr?nkopplad fr?n msgid "You were disconnected from the server." msgstr "Du har blivit fr?nkopplad fr?n servern." -msgid "" -"You are currently disconnected. Messages will not be received unless you are " -"logged in." -msgstr "" -"Du ?r just nu inte ansluten. Meddelanden kan inte tas emot om du inte ?r " -"ansluten." +msgid "You are currently disconnected. Messages will not be received unless you are logged in." +msgstr "Du ?r just nu inte ansluten. Meddelanden kan inte tas emot om du inte ?r ansluten." msgid "Message could not be sent because the maximum length was exceeded." -msgstr "" -"Meddelandet kunde inte skickas eftersom den maximala l?ngden ?vertr?ddes." +msgstr "Meddelandet kunde inte skickas eftersom den maximala l?ngden ?vertr?ddes." msgid "Message could not be sent." msgstr "Meddelande kunde inte skickas." @@ -2622,18 +2468,13 @@ msgid "" #. * description msgid "" -"When viewing logs, this plugin will include logs from other IM clients. " -"Currently, this includes Adium, MSN Messenger, aMSN, and Trillian.\n" +"When viewing logs, this plugin will include logs from other IM clients. Currently, this includes Adium, MSN Messenger, aMSN, and Trillian.\n" "\n" -"WARNING: This plugin is still alpha code and may crash frequently. Use it " -"at your own risk!" +"WARNING: This plugin is still alpha code and may crash frequently. Use it at your own risk!" msgstr "" -"Vid visning av loggfiler kommer denna modul inkludera loggar fr?n andra IM-" -"klienter. F?r n?rvarande inkluderar detta Adium, MSN Messenger, aMSN, och " -"Trillian.\n" +"Vid visning av loggfiler kommer denna modul inkludera loggar fr?n andra IM-klienter. F?r n?rvarande inkluderar detta Adium, MSN Messenger, aMSN, och Trillian.\n" "\n" -"VARNING: Denna modul ?r fortfarande alpha-kod och kan krasha ofta. Anv?nd p? " -"egen risk!" +"VARNING: Denna modul ?r fortfarande alpha-kod och kan krasha ofta. Anv?nd p? egen risk!" msgid "Mono Plugin Loader" msgstr "L?sare f?r Monomoduler" @@ -2665,41 +2506,27 @@ msgstr "L?gger en tom rad f?re det vis msgstr "L?gger en tom rad f?re det visade meddelandet." #. *< summary -msgid "" -"Prepends a newline to messages so that the rest of the message appears below " -"the username in the conversation window." -msgstr "" -"Inleder med en tom linje i meddelandet s? att resten av meddelandet " -"upptr?der nedanf?r anv?ndarnamnet i konversationsf?nstret." +msgid "Prepends a newline to messages so that the rest of the message appears below the username in the conversation window." +msgstr "Inleder med en tom linje i meddelandet s? att resten av meddelandet upptr?der nedanf?r anv?ndarnamnet i konversationsf?nstret." msgid "Offline Message Emulation" msgstr "Fr?nkopplad meddelandeemulering" msgid "Save messages sent to an offline user as pounce." -msgstr "" -"Spara meddelandet skickat till en fr?nkopplad anv?ndare som en notifiering" +msgstr "Spara meddelandet skickat till en fr?nkopplad anv?ndare som en notifiering" -msgid "" -"The rest of the messages will be saved as pounces. You can edit/delete the " -"pounce from the `Buddy Pounce' dialog." -msgstr "" -"Resten av meddelanden kommer sparas som notifieringar. Du kan ?ndra/ta bort " -"notifieringarna fr?n `Kompisnotifieringar' dialogen." +msgid "The rest of the messages will be saved as pounces. You can edit/delete the pounce from the `Buddy Pounce' dialog." +msgstr "Resten av meddelanden kommer sparas som notifieringar. Du kan ?ndra/ta bort notifieringarna fr?n `Kompisnotifieringar' dialogen." #, c-format -msgid "" -"\"%s\" is currently offline. Do you want to save the rest of the messages in " -"a pounce and automatically send them when \"%s\" logs back in?" -msgstr "" -"\"%s\" ?r f?r n?rvarande fr?nkopplad. Vill du spara resten av meddelandena " -"som en notifiering och skicka dem automatiskt n?r \"%s\" ansluter igen?" +msgid "\"%s\" is currently offline. Do you want to save the rest of the messages in a pounce and automatically send them when \"%s\" logs back in?" +msgstr "\"%s\" ?r f?r n?rvarande fr?nkopplad. Vill du spara resten av meddelandena som en notifiering och skicka dem automatiskt n?r \"%s\" ansluter igen?" msgid "Offline Message" msgstr "Fr?nkopplade meddelanden" msgid "You can edit/delete the pounce from the `Buddy Pounces' dialog" -msgstr "" -"Du kan ?ndra/ta bort notifieringarna fr?n `Kompisnotifieringar' dialogen" +msgstr "Du kan ?ndra/ta bort notifieringarna fr?n `Kompisnotifieringar' dialogen" msgid "Yes" msgstr "Ja" @@ -2733,12 +2560,10 @@ msgid "" #. * description msgid "" -"Allows you to enforce on a per-account basis that passwords not being saved " -"are only used in a single successful connection.\n" +"Allows you to enforce on a per-account basis that passwords not being saved are only used in a single successful connection.\n" "Note: The account password must not be saved for this to work." msgstr "" -"Till?ter dig att v?lja per konto om l?senorden som inte sparas bara ska " -"anv?ndas till en lyckad anslutning.\n" +"Till?ter dig att v?lja per konto om l?senorden som inte sparas bara ska anv?ndas till en lyckad anslutning.\n" "Notering: Kontol?senordet f?r inte sparas om dettta ska fungera." #. *< type @@ -2762,12 +2587,8 @@ msgstr "Siande l?ge f?r inkommande kon msgid "Psychic mode for incoming conversation" msgstr "Siande l?ge f?r inkommande konversation" -msgid "" -"Causes conversation windows to appear as other users begin to message you. " -"This works for AIM, ICQ, XMPP, Sametime, and Yahoo!" -msgstr "" -"F?r konversationsf?nster att dyka upp d? andra anv?ndare b?rjar att skicka " -"meddelande till dig. Detta fungerar f?r AIM, ICQ, XMPP, Sametime och Yahoo!" +msgid "Causes conversation windows to appear as other users begin to message you. This works for AIM, ICQ, XMPP, Sametime, and Yahoo!" +msgstr "F?r konversationsf?nster att dyka upp d? andra anv?ndare b?rjar att skicka meddelande till dig. Detta fungerar f?r AIM, ICQ, XMPP, Sametime och Yahoo!" msgid "You feel a disturbance in the force..." msgstr "Du k?nner en st?rning i kraften..." @@ -2915,12 +2736,8 @@ msgstr "Rapportering av kompisstatus" #. *< version #. * summary #. * description -msgid "" -"Notifies in a conversation window when a buddy goes or returns from away or " -"idle." -msgstr "" -"Rapporterar i konversationsf?nstret n?r en kompis blir fr?nvarande/inaktiv " -"eller kommer tillbaka." +msgid "Notifies in a conversation window when a buddy goes or returns from away or idle." +msgstr "Rapporterar i konversationsf?nstret n?r en kompis blir fr?nvarande/inaktiv eller kommer tillbaka." msgid "Tcl Plugin Loader" msgstr "Tcl-insticksmodulladdare" @@ -2928,25 +2745,16 @@ msgstr "G?r det m?jligt att ladda Tcl- msgid "Provides support for loading Tcl plugins" msgstr "G?r det m?jligt att ladda Tcl-insticksmoduler" -msgid "" -"Unable to detect ActiveTCL installation. If you wish to use TCL plugins, " -"install ActiveTCL from http://www.activestate.com\n" -msgstr "" -"Kunde inte finna en installation av ActiveTCL. Om du t?nker anv?nda TCL-" -"modulen m?ste du installera ActiveTCL fr?n http://www.activestate.com\n" +msgid "Unable to detect ActiveTCL installation. If you wish to use TCL plugins, install ActiveTCL from http://www.activestate.com\n" +msgstr "Kunde inte finna en installation av ActiveTCL. Om du t?nker anv?nda TCL-modulen m?ste du installera ActiveTCL fr?n http://www.activestate.com\n" -msgid "" -"Unable to find Apple's \"Bonjour for Windows\" toolkit, see http://d.pidgin." -"im/BonjourWindows for more information." -msgstr "" -"Kunde inte hitta Apples \"Bonjour F?r Windows\", l?s p? http://d.pidgin.im/" -"BonjourWindows f?r mer information" +msgid "Unable to find Apple's \"Bonjour for Windows\" toolkit, see http://d.pidgin.im/BonjourWindows for more information." +msgstr "Kunde inte hitta Apples \"Bonjour F?r Windows\", l?s p? http://d.pidgin.im/BonjourWindows f?r mer information" msgid "Unable to listen for incoming IM connections" msgstr "Kan inte lyssna efter inkommande IM anslutningar" -msgid "" -"Unable to establish connection with the local mDNS server. Is it running?" +msgid "Unable to establish connection with the local mDNS server. Is it running?" msgstr "Kunde inte skapa en anslutning via den lokala mDNS-servern. K?rs den?" msgid "First name" @@ -3001,12 +2809,8 @@ msgstr "Felaktiga proxyinst?llningar" msgid "Invalid proxy settings" msgstr "Felaktiga proxyinst?llningar" -msgid "" -"Either the host name or port number specified for your given proxy type is " -"invalid." -msgstr "" -"Antingen v?rdnamnet eller portnummret som ?r angivet f?r din proxytyp ?r " -"ogiltigt." +msgid "Either the host name or port number specified for your given proxy type is invalid." +msgstr "Antingen v?rdnamnet eller portnummret som ?r angivet f?r din proxytyp ?r ogiltigt." msgid "Token Error" msgstr "Mark?rsfel" @@ -3518,19 +3322,11 @@ msgstr "Ogiltigt smeknamn" msgid "Invalid nickname" msgstr "Ogiltigt smeknamn" -msgid "" -"Your selected nickname was rejected by the server. It probably contains " -"invalid characters." -msgstr "" -"Ditt valda smeknamn v?grades av servern. Det inneh?ller antagligen otill?tna " -"tecken." +msgid "Your selected nickname was rejected by the server. It probably contains invalid characters." +msgstr "Ditt valda smeknamn v?grades av servern. Det inneh?ller antagligen otill?tna tecken." -msgid "" -"Your selected account name was rejected by the server. It probably contains " -"invalid characters." -msgstr "" -"Ditt valda kontonamn v?grades av servern. Det inneh?ller antagligen " -"otill?tna tecken." +msgid "Your selected account name was rejected by the server. It probably contains invalid characters." +msgstr "Ditt valda kontonamn v?grades av servern. Det inneh?ller antagligen otill?tna tecken." #. We only want to do the following dance if the connection #. has not been successfully completed. If it has, just @@ -3576,12 +3372,8 @@ msgstr "action <action to perform> msgid "action <action to perform>: Perform an action." msgstr "action <action to perform>: Utf?r en ?tg?rd." -msgid "" -"away [message]: Set an away message, or use no message to return from being " -"away." -msgstr "" -"away [meddelande]: Ange ett fr?nvaromeddelande eller ange utan meddelande " -"f?r att ?terv?nda fr?n fr?nvaro." +msgid "away [message]: Set an away message, or use no message to return from being away." +msgstr "away [meddelande]: Ange ett fr?nvaromeddelande eller ange utan meddelande f?r att ?terv?nda fr?n fr?nvaro." msgid "ctcp : sends ctcp msg to nick." msgstr "ctcp : skicka ett ctcp meddelande till alias" @@ -3589,56 +3381,26 @@ msgstr "chanserv: Skicka ett kommando ti msgid "chanserv: Send a command to chanserv" msgstr "chanserv: Skicka ett kommando till chanserv" -msgid "" -"deop <nick1> [nick2] ...: Remove channel operator status from " -"someone. You must be a channel operator to do this." -msgstr "" -"deop <smeknamn1> [smeknamn2] ...: Ta bort kanaloperat?rsstatus fr?n " -"n?gon. Du m?ste vara en operat?r sj?lv f?r att kunna g?ra detta." +msgid "deop <nick1> [nick2] ...: Remove channel operator status from someone. You must be a channel operator to do this." +msgstr "deop <smeknamn1> [smeknamn2] ...: Ta bort kanaloperat?rsstatus fr?n n?gon. Du m?ste vara en operat?r sj?lv f?r att kunna g?ra detta." -msgid "" -"devoice <nick1> [nick2] ...: Remove channel voice status from " -"someone, preventing them from speaking if the channel is moderated (+m). You " -"must be a channel operator to do this." -msgstr "" -"devoice <smeknamn1> [smeknamn2] ...: Tar bort kanalr?ststatus fr?n " -"n?gon f?r att f?rhindra den fr?n att tala d? kanalen ?r modererad (+m). Du " -"m?ste vara en operat?r sj?lv f?r att kunna g?ra detta." +msgid "devoice <nick1> [nick2] ...: Remove channel voice status from someone, preventing them from speaking if the channel is moderated (+m). You must be a channel operator to do this." +msgstr "devoice <smeknamn1> [smeknamn2] ...: Tar bort kanalr?ststatus fr?n n?gon f?r att f?rhindra den fr?n att tala d? kanalen ?r modererad (+m). Du m?ste vara en operat?r sj?lv f?r att kunna g?ra detta." -msgid "" -"invite <nick> [room]: Invite someone to join you in the specified " -"channel, or the current channel." -msgstr "" -"invite <smeknamn> [rum]: Bjud in n?gon till en specificerad kanal " -"eller till den nuvarande." +msgid "invite <nick> [room]: Invite someone to join you in the specified channel, or the current channel." +msgstr "invite <smeknamn> [rum]: Bjud in n?gon till en specificerad kanal eller till den nuvarande." -msgid "" -"j <room1>[,room2][,...] [key1[,key2][,...]]: Enter one or more " -"channels, optionally providing a channel key for each if needed." -msgstr "" -"j <rum1>[,rum2][,...] [nyckel1[,nyckel2][,...]]: Anslut till en eller " -"fler kanaler, m?jligen med en kanalnyckel f?r varje om det beh?vs." +msgid "j <room1>[,room2][,...] [key1[,key2][,...]]: Enter one or more channels, optionally providing a channel key for each if needed." +msgstr "j <rum1>[,rum2][,...] [nyckel1[,nyckel2][,...]]: Anslut till en eller fler kanaler, m?jligen med en kanalnyckel f?r varje om det beh?vs." -msgid "" -"join <room1>[,room2][,...] [key1[,key2][,...]]: Enter one or more " -"channels, optionally providing a channel key for each if needed." -msgstr "" -"join <rum1>[,rum2][,...] [nyckel1[,nyckel2][,...]]: Anslut till en " -"eller fler kanaler, m?jligen med en kanalnyckel f?r varje om det beh?vs." +msgid "join <room1>[,room2][,...] [key1[,key2][,...]]: Enter one or more channels, optionally providing a channel key for each if needed." +msgstr "join <rum1>[,rum2][,...] [nyckel1[,nyckel2][,...]]: Anslut till en eller fler kanaler, m?jligen med en kanalnyckel f?r varje om det beh?vs." -msgid "" -"kick <nick> [message]: Remove someone from a channel. You must be a " -"channel operator to do this." -msgstr "" -"kick <smeknamn> [meddelande]: Tar bort n?gon fr?n en kanal. Du m?ste " -"vara kanaloperat?r f?r att kunna g?ra detta." +msgid "kick <nick> [message]: Remove someone from a channel. You must be a channel operator to do this." +msgstr "kick <smeknamn> [meddelande]: Tar bort n?gon fr?n en kanal. Du m?ste vara kanaloperat?r f?r att kunna g?ra detta." -msgid "" -"list: Display a list of chat rooms on the network. Warning, some servers " -"may disconnect you upon doing this." -msgstr "" -"list: Visar en lista ?ver alla chattrum p? ett n?tverk. Varning: N?gra " -"servrar kan koppla ifr?n dig n?r du g?r detta." +msgid "list: Display a list of chat rooms on the network. Warning, some servers may disconnect you upon doing this." +msgstr "list: Visar en lista ?ver alla chattrum p? ett n?tverk. Varning: N?gra servrar kan koppla ifr?n dig n?r du g?r detta." msgid "me <action to perform>: Perform an action." msgstr "me <?tg?rd som ska utf?ras>: Utf?r en ?tg?rd." @@ -3646,19 +3408,11 @@ msgstr "memoserv: Skicka ett kommando ti msgid "memoserv: Send a command to memoserv" msgstr "memoserv: Skicka ett kommando till memoserv" -msgid "" -"mode <+|-><A-Za-z> <nick|channel>: Set or unset a channel " -"or user mode." -msgstr "" -"mode <+|-><A-Za-z> <smeknamn|kanal>: S?tt eller ta bort " -"kanal- eller anv?ndarl?ge." +msgid "mode <+|-><A-Za-z> <nick|channel>: Set or unset a channel or user mode." +msgstr "mode <+|-><A-Za-z> <smeknamn|kanal>: S?tt eller ta bort kanal- eller anv?ndarl?ge." -msgid "" -"msg <nick> <message>: Send a private message to a user (as " -"opposed to a channel)." -msgstr "" -"msg <smeknamn> <meddelande>: Skicka ett privat meddelande till " -"en anv?ndare (i motsats till en kanal)." +msgid "msg <nick> <message>: Send a private message to a user (as opposed to a channel)." +msgstr "msg <smeknamn> <meddelande>: Skicka ett privat meddelande till en anv?ndare (i motsats till en kanal)." msgid "names [channel]: List the users currently in a channel." msgstr "names [kanal]: Lista anv?ndarna som ?r i kanalen just nu." @@ -3670,60 +3424,34 @@ msgid "notice <target<: Send a no msgstr "nickserv: Skicka ett kommando till nickserv" msgid "notice <target<: Send a notice to a user or channel." -msgstr "" -"notice <m?l>: Skickar en notifiering till en anv?ndare eller en kanal." +msgstr "notice <m?l>: Skickar en notifiering till en anv?ndare eller en kanal." -msgid "" -"op <nick1> [nick2] ...: Grant channel operator status to someone. You " -"must be a channel operator to do this." -msgstr "" -"op <smeknamn1> [smeknamn2] ...: Ge kanaloperat?rsstatus till n?gon. " -"Du m?ste vara kanaloperat?r f?r att kunna g?ra detta." +msgid "op <nick1> [nick2] ...: Grant channel operator status to someone. You must be a channel operator to do this." +msgstr "op <smeknamn1> [smeknamn2] ...: Ge kanaloperat?rsstatus till n?gon. Du m?ste vara kanaloperat?r f?r att kunna g?ra detta." -msgid "" -"operwall <message>: If you don't know what this is, you probably " -"can't use it." -msgstr "" -"operwall <meddelande>: Om du inte vet vad detta g?r kan du antagligen " -"inte g?ra det." +msgid "operwall <message>: If you don't know what this is, you probably can't use it." +msgstr "operwall <meddelande>: Om du inte vet vad detta g?r kan du antagligen inte g?ra det." msgid "operserv: Send a command to operserv" msgstr "operserv: Skicka ett kommando till operserv" -msgid "" -"part [room] [message]: Leave the current channel, or a specified channel, " -"with an optional message." -msgstr "" -"part [rum] [meddelande]: L?mna det nuvarande rummet med ett m?jligt " -"meddelande." +msgid "part [room] [message]: Leave the current channel, or a specified channel, with an optional message." +msgstr "part [rum] [meddelande]: L?mna det nuvarande rummet med ett m?jligt meddelande." -msgid "" -"ping [nick]: Asks how much lag a user (or the server if no user specified) " -"has." -msgstr "" -"ping [smeknamn]: Fr?gar hur mycket lagg en anv?ndaren (eller servern om " -"ingen anv?ndare ?r specificerad) har." +msgid "ping [nick]: Asks how much lag a user (or the server if no user specified) has." +msgstr "ping [smeknamn]: Fr?gar hur mycket lagg en anv?ndaren (eller servern om ingen anv?ndare ?r specificerad) har." -msgid "" -"query <nick> <message>: Send a private message to a user (as " -"opposed to a channel)." -msgstr "" -"query <smeknamn> <meddelande>: Skicka ett privat meddelande " -"till en anv?ndare." +msgid "query <nick> <message>: Send a private message to a user (as opposed to a channel)." +msgstr "query <smeknamn> <meddelande>: Skicka ett privat meddelande till en anv?ndare." msgid "quit [message]: Disconnect from the server, with an optional message." -msgstr "" -"quit [meddelande]: Koppla ifr?n servern med ett frivilligt meddelande." +msgstr "quit [meddelande]: Koppla ifr?n servern med ett frivilligt meddelande." msgid "quote [...]: Send a raw command to the server." msgstr "quote [...]: Skicka ett r?tt kommando till servern." -msgid "" -"remove <nick> [message]: Remove someone from a room. You must be a " -"channel operator to do this." -msgstr "" -"remove <smeknamn> [meddelande]: Ta bort n?gon fr?n ett rum. Du m?ste " -"vara kanaloperat?r f?r att g?ra detta." +msgid "remove <nick> [message]: Remove someone from a room. You must be a channel operator to do this." +msgstr "remove <smeknamn> [meddelande]: Ta bort n?gon fr?n ett rum. Du m?ste vara kanaloperat?r f?r att g?ra detta." msgid "time: Displays the current local time at the IRC server." msgstr "time: Visar IRC-serverns lokala tid." @@ -3735,31 +3463,19 @@ msgid "version [nick]: send CTCP VERSION msgstr "umode <+|-><A-Za-z>: Ange eller ta bort ett anv?ndarl?ge." msgid "version [nick]: send CTCP VERSION request to a user" -msgstr "" -"version [smeknamn]: skickar en CTCP VERSION f?rfr?gan till en anv?ndare" +msgstr "version [smeknamn]: skickar en CTCP VERSION f?rfr?gan till en anv?ndare" -msgid "" -"voice <nick1> [nick2] ...: Grant channel voice status to someone. You " -"must be a channel operator to do this." -msgstr "" -"voice <smeknamn1> [smeknamn2] ...: Ge kanalr?ststatus till n?gon. Du " -"m?ste vara kanaloperat?r f?r att g?ra detta." +msgid "voice <nick1> [nick2] ...: Grant channel voice status to someone. You must be a channel operator to do this." +msgstr "voice <smeknamn1> [smeknamn2] ...: Ge kanalr?ststatus till n?gon. Du m?ste vara kanaloperat?r f?r att g?ra detta." -msgid "" -"wallops <message>: If you don't know what this is, you probably can't " -"use it." -msgstr "" -"wallops <meddelande>: Om du inte vet vad detta ?r kan du antagligen " -"inte anv?nda det." +msgid "wallops <message>: If you don't know what this is, you probably can't use it." +msgstr "wallops <meddelande>: Om du inte vet vad detta ?r kan du antagligen inte anv?nda det." msgid "whois [server] <nick>: Get information on a user." -msgstr "" -"whois [server] <smeknamn>: H?mta informationen f?r en anv?ndare." +msgstr "whois [server] <smeknamn>: H?mta informationen f?r en anv?ndare." msgid "whowas <nick>: Get information on a user that has logged off." -msgstr "" -"whowas <smeknamn>: H?mta informationen f?r en anv?ndare som har " -"kopplat ifr?n." +msgstr "whowas <smeknamn>: H?mta informationen f?r en anv?ndare som har kopplat ifr?n." #, c-format msgid "Reply time from %s: %lu seconds" @@ -3796,12 +3512,8 @@ msgstr "Servern anv?nder inga autentise msgstr "Servern anv?nder inga autentiseringsmetoder som st?ds" #, c-format -msgid "" -"%s requires plaintext authentication over an unencrypted connection. Allow " -"this and continue authentication?" -msgstr "" -"%s kr?ver klartextautentisering ?ver en okrypterad anslutning. Till?t detta " -"och forts?tt?" +msgid "%s requires plaintext authentication over an unencrypted connection. Allow this and continue authentication?" +msgstr "%s kr?ver klartextautentisering ?ver en okrypterad anslutning. Till?t detta och forts?tt?" msgid "Plaintext Authentication" msgstr "Klartextautentisering" @@ -3826,34 +3538,26 @@ msgstr "Ogiltigt inmatningsvillkor" msgid "Invalid Encoding" msgstr "Ogiltigt inmatningsvillkor" -#, fuzzy msgid "Unsupported Extension" -msgstr "Ej st?d version" +msgstr "Ej st?dd ut?kning" -msgid "" -"Unexpected response from the server. This may indicate a possible MITM " -"attack" -msgstr "" +msgid "Unexpected response from the server. This may indicate a possible MITM attack" +msgstr "Ov?ntat svar fr?n server. Detta kan indikera en MITM attack" -msgid "" -"The server does support channel binding, but did not appear to advertise " -"it. This indicates a likely MITM attack" -msgstr "" +msgid "The server does support channel binding, but did not appear to advertise it. This indicates a likely MITM attack" +msgstr "Servern st?djer kanalbindningar, men verkar inte annonsera det. Detta indikerar en trolig MITM attack" -#, fuzzy msgid "Server does not support channel binding" -msgstr "Servern st?djer inte blockering" +msgstr "Servern st?djer inte kanalbindning" -#, fuzzy msgid "Unsupported channel binding method" -msgstr "St?djer ej kodningen" +msgstr "Ej st?dd kanalbindningsmetod" msgid "User not found" msgstr "Anv?ndaren hittades inte" -#, fuzzy msgid "Invalid Username Encoding" -msgstr "Ogiltigt anv?ndarnamn" +msgstr "Ogiltigt format p? anv?ndarnamn" msgid "Resource Constraint" msgstr "Resursbegr?nsning" @@ -3956,12 +3660,8 @@ msgstr "Redigera XMPP visitkort" msgid "Edit XMPP vCard" msgstr "Redigera XMPP visitkort" -msgid "" -"All items below are optional. Enter only the information with which you feel " -"comfortable." -msgstr "" -"Alla poster nedan ?r frivilliga. Ange endast den information som du vill " -"l?mna ut." +msgid "All items below are optional. Enter only the information with which you feel comfortable." +msgstr "Alla poster nedan ?r frivilliga. Ange endast den information som du vill l?mna ut." msgid "Client" msgstr "Klient" @@ -4009,11 +3709,8 @@ msgstr "Logotyp" msgstr "Logotyp" #, c-format -msgid "" -"%s will no longer be able to see your status updates. Do you want to " -"continue?" -msgstr "" -"%s kommer inte l?ngre kunna se dina statusuppdateringar. Vill du forts?tta?" +msgid "%s will no longer be able to see your status updates. Do you want to continue?" +msgstr "%s kommer inte l?ngre kunna se dina statusuppdateringar. Vill du forts?tta?" msgid "Cancel Presence Notification" msgstr "Avbryt n?rvarorapportering" @@ -4052,12 +3749,8 @@ msgstr "Din s?kning gav f?ljande resul msgstr "Din s?kning gav f?ljande resultat" #. current comment from Jabber User Directory users.jabber.org -msgid "" -"Find a contact by entering the search criteria in the given fields. Note: " -"Each field supports wild card searches (%)" -msgstr "" -"Hitta en kontakt genom att ange s?kkriteriet i de givna f?lten. Notera: Alla " -"f?lten st?djer wild card-s?kningar (%)" +msgid "Find a contact by entering the search criteria in the given fields. Note: Each field supports wild card searches (%)" +msgstr "Hitta en kontakt genom att ange s?kkriteriet i de givna f?lten. Notera: Alla f?lten st?djer wild card-s?kningar (%)" msgid "Directory Query Failed" msgstr "Katalogf?rfr?gning misslyckades" @@ -4072,8 +3765,7 @@ msgid "Fill in one or more fields to sea msgstr "Serverinstruktioner: %s" msgid "Fill in one or more fields to search for any matching XMPP users." -msgstr "" -"Fyll i ett eller flera f?lt f?r att s?ka efter matchande XMPPanv?ndare." +msgstr "Fyll i ett eller flera f?lt f?r att s?ka efter matchande XMPPanv?ndare." msgid "Email Address" msgstr "E-postadress" @@ -4181,9 +3873,8 @@ msgstr "Ogiltigt XMPP ID" msgid "Invalid XMPP ID" msgstr "Ogiltigt XMPP ID" -#, fuzzy msgid "Invalid XMPP ID. Username portion must be set." -msgstr "Ogiltigt XMPP IP. Dom?n m?ste anges." +msgstr "Ogiltigt XMPP ID. Anv?ndarnamnsdelen m?ste anges." msgid "Invalid XMPP ID. Domain must be set." msgstr "Ogiltigt XMPP IP. Dom?n m?ste anges." @@ -4233,8 +3924,7 @@ msgstr "Avregistrera" msgid "Unregister" msgstr "Avregistrera" -msgid "" -"Please fill out the information below to change your account registration." +msgid "Please fill out the information below to change your account registration." msgstr "Fyll i informationen nedan f?r att ?ndra din kontoregistrering." msgid "Please fill out the information below to register your new account." @@ -4315,13 +4005,11 @@ msgstr "Till?t Surr" msgid "Allow Buzz" msgstr "Till?t Surr" -#, fuzzy msgid "Mood Name" -msgstr "Andranamn" +msgstr "Hum?rsnamn" -#, fuzzy msgid "Mood Comment" -msgstr "Kompiskommentar" +msgstr "Hum?rskommentar" #. primitive #. ID @@ -4563,12 +4251,8 @@ msgstr "Kunde inte surra eftersom %s kan msgstr "Kunde inte surra eftersom %s kanske ?r fr?nkopplad." #, c-format -msgid "" -"Unable to buzz, because %s does not support it or does not wish to receive " -"buzzes now." -msgstr "" -"Kan inte surra eftersom %s st?djer inte det eller ?nskar ta emot surr just " -"nu." +msgid "Unable to buzz, because %s does not support it or does not wish to receive buzzes now." +msgstr "Kan inte surra eftersom %s st?djer inte det eller ?nskar ta emot surr just nu." #. Yahoo only supports one attention command: the 'buzz'. #. This is index number YAHOO_BUZZ. @@ -4593,19 +4277,14 @@ msgid "Unable to initiate media with %s: #, c-format msgid "Unable to initiate media with %s: not subscribed to user presence" -msgstr "" -"Kan inte p?b?rja media med %s: prenumererar inte p? anv?ndartillg?nglighet" +msgstr "Kan inte p?b?rja media med %s: prenumererar inte p? anv?ndartillg?nglighet" msgid "Media Initiation Failed" msgstr "Initiering av media misslyckades" #, c-format -msgid "" -"Please select the resource of %s with which you would like to start a media " -"session." -msgstr "" -"Var god v?lj vilken tillflykt f?r %s med vilken du vill p?b?rja en " -"mediasession." +msgid "Please select the resource of %s with which you would like to start a media session." +msgstr "Var god v?lj vilken tillflykt f?r %s med vilken du vill p?b?rja en mediasession." msgid "Select a Resource" msgstr "V?lj en tillflykt" @@ -4613,9 +4292,8 @@ msgstr "P?b?rja Media" msgid "Initiate Media" msgstr "P?b?rja Media" -#, fuzzy msgid "Account does not support PEP, can't set mood" -msgstr "Protokollet st?djer inte chattrum." +msgstr "Kontot st?djer inte PEP, kan inte ange ett hum?r" msgid "config: Configure a chat room." msgstr "config: Konfigurera ett chattrum." @@ -4635,37 +4313,23 @@ msgstr "ban <anv?ndare> [anlednin msgid "ban <user> [reason]: Ban a user from the room." msgstr "ban <anv?ndare> [anledning]: Bannlys en anv?ndare fr?n rummet." -msgid "" -"affiliate <owner|admin|member|outcast|none> [nick1] [nick2] ...: Get " -"the users with an affiliation or set users' affiliation with the room." -msgstr "" -"affiliate <?gare|admin|medlem|utst?tt|ingen>: [nick1] [nick2] ...: " -"H?mta eller ange anv?ndarnas anknytning till rummet." +msgid "affiliate <owner|admin|member|outcast|none> [nick1] [nick2] ...: Get the users with an affiliation or set users' affiliation with the room." +msgstr "affiliate <?gare|admin|medlem|utst?tt|ingen>: [nick1] [nick2] ...: H?mta eller ange anv?ndarnas anknytning till rummet." -msgid "" -"role <moderator|participant|visitor|none> [nick1] [nick2] ...: Get the " -"users with a role or set users' role with the room." -msgstr "" -"role <moderator|participant|visitor|none>: [nick1] [nick2] ...: H?mta " -"eller ange anv?ndarnas roll i rummet." +msgid "role <moderator|participant|visitor|none> [nick1] [nick2] ...: Get the users with a role or set users' role with the room." +msgstr "role <moderator|participant|visitor|none>: [nick1] [nick2] ...: H?mta eller ange anv?ndarnas roll i rummet." msgid "invite <user> [message]: Invite a user to the room." -msgstr "" -"invite <anv?ndare> [meddelande]: Bjud in anv?ndaren till rummet." +msgstr "invite <anv?ndare> [meddelande]: Bjud in anv?ndaren till rummet." msgid "join: <room> [password]: Join a chat on this server." -msgstr "" -"join: <rum> [<l?senord>]: Anslut till en chatt p? denna server." +msgstr "join: <rum> [<l?senord>]: Anslut till en chatt p? denna server." msgid "kick <user> [reason]: Kick a user from the room." -msgstr "" -"kick <anv?ndare> [anledning]: Sparka ut en anv?ndare fr?n rummet." +msgstr "kick <anv?ndare> [anledning]: Sparka ut en anv?ndare fr?n rummet." -msgid "" -"msg <user> <message>: Send a private message to another user." -msgstr "" -"msg <anv?ndare> <meddelande>: Skicka ett privat meddelande till " -"en annan anv?ndare." +msgid "msg <user> <message>: Send a private message to another user." +msgstr "msg <anv?ndare> <meddelande>: Skicka ett privat meddelande till en annan anv?ndare." msgid "ping <jid>:\tPing a user/component/server." msgstr "ping <jid>:\tPinga en anv?ndare/komponent/server." @@ -4673,9 +4337,8 @@ msgstr "buzz: St?r en anv?ndare f?r a msgid "buzz: Buzz a user to get their attention" msgstr "buzz: St?r en anv?ndare f?r att f? dennes uppm?rksamhet" -#, fuzzy msgid "mood: Set current user mood" -msgstr "V?lj r?tt anv?ndare" +msgstr "mood: anger anv?ndarens nuvarande hum?r" msgid "Extended Away" msgstr "Ut?kad fr?nvaro" @@ -4753,18 +4416,17 @@ msgstr "(Kod %s)" msgid "(Code %s)" msgstr "(Kod %s)" -#, fuzzy msgid "A custom smiley in the message is too large to send." -msgstr "Kan inte skicka meddelandet: Det ?r f?r stort." +msgstr "En egenvald smilie i meddelandet var f?r stor f?r att skickas." msgid "XMPP stream header missing" -msgstr "" +msgstr "XMPP-str?mhuvud saknas" msgid "XMPP Version Mismatch" -msgstr "" +msgstr "XMPP-versioner matchar inte" msgid "XMPP stream missing ID" -msgstr "" +msgstr "XMPP-str?mmen saknar ID" msgid "XML Parse error" msgstr "XML-tolkningsfel" @@ -4780,12 +4442,8 @@ msgstr "Skapa nytt rum" msgid "Create New Room" msgstr "Skapa nytt rum" -msgid "" -"You are creating a new room. Would you like to configure it, or accept the " -"default settings?" -msgstr "" -"Du skapar ett nytt rum. Vill du konfigurera det eller n?jer du dig med " -"f?rvalda inst?llningar?" +msgid "You are creating a new room. Would you like to configure it, or accept the default settings?" +msgstr "Du skapar ett nytt rum. Vill du konfigurera det eller n?jer du dig med f?rvalda inst?llningar?" msgid "_Configure Room" msgstr "_Konfigurera rum" @@ -4833,16 +4491,14 @@ msgid "Unable to send file to %s, not su #, c-format msgid "Unable to send file to %s, not subscribed to user presence" -msgstr "" -"Kan inte skicka filen till %s, prenumererar inte p? anv?ndartillg?nglighet" +msgstr "Kan inte skicka filen till %s, prenumererar inte p? anv?ndartillg?nglighet" #, c-format msgid "Please select the resource of %s to which you would like to send a file" msgstr "Var god v?lj vilken tillflykt f?r %s du vill s?nda filen till" -#, fuzzy msgid "Afraid" -msgstr "Arabiska" +msgstr "R?dd" #, fuzzy msgid "Amazed" @@ -4855,9 +4511,8 @@ msgstr "Arg" msgid "Angry" msgstr "Arg" -#, fuzzy msgid "Annoyed" -msgstr "Bannlyst" +msgstr "Irriterad" msgid "Anxious" msgstr "Orolig" @@ -4872,29 +4527,23 @@ msgstr "Uttr?kad" msgid "Bored" msgstr "Uttr?kad" -#, fuzzy msgid "Brave" -msgstr "Spara" +msgstr "Modig" -#, fuzzy msgid "Calm" -msgstr "Kungarike" +msgstr "Lugn" -#, fuzzy msgid "Cautious" -msgstr "Chattar" +msgstr "F?rsiktig" -#, fuzzy msgid "Cold" -msgstr "Fet" +msgstr "Kall" -#, fuzzy msgid "Confident" -msgstr "Konflikt" +msgstr "Sj?lvs?ker" -#, fuzzy msgid "Confused" -msgstr "Forts?tt" +msgstr "F?rvirrad" #, fuzzy msgid "Contemplative" @@ -4904,50 +4553,43 @@ msgstr "Ansluten" msgid "Contented" msgstr "Ansluten" -#, fuzzy msgid "Cranky" -msgstr "F?retag" +msgstr "Grinig" msgid "Crazy" -msgstr "" +msgstr "Galen" -#, fuzzy msgid "Creative" -msgstr "Skapa" +msgstr "Kreativ" -#, fuzzy msgid "Curious" -msgstr "Str?lande" +msgstr "Nyfiken" #, fuzzy msgid "Dejected" msgstr "Avslagen" -#, fuzzy msgid "Depressed" -msgstr "Borttagen" +msgstr "Deprimerad" -#, fuzzy msgid "Disappointed" -msgstr "Fr?nkopplad." +msgstr "Besviken" msgid "Disgusted" -msgstr "" +msgstr "?cklad" #, fuzzy msgid "Dismayed" msgstr "Avaktiverad" -#, fuzzy msgid "Distracted" -msgstr "Fr?nskild" +msgstr "Distraherad" msgid "Embarrassed" msgstr "" -#, fuzzy msgid "Envious" -msgstr "Orolig" +msgstr "Avundsjuk" msgid "Excited" msgstr "Upphetsad" @@ -4956,29 +4598,26 @@ msgstr "Str?lande" msgid "Flirtatious" msgstr "Str?lande" -#, fuzzy msgid "Frustrated" -msgstr "F?rnamn" +msgstr "Frustrerad" msgid "Grateful" -msgstr "" +msgstr "Tacksam" -#, fuzzy msgid "Grieving" -msgstr "H?mtar..." +msgstr "S?rjer" msgid "Grumpy" msgstr "Tjurig" -#, fuzzy msgid "Guilty" -msgstr "Stad" +msgstr "Skyldig" msgid "Happy" msgstr "Glad" msgid "Hopeful" -msgstr "" +msgstr "Hoppfull" msgid "Hot" msgstr "Het" @@ -4987,18 +4626,16 @@ msgid "Humiliated" msgstr "" msgid "Humiliated" -msgstr "" +msgstr "F?rnedrad" -#, fuzzy msgid "Hungry" -msgstr "Arg" +msgstr "Hungrig" -#, fuzzy msgid "Hurt" -msgstr "Humor" +msgstr "S?rad" msgid "Impressed" -msgstr "" +msgstr "Imponerad" #, fuzzy msgid "In awe" @@ -5011,13 +4648,11 @@ msgstr "Indonesiska" msgid "Indignant" msgstr "Indonesiska" -#, fuzzy msgid "Interested" -msgstr "Intressen" +msgstr "Intresserad" -#, fuzzy msgid "Intoxicated" -msgstr "Inbjuden" +msgstr "Full" msgid "Invincible" msgstr "Os?rbar" @@ -5025,82 +4660,69 @@ msgstr "Avundsjuk" msgid "Jealous" msgstr "Avundsjuk" -#, fuzzy msgid "Lonely" -msgstr "Apa" +msgstr "Ensam" -#, fuzzy msgid "Lost" -msgstr "H?gst" +msgstr "F?rlorad" msgid "Lucky" -msgstr "" +msgstr "Tursam" -#, fuzzy msgid "Mean" -msgstr "Tyska" +msgstr "Elak" #, fuzzy msgid "Moody" msgstr "Hum?r" msgid "Nervous" -msgstr "" +msgstr "Nev?s" -#, fuzzy msgid "Neutral" -msgstr "Detaljer" +msgstr "Neutral" -#, fuzzy msgid "Offended" -msgstr "Fr?nkopplad" +msgstr "St?tt" msgid "Outraged" msgstr "" -#, fuzzy msgid "Playful" -msgstr "Spela upp" +msgstr "Lekfull" -#, fuzzy msgid "Proud" -msgstr "H?gt" +msgstr "Stolt" -#, fuzzy msgid "Relaxed" -msgstr "Fullst?ndigt namn" +msgstr "Avslappnad" -#, fuzzy msgid "Relieved" -msgstr "Mottaget" +msgstr "L?ttad" -#, fuzzy msgid "Remorseful" -msgstr "Ta bort" +msgstr "?ngerfull" -#, fuzzy msgid "Restless" -msgstr "Registrera" +msgstr "Rastl?s" msgid "Sad" msgstr "Ledsen" msgid "Sarcastic" -msgstr "" +msgstr "Sarkastisk" msgid "Satisfied" -msgstr "" +msgstr "Tillfreds" -#, fuzzy msgid "Serious" -msgstr "Str?lande" +msgstr "Seri?s" -#, fuzzy msgid "Shocked" -msgstr "Blockerad" +msgstr "Shockad" msgid "Shy" -msgstr "" +msgstr "Blyg" msgid "Sick" msgstr "Sjuk" @@ -5110,40 +4732,34 @@ msgid "Spontaneous" msgstr "S?mnig" msgid "Spontaneous" -msgstr "" +msgstr "Spontan" -#, fuzzy msgid "Stressed" -msgstr "Hastighet:" +msgstr "Stressad" -#, fuzzy msgid "Strong" -msgstr "S?ng" +msgstr "Stark" msgid "Surprised" -msgstr "" +msgstr "?verraskad" msgid "Thankful" -msgstr "" +msgstr "Tacksam" msgid "Thirsty" -msgstr "" +msgstr "T?rstig" -#, fuzzy msgid "Tired" -msgstr "Fire" +msgstr "Tr?tt" -#, fuzzy msgid "Undefined" -msgstr "Understruken" +msgstr "Odefenierad" -#, fuzzy msgid "Weak" -msgstr "Banka p?" +msgstr "Svag" -#, fuzzy msgid "Worried" -msgstr "Uttr?kad" +msgstr "Oroad" msgid "Set User Nickname" msgstr "S?tt anv?ndarsmeknamn" @@ -5151,12 +4767,8 @@ msgstr "Ange det nya smeknamnet f?r dig msgid "Please specify a new nickname for you." msgstr "Ange det nya smeknamnet f?r dig." -msgid "" -"This information is visible to all contacts on your contact list, so choose " -"something appropriate." -msgstr "" -"Denna information ?r synbar f?r alla p? din kontaktlista, s? v?lj n?got " -"passande." +msgid "This information is visible to all contacts on your contact list, so choose something appropriate." +msgstr "Denna information ?r synbar f?r alla p? din kontaktlista, s? v?lj n?got passande." msgid "Set" msgstr "Ange" @@ -5188,20 +4800,12 @@ msgstr "Problem med synkroniseringen av msgstr "Problem med synkroniseringen av kompislistan i %s (%s)" #, c-format -msgid "" -"%s on the local list is inside the group \"%s\" but not on the server list. " -"Do you want this buddy to be added?" -msgstr "" -"%s p? den lokala listan finns i gruppen \"%s\" men inte p? serverns lista. " -"Ska kompisen l?ggas till?" +msgid "%s on the local list is inside the group \"%s\" but not on the server list. Do you want this buddy to be added?" +msgstr "%s p? den lokala listan finns i gruppen \"%s\" men inte p? serverns lista. Ska kompisen l?ggas till?" #, c-format -msgid "" -"%s is on the local list but not on the server list. Do you want this buddy " -"to be added?" -msgstr "" -"%s finns p? den lokala listan men inte p? serverns lista. Ska kompisen " -"l?ggas till?" +msgid "%s is on the local list but not on the server list. Do you want this buddy to be added?" +msgstr "%s finns p? den lokala listan men inte p? serverns lista. Ska kompisen l?ggas till?" msgid "Unable to parse message" msgstr "Kan inte avkoda meddelandet" @@ -5384,9 +4988,7 @@ msgid "%s sent a wink. Click here to play it" -msgstr "" -"%s skickade en vink. Klicka h?r f?r att spela upp " -"den" +msgstr "%s skickade en vink. Klicka h?r f?r att spela upp den" #, c-format msgid "%s sent a wink, but it could not be saved" @@ -5394,9 +4996,7 @@ msgid "%s sent a voice clip. Click here to play it" -msgstr "" -"%s skickade ett r?stmeddelande. Klicka h?r f?r att " -"spela upp det" +msgstr "%s skickade ett r?stmeddelande. Klicka h?r f?r att spela upp det" #, c-format msgid "%s sent a voice clip, but it could not be saved" @@ -5445,12 +5045,8 @@ msgstr "Till?t MSN-mobils?kning?" msgid "Allow MSN Mobile pages?" msgstr "Till?t MSN-mobils?kning?" -msgid "" -"Do you want to allow or disallow people on your buddy list to send you MSN " -"Mobile pages to your cell phone or other mobile device?" -msgstr "" -"Vill du till?ta kompisar i din kompislista att skicka MSN-mobils?kningar " -"till din mobiltelefon eller annan mobil enhet?" +msgid "Do you want to allow or disallow people on your buddy list to send you MSN Mobile pages to your cell phone or other mobile device?" +msgstr "Vill du till?ta kompisar i din kompislista att skicka MSN-mobils?kningar till din mobiltelefon eller annan mobil enhet?" msgid "Allow" msgstr "Till?t" @@ -5466,10 +5062,8 @@ msgstr "Ingen text ?r blockerad f?r de msgstr "Ingen text ?r blockerad f?r detta kontot." #, c-format -msgid "" -"MSN servers are currently blocking the following regular expressions:
%s" -msgstr "" -"MSN-servrarna blockerar f?r tillf?llet f?ljande regulj?ra uttryck:
%s" +msgid "MSN servers are currently blocking the following regular expressions:
%s" +msgstr "MSN-servrarna blockerar f?r tillf?llet f?ljande regulj?ra uttryck:
%s" msgid "This account does not have email enabled." msgstr "Detta kontot har inte mejl aktiverat." @@ -5544,16 +5138,11 @@ msgid "SSL support is needed for MSN. Pl msgstr "Skicka till mobil" msgid "SSL support is needed for MSN. Please install a supported SSL library." -msgstr "" -"SSL-st?d kr?vs f?r att anv?nda MSN. Installera ett SSL-bibliotek som st?ds." +msgstr "SSL-st?d kr?vs f?r att anv?nda MSN. Installera ett SSL-bibliotek som st?ds." #, c-format -msgid "" -"Unable to add the buddy %s because the username is invalid. Usernames must " -"be valid email addresses." -msgstr "" -"Kunde inte l?gga till kompisen %s eftersom anv?ndarnamnet ?r ogiltigt. " -"Anv?ndarnamnet m?ste vara en giltig epost-adress." +msgid "Unable to add the buddy %s because the username is invalid. Usernames must be valid email addresses." +msgstr "Kunde inte l?gga till kompisen %s eftersom anv?ndarnamnet ?r ogiltigt. Anv?ndarnamnet m?ste vara en giltig epost-adress." msgid "Unable to Add" msgstr "Kunde inte l?gga till" @@ -5707,20 +5296,11 @@ msgstr "Anv?ndaren har inte skapat en p msgid "The user has not created a public profile." msgstr "Anv?ndaren har inte skapat en publik profil." -msgid "" -"MSN reported not being able to find the user's profile. This either means " -"that the user does not exist, or that the user exists but has not created a " -"public profile." -msgstr "" -"MSN rapporterar att det inte kan hitta anv?ndarens profil. Detta inneb?r att " -"anv?ndaren inte finns eller att anv?ndaren inte skapat en publik profil." +msgid "MSN reported not being able to find the user's profile. This either means that the user does not exist, or that the user exists but has not created a public profile." +msgstr "MSN rapporterar att det inte kan hitta anv?ndarens profil. Detta inneb?r att anv?ndaren inte finns eller att anv?ndaren inte skapat en publik profil." -msgid "" -"Could not find any information in the user's profile. The user most likely " -"does not exist." -msgstr "" -"Kunde inte hitta n?gon information i anv?ndarens profil. Anv?ndaren " -"existerar troligen inte." +msgid "Could not find any information in the user's profile. The user most likely does not exist." +msgstr "Kunde inte hitta n?gon information i anv?ndarens profil. Anv?ndaren existerar troligen inte." msgid "View web profile" msgstr "Visa webbprofil" @@ -5746,9 +5326,8 @@ msgstr "Visa egna smileys" msgid "Show custom smileys" msgstr "Visa egna smileys" -#, fuzzy msgid "Allow direct connections" -msgstr "Kan inte skapa anslutning" +msgstr "Till?t direktanslutningar" msgid "nudge: nudge a user to get their attention" msgstr "nudge: Knuffa till en kontakt f?r att f? dennes uppm?rksamhet" @@ -5782,50 +5361,33 @@ msgid "" #, c-format msgid "" -"The MSN server will shut down for maintenance in %d minute. You will " -"automatically be signed out at that time. Please finish any conversations " -"in progress.\n" +"The MSN server will shut down for maintenance in %d minute. You will automatically be signed out at that time. Please finish any conversations in progress.\n" "\n" -"After the maintenance has been completed, you will be able to successfully " -"sign in." +"After the maintenance has been completed, you will be able to successfully sign in." msgid_plural "" -"The MSN server will shut down for maintenance in %d minutes. You will " -"automatically be signed out at that time. Please finish any conversations " -"in progress.\n" +"The MSN server will shut down for maintenance in %d minutes. You will automatically be signed out at that time. Please finish any conversations in progress.\n" "\n" -"After the maintenance has been completed, you will be able to successfully " -"sign in." +"After the maintenance has been completed, you will be able to successfully sign in." msgstr[0] "" -"MSN-servern kommer att st?ngas av f?r underh?ll om %d minut, d? kommer du " -"automatiskt att loggas ut. Passa p? att avsluta dina konversationer innan " -"tiden l?per ut.\n" +"MSN-servern kommer att st?ngas av f?r underh?ll om %d minut, d? kommer du automatiskt att loggas ut. Passa p? att avsluta dina konversationer innan tiden l?per ut.\n" "\n" "Efter underh?llet ?r slutf?rt kommer du kunna ansluta till MSN som vanligt." msgstr[1] "" -"MSN-servern kommer att st?ngas av f?r underh?ll om %d minuter, d? kommer du " -"automatiskt att loggas ut. Passa p? att avsluta dina konversationer innan " -"tiden l?per ut.\n" +"MSN-servern kommer att st?ngas av f?r underh?ll om %d minuter, d? kommer du automatiskt att loggas ut. Passa p? att avsluta dina konversationer innan tiden l?per ut.\n" "\n" "Efter underh?llet ?r slutf?rt kommer du kunna ansluta till MSN som vanligt." -msgid "" -"Message was not sent because the system is unavailable. This normally " -"happens when the user is blocked or does not exist." -msgstr "" -"Meddelandet skickades inte eftersom systemet ej var tillg?ngligt. Detta " -"h?nder normalt n?r en anv?ndare ?r blockerad eller inte existerar." +msgid "Message was not sent because the system is unavailable. This normally happens when the user is blocked or does not exist." +msgstr "Meddelandet skickades inte eftersom systemet ej var tillg?ngligt. Detta h?nder normalt n?r en anv?ndare ?r blockerad eller inte existerar." msgid "Message was not sent because messages are being sent too quickly." -msgstr "" -"Meddelandet kunde inte skickas eftersom meddelandena skickades f?r snabbt." +msgstr "Meddelandet kunde inte skickas eftersom meddelandena skickades f?r snabbt." msgid "Message was not sent because an unknown encoding error occurred." -msgstr "" -"Meddelandet skickades inte p? grund av att ett ok?nt kodningsfel uppstod." +msgstr "Meddelandet skickades inte p? grund av att ett ok?nt kodningsfel uppstod." msgid "Message was not sent because an unknown error occurred." -msgstr "" -"Meddelandet kunde kanske inte skickas p? grund av att ett ok?nt fel uppstod." +msgstr "Meddelandet kunde kanske inte skickas p? grund av att ett ok?nt fel uppstod." msgid "Writing error" msgstr "Skrivfel" @@ -5860,10 +5422,8 @@ msgstr "Kan inte autentisera: %s" msgid "Unable to authenticate: %s" msgstr "Kan inte autentisera: %s" -msgid "" -"Your MSN buddy list is temporarily unavailable. Please wait and try again." -msgstr "" -"Din MSN-kompislista ?r otillg?nglig tempor?rt. Var god f?rs?k igen senare." +msgid "Your MSN buddy list is temporarily unavailable. Please wait and try again." +msgstr "Din MSN-kompislista ?r otillg?nglig tempor?rt. Var god f?rs?k igen senare." msgid "Handshaking" msgstr "Handskakning" @@ -5885,15 +5445,11 @@ msgid "%s requests to view your webcam, #, c-format msgid "%s requests to view your webcam, but this request is not yet supported." -msgstr "" -"%s har fr?gar efter att f? se fin webbkamera, men denna f?rfr?gan st?ds inte " -"?n." +msgstr "%s har fr?gar efter att f? se fin webbkamera, men denna f?rfr?gan st?ds inte ?n." #, c-format msgid "%s invited you to view his/her webcam, but this is not yet supported." -msgstr "" -"%s har gett dig en inbjudan att se dennes webbkamera, men detta st?ds inte " -"?n." +msgstr "%s har gett dig en inbjudan att se dennes webbkamera, men detta st?ds inte ?n." msgid "Away From Computer" msgstr "Inte vid datorn" @@ -5919,21 +5475,14 @@ msgstr "Meddelandet kunde inte skickas e msgid "Message could not be sent because we are sending too quickly:" msgstr "Meddelandet kunde inte skickas eftersom skickade f?r snabbt:" -msgid "" -"Message could not be sent because we were unable to establish a session with " -"the server. This is likely a server problem, try again in a few minutes:" -msgstr "" -"Meddelandet kunde inte skickas eftersom vi inte kunda skapa en anslutning " -"till servern. Detta ?r troligen ett serverfel, f?rs?k igen om n?gra minuter:" +msgid "Message could not be sent because we were unable to establish a session with the server. This is likely a server problem, try again in a few minutes:" +msgstr "Meddelandet kunde inte skickas eftersom vi inte kunda skapa en anslutning till servern. Detta ?r troligen ett serverfel, f?rs?k igen om n?gra minuter:" -msgid "" -"Message could not be sent because an error with the switchboard occurred:" -msgstr "" -"Meddelandet kunde inte skickas eftersom ett fel med v?xlingsbordet uppstod:" +msgid "Message could not be sent because an error with the switchboard occurred:" +msgstr "Meddelandet kunde inte skickas eftersom ett fel med v?xlingsbordet uppstod:" msgid "Message may have not been sent because an unknown error occurred:" -msgstr "" -"Meddelandet kunde kanske inte skickas p? grund av att ett ok?nt fel uppstod:" +msgstr "Meddelandet kunde kanske inte skickas p? grund av att ett ok?nt fel uppstod:" msgid "Delete Buddy from Address Book?" msgstr "Ta bort kompisen fr?n adressboken?" @@ -5959,8 +5508,7 @@ msgstr "Namnet ?r ogiltigt." msgid "The name you entered is invalid." msgstr "Namnet ?r ogiltigt." -msgid "" -"The birthday you entered is invalid. The correct format is: 'YYYY-MM-DD'." +msgid "The birthday you entered is invalid. The correct format is: 'YYYY-MM-DD'." msgstr "Du angav en ogiltig f?delsedag. Korrekt format ?r: 'YY-MM-DD'." #. show error to user @@ -5976,7 +5524,7 @@ msgid "Your MXitId" msgstr "Din profilinformation har inte h?mtats ?n. Var god f?rs?k igen senare." msgid "Your MXitId" -msgstr "" +msgstr "Din MXitID" #. pin #. pin (required) @@ -6029,20 +5577,14 @@ msgstr "Filen du f?rs?ker skicka ?r f msgid "The file you are trying to send is too large!" msgstr "Filen du f?rs?ker skicka ?r f?r stor!" -msgid "" -"Unable to connect to the MXit HTTP server. Please check your server settings." -msgstr "" -"Kunde inte ansluta till MXit HTTP-servern. Var god unders?k dina " -"serverinst?llningar." +msgid "Unable to connect to the MXit HTTP server. Please check your server settings." +msgstr "Kunde inte ansluta till MXit HTTP-servern. Var god unders?k dina serverinst?llningar." msgid "Logging In..." msgstr "Loggar in..." -msgid "" -"Unable to connect to the MXit server. Please check your server settings." -msgstr "" -"Kunde inte ansluta till MXit-servern. Var god unders?k dina " -"serverinst?llningar." +msgid "Unable to connect to the MXit server. Please check your server settings." +msgstr "Kunde inte ansluta till MXit-servern. Var god unders?k dina serverinst?llningar." msgid "Connecting..." msgstr "Ansluter..." @@ -6074,10 +5616,8 @@ msgstr "Fel vid f?rs?k att n? MXit WA #. wapserver error #. server could not find the user -msgid "" -"MXit is currently unable to process the request. Please try again later." -msgstr "" -"MXit kan f?r n?rvarande inte hantera din f?rfr?gan. F?rs?k igen senare." +msgid "MXit is currently unable to process the request. Please try again later." +msgstr "MXit kan f?r n?rvarande inte hantera din f?rfr?gan. F?rs?k igen senare." msgid "Wrong security code entered. Please try again later." msgstr "Fel s?kerhetskod angiven. F?rs?k igen." @@ -6129,9 +5669,8 @@ msgstr "Statusmeddelande" msgid "Status Message" msgstr "Statusmeddelande" -#, fuzzy msgid "Rejection Message" -msgstr "Mottagna meddelande" +msgstr "Avslagsmeddelande" #. hidden number msgid "Hidden Number" @@ -6152,17 +5691,14 @@ msgstr "Till?t Splash-sk?rm popup" msgstr "Till?t Splash-sk?rm popup" #. you were kicked -#, fuzzy msgid "You have been kicked from this MultiMX." -msgstr "Du har sparkats ut: (%s)" +msgstr "Du har sparkats ut fr?n denna MultiMX." -#, fuzzy msgid "was kicked" -msgstr "Ogiltig biljett" +msgstr "kickades" -#, fuzzy msgid "_Room Name:" -msgstr "_Rum:" +msgstr "_Rumnamn:" #. we must have lost the connection, so terminate it so that we can reconnect msgid "We have lost the connection to MXit. Please reconnect." @@ -6182,18 +5718,14 @@ msgstr "Lyckades logga in..." msgstr "Lyckades logga in..." #, c-format -msgid "" -"%s sent you an encrypted message, but it is not supported on this client." -msgstr "" -"%s har skickat dig ett krypterat meddelande, vilket inte st?ds av denna " -"klienten." +msgid "%s sent you an encrypted message, but it is not supported on this client." +msgstr "%s har skickat dig ett krypterat meddelande, vilket inte st?ds av denna klienten." msgid "Message Error" msgstr "Felmeddelande" msgid "Cannot perform redirect using the specified protocol" -msgstr "" -"Kan inte anv?nda det specificerade protokollet f? en en vidarebefodran " +msgstr "Kan inte anv?nda det specificerade protokollet f? en en vidarebefodran " msgid "An internal MXit server error occurred." msgstr "Ett internt MXit-serverfel intr?ffade." @@ -6343,18 +5875,10 @@ msgstr "Snabbmeddelandev?nner" msgstr "Snabbmeddelandev?nner" #, c-format -msgid "" -"%d buddy was added or updated from the server (including buddies already on " -"the server-side list)" -msgid_plural "" -"%d buddies were added or updated from the server (including buddies already " -"on the server-side list)" -msgstr[0] "" -"%d v?n lades till eller uppdaterades av servern (inklusive v?nner som redan " -"fanns p? serverns lista)" -msgstr[1] "" -"%d v?nner lades till eller uppdaterades av servern (inklusive v?nner som " -"redan fanns p? serverns lista)" +msgid "%d buddy was added or updated from the server (including buddies already on the server-side list)" +msgid_plural "%d buddies were added or updated from the server (including buddies already on the server-side list)" +msgstr[0] "%d v?n lades till eller uppdaterades av servern (inklusive v?nner som redan fanns p? serverns lista)" +msgstr[1] "%d v?nner lades till eller uppdaterades av servern (inklusive v?nner som redan fanns p? serverns lista)" msgid "Add contacts from server" msgstr "L?gg till kontakter fr?n server" @@ -6364,15 +5888,8 @@ msgstr "Protokollfel, gav felkod %d: %s" msgstr "Protokollfel, gav felkod %d: %s" #, c-format -msgid "" -"%s Your password is %zu characters, which is longer than the maximum length " -"of %d. Please shorten your password at http://profileedit.myspace.com/index." -"cfm?fuseaction=accountSettings.changePassword and try again." -msgstr "" -"%s Ditt l?senord ?r %zu tecken vilket ?r l?ngre ?n den f?rv?ntade max-" -"gr?nsen p? %d. Var v?nlig f?rkorta ditt l?senord p? f?ljande adress http://" -"profileedit.myspace.com/index.cfm?fuseaction=accountSettings.changePassword " -"och f?rs?k sedan igen." +msgid "%s Your password is %zu characters, which is longer than the maximum length of %d. Please shorten your password at http://profileedit.myspace.com/index.cfm?fuseaction=accountSettings.changePassword and try again." +msgstr "%s Ditt l?senord ?r %zu tecken vilket ?r l?ngre ?n den f?rv?ntade max-gr?nsen p? %d. Var v?nlig f?rkorta ditt l?senord p? f?ljande adress http://profileedit.myspace.com/index.cfm?fuseaction=accountSettings.changePassword och f?rs?k sedan igen." msgid "Incorrect username or password" msgstr "Felaktigt anv?ndarnamn eller l?senord" @@ -6409,12 +5926,8 @@ msgstr "RC4-chiffret kan inte hittas" msgid "The RC4 cipher could not be found" msgstr "RC4-chiffret kan inte hittas" -msgid "" -"Upgrade to a libpurple with RC4 support (>= 2.0.1). MySpaceIM plugin will " -"not be loaded." -msgstr "" -"Uppgradera till en version av libpurble med RC4-st?d (>= 2.0.1). MySpaceIM-" -"insticksmodulen kommer inte l?sas in." +msgid "Upgrade to a libpurple with RC4 support (>= 2.0.1). MySpaceIM plugin will not be loaded." +msgstr "Uppgradera till en version av libpurble med RC4-st?d (>= 2.0.1). MySpaceIM-insticksmodulen kommer inte l?sas in." msgid "Add friends from MySpace.com" msgstr "L?gg till v?nner fr?n MySpace.com" @@ -6433,8 +5946,7 @@ msgid "No suitable MySpaceIM account cou msgstr "myim URL-hanterare" msgid "No suitable MySpaceIM account could be found to open this myim URL." -msgstr "" -"Inget passande MySpaceIM-konto kunde hittas f?r att ?ppna denna myim-URL." +msgstr "Inget passande MySpaceIM-konto kunde hittas f?r att ?ppna denna myim-URL." msgid "Enable the proper MySpaceIM account and try again." msgstr "Aktivera det riktiga MySpaceIM-kontot och f?rs?k igen." @@ -6470,14 +5982,8 @@ msgstr "Klientversion" msgid "Client Version" msgstr "Klientversion" -msgid "" -"An error occurred while trying to set the username. Please try again, or " -"visit http://editprofile.myspace.com/index.cfm?fuseaction=profile.username " -"to set your username." -msgstr "" -"Ett fel uppstod vid f?rs?k att ange ditt anv?ndarnamn. F?rs?k igen, eller g? " -"till http://editprofile.myspace.com/index.cfm?fuseaction=profile.username " -"f?r att ange ditt anv?ndarnamn." +msgid "An error occurred while trying to set the username. Please try again, or visit http://editprofile.myspace.com/index.cfm?fuseaction=profile.username to set your username." +msgstr "Ett fel uppstod vid f?rs?k att ange ditt anv?ndarnamn. F?rs?k igen, eller g? till http://editprofile.myspace.com/index.cfm?fuseaction=profile.username f?r att ange ditt anv?ndarnamn." msgid "MySpaceIM - Username Available" msgstr "MySpaceIM - Anv?ndarnamnet ?r tillg?nglig" @@ -6502,8 +6008,7 @@ msgid "Please enter a username to check msgstr "Inget anv?ndarnamn angett" msgid "Please enter a username to check its availability:" -msgstr "" -"Var v?nlig ange ett anv?ndarnamn f?r att unders?ka dess tillg?nglighet." +msgstr "Var v?nlig ange ett anv?ndarnamn f?r att unders?ka dess tillg?nglighet." #. TODO: icons for each zap #. Lots of comments for translators: @@ -6696,12 +6201,8 @@ msgstr "Kan inte k?nna igen v?rden f? msgid "Could not recognize the host of the username you entered" msgstr "Kan inte k?nna igen v?rden f?r anv?ndarnamnet du angav" -msgid "" -"Your account has been disabled because too many incorrect passwords were " -"entered" -msgstr "" -"Ditt konto har blivit avst?ngt eftersom l?senordet var felaktigt inskrivet " -"f?r m?nga g?nger" +msgid "Your account has been disabled because too many incorrect passwords were entered" +msgstr "Ditt konto har blivit avst?ngt eftersom l?senordet var felaktigt inskrivet f?r m?nga g?nger" msgid "You cannot add the same person twice to a conversation" msgstr "Du kan inte l?gga till samma person flera g?nger till en konversation" @@ -6721,12 +6222,8 @@ msgstr "Anv?ndaren har blockerat dig" msgid "The user has blocked you" msgstr "Anv?ndaren har blockerat dig" -msgid "" -"This evaluation version does not allow more than ten users to log in at one " -"time" -msgstr "" -"Denna utv?rderingsversion till?ter inte mer ?n tio anv?ndare att vara " -"inloggade samtidigt" +msgid "This evaluation version does not allow more than ten users to log in at one time" +msgstr "Denna utv?rderingsversion till?ter inte mer ?n tio anv?ndare att vara inloggade samtidigt" msgid "The user is either offline or you are blocked" msgstr "Anv?ndaren ?r antingen fr?nkopplad eller s? ?r du blockerad" @@ -6741,8 +6238,7 @@ msgid "Unable to send message. Could not #, c-format msgid "Unable to send message. Could not get details for user (%s)." -msgstr "" -"Kan inte skicka meddelandet. Kunde inte h?mta detaljer f?r anv?ndaren (%s)." +msgstr "Kan inte skicka meddelandet. Kunde inte h?mta detaljer f?r anv?ndaren (%s)." #, c-format msgid "Unable to add %s to your buddy list (%s)." @@ -6759,28 +6255,19 @@ msgid "Unable to send message to %s. Cou #, c-format msgid "Unable to send message to %s. Could not create the conference (%s)." -msgstr "" -"Kan inte skicka meddelandet till %s. Kunde inte skapa konferensen (%s)." +msgstr "Kan inte skicka meddelandet till %s. Kunde inte skapa konferensen (%s)." #, c-format msgid "Unable to send message. Could not create the conference (%s)." msgstr "Kan inte skicka meddelandet. Kunde inte skapa konferensen (%s)." #, c-format -msgid "" -"Unable to move user %s to folder %s in the server side list. Error while " -"creating folder (%s)." -msgstr "" -"Kunde inte flytta anv?ndare %s till mappen %s p? serverns lista. Fel uppstod " -"vid skapandet av mapp (%s)." +msgid "Unable to move user %s to folder %s in the server side list. Error while creating folder (%s)." +msgstr "Kunde inte flytta anv?ndare %s till mappen %s p? serverns lista. Fel uppstod vid skapandet av mapp (%s)." #, c-format -msgid "" -"Unable to add %s to your buddy list. Error creating folder in server side " -"list (%s)." -msgstr "" -"Kunde inte l?gga till %s till din kompislista. Fel vid skapandet av mapp p? " -"serverlistan (%s)." +msgid "Unable to add %s to your buddy list. Error creating folder in server side list (%s)." +msgstr "Kunde inte l?gga till %s till din kompislista. Fel vid skapandet av mapp p? serverlistan (%s)." #, c-format msgid "Could not get details for user %s (%s)." @@ -6865,16 +6352,11 @@ msgstr "Vill du g?r med i konversatione msgstr "Vill du g?r med i konversationen?" #, c-format -msgid "" -"%s appears to be offline and did not receive the message that you just sent." +msgid "%s appears to be offline and did not receive the message that you just sent." msgstr "%s verkar vara fr?nkopplad och fick inte meddelandet du just skickade." -msgid "" -"Unable to connect to server. Please enter the address of the server to which " -"you wish to connect." -msgstr "" -"Kunde inte ansluta till servern. Var god ange adressen till servern du vill " -"ansluta till." +msgid "Unable to connect to server. Please enter the address of the server to which you wish to connect." +msgstr "Kunde inte ansluta till servern. Var god ange adressen till servern du vill ansluta till." msgid "This conference has been closed. No more messages can be sent." msgstr "Denna konferens har st?ngts. Inga fler meddelande kan bli skickade." @@ -6898,20 +6380,16 @@ msgstr "Serverport" msgid "Server port" msgstr "Serverport" -#, fuzzy, c-format +#, c-format msgid "Received unexpected response from %s: %s" -msgstr "Mottog ov?ntat svar fr?n %s" +msgstr "Mottog ov?ntat svar fr?n %s; %s" #, c-format msgid "Received unexpected response from %s" msgstr "Mottog ov?ntat svar fr?n %s" -msgid "" -"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." -msgstr "" -"Du har anslutit och kopplat ifr?n f?r m?nga g?nger. V?nta tio minuter och " -"prova igen. Om du forts?tter att f?rs?ka kommer du att f? v?nta ?nnu l?ngre." +msgid "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." +msgstr "Du har anslutit och kopplat ifr?n f?r m?nga g?nger. V?nta tio minuter och prova igen. Om du forts?tter att f?rs?ka kommer du att f? v?nta ?nnu l?ngre." #. Note to translators: The first %s is a URL, the second is an #. error message. @@ -6919,17 +6397,15 @@ msgstr "Fel vid efterfr?gan av %s: %s" msgid "Error requesting %s: %s" msgstr "Fel vid efterfr?gan av %s: %s" -msgid "" -"Server requested that you fill out a CAPTCHA in order to sign in, but this " -"client does not currently support CAPTCHAs." -msgstr "" +msgid "Server requested that you fill out a CAPTCHA in order to sign in, but this client does not currently support CAPTCHAs." +msgstr "Servern kr?ver att du fyller i e CAPTCHA f?r att registrera dig, men denna klient st?djer inte CAPTCHAs." msgid "AOL does not allow your screen name to authenticate here" msgstr "AOL till?ter inte ditt sk?rmnamn att autentisera h?r" -#, fuzzy, c-format +#, c-format msgid "Error requesting %s" -msgstr "Fel vid efterfr?gan av %s: %s" +msgstr "Fel vid efterfr?gan av %s" msgid "Could not join chat room" msgstr "Kunde inte ansluta till chatrummet" @@ -6995,104 +6471,88 @@ msgid "Thinking" msgstr "Kan inte skicka meddelandet till %s: %s" msgid "Thinking" -msgstr "" +msgstr "T?nker" -#, fuzzy msgid "Shopping" -msgstr "Slutar skriva" +msgstr "Handlar" -#, fuzzy msgid "Questioning" -msgstr "F?rfr?gningsdialog" +msgstr "Ifr?gas?tter" -#, fuzzy msgid "Eating" -msgstr "S?kare" +msgstr "?ter" -#, fuzzy msgid "Watching a movie" -msgstr "Spelar ett spel" +msgstr "Tittar p? film" msgid "Typing" msgstr "Skriver" -#, fuzzy msgid "At the office" -msgstr "Inte p? kontoret" +msgstr "P? kontoret" msgid "Taking a bath" -msgstr "" +msgstr "Tar ett bad" msgid "Watching TV" -msgstr "" +msgstr "Tittar p? TV" -#, fuzzy msgid "Having fun" -msgstr "La p?" +msgstr "Har roligt" -#, fuzzy msgid "Sleeping" -msgstr "S?mnig" +msgstr "Sover" msgid "Using a PDA" -msgstr "" +msgstr "Anv?nder en PDA" -#, fuzzy msgid "Meeting friends" -msgstr "Snabbmeddelandev?nner" +msgstr "M?ter v?nner" -#, fuzzy msgid "On the phone" msgstr "Pratar i telefon" -#, fuzzy msgid "Surfing" -msgstr "?terkommande" +msgstr "Surfar" #. "I am mobile." / "John is mobile." msgid "Mobile" msgstr "Mobil" msgid "Searching the web" -msgstr "" +msgstr "S?ker p? webben" msgid "At a party" -msgstr "" +msgstr "P? fest" msgid "Having Coffee" -msgstr "" +msgstr "Dricker kaffe" #. Playing video games -#, fuzzy msgid "Gaming" -msgstr "Anv?ndarspelning" +msgstr "Spelar" msgid "Browsing the web" -msgstr "" +msgstr "Surfar p? webben" -#, fuzzy msgid "Smoking" -msgstr "S?ng" +msgstr "R?ker" -#, fuzzy msgid "Writing" -msgstr "Arbetar" +msgstr "Skriver" #. Drinking [Alcohol] -#, fuzzy msgid "Drinking" -msgstr "Arbetar" +msgstr "Dricker" msgid "Listening to music" msgstr "Lyssnar p? musik" -#, fuzzy msgid "Studying" -msgstr "Skickar" +msgstr "Studerar" -#, fuzzy msgid "In the restroom" -msgstr "Intressen" +msgstr "P? toa" msgid "Received invalid data on connection with server" msgstr "Tog emot felaktig data vid anslutning till server" @@ -7150,35 +6610,19 @@ msgstr "Direktmeddelande har etablerats" msgstr "Direktmeddelande har etablerats" #, c-format -msgid "" -"%s tried to send you a %s file, but we only allow files up to %s over Direct " -"IM. Try using file transfer instead.\n" -msgstr "" -"%s f?rs?ker s?nda dig en %s-fil, men vi till?ter bara filer upp till %s ?ver " -"Direktanslutning. F?rs?k som fil?verf?ring ist?llet.\n" +msgid "%s tried to send you a %s file, but we only allow files up to %s over Direct IM. Try using file transfer instead.\n" +msgstr "%s f?rs?ker s?nda dig en %s-fil, men vi till?ter bara filer upp till %s ?ver Direktanslutning. F?rs?k som fil?verf?ring ist?llet.\n" #, c-format msgid "File %s is %s, which is larger than the maximum size of %s." msgstr "Filen %s ?r %s vilket ?r st?rre ?n den maximala storleken p? %s." -msgid "" -"(There was an error receiving this message. The buddy you are speaking with " -"is probably using a different encoding than expected. If you know what " -"encoding he is using, you can specify it in the advanced account options for " -"your AIM/ICQ account.)" -msgstr "" -"(Det uppstod ett fel vid mottagandet av detta meddelandet. Kompisen du " -"pratar med anv?nder antagligen en annan teckenkod ?n den f?rv?ntade. Om du " -"vet vilken teckenkod han anv?nder kan du specificera den bland de avancerade " -"inst?llningarna f?r ditt AIM/ICQ-konto.)" +msgid "(There was an error receiving this message. The buddy you are speaking with is probably using a different encoding than expected. If you know what encoding he is using, you can specify it in the advanced account options for your AIM/ICQ account.)" +msgstr "(Det uppstod ett fel vid mottagandet av detta meddelandet. Kompisen du pratar med anv?nder antagligen en annan teckenkod ?n den f?rv?ntade. Om du vet vilken teckenkod han anv?nder kan du specificera den bland de avancerade inst?llningarna f?r ditt AIM/ICQ-konto.)" #, c-format -msgid "" -"(There was an error receiving this message. Either you and %s have " -"different encodings selected, or %s has a buggy client.)" -msgstr "" -"(Det uppstod ett fel vid mottagningen av detta meddelande. Antingen har du " -"och %s olika teckenkodningar valda eller s? har %s en buggig klient.)" +msgid "(There was an error receiving this message. Either you and %s have different encodings selected, or %s has a buggy client.)" +msgstr "(Det uppstod ett fel vid mottagningen av detta meddelande. Antingen har du och %s olika teckenkodningar valda eller s? har %s en buggig klient.)" #. Label msgid "Buddy Icon" @@ -7197,7 +6641,7 @@ msgid "ICQ Xtraz" msgstr "Spel" msgid "ICQ Xtraz" -msgstr "" +msgstr "ICQ Xtraz" msgid "Add-Ins" msgstr "L?gg till" @@ -7265,23 +6709,18 @@ msgstr "Osynlig" msgid "Invisible" msgstr "Osynlig" -#, fuzzy msgid "Evil" -msgstr "E-post" +msgstr "Ond" -#, fuzzy msgid "Depression" -msgstr "Yrke" +msgstr "Depression" -#, fuzzy msgid "At home" -msgstr "Om mig" +msgstr "Hemma" -#, fuzzy msgid "At work" -msgstr "N?tverk" +msgstr "P? jobbet" -#, fuzzy msgid "At lunch" msgstr "P? lunch" @@ -7314,21 +6753,12 @@ msgstr "Avsluta anslutning" msgstr "Avsluta anslutning" #, c-format -msgid "" -"Unable to sign on as %s because the username is invalid. Usernames must be " -"a valid email address, or start with a letter and contain only letters, " -"numbers and spaces, or contain only numbers." -msgstr "" -"Kan inte logga in som %s eftersom anv?ndarnamnet ?r ogiltigt. " -"Anv?ndarnamnet m?ste vara en giltig epost-adress eller starta med en bokstav " -"och f?r endast inneh?lla bokst?ver, nummer och mellanslag, eller enbart " -"inneh?lla nummer." +msgid "Unable to sign on as %s because the username is invalid. Usernames must be a valid email address, or start with a letter and contain only letters, numbers and spaces, or contain only numbers." +msgstr "Kan inte logga in som %s eftersom anv?ndarnamnet ?r ogiltigt. Anv?ndarnamnet m?ste vara en giltig epost-adress eller starta med en bokstav och f?r endast inneh?lla bokst?ver, nummer och mellanslag, eller enbart inneh?lla nummer." #, c-format msgid "You may be disconnected shortly. If so, check %s for updates." -msgstr "" -"Du kanske snart blir fr?nkopplad. I s? fall kan du kolla p? %s efter " -"uppdateringar." +msgstr "Du kanske snart blir fr?nkopplad. I s? fall kan du kolla p? %s efter uppdateringar." msgid "Unable to get a valid AIM login hash." msgstr "Kunde inte h?mta en giltig AIM-inloggnings-hash." @@ -7354,14 +6784,8 @@ msgstr "Tj?nsten ?r tillf?lligt on?b msgstr "Tj?nsten ?r tillf?lligt on?bar." #. username connecting too frequently -msgid "" -"Your username has been connecting and disconnecting too frequently. Wait ten " -"minutes and try again. If you continue to try, you will need to wait even " -"longer." -msgstr "" -"Ditt anv?ndarnamn har anslutit och kopplats ifr?n f?r ofta. V?nta tio " -"minuter och prova igen. Om du forts?tter att f?rs?ka kommer du att f? v?nta " -"?nnu l?ngre." +msgid "Your username has been connecting and disconnecting too frequently. Wait ten minutes and try again. If you continue to try, you will need to wait even longer." +msgstr "Ditt anv?ndarnamn har anslutit och kopplats ifr?n f?r ofta. V?nta tio minuter och prova igen. Om du forts?tter att f?rs?ka kommer du att f? v?nta ?nnu l?ngre." #. client too old #, c-format @@ -7369,14 +6793,8 @@ msgstr "Versionen av klienten du anv?nd msgstr "Versionen av klienten du anv?nder ?r f?r gammal. Uppgradera p? %s" #. IP address connecting too frequently -msgid "" -"Your IP address has been connecting and disconnecting too frequently. Wait a " -"minute and try again. If you continue to try, you will need to wait even " -"longer." -msgstr "" -"Din IP-adress har anslutit och kopplats ifr?n f?r ofta. V?nta tio minuter " -"och prova igen. Om du forts?tter att f?rs?ka kommer du att f? v?nta ?nnu " -"l?ngre." +msgid "Your IP address has been connecting and disconnecting too frequently. Wait a minute and try again. If you continue to try, you will need to wait even longer." +msgstr "Din IP-adress har anslutit och kopplats ifr?n f?r ofta. V?nta tio minuter och prova igen. Om du forts?tter att f?rs?ka kommer du att f? v?nta ?nnu l?ngre." msgid "The SecurID key entered is invalid" msgstr "SecurID-nyckeln som angavs ?r ogiltig" @@ -7404,12 +6822,10 @@ msgid "" #, c-format msgid "" -"The user %u has denied your request to add them to your buddy list for the " -"following reason:\n" +"The user %u has denied your request to add them to your buddy list for the following reason:\n" "%s" msgstr "" -"Anv?ndaren %u har nekat dig att l?gga till honom/henne i din kompislista av " -"f?ljande orsak:\n" +"Anv?ndaren %u har nekat dig att l?gga till honom/henne i din kompislista av f?ljande orsak:\n" "%s" msgid "ICQ authorization denied." @@ -7418,8 +6834,7 @@ msgid "The user %u has granted your requ #. Someone has granted you authorization #, c-format msgid "The user %u has granted your request to add them to your buddy list." -msgstr "" -"Anv?ndaren %u har till?tit dig att l?gga till honom/henne i din kompislista." +msgstr "Anv?ndaren %u har till?tit dig att l?gga till honom/henne i din kompislista." #, c-format msgid "" @@ -7483,35 +6898,22 @@ msgstr[1] "Du missade %hu meddelanden fr msgstr[1] "Du missade %hu meddelanden fr?n %s eftersom de var f?r stora." #, c-format -msgid "" -"You missed %hu message from %s because the rate limit has been exceeded." -msgid_plural "" -"You missed %hu messages from %s because the rate limit has been exceeded." -msgstr[0] "" -"Du missade %hu meddelande fr?n %s eftersom frekvensgr?nsen har ?verskridits." -msgstr[1] "" -"Du missade %hu meddelanden fr?n %s eftersom frekvensgr?nsen har ?verskridits." +msgid "You missed %hu message from %s because the rate limit has been exceeded." +msgid_plural "You missed %hu messages from %s because the rate limit has been exceeded." +msgstr[0] "Du missade %hu meddelande fr?n %s eftersom frekvensgr?nsen har ?verskridits." +msgstr[1] "Du missade %hu meddelanden fr?n %s eftersom frekvensgr?nsen har ?verskridits." #, c-format -msgid "" -"You missed %hu message from %s because his/her warning level is too high." -msgid_plural "" -"You missed %hu messages from %s because his/her warning level is too high." -msgstr[0] "" -"Du missade %hu meddelande fr?n %s eftersom hennes/hans varningsniv? ?r f?r " -"h?g." -msgstr[1] "" -"Du missade %hu meddelanden fr?n %s eftersom hennes/hans varningsniv? ?r f?r " -"h?g." +msgid "You missed %hu message from %s because his/her warning level is too high." +msgid_plural "You missed %hu messages from %s because his/her warning level is too high." +msgstr[0] "Du missade %hu meddelande fr?n %s eftersom hennes/hans varningsniv? ?r f?r h?g." +msgstr[1] "Du missade %hu meddelanden fr?n %s eftersom hennes/hans varningsniv? ?r f?r h?g." #, c-format msgid "You missed %hu message from %s because your warning level is too high." -msgid_plural "" -"You missed %hu messages from %s because your warning level is too high." -msgstr[0] "" -"Du missade %hu meddelande fr?n %s eftersom din varningsniv? ?r f?r h?g." -msgstr[1] "" -"Du missade %hu meddelanden fr?n %s eftersom din varningsniv? ?r f?r h?g." +msgid_plural "You missed %hu messages from %s because your warning level is too high." +msgstr[0] "Du missade %hu meddelande fr?n %s eftersom din varningsniv? ?r f?r h?g." +msgstr[1] "Du missade %hu meddelanden fr?n %s eftersom din varningsniv? ?r f?r h?g." #, c-format msgid "You missed %hu message from %s for an unknown reason." @@ -7536,12 +6938,8 @@ msgstr "Din anslutning kan vara borta." msgstr "Din anslutning kan vara borta." #. The conversion failed! -msgid "" -"[Unable to display a message from this user because it contained invalid " -"characters.]" -msgstr "" -"[Kan inte visa meddelande fr?n denna anv?ndare eftersom det inneh?ll " -"felaktiga tecken.]" +msgid "[Unable to display a message from this user because it contained invalid characters.]" +msgstr "[Kan inte visa meddelande fr?n denna anv?ndare eftersom det inneh?ll felaktiga tecken.]" #, c-format msgid "You have been disconnected from chat room %s." @@ -7594,49 +6992,28 @@ msgstr "Kontobekr?ftelsebeg?ran" msgstr "Kontobekr?ftelsebeg?ran" #, c-format -msgid "" -"Error 0x%04x: Unable to format username because the requested name differs " -"from the original." -msgstr "" -"Fel 0x%04x: Kan inte formatera anv?ndarnamnet eftersom det beg?rda namnet " -"skiljer sig fr?n originalet." +msgid "Error 0x%04x: Unable to format username because the requested name differs from the original." +msgstr "Fel 0x%04x: Kan inte formatera anv?ndarnamnet eftersom det beg?rda namnet skiljer sig fr?n originalet." #, c-format msgid "Error 0x%04x: Unable to format username because it is invalid." -msgstr "" -"Fel 0x%04x: Kan inte formatera anv?ndarnamnet eftersom det ?r ogiltigt." +msgstr "Fel 0x%04x: Kan inte formatera anv?ndarnamnet eftersom det ?r ogiltigt." #, c-format -msgid "" -"Error 0x%04x: Unable to format username because the requested name is too " -"long." -msgstr "" -"Fel 0x%04x: Kan inte formatera anv?ndarnamnet eftersom det beg?rda " -"anv?ndarnamnet ?r f?r l?ngt." +msgid "Error 0x%04x: Unable to format username because the requested name is too long." +msgstr "Fel 0x%04x: Kan inte formatera anv?ndarnamnet eftersom det beg?rda anv?ndarnamnet ?r f?r l?ngt." #, c-format -msgid "" -"Error 0x%04x: Unable to change email address because there is already a " -"request pending for this username." -msgstr "" -"Fel 0x%04x: Kan inte ?ndra e-postadressen eftersom det redan finns en " -"beg?ran om ?ndring som v?ntar f?r detta anv?ndarnamnet." +msgid "Error 0x%04x: Unable to change email address because there is already a request pending for this username." +msgstr "Fel 0x%04x: Kan inte ?ndra e-postadressen eftersom det redan finns en beg?ran om ?ndring som v?ntar f?r detta anv?ndarnamnet." #, c-format -msgid "" -"Error 0x%04x: Unable to change email address because the given address has " -"too many usernames associated with it." -msgstr "" -"Fel 0x%04x: Kan inte ?ndra e-postadress eftersom den angivna adressen har " -"f?r m?nga anv?ndarnamn associerade med sig." +msgid "Error 0x%04x: Unable to change email address because the given address has too many usernames associated with it." +msgstr "Fel 0x%04x: Kan inte ?ndra e-postadress eftersom den angivna adressen har f?r m?nga anv?ndarnamn associerade med sig." #, c-format -msgid "" -"Error 0x%04x: Unable to change email address because the given address is " -"invalid." -msgstr "" -"Fel 0x%04x: Kan inte ?ndra e-postadress eftersom den angivna adressen inte " -"?r giltig." +msgid "Error 0x%04x: Unable to change email address because the given address is invalid." +msgstr "Fel 0x%04x: Kan inte ?ndra e-postadress eftersom den angivna adressen inte ?r giltig." #, c-format msgid "Error 0x%04x: Unknown error." @@ -7652,90 +7029,49 @@ msgstr "Kontoinformation" msgid "Account Info" msgstr "Kontoinformation" -msgid "" -"Your IM Image was not sent. You must be Direct Connected to send IM Images." -msgstr "" -"Din IM-bild var inte skickad. Du m?ste vara direktansluten f?r att kunna " -"skicka IM-bilder." +msgid "Your IM Image was not sent. You must be Direct Connected to send IM Images." +msgstr "Din IM-bild var inte skickad. Du m?ste vara direktansluten f?r att kunna skicka IM-bilder." msgid "Unable to set AIM profile." msgstr "Kan inte ?ndra i AIM-profil." -msgid "" -"You have probably requested to set your profile before the login procedure " -"completed. Your profile remains unset; try setting it again when you are " -"fully connected." -msgstr "" -"Du har antagligen beg?rt att ?ndra i din profil innan inloggningsprocessen " -"slutf?rts. Din profil ?r of?r?ndrad, f?rs?k ?ndra den igen n?r du ?r helt " -"ansluten." +msgid "You have probably requested to set your profile before the login procedure completed. Your profile remains unset; try setting it again when you are fully connected." +msgstr "Du har antagligen beg?rt att ?ndra i din profil innan inloggningsprocessen slutf?rts. Din profil ?r of?r?ndrad, f?rs?k ?ndra den igen n?r du ?r helt ansluten." #, c-format -msgid "" -"The maximum profile length of %d byte has been exceeded. It has been " -"truncated for you." -msgid_plural "" -"The maximum profile length of %d bytes has been exceeded. It has been " -"truncated for you." -msgstr[0] "" -"Den maximala profill?ngden p? %d byte har ?verskridits. Den har blivit " -"trunkerad ?t dig." -msgstr[1] "" -"Den maximala profill?ngden p? %d byte har ?verskridits. Den har blivit " -"trunkerad ?t dig." +msgid "The maximum profile length of %d byte has been exceeded. It has been truncated for you." +msgid_plural "The maximum profile length of %d bytes has been exceeded. It has been truncated for you." +msgstr[0] "Den maximala profill?ngden p? %d byte har ?verskridits. Den har blivit trunkerad ?t dig." +msgstr[1] "Den maximala profill?ngden p? %d byte har ?verskridits. Den har blivit trunkerad ?t dig." msgid "Profile too long." msgstr "Profilen ?r f?r l?ng." #, c-format -msgid "" -"The maximum away message length of %d byte has been exceeded. It has been " -"truncated for you." -msgid_plural "" -"The maximum away message length of %d bytes has been exceeded. It has been " -"truncated for you." -msgstr[0] "" -"Den maximala l?ngden p? meddelande vid fr?nvaro som ?r %d byte har " -"?verskridits. Den har blivit trunkerad ?t dig." -msgstr[1] "" -"Den maximala l?ngden p? meddelande vid fr?nvaro som ?r %d byte har " -"?verskridits. Den har blivit trunkerad ?t dig." +msgid "The maximum away message length of %d byte has been exceeded. It has been truncated for you." +msgid_plural "The maximum away message length of %d bytes has been exceeded. It has been truncated for you." +msgstr[0] "Den maximala l?ngden p? meddelande vid fr?nvaro som ?r %d byte har ?verskridits. Den har blivit trunkerad ?t dig." +msgstr[1] "Den maximala l?ngden p? meddelande vid fr?nvaro som ?r %d byte har ?verskridits. Den har blivit trunkerad ?t dig." msgid "Away message too long." msgstr "Fr?nvaromeddelandet ?r f?r l?ngt." #, c-format -msgid "" -"Unable to add the buddy %s because the username is invalid. Usernames must " -"be a valid email address, or start with a letter and contain only letters, " -"numbers and spaces, or contain only numbers." -msgstr "" -"Kunde inte l?gga till kompisen %s eftersom anv?ndarnamnet ?r ogiltigt. " -"Anv?ndarnamnet m?ste antingen vara en giltig epost-adress, b?rja med en " -"bokstav och endast inneh?lla bokst?ver, siffror och mellanslag eller bara " -"inneh?lla siffror." +msgid "Unable to add the buddy %s because the username is invalid. Usernames must be a valid email address, or start with a letter and contain only letters, numbers and spaces, or contain only numbers." +msgstr "Kunde inte l?gga till kompisen %s eftersom anv?ndarnamnet ?r ogiltigt. Anv?ndarnamnet m?ste antingen vara en giltig epost-adress, b?rja med en bokstav och endast inneh?lla bokst?ver, siffror och mellanslag eller bara inneh?lla siffror." msgid "Unable to Retrieve Buddy List" msgstr "Kunde inte h?mta kompislista" -msgid "" -"The AIM servers were temporarily unable to send your buddy list. Your buddy " -"list is not lost, and will probably become available in a few minutes." -msgstr "" -"AIM-servrarna kunde f?r tillf?llet inte skicka din kompislista. Din " -"kompislista ?r inte f?rsvunnen utan kommer antagligen vara tillg?nglig om " -"n?gra timmar igen." +msgid "The AIM servers were temporarily unable to send your buddy list. Your buddy list is not lost, and will probably become available in a few minutes." +msgstr "AIM-servrarna kunde f?r tillf?llet inte skicka din kompislista. Din kompislista ?r inte f?rsvunnen utan kommer antagligen vara tillg?nglig om n?gra timmar igen." msgid "Orphans" msgstr "F?r?ldral?sa" #, c-format -msgid "" -"Unable to add the buddy %s because you have too many buddies in your buddy " -"list. Please remove one and try again." -msgstr "" -"Kunde inte l?gga till kompisen %s eftersom du har f?r m?nga kompisar i din " -"kompislista. Ta bort en och f?rs?k igen." +msgid "Unable to add the buddy %s because you have too many buddies in your buddy list. Please remove one and try again." +msgstr "Kunde inte l?gga till kompisen %s eftersom du har f?r m?nga kompisar i din kompislista. Ta bort en och f?rs?k igen." msgid "(no name)" msgstr "(inget namn)" @@ -7745,12 +7081,8 @@ msgstr "Kunde inte l?gga till kompisen msgstr "Kunde inte l?gga till kompisen %s av ok?nd anledning." #, c-format -msgid "" -"The user %s has given you permission to add him or her to your buddy list. " -"Do you want to add this user?" -msgstr "" -"Anv?ndaren %s har givit dig till?telse att l?gga till den till din " -"kompislista. Vill du g?ra det?" +msgid "The user %s has given you permission to add him or her to your buddy list. Do you want to add this user?" +msgstr "Anv?ndaren %s har givit dig till?telse att l?gga till den till din kompislista. Vill du g?ra det?" msgid "Authorization Given" msgstr "Auktorisering given" @@ -7758,9 +7090,7 @@ msgid "The user %s has granted your requ #. Granted #, c-format msgid "The user %s has granted your request to add them to your buddy list." -msgstr "" -"Anv?ndaren %s har till?tit dig att l?gga till henne/honom till din " -"kompislista." +msgstr "Anv?ndaren %s har till?tit dig att l?gga till henne/honom till din kompislista." msgid "Authorization Granted" msgstr "Auktorisering beviljades" @@ -7768,12 +7098,10 @@ msgid "" #. Denied #, c-format msgid "" -"The user %s has denied your request to add them to your buddy list for the " -"following reason:\n" +"The user %s has denied your request to add them to your buddy list for the following reason:\n" "%s" msgstr "" -"Anv?ndaren %s till?ter inte att du l?gga till henne/honom till din " -"kompislista av f?ljande orsak:\n" +"Anv?ndaren %s till?ter inte att du l?gga till henne/honom till din kompislista av f?ljande orsak:\n" "%s" msgid "Authorization Denied" @@ -7783,15 +7111,13 @@ msgid "Your IM Image was not sent. You c msgstr "_Utbyte:" msgid "Your IM Image was not sent. You cannot send IM Images in AIM chats." -msgstr "" -"Din IM-bild skickades inte. Du kan inte skicka IM-bilder via AIM-chattar." +msgstr "Din IM-bild skickades inte. Du kan inte skicka IM-bilder via AIM-chattar." msgid "iTunes Music Store Link" msgstr "L?nk till iTunes Musikaff?r" -#, fuzzy msgid "Lunch" -msgstr "Finch" +msgstr "Lunch" #, c-format msgid "Buddy Comment for %s" @@ -7802,15 +7128,10 @@ msgid "You have selected to open a Direc #, c-format msgid "You have selected to open a Direct IM connection with %s." -msgstr "" -"Du har valt att ?ppna en direktanslutning f?r snabbmeddelanden till %s." +msgstr "Du har valt att ?ppna en direktanslutning f?r snabbmeddelanden till %s." -msgid "" -"Because this reveals your IP address, it may be considered a security risk. " -"Do you wish to continue?" -msgstr "" -"Eftersom detta avsl?jar din IP-adress kan det ses som en s?kerhetsrisk. Vill " -"du forts?tta?" +msgid "Because this reveals your IP address, it may be considered a security risk. Do you wish to continue?" +msgstr "Eftersom detta avsl?jar din IP-adress kan det ses som en s?kerhetsrisk. Vill du forts?tta?" msgid "C_onnect" msgstr "_Anslut" @@ -7825,9 +7146,8 @@ msgstr "?ndra kompiskommentar" msgid "Edit Buddy Comment" msgstr "?ndra kompiskommentar" -#, fuzzy msgid "Get X-Status Msg" -msgstr "H?mta statusmeddelande" +msgstr "H?mta X-statusmeddelande" msgid "End Direct IM Session" msgstr "Avsluta direkt-IM session" @@ -7851,9 +7171,7 @@ msgid "Username formatting can change on msgstr "Den nya formateringen ?r ogiltig." msgid "Username formatting can change only capitalization and whitespace." -msgstr "" -"Anv?ndarnamnets formatering kan endast f?r?ndra stora-/sm?bokst?ver och " -"mellanslag." +msgstr "Anv?ndarnamnets formatering kan endast f?r?ndra stora-/sm?bokst?ver och mellanslag." msgid "Change Address To:" msgstr "?ndra adress till:" @@ -7864,12 +7182,8 @@ msgstr "Du v?ntar p? auktorisering fr? msgid "You are awaiting authorization from the following buddies" msgstr "Du v?ntar p? auktorisering fr?n f?ljande kompisar" -msgid "" -"You can re-request authorization from these buddies by right-clicking on " -"them and selecting \"Re-request Authorization.\"" -msgstr "" -"Du kan beg?ra auktorisering igen fr?n dessa kompisar genom att h?gerklicka " -"p? dem och v?lja \"Beg?r auktorisering igen.\"" +msgid "You can re-request authorization from these buddies by right-clicking on them and selecting \"Re-request Authorization.\"" +msgstr "Du kan beg?ra auktorisering igen fr?n dessa kompisar genom att h?gerklicka p? dem och v?lja \"Beg?r auktorisering igen.\"" msgid "Find Buddy by Email" msgstr "Hitta kompis p? e-postadress" @@ -7946,14 +7260,8 @@ msgstr "%s har just fr?gat om att koppl msgid "%s has just asked to directly connect to %s" msgstr "%s har just fr?gat om att koppla sig direkt till %s" -msgid "" -"This requires a direct connection between the two computers and is necessary " -"for IM Images. Because your IP address will be revealed, this may be " -"considered a privacy risk." -msgstr "" -"Detta kr?ver en direkt koppling mellan de tv? datorerna och beh?vs f?r att " -"IM-bilder ska fungera. Eftersom din IP-adress kommer att avsl?jas kan detta " -"betraktas som en s?kerhetsrisk." +msgid "This requires a direct connection between the two computers and is necessary for IM Images. Because your IP address will be revealed, this may be considered a privacy risk." +msgstr "Detta kr?ver en direkt koppling mellan de tv? datorerna och beh?vs f?r att IM-bilder ska fungera. Eftersom din IP-adress kommer att avsl?jas kan detta betraktas som en s?kerhetsrisk." msgid "Invalid SNAC" msgstr "Ogiltig SNAC" @@ -8307,9 +7615,8 @@ msgstr "Admin" msgstr "Admin" #. XXX: Should this be "Topic"? -#, fuzzy msgid "Room Title" -msgstr "Rumslista" +msgstr "Rumstitel" msgid "Notice" msgstr "Notering" @@ -8783,10 +8090,8 @@ msgstr "Startar tj?nster" msgstr "Startar tj?nster" #, c-format -msgid "" -"A Sametime administrator has issued the following announcement on server %s" -msgstr "" -"En Sametimeadministrat?r har placerat f?ljande meddelande p? servern %s" +msgid "A Sametime administrator has issued the following announcement on server %s" +msgstr "En Sametimeadministrat?r har placerat f?ljande meddelande p? servern %s" msgid "Sametime Administrator Announcement" msgstr "Sametimeadministrat?rannonsering" @@ -8830,12 +8135,8 @@ msgstr "Skapa konferens med anv?ndare" msgstr "Skapa konferens med anv?ndare" #, c-format -msgid "" -"Please enter a topic for the new conference, and an invitation message to be " -"sent to %s" -msgstr "" -"Var god ange ett nytt ?mne f?r den nya konferensen, och en inbjudan att " -"skicka till %s" +msgid "Please enter a topic for the new conference, and an invitation message to be sent to %s" +msgstr "Var god ange ett nytt ?mne f?r den nya konferensen, och en inbjudan att skicka till %s" msgid "New Conference" msgstr "Ny konferens" @@ -8853,14 +8154,8 @@ msgstr "Bjud in anv?ndaren till en konf msgstr "Bjud in anv?ndaren till en konferens" #, c-format -msgid "" -"Select a conference from the list below to send an invite to user %s. Select " -"\"Create New Conference\" if you'd like to create a new conference to invite " -"this user to." -msgstr "" -"V?lj en konferens fr?n listan h?r under f?r att skicka en inbjudan till " -"anv?ndaren %s. V?lj \"Skapa ny konferens\" om du vill skapa en ny konferens " -"att bjuda in anv?ndaren till." +msgid "Select a conference from the list below to send an invite to user %s. Select \"Create New Conference\" if you'd like to create a new conference to invite this user to." +msgstr "V?lj en konferens fr?n listan h?r under f?r att skicka en inbjudan till anv?ndaren %s. V?lj \"Skapa ny konferens\" om du vill skapa en ny konferens att bjuda in anv?ndaren till." msgid "Invite to Conference" msgstr "Bjud in till konferens" @@ -8878,12 +8173,8 @@ msgstr "Ingen Sametime communityserver s msgstr "Ingen Sametime communityserver specificerad" #, c-format -msgid "" -"No host or IP address has been configured for the Meanwhile account %s. " -"Please enter one below to continue logging in." -msgstr "" -"Ingen v?rd eller IP har konfigurerats f?r ditt Meanwhile-konto %s. Var god " -"ange en nedan f?r att forts?tta inloggningen." +msgid "No host or IP address has been configured for the Meanwhile account %s. Please enter one below to continue logging in." +msgstr "Ingen v?rd eller IP har konfigurerats f?r ditt Meanwhile-konto %s. Var god ange en nedan f?r att forts?tta inloggningen." msgid "Meanwhile Connection Setup" msgstr "Meanwhile anslutningsinst?llningar" @@ -8911,12 +8202,8 @@ msgstr "Ett sv?rf?rst?eligt anv?ndar msgstr "Ett sv?rf?rst?eligt anv?ndarid angavs" #, c-format -msgid "" -"The identifier '%s' may possibly refer to any of the following users. Please " -"select the correct user from the list below to add them to your buddy list." -msgstr "" -"Identifieraren '%s' kan referera till f?ljande anv?ndare. Var god v?lj r?tt " -"anv?ndare f?r att l?gga till dem p? din kompislista." +msgid "The identifier '%s' may possibly refer to any of the following users. Please select the correct user from the list below to add them to your buddy list." +msgstr "Identifieraren '%s' kan referera till f?ljande anv?ndare. Var god v?lj r?tt anv?ndare f?r att l?gga till dem p? din kompislista." msgid "Select User" msgstr "V?lj anv?ndare" @@ -8925,12 +8212,8 @@ msgstr "Kan inte l?gga till anv?ndaren msgstr "Kan inte l?gga till anv?ndaren: anv?ndaren ej funnen" #, c-format -msgid "" -"The identifier '%s' did not match any users in your Sametime community. This " -"entry has been removed from your buddy list." -msgstr "" -"Identifieraren '%s' matchar inte n?gon i din Sametime community. Denna post " -"har blivit borttagen fr?n din kompislista." +msgid "The identifier '%s' did not match any users in your Sametime community. This entry has been removed from your buddy list." +msgstr "Identifieraren '%s' matchar inte n?gon i din Sametime community. Denna post har blivit borttagen fr?n din kompislista." #, c-format msgid "" @@ -8983,14 +8266,8 @@ msgstr "Notes adressboksgruppresultat" msgstr "Notes adressboksgruppresultat" #, c-format -msgid "" -"The identifier '%s' may possibly refer to any of the following Notes Address " -"Book groups. Please select the correct group from the list below to add it " -"to your buddy list." -msgstr "" -"Identifieraren '%s' kan m?jligen referera till n?gon av f?ljande Notes " -"adressboksgrupper. Var god v?lj den korrekta gruppen fr?n listan h?r nedan " -"f?r att l?gga till den till din kompislista." +msgid "The identifier '%s' may possibly refer to any of the following Notes Address Book groups. Please select the correct group from the list below to add it to your buddy list." +msgstr "Identifieraren '%s' kan m?jligen referera till n?gon av f?ljande Notes adressboksgrupper. Var god v?lj den korrekta gruppen fr?n listan h?r nedan f?r att l?gga till den till din kompislista." msgid "Select Notes Address Book" msgstr "V?lj Notes adressbok" @@ -8999,36 +8276,22 @@ msgstr "Kunde inte l?gga till grupp: gr msgstr "Kunde inte l?gga till grupp: gruppen ej funnen" #, c-format -msgid "" -"The identifier '%s' did not match any Notes Address Book groups in your " -"Sametime community." -msgstr "" -"Identidieraren '%s' matchade inte n?gon Notes adressboksgrupper i din " -"Sametime-community." +msgid "The identifier '%s' did not match any Notes Address Book groups in your Sametime community." +msgstr "Identidieraren '%s' matchade inte n?gon Notes adressboksgrupper i din Sametime-community." msgid "Notes Address Book Group" msgstr "Notes adressboksgrupp" -msgid "" -"Enter the name of a Notes Address Book group in the field below to add the " -"group and its members to your buddy list." -msgstr "" -"Ange namnet p? en Notes adressboksgrupp i f?ltet nedan f?r att l?gga till " -"gruppen och dess medlemmar till din kompislista." +msgid "Enter the name of a Notes Address Book group in the field below to add the group and its members to your buddy list." +msgstr "Ange namnet p? en Notes adressboksgrupp i f?ltet nedan f?r att l?gga till gruppen och dess medlemmar till din kompislista." #, c-format msgid "Search results for '%s'" msgstr "S?kresultat f?r '%s'" #, c-format -msgid "" -"The identifier '%s' may possibly refer to any of the following users. You " -"may add these users to your buddy list or send them messages with the action " -"buttons below." -msgstr "" -"Identifieraren '%s' kan referera till f?ljande anv?ndare. Du kan l?gga till " -"dessa anv?ndare till din kompislista eller skicka meddelande till dem med " -"hj?lp av knapparna h?r nedanf?r." +msgid "The identifier '%s' may possibly refer to any of the following users. You may add these users to your buddy list or send them messages with the action buttons below." +msgstr "Identifieraren '%s' kan referera till f?ljande anv?ndare. Du kan l?gga till dessa anv?ndare till din kompislista eller skicka meddelande till dem med hj?lp av knapparna h?r nedanf?r." msgid "Search Results" msgstr "S?kresultat" @@ -9046,12 +8309,8 @@ msgstr "S?k efter en anv?ndare" msgid "Search for a user" msgstr "S?k efter en anv?ndare" -msgid "" -"Enter a name or partial ID in the field below to search for matching users " -"in your Sametime community." -msgstr "" -"Ange ett namn eller del av ID i f?ltet nedan f?r att s?ka efter matchande " -"anv?ndare i sin Sametime-community." +msgid "Enter a name or partial ID in the field below to search for matching users in your Sametime community." +msgstr "Ange ett namn eller del av ID i f?ltet nedan f?r att s?ka efter matchande anv?ndare i sin Sametime-community." msgid "User Search" msgstr "Anv?ndars?kning" @@ -9107,12 +8366,8 @@ msgstr "Fj?rranv?ndaren ?r inte tillg msgstr "Fj?rranv?ndaren ?r inte tillg?nglig p? n?tverket l?ngre" #, c-format -msgid "" -"Key agreement request received from %s. Would you like to perform the key " -"agreement?" -msgstr "" -"Nyckel?verenskommelse mottagen fr?n %s. Vill du utf?ra en " -"nyckel?verenskommelse?" +msgid "Key agreement request received from %s. Would you like to perform the key agreement?" +msgstr "Nyckel?verenskommelse mottagen fr?n %s. Vill du utf?ra en nyckel?verenskommelse?" #, c-format msgid "" @@ -9158,13 +8413,8 @@ msgstr "Kompisen %s ?r inte tillitsfull msgid "The %s buddy is not trusted" msgstr "Kompisen %s ?r inte tillitsfull" -msgid "" -"You cannot receive buddy notifications until you import his/her public key. " -"You can use the Get Public Key command to get the public key." -msgstr "" -"Du kan inte ta emot kompisnotifiering f?rr?n du har importerat dennes " -"publika nyckel. Du kan anv?nda \"H?mta publik nyckel\"-kommandot f?r att f? " -"den." +msgid "You cannot receive buddy notifications until you import his/her public key. You can use the Get Public Key command to get the public key." +msgstr "Du kan inte ta emot kompisnotifiering f?rr?n du har importerat dennes publika nyckel. Du kan anv?nda \"H?mta publik nyckel\"-kommandot f?r att f? den." #. Open file selector to select the public key. msgid "Open..." @@ -9174,12 +8424,8 @@ msgstr "%s kompisen ?r inte tillg?ngli msgid "The %s buddy is not present in the network" msgstr "%s kompisen ?r inte tillg?nglig p? n?tverket" -msgid "" -"To add the buddy you must import his/her public key. Press Import to import " -"a public key." -msgstr "" -"F?r att l?gga till kompisen m?ste du importera dennes publika nyckel. Tryck " -"p? \"importera\" f?r att importera publik nyckel." +msgid "To add the buddy you must import his/her public key. Press Import to import a public key." +msgstr "F?r att l?gga till kompisen m?ste du importera dennes publika nyckel. Tryck p? \"importera\" f?r att importera publik nyckel." msgid "_Import..." msgstr "_Importera..." @@ -9187,19 +8433,11 @@ msgstr "V?lj r?tt anv?ndare" msgid "Select correct user" msgstr "V?lj r?tt anv?ndare" -msgid "" -"More than one user was found with the same public key. Select the correct " -"user from the list to add to the buddy list." -msgstr "" -"Mer ?n en anv?ndare hittades med samma publika nyckel. V?lj r?tt anv?ndare " -"fr?n listan f?r att l?gga till denne till kompislistan." +msgid "More than one user was found with the same public key. Select the correct user from the list to add to the buddy list." +msgstr "Mer ?n en anv?ndare hittades med samma publika nyckel. V?lj r?tt anv?ndare fr?n listan f?r att l?gga till denne till kompislistan." -msgid "" -"More than one user was found with the same name. Select the correct user " -"from the list to add to the buddy list." -msgstr "" -"Mer ?n en anv?ndare hittades med samma namn. V?lj r?tt anv?ndare fr?n listan " -"f?r att l?gga till denne till kompislistan." +msgid "More than one user was found with the same name. Select the correct user from the list to add to the buddy list." +msgstr "Mer ?n en anv?ndare hittades med samma namn. V?lj r?tt anv?ndare fr?n listan f?r att l?gga till denne till kompislistan." msgid "Detached" msgstr "Fr?nskild" @@ -9316,18 +8554,8 @@ msgstr "Kanalpublik nyckellista" msgstr "Kanalpublik nyckellista" #, c-format -msgid "" -"Channel authentication is used to secure the channel from unauthorized " -"access. The authentication may be based on passphrase and digital " -"signatures. If passphrase is set, it is required to be able to join. If " -"channel public keys are set then only users whose public keys are listed are " -"able to join." -msgstr "" -"Kanal-autentisering anv?nds f?r att s?kra kanalen fr?n obeh?rigt tilltr?de. " -"Autentiseringen kan vara baserad p? ett l?senord eller en digital signatur. " -"Om ett l?senord ?r valt, d? ?r det n?dv?ndigt f?r att kunna ansluta. Om " -"kanalpublika nycklar ?r valt kan enbart anv?ndare vars publika nycklar ?r " -"listade ansluta." +msgid "Channel authentication is used to secure the channel from unauthorized access. The authentication may be based on passphrase and digital signatures. If passphrase is set, it is required to be able to join. If channel public keys are set then only users whose public keys are listed are able to join." +msgstr "Kanal-autentisering anv?nds f?r att s?kra kanalen fr?n obeh?rigt tilltr?de. Autentiseringen kan vara baserad p? ett l?senord eller en digital signatur. Om ett l?senord ?r valt, d? ?r det n?dv?ndigt f?r att kunna ansluta. Om kanalpublika nycklar ?r valt kan enbart anv?ndare vars publika nycklar ?r listade ansluta." msgid "Channel Authentication" msgstr "Kanalautentisering" @@ -9352,9 +8580,7 @@ msgid "Set user limit on channel. Set to msgstr "Anv?ndargr?ns" msgid "Set user limit on channel. Set to zero to reset user limit." -msgstr "" -"Antalet anv?ndare begr?nsat p? kanal. S?tt till noll f?r att nollst?lla " -"anv?ndargr?ns." +msgstr "Antalet anv?ndare begr?nsat p? kanal. S?tt till noll f?r att nollst?lla anv?ndargr?ns." msgid "Invite List" msgstr "G?stlista" @@ -9393,10 +8619,8 @@ msgstr "S?tt Hemlig Kanal" msgstr "S?tt Hemlig Kanal" #, c-format -msgid "" -"You have to join the %s channel before you are able to join the private group" -msgstr "" -"Du m?ste ansluta till kanalen %s f?re du kan ansluta till den privata gruppen" +msgid "You have to join the %s channel before you are able to join the private group" +msgstr "Du m?ste ansluta till kanalen %s f?re du kan ansluta till den privata gruppen" msgid "Join Private Group" msgstr "Anslut till privat grupp" @@ -9635,12 +8859,8 @@ msgstr "L?senord kr?vs" msgstr "L?senord kr?vs" #, c-format -msgid "" -"Received %s's public key. Your local copy does not match this key. Would you " -"still like to accept this public key?" -msgstr "" -"Mottog %ss publika nyckel. Din lokala kopia st?mmer inte ?verens med denna. " -"Vill du fortfarande acceptera denna publika nyckel?" +msgid "Received %s's public key. Your local copy does not match this key. Would you still like to accept this public key?" +msgstr "Mottog %ss publika nyckel. Din lokala kopia st?mmer inte ?verens med denna. Vill du fortfarande acceptera denna publika nyckel?" #, c-format msgid "Received %s's public key. Would you like to accept this public key?" @@ -9676,11 +8896,8 @@ msgstr "Nyckelutbytet misslyckades" msgid "Key Exchange failed" msgstr "Nyckelutbytet misslyckades" -msgid "" -"Resuming detached session failed. Press Reconnect to create new connection." -msgstr "" -"Misslyckades med att ?teruppta fr?nskild session. Tryck \"?teranslut\" f?r " -"att skapa en ny uppkoppling." +msgid "Resuming detached session failed. Press Reconnect to create new connection." +msgstr "Misslyckades med att ?teruppta fr?nskild session. Tryck \"?teranslut\" f?r att skapa en ny uppkoppling." msgid "Performing key exchange" msgstr "Utf?r nyckelutbyte" @@ -9749,14 +8966,8 @@ msgstr "Anv?ndarens anslutningsstatusat msgid "User Online Status Attributes" msgstr "Anv?ndarens anslutningsstatusattribut" -msgid "" -"You can let other users see your online status information and your personal " -"information. Please fill the information you would like other users to see " -"about yourself." -msgstr "" -"Du kan l?ta andra anv?ndare se din anslutningsstatusinformation och din " -"personliga information. Var god fyll i informationen du vill att andra ska " -"kunna se om dig." +msgid "You can let other users see your online status information and your personal information. Please fill the information you would like other users to see about yourself." +msgstr "Du kan l?ta andra anv?ndare se din anslutningsstatusinformation och din personliga information. Var god fyll i informationen du vill att andra ska kunna se om dig." msgid "Message of the Day" msgstr "Meddelande f?r dagen" @@ -9840,9 +9051,7 @@ msgid "join <channel> [<passwor msgstr "topic [<nytt ?mne>]: Visa eller ?ndra ?mnet" msgid "join <channel> [<password>]: Join a chat on this network" -msgstr "" -"join <kanal> [<l?senord>]: Anslut till enn chatt p? detta " -"n?tverk" +msgstr "join <kanal> [<l?senord>]: Anslut till enn chatt p? detta n?tverk" msgid "list: List channels on this network" msgstr "list: Listar kanalerna p? detta n?tverk" @@ -9851,14 +9060,10 @@ msgid "msg <nick> <message>: msgstr "whois <nick>: Visar information f?r nick" msgid "msg <nick> <message>: Send a private message to a user" -msgstr "" -"msg <nick> <meddelande>: Skicka ett privat meddelande till en " -"anv?ndare" +msgstr "msg <nick> <meddelande>: Skicka ett privat meddelande till en anv?ndare" msgid "query <nick> [<message>]: Send a private message to a user" -msgstr "" -"query <nick> [<meddelande>]: Skicka ett privat meddelande till " -"en anv?ndare" +msgstr "query <nick> [<meddelande>]: Skicka ett privat meddelande till en anv?ndare" msgid "motd: View the server's Message Of The Day" msgstr "motd: Visar serverns Dagliga meddelande (MOTD)" @@ -9881,19 +9086,11 @@ msgstr "whowas <nick>: Visa infor msgid "whowas <nick>: View nick's information" msgstr "whowas <nick>: Visa information om nick" -msgid "" -"cmode <channel> [+|-<modes>] [arguments]: Change or display " -"channel modes" -msgstr "" -"cmode <kanal> [+|-<l?gen>] [argument]: ?ndra eller visa " -"kanall?gen" +msgid "cmode <channel> [+|-<modes>] [arguments]: Change or display channel modes" +msgstr "cmode <kanal> [+|-<l?gen>] [argument]: ?ndra eller visa kanall?gen" -msgid "" -"cumode <channel> +|-<modes> <nick>: Change nick's modes " -"on channel" -msgstr "" -"cumode <kanal> +|-<l?gen> <nick>: ?ndra l?gen f?r nick p? " -"kanal" +msgid "cumode <channel> +|-<modes> <nick>: Change nick's modes on channel" +msgstr "cumode <kanal> +|-<l?gen> <nick>: ?ndra l?gen f?r nick p? kanal" msgid "umode <usermodes>: Set your modes in the network" msgstr "umode <anv?ndarl?gen>: Anger dina l?gen p? n?tverket" @@ -9901,12 +9098,8 @@ msgstr "oper <nick> [-pubkey]: H? msgid "oper <nick> [-pubkey]: Get server operator privileges" msgstr "oper <nick> [-pubkey]: H?mta serveroperat?rprivilegier" -msgid "" -"invite <channel> [-|+]<nick>: invite nick or add/remove from " -"channel invite list" -msgstr "" -"invite <kanal> [-|+]<nick>: bjud in nick eller l?gg till/ta " -"bort fr?n kanalens inbjudningslista" +msgid "invite <channel> [-|+]<nick>: invite nick or add/remove from channel invite list" +msgstr "invite <kanal> [-|+]<nick>: bjud in nick eller l?gg till/ta bort fr?n kanalens inbjudningslista" msgid "kick <channel> <nick> [comment]: Kick client from channel" msgstr "kick <kanal> <nick> [kommentar]: Sparka klient fr?n kanal" @@ -9918,8 +9111,7 @@ msgid "getkey <nick|server>: Retr msgstr "ban [<kanal> +|-<nick>]: Banna klient fr?n kanal" msgid "getkey <nick|server>: Retrieve client's or server's public key" -msgstr "" -"getkey <nick|server>: H?mta serverns eller klientens publika nyckel" +msgstr "getkey <nick|server>: H?mta serverns eller klientens publika nyckel" msgid "stats: View server and network statistics" msgstr "stats: Visa server och n?tverksstatistik" @@ -9930,12 +9122,8 @@ msgstr "users <kanal>: Lista anv? msgid "users <channel>: List users in channel" msgstr "users <kanal>: Lista anv?ndare i kanal" -msgid "" -"names [-count|-ops|-halfops|-voices|-normal] <channel(s)>: List " -"specific users in channel(s)" -msgstr "" -"names [-count|-ops|-halfops|-voices|-normal] <kanal(er)>: Lista " -"specifika anv?ndare i kanal(er)" +msgid "names [-count|-ops|-halfops|-voices|-normal] <channel(s)>: List specific users in channel(s)" +msgstr "names [-count|-ops|-halfops|-voices|-normal] <kanal(er)>: Lista specifika anv?ndare i kanal(er)" #. *< type #. *< ui_requirement @@ -10072,12 +9260,8 @@ msgstr "%s s?nde meddelanden till white msgstr "%s s?nde meddelanden till whiteboard. Vill du ?ppna whiteboarden?" #, c-format -msgid "" -"%s sent message to whiteboard on %s channel. Would you like to open the " -"whiteboard?" -msgstr "" -"%s s?nde ett meddelande till vita tavlan i kanal %s. Vill du ?ppna den vita " -"tavlan?" +msgid "%s sent message to whiteboard on %s channel. Would you like to open the whiteboard?" +msgstr "%s s?nde ett meddelande till vita tavlan i kanal %s. Vill du ?ppna den vita tavlan?" msgid "Whiteboard" msgstr "Whiteboard" @@ -10094,8 +9278,7 @@ msgid "Failure: Remote does not trust/su #, c-format msgid "Failure: Remote does not trust/support your public key" -msgstr "" -"Misslyckande: Fj?rrdatorn litar inte p?/st?djer inte din publika nyckel" +msgstr "Misslyckande: Fj?rrdatorn litar inte p?/st?djer inte din publika nyckel" #, c-format msgid "Failure: Remote does not support proposed KE group" @@ -10227,8 +9410,8 @@ msgstr "Ignorera inbjudningar till konfe msgid "Ignore conference and chatroom invitations" msgstr "Ignorera inbjudningar till konferenser och chatrum" -msgid "Use account proxy for SSL connections" -msgstr "Anv?nd kontoproxy f?r SSL-anslutningar" +msgid "Use account proxy for HTTP and HTTPS connections" +msgstr "Anv?nd kontoproxy f?r HTTP och HTTPS-anslutningar" msgid "Chat room list URL" msgstr "URL f?r chattrumlista" @@ -10264,18 +9447,12 @@ msgstr "Yahoo!-systemmeddelande till %s: msgstr "Yahoo!-systemmeddelande till %s:" #, c-format -msgid "" -"%s has (retroactively) denied your request to add them to your list for the " -"following reason: %s." -msgstr "" -"%s har (retroaktivt) nekat din f?rfr?gan att l?gga till henne/honom till din " -"kontaktlista med f?ljande motivering: %s." +msgid "%s has (retroactively) denied your request to add them to your list for the following reason: %s." +msgstr "%s har (retroaktivt) nekat din f?rfr?gan att l?gga till henne/honom till din kontaktlista med f?ljande motivering: %s." #, c-format msgid "%s has (retroactively) denied your request to add them to your list." -msgstr "" -"%s har (retroaktivt) nekat din att l?gga till henne/honom till din " -"kontaktlista." +msgstr "%s har (retroaktivt) nekat din att l?gga till henne/honom till din kontaktlista." msgid "Add buddy rejected" msgstr "L?gg till kompisavvisning" @@ -10285,53 +9462,31 @@ msgstr "Tog emot felaktig data" msgstr "Tog emot felaktig data" #. security lock from too many failed login attempts -msgid "" -"Account locked: Too many failed login attempts. Logging into the Yahoo! " -"website may fix this." -msgstr "" -"Kontot l?st: F?r m?nga inloggningsf?rs?k. Logga in p? Yahoo!s hemsida kan " -"fixa detta." +msgid "Account locked: Too many failed login attempts. Logging into the Yahoo! website may fix this." +msgstr "Kontot l?st: F?r m?nga inloggningsf?rs?k. Logga in p? Yahoo!s hemsida kan fixa detta." #. indicates a lock of some description -msgid "" -"Account locked: Unknown reason. Logging into the Yahoo! website may fix " -"this." -msgstr "" -"Kontot l?st: Ok?nd anledning. Logga in p? Yahoo!s hemsida kan fixa detta." +msgid "Account locked: Unknown reason. Logging into the Yahoo! website may fix this." +msgstr "Kontot l?st: Ok?nd anledning. Logga in p? Yahoo!s hemsida kan fixa detta." #. indicates a lock due to logging in too frequently -#, fuzzy -msgid "" -"Account locked: You have been logging in too frequently. Wait a few minutes " -"before trying to connect again. Logging into the Yahoo! website may help." -msgstr "" -"Kontot l?st: F?r m?nga inloggningsf?rs?k. Logga in p? Yahoo!s hemsida kan " -"fixa detta." +msgid "Account locked: You have been logging in too frequently. Wait a few minutes before trying to connect again. Logging into the Yahoo! website may help." +msgstr "Kontot l?st: F?r m?nga inloggningsf?rs?k p? f?r kort tid. V?nta n?gra minuter innan du f?rs?ker igen. Logga in p? Yahoo!s hemsida kan fixa detta." #. username or password missing msgid "Username or password missing" msgstr "Anv?ndarnamn eller l?senord saknas" #, c-format -msgid "" -"The Yahoo server has requested the use of an unrecognized authentication " -"method. You will probably not be able to successfully sign on to Yahoo. " -"Check %s for updates." -msgstr "" -"Yahoo-servern har beg?rt att en ok?nd autentisering ska anv?ndas. Du kommer " -"antagligen inte lyckas med att ansluta till Yahoo. Kontrollera om det finns " -"uppdateringar p? %s." +msgid "The Yahoo server has requested the use of an unrecognized authentication method. You will probably not be able to successfully sign on to Yahoo. Check %s for updates." +msgstr "Yahoo-servern har beg?rt att en ok?nd autentisering ska anv?ndas. Du kommer antagligen inte lyckas med att ansluta till Yahoo. Kontrollera om det finns uppdateringar p? %s." msgid "Failed Yahoo! Authentication" msgstr "Misslyckad Yahoo!-autentisering" #, c-format -msgid "" -"You have tried to ignore %s, but the user is on your buddy list. Clicking " -"\"Yes\" will remove and ignore the buddy." -msgstr "" -"Du har f?rs?kt ignorera %s men hon/han finns i din kompislista. Genom att " -"klicka \"Ja\" tar du bort och blockerar kompisen." +msgid "You have tried to ignore %s, but the user is on your buddy list. Clicking \"Yes\" will remove and ignore the buddy." +msgstr "Du har f?rs?kt ignorera %s men hon/han finns i din kompislista. Genom att klicka \"Ja\" tar du bort och blockerar kompisen." msgid "Ignore buddy?" msgstr "Ignorera kompis?" @@ -10339,24 +9494,15 @@ msgstr "Felaktigt anv?ndarnamn eller l? msgid "Invalid username or password" msgstr "Felaktigt anv?ndarnamn eller l?senord" -msgid "" -"Your account has been locked due to too many failed login attempts. Please " -"try logging into the Yahoo! website." -msgstr "" -"Ditt kontot har l?sts p? grund av f?r m?nga inloggningsf?rs?k. F?rs?k att " -"logga in p? Yahoo!s hemsida." +msgid "Your account has been locked due to too many failed login attempts. Please try logging into the Yahoo! website." +msgstr "Ditt kontot har l?sts p? grund av f?r m?nga inloggningsf?rs?k. F?rs?k att logga in p? Yahoo!s hemsida." #, c-format msgid "Unknown error 52. Reconnecting should fix this." msgstr "Ok?nt fel 52. En ?teranslutning borde fixa detta." -msgid "" -"Error 1013: The username you have entered is invalid. The most common cause " -"of this error is entering your email address instead of your Yahoo! ID." -msgstr "" -"Fel 1013: Anv?ndarnamnet du har angivit ?r ogiltigt. Den vanligaste " -"anledningen till detta ?r att du angett din epost-adress ist?llet flr ditt " -"Yahoo! ID." +msgid "Error 1013: The username you have entered is invalid. The most common cause of this error is entering your email address instead of your Yahoo! ID." +msgstr "Fel 1013: Anv?ndarnamnet du har angivit ?r ogiltigt. Den vanligaste anledningen till detta ?r att du angett din epost-adress ist?llet flr ditt Yahoo! ID." #, c-format msgid "Unknown error number %d. Logging into the Yahoo! website may fix this." @@ -10384,16 +9530,11 @@ msgstr "Kunde inte skapa en anslutning m msgid "Unable to establish a connection with %s: %s" msgstr "Kunde inte skapa en anslutning med %s: %s" -#, fuzzy msgid "Unable to connect: The server returned an empty response." -msgstr "" -"Kunde inte ansluta till MXit-servern. Var god unders?k dina " -"serverinst?llningar." +msgstr "Kunde inte ansluta: Servern angav ett tomt svar." -msgid "" -"Unable to connect: The server's response did not contain the necessary " -"information" -msgstr "" +msgid "Unable to connect: The server's response did not contain the necessary information" +msgstr "Kunde inte ansluta: Serversvaret inneh?ll inte den n?dv?ndiga informationen" msgid "Not at Home" msgstr "Inte hemma" @@ -10489,14 +9630,10 @@ msgstr "Yahoo! Profil" msgid "Yahoo! Profile" msgstr "Yahoo! Profil" -msgid "" -"Sorry, profiles marked as containing adult content are not supported at this " -"time." +msgid "Sorry, profiles marked as containing adult content are not supported at this time." msgstr "Profiler m?rkta att inneh?lla vuxeninneh?ll st?ds ?nnu inte." -msgid "" -"If you wish to view this profile, you will need to visit this link in your " -"web browser:" +msgid "If you wish to view this profile, you will need to visit this link in your web browser:" msgstr "Om du vill se denna profil m?ste du bes?ka l?nken i din webbl?sare" msgid "Yahoo! ID" @@ -10523,25 +9660,14 @@ msgstr "Senast uppdaterad" msgid "Last Update" msgstr "Senast uppdaterad" -msgid "" -"This profile is in a language or format that is not supported at this time." +msgid "This profile is in a language or format that is not supported at this time." msgstr "Denna profil ?r i ett spr?k eller format som ?nnu inte st?ds." -msgid "" -"Could not retrieve the user's profile. This most likely is a temporary " -"server-side problem. Please try again later." -msgstr "" -"Kan inte h?mta anv?ndarens profil. Detta ?r antagligen ett tempor?rt fel p? " -"servern. var god f?rs?k igen senare." +msgid "Could not retrieve the user's profile. This most likely is a temporary server-side problem. Please try again later." +msgstr "Kan inte h?mta anv?ndarens profil. Detta ?r antagligen ett tempor?rt fel p? servern. var god f?rs?k igen senare." -msgid "" -"Could not retrieve the user's profile. This most likely means that the user " -"does not exist; however, Yahoo! sometimes does fail to find a user's " -"profile. If you know that the user exists, please try again later." -msgstr "" -"Kunde inte h?mta anv?ndarens profil. Detta beror antagligen p? att " -"anv?ndaren inte finns, men ibland hittar inte Yahoo! en anv?ndares profil. " -"Om du vet att anv?ndaren finns: f?rs?k igen senare." +msgid "Could not retrieve the user's profile. This most likely means that the user does not exist; however, Yahoo! sometimes does fail to find a user's profile. If you know that the user exists, please try again later." +msgstr "Kunde inte h?mta anv?ndarens profil. Detta beror antagligen p? att anv?ndaren inte finns, men ibland hittar inte Yahoo! en anv?ndares profil. Om du vet att anv?ndaren finns: f?rs?k igen senare." msgid "The user's profile is empty." msgstr "Anv?ndarens profil ?r tom." @@ -10565,12 +9691,8 @@ msgstr "Ej tillg?nglig" msgid "Not available" msgstr "Ej tillg?nglig" -msgid "" -"Unknown error. You may need to logout and wait five minutes before being " -"able to rejoin a chatroom" -msgstr "" -"Ok?nt fel. Du kanske beh?ver koppla fr?n och v?nta fem minuter f?re du kan " -"ansluta till chatrummet igen" +msgid "Unknown error. You may need to logout and wait five minutes before being able to rejoin a chatroom" +msgstr "Ok?nt fel. Du kanske beh?ver koppla fr?n och v?nta fem minuter f?re du kan ansluta till chatrummet igen" #, c-format msgid "You are now chatting in %s." @@ -10603,12 +9725,8 @@ msgstr "Anslutningsproblem till YCHT-ser msgid "Connection problem with the YCHT server" msgstr "Anslutningsproblem till YCHT-server" -msgid "" -"(There was an error converting this message.\t Check the 'Encoding' option " -"in the Account Editor)" -msgstr "" -"(Det blev ett fel vid konverteringen av detta meddelande.\t Kontrollera " -"Kodningsinst?llningen f?r kontot.)" +msgid "(There was an error converting this message.\t Check the 'Encoding' option in the Account Editor)" +msgstr "(Det blev ett fel vid konverteringen av detta meddelande.\t Kontrollera Kodningsinst?llningen f?r kontot.)" #, c-format msgid "Unable to send to chat %s,%s,%s" @@ -10644,8 +9762,7 @@ msgid "instance <instance>: Set th msgstr "zl <nick>: Lokalisera anv?ndare" msgid "instance <instance>: Set the instance to be used on this class" -msgstr "" -"instance <instance>: Ange instanserna att anv?ndas med denna klass" +msgstr "instance <instance>: Ange instanserna att anv?ndas med denna klass" msgid "inst <instance>: Set the instance to be used on this class" msgstr "inst <instance>: Ange instanserna att anv?ndas med denna klass" @@ -10654,39 +9771,22 @@ msgid "sub <class> <instance> msgstr "inst <instance>: Ange instanserna att anv?ndas med denna klass" msgid "sub <class> <instance> <recipient>: Join a new chat" -msgstr "" -"sub <class> <instance> <recipient>: Anslut till en ny chatt" +msgstr "sub <class> <instance> <recipient>: Anslut till en ny chatt" -msgid "" -"zi <instance>: Send a message to <message,instance,*>" -msgstr "" -"zi <instance>: Skicka ett meddelande till <message,instance," -"*>" +msgid "zi <instance>: Send a message to <message,instance,*>" +msgstr "zi <instance>: Skicka ett meddelande till <message,instance,*>" -msgid "" -"zci <class> <instance>: Send a message to <class," -"instance,*>" -msgstr "" -"zci <class> <instance>: Skicka ett meddelande till <class,instance,*>" +msgid "zci <class> <instance>: Send a message to <class,instance,*>" +msgstr "zci <class> <instance>: Skicka ett meddelande till <class,instance,*>" -msgid "" -"zcir <class> <instance> <recipient>: Send a message to <" -"class,instance,recipient>" -msgstr "" -"zcir <class> <instance> <recipient>: Skicka ett meddelande " -"till <class,instance,recipient>" +msgid "zcir <class> <instance> <recipient>: Send a message to <class,instance,recipient>" +msgstr "zcir <class> <instance> <recipient>: Skicka ett meddelande till <class,instance,recipient>" -msgid "" -"zir <instance> <recipient>: Send a message to <MESSAGE," -"instance,recipient>" -msgstr "" -"zir <instance> <recipient>: Skicka ett meddelande till <" -"MESSAGE,instance,recipient>" +msgid "zir <instance> <recipient>: Send a message to <MESSAGE,instance,recipient>" +msgstr "zir <instance> <recipient>: Skicka ett meddelande till <MESSAGE,instance,recipient>" msgid "zc <class>: Send a message to <class,PERSONAL,*>" -msgstr "" -"zc <class>: Skicka ett meddelande till <class,PERSONAL,*>" +msgstr "zc <class>: Skicka ett meddelande till <class,PERSONAL,*>" msgid "Resubscribe" msgstr "?terprenumerera" @@ -10841,9 +9941,8 @@ msgstr "Ut?kad fr?nvaro" msgid "Extended away" msgstr "Ut?kad fr?nvaro" -#, fuzzy msgid "Feeling" -msgstr "Tar emot" +msgstr "M?r" #, c-format msgid "%s (%s) changed status from %s to %s" @@ -10938,12 +10037,8 @@ msgstr "Felaktig inl?sning fr?n %s: sv msgstr "Felaktig inl?sning fr?n %s: svaret blev f?r l?ngt (gr?ns p? %d bytes)" #, c-format -msgid "" -"Unable to allocate enough memory to hold the contents from %s. The web " -"server may be trying something malicious." -msgstr "" -"Kunde inte allokera tillr?ckligt mycket minne f?r att h?lla inneh?llet fr?n " -"%s. Webb-servern f?rs?ker kanske med n?got konstigt." +msgid "Unable to allocate enough memory to hold the contents from %s. The web server may be trying something malicious." +msgstr "Kunde inte allokera tillr?ckligt mycket minne f?r att h?lla inneh?llet fr?n %s. Webb-servern f?rs?ker kanske med n?got konstigt." #, c-format msgid "Error reading from %s: %s" @@ -10996,18 +10091,11 @@ msgstr "Fel vid l?sning av %s" msgstr "Fel vid l?sning av %s" #, c-format -msgid "" -"An error was encountered reading your %s. The file has not been loaded, and " -"the old file has been renamed to %s~." -msgstr "" -"Ett fel uppt?cktes vid inl?sandet av din %s. Filen har inte laddats och den " -"gamla har blivit flyttad till %s~." +msgid "An error was encountered reading your %s. The file has not been loaded, and the old file has been renamed to %s~." +msgstr "Ett fel uppt?cktes vid inl?sandet av din %s. Filen har inte laddats och den gamla har blivit flyttad till %s~." -msgid "" -"Chat over IM. Supports AIM, Google Talk, Jabber/XMPP, MSN, Yahoo and more" -msgstr "" -"Skicka snabbmeddelanden. St?djer AIM, Google Talk, Jabber/XMPP, MSN, Yahoo " -"med fler" +msgid "Chat over IM. Supports AIM, Google Talk, Jabber/XMPP, MSN, Yahoo and more" +msgstr "Skicka snabbmeddelanden. St?djer AIM, Google Talk, Jabber/XMPP, MSN, Yahoo med fler" msgid "Internet Messenger" msgstr "Meddelandeklient" @@ -11118,23 +10206,15 @@ msgid "" msgid "" "Welcome to %s!\n" "\n" -"You have no IM accounts configured. To start connecting with %s press the " -"Add... button below and configure your first account. If you want %s " -"to connect to multiple IM accounts, press Add... again to configure " -"them all.\n" +"You have no IM accounts configured. To start connecting with %s press the Add... button below and configure your first account. If you want %s to connect to multiple IM accounts, press Add... again to configure them all.\n" "\n" -"You can come back to this window to add, edit, or remove accounts from " -"Accounts->Manage Accounts in the Buddy List window" +"You can come back to this window to add, edit, or remove accounts from Accounts->Manage Accounts in the Buddy List window" msgstr "" "V?lkommen till %s!\n" "\n" -"Du har inga IM-konton konfigurerade. F?r att p?b?rja en anslutning med %s s? " -"trycker du p? knappen L?gg till nedanf?r och konfigurerar ditt f?rsta " -"konto. Om du vill att %s ska ansluta till fler konton trycker du p? L?gg " -"till igen f?r att konfigurera dem alla.\n" +"Du har inga IM-konton konfigurerade. F?r att p?b?rja en anslutning med %s s? trycker du p? knappen L?gg till nedanf?r och konfigurerar ditt f?rsta konto. Om du vill att %s ska ansluta till fler konton trycker du p? L?gg till igen f?r att konfigurera dem alla.\n" "\n" -"Du kan komma tillbaka till detta f?nster f?r att l?gga till, ?ndra eller ta " -"bort konton fr?n Konton->Hantera konton i kompislistans f?nster" +"Du kan komma tillbaka till detta f?nster f?r att l?gga till, ?ndra eller ta bort konton fr?n Konton->Hantera konton i kompislistans f?nster" #. Buddy List msgid "Background Color" @@ -11244,32 +10324,20 @@ msgstr "Meddelande (Smeknamn n?mnt) Tex msgid "Message (Nick Said) Text" msgstr "Meddelande (Smeknamn n?mnt) Text" -msgid "" -"The text information for when a chat has an unread message that mentions " -"your nickname" -msgstr "" -"Textinformationen f?r n?r en chatt har ett ol?st meddelande som n?mner ditt " -"namn" +msgid "The text information for when a chat has an unread message that mentions your nickname" +msgstr "Textinformationen f?r n?r en chatt har ett ol?st meddelande som n?mner ditt namn" msgid "The text information for a buddy's status" msgstr "Textinformationen f?r en kompis status" #, c-format msgid "You have %d contact named %s. Would you like to merge them?" -msgid_plural "" -"You currently have %d contacts named %s. Would you like to merge them?" +msgid_plural "You currently have %d contacts named %s. Would you like to merge them?" msgstr[0] "Du har f?r tillf?llet %d kontakt vid namn %s. Vill du sl? ihop dem?" -msgstr[1] "" -"Du har f?r tillf?llet %d kontakter vid namn %s. Vill du sl? ihop dem?" +msgstr[1] "Du har f?r tillf?llet %d kontakter vid namn %s. Vill du sl? ihop dem?" -msgid "" -"Merging these contacts will cause them to share a single entry on the buddy " -"list and use a single conversation window. You can separate them again by " -"choosing 'Expand' from the contact's context menu" -msgstr "" -"Sl?r du ihop dessa kontakter inneb?r det att de kommer dela p? en post p? " -"din kompislista och anv?nda ett konversationsf?nster. Du kan separera dem " -"igen genom att v?lja 'Expandera' fr?n kontaktens omgivningsmeny" +msgid "Merging these contacts will cause them to share a single entry on the buddy list and use a single conversation window. You can separate them again by choosing 'Expand' from the contact's context menu" +msgstr "Sl?r du ihop dessa kontakter inneb?r det att de kommer dela p? en post p? din kompislista och anv?nda ett konversationsf?nster. Du kan separera dem igen genom att v?lja 'Expandera' fr?n kontaktens omgivningsmeny" msgid "Please update the necessary fields." msgstr "Var v?nlig uppdatera de n?dv?ndiga f?lten." @@ -11277,9 +10345,7 @@ msgstr "_Konto" msgid "A_ccount" msgstr "_Konto" -msgid "" -"Please enter the appropriate information about the chat you would like to " -"join.\n" +msgid "Please enter the appropriate information about the chat you would like to join.\n" msgstr "Var god ange information om chatten du vill ansluta till.\n" msgid "Room _List" @@ -11370,11 +10436,8 @@ msgstr "/Verktyg/St?ng av ljud" msgid "/Tools/Mute Sounds" msgstr "/Verktyg/St?ng av ljud" -msgid "" -"You are not currently signed on with an account that can add that buddy." -msgstr "" -"Du ?r f?r tillf?llet inte inloggad med n?got konto som kan l?gga till den " -"kompisen." +msgid "You are not currently signed on with an account that can add that buddy." +msgstr "Du ?r f?r tillf?llet inte inloggad med n?got konto som kan l?gga till den kompisen." #. I don't believe this can happen currently, I think #. * everything that calls this function checks for one of the @@ -11382,13 +10445,11 @@ msgstr "Ok?nd nodtyp" msgid "Unknown node type" msgstr "Ok?nd nodtyp" -#, fuzzy msgid "Please select your mood from the list" -msgstr "Ange ditt hum?r fr?n listan." +msgstr "Ange ditt hum?r fr?n listan" -#, fuzzy msgid "Message (optional)" -msgstr "Alias (valfritt)" +msgstr "Meddelande (valfritt)" msgid "Edit User Mood" msgstr "Redigera anv?ndarhum?r" @@ -11471,9 +10532,8 @@ msgstr "/Verktyg/_Sp?rrlista" msgid "/Tools/Pr_ivacy" msgstr "/Verktyg/_Sp?rrlista" -#, fuzzy msgid "/Tools/Set _Mood" -msgstr "/Verktyg/Visa _systemlogg" +msgstr "/Verktyg/Ange Hu_m?r" msgid "/Tools/_File Transfers" msgstr "/Verktyg/_Fil?verf?ringar" @@ -11629,12 +10689,9 @@ msgid "%d account was disabled because y #, c-format msgid "%d account was disabled because you signed on from another location:" -msgid_plural "" -"%d accounts were disabled because you signed on from another location:" -msgstr[0] "" -"%d konto inaktiverades eftersom du ansl?t till kontot fr?n en annan dator." -msgstr[1] "" -"%d konton inaktiverades eftersom du ansl?t till kontona fr?n en annan dator." +msgid_plural "%d accounts were disabled because you signed on from another location:" +msgstr[0] "%d konto inaktiverades eftersom du ansl?t till kontot fr?n en annan dator." +msgstr[1] "%d konton inaktiverades eftersom du ansl?t till kontona fr?n en annan dator." msgid "Username:" msgstr "Anv?ndarnamn:" @@ -11653,16 +10710,11 @@ msgid "" msgid "" "Welcome to %s!\n" "\n" -"You have no accounts enabled. Enable your IM accounts from the Accounts window at Accounts->Manage Accounts. Once you enable accounts, " -"you'll be able to sign on, set your status, and talk to your friends." +"You have no accounts enabled. Enable your IM accounts from the Accounts window at Accounts->Manage Accounts. Once you enable accounts, you'll be able to sign on, set your status, and talk to your friends." msgstr "" "V?lkommen till %s!\n" "\n" -"Du har inga konton aktiverade. Aktivera dina IM-konton fr?n f?nstret " -"Konton vid Konton->Hantera konton. S? snart du har aktiverat " -"dina konton kommer du kunna logga in, v?lja en status och prata med dina " -"v?nner." +"Du har inga konton aktiverade. Aktivera dina IM-konton fr?n f?nstret Konton vid Konton->Hantera konton. S? snart du har aktiverat dina konton kommer du kunna logga in, v?lja en status och prata med dina v?nner." #. set the Show Offline Buddies option. must be done #. * after the treeview or faceprint gets mad. -Robot101 @@ -11697,18 +10749,11 @@ msgstr "Protokollet st?djer inte chattr msgid "This protocol does not support chat rooms." msgstr "Protokollet st?djer inte chattrum." -msgid "" -"You are not currently signed on with any protocols that have the ability to " -"chat." -msgstr "" -"Du ?r f?r tillf?llet inte inloggad med n?got protokoll som erbjuder chatt." +msgid "You are not currently signed on with any protocols that have the ability to chat." +msgstr "Du ?r f?r tillf?llet inte inloggad med n?got protokoll som erbjuder chatt." -msgid "" -"Please enter an alias, and the appropriate information about the chat you " -"would like to add to your buddy list.\n" -msgstr "" -"Ange information och alias f?r den chatt som du vill l?gga till i din " -"kompislista.\n" +msgid "Please enter an alias, and the appropriate information about the chat you would like to add to your buddy list.\n" +msgstr "Ange information och alias f?r den chatt som du vill l?gga till i din kompislista.\n" msgid "A_lias:" msgstr "A_lias:" @@ -11737,9 +10782,8 @@ msgstr "_?ndra konto" msgid "_Edit Account" msgstr "_?ndra konto" -#, fuzzy msgid "Set _Mood..." -msgstr "Ange hum?r..." +msgstr "Ange hu_m?r..." msgid "No actions available" msgstr "Inga ?tg?rder tillg?ngliga" @@ -11766,11 +10810,8 @@ msgstr "Den kompisen anv?nder inte samm msgid "That buddy is not on the same protocol as this chat." msgstr "Den kompisen anv?nder inte samma protokoll som denna chatt." -msgid "" -"You are not currently signed on with an account that can invite that buddy." -msgstr "" -"Du ?r f?r tillf?llet inte inloggad med n?got konto som kan bjuda in den " -"kompisen." +msgid "You are not currently signed on with an account that can invite that buddy." +msgstr "Du ?r f?r tillf?llet inte inloggad med n?got konto som kan bjuda in den kompisen." msgid "Invite Buddy Into Chat Room" msgstr "Bjud in kompis till chattrum" @@ -12016,13 +11057,11 @@ msgstr "0 personer i rummet" msgid "0 people in room" msgstr "0 personer i rummet" -#, fuzzy msgid "Close Find bar" -msgstr "St?ng denna flik" +msgstr "St?ng s?kf?lt" -#, fuzzy msgid "Find:" -msgstr "S?k" +msgstr "S?k:" #, c-format msgid "%d person in room" @@ -12437,61 +11476,29 @@ msgstr "Lettl?ndska" msgid "Lithuanian" msgstr "Lettl?ndska" -#, fuzzy, c-format -msgid "" -"%s is a messaging client based on libpurple which is capable of connecting " -"to multiple messaging services at once. %s is written in C using GTK+. %s " -"is released, and may be modified and redistributed, under the terms of the " -"GPL version 2 (or later). A copy of the GPL is distributed with %s. %s is " -"copyrighted by its contributors, a list of whom is also distributed with " -"%s. There is no warranty for %s.

" -msgstr "" -"%s ?r en grafisk modul?r meddelandeklient baserad p? libpurple som kan " -"ansluta till AIM, MSN, Yahoo!, XMPP, ICQ, IRC, SILC, SIP/SIMPLE, Novell " -"GroupWise, Lotus Sametime, Bonjour, Zephyr, MySpaceIM, Gadu-Gadu och QQ " -"samtidigt. Det ?r skrivet f?r GTK+.

Du kan ?ndra och distribuera " -"programmet enligt GPL (version 2 eller senare). En kopia av GPL finns i " -"filen 'COPYING' som kommer med %s. %s ?r kopieringsskyddad av dess " -"bidragsgivare. Se filen 'COPYRIGHT' f?r en komplett lista av " -"bidragsgivare. Vi ger inga garantier f?r detta program.

" +#, c-format +msgid "%s is a messaging client based on libpurple which is capable of connecting to multiple messaging services at once. %s is written in C using GTK+. %s is released, and may be modified and redistributed, under the terms of the GPL version 2 (or later). A copy of the GPL is distributed with %s. %s is copyrighted by its contributors, a list of whom is also distributed with %s. There is no warranty for %s.

" +msgstr "%s ?r en meddelandeklient baserad p? libpurple som kan ansluta till flera meddelande-protokoll samtidigt. %s ?r skriveti C och anv?nder GTK+. %s ?r sl?ppt under, kan ?ndras och distrubieras enligt GPL version 2 (eller senare). En kopia av GPL kommer med %s. %s ?r kopieringsskyddad av dess bidragsgivare, en lista av dessa ?r distrubierad med %s. Det finns inga garantier f?r %s.

" #, c-format -msgid "" -"Helpful Resources
\tWebsite
\tFrequently Asked Questions
\tIRC " -"Channel: #pidgin on irc.freenode.net
\tXMPP MUC: devel at conference.pidgin." -"im

" +msgid "Helpful Resources
\tWebsite
\tFrequently Asked Questions
\tIRC Channel: #pidgin on irc.freenode.net
\tXMPP MUC: devel at conference.pidgin.im

" msgstr "" -#, fuzzy, c-format -msgid "" -"Help from other Pidgin users is available by " -"e-mailing support at pidgin.im
This is a public mailing list! (archive)
We can't help with third-party protocols or " -"plugins!
This list's primary language is English. You are " -"welcome to post in another language, but the responses may be less helpful." -"
" -msgstr "" -"Hj?lp fr?n andra Pidgin-anv?ndare: support at pidgin.im
Detta ?r en publik " -"epostlista! (arkiv)
Vi kan inte hj?lpa dig med 3:djepartsmoduler och protokoll!
Listans " -"huvudspr?k ?r Engelska. Du ?r v?lkommen att skriva i ett annat " -"spr?k, men svaren kan vara mindre hj?lpsamma.

" +#, c-format +msgid "Help from other Pidgin users is available by e-mailing support at pidgin.im
This is a public mailing list! (archive)
We can't help with third-party protocols or plugins!
This list's primary language is English. You are welcome to post in another language, but the responses may be less helpful.
" +msgstr "Hj?lp fr?n andra Pidgin-anv?ndare finns tillg?nglig genom att eposta support at pidgin.im
Detta ?r en publik epostlista! (arkiv)
Vi kan inte hj?lpa dig med 3:djepartsmoduler och protokoll!
Listans huvudspr?k ?r Engelska. Du ?r v?lkommen att skriva i ett annat spr?k, men svaren kan vara mindre hj?lpsamma.

" #, c-format msgid "About %s" msgstr "Om %s" -#, fuzzy msgid "Build Information" -msgstr "Information om kompis" +msgstr "Bygg-information" #. End of not to be translated section -#, fuzzy, c-format +#, c-format msgid "%s Build Information" -msgstr "Information om kompis" +msgstr "%s Bygg-information" msgid "Current Developers" msgstr "Nuvarande utvecklare" @@ -12505,9 +11512,9 @@ msgstr "F?re detta galna patchskrivare" msgid "Retired Crazy Patch Writers" msgstr "F?re detta galna patchskrivare" -#, fuzzy, c-format +#, c-format msgid "%s Developer Information" -msgstr "Serverinformation" +msgstr "%s utvecklarinformation" msgid "Current Translators" msgstr "Nuvarande ?vers?ttare" @@ -12515,9 +11522,9 @@ msgstr "F?re detta ?vers?ttare" msgid "Past Translators" msgstr "F?re detta ?vers?ttare" -#, fuzzy, c-format +#, c-format msgid "%s Translator Information" -msgstr "Mer information" +msgstr "%s ?vers?ttarinformation" msgid "_Name" msgstr "_Namn" @@ -12528,12 +11535,8 @@ msgstr "H?mta anv?ndarinformation" msgid "Get User Info" msgstr "H?mta anv?ndarinformation" -msgid "" -"Please enter the username or alias of the person whose info you would like " -"to view." -msgstr "" -"Ange anv?ndarnamnet eller aliaset f?r den person vars information du vill " -"visa." +msgid "Please enter the username or alias of the person whose info you would like to view." +msgstr "Ange anv?ndarnamnet eller aliaset f?r den person vars information du vill visa." msgid "View User Log" msgstr "Visa anv?ndarlogg" @@ -12558,18 +11561,10 @@ msgstr "Ange ett alias f?r denna chatt. msgstr "Ange ett alias f?r denna chatt." #, c-format -msgid "" -"You are about to remove the contact containing %s and %d other buddy from " -"your buddy list. Do you want to continue?" -msgid_plural "" -"You are about to remove the contact containing %s and %d other buddies from " -"your buddy list. Do you want to continue?" -msgstr[0] "" -"Du h?ller p? att ta bort kontakten som inneh?ller %s och %d annan kompis " -"fr?n din kompislista. Vill du forts?tta?" -msgstr[1] "" -"Du h?ller p? att ta bort kontakten som inneh?ller %s och %d andra kompisar " -"fr?n din kompislista. Vill du forts?tta?" +msgid "You are about to remove the contact containing %s and %d other buddy from your buddy list. Do you want to continue?" +msgid_plural "You are about to remove the contact containing %s and %d other buddies from your buddy list. Do you want to continue?" +msgstr[0] "Du h?ller p? att ta bort kontakten som inneh?ller %s och %d annan kompis fr?n din kompislista. Vill du forts?tta?" +msgstr[1] "Du h?ller p? att ta bort kontakten som inneh?ller %s och %d andra kompisar fr?n din kompislista. Vill du forts?tta?" msgid "Remove Contact" msgstr "Ta bort kontakt" @@ -12578,11 +11573,8 @@ msgstr "Ta bo_rt kontakt" msgstr "Ta bo_rt kontakt" #, c-format -msgid "" -"You are about to merge the group called %s into the group called %s. Do you " -"want to continue?" -msgstr "" -"Du h?ller p? att sl? ihop gruppen %s med gruppen %s. Vill du forts?tta?" +msgid "You are about to merge the group called %s into the group called %s. Do you want to continue?" +msgstr "Du h?ller p? att sl? ihop gruppen %s med gruppen %s. Vill du forts?tta?" msgid "Merge Groups" msgstr "Sl? ihop grupper" @@ -12591,12 +11583,8 @@ msgstr "_Sl? ihop grupper" msgstr "_Sl? ihop grupper" #, c-format -msgid "" -"You are about to remove the group %s and all its members from your buddy " -"list. Do you want to continue?" -msgstr "" -"Du h?ller p? att ta bort gruppen %s och alla dess medlemmar fr?n din " -"kompislista. Vill du forts?tta?" +msgid "You are about to remove the group %s and all its members from your buddy list. Do you want to continue?" +msgstr "Du h?ller p? att ta bort gruppen %s och alla dess medlemmar fr?n din kompislista. Vill du forts?tta?" msgid "Remove Group" msgstr "Ta bort grupp" @@ -12605,8 +11593,7 @@ msgstr "Ta bo_rt grupp" msgstr "Ta bo_rt grupp" #, c-format -msgid "" -"You are about to remove %s from your buddy list. Do you want to continue?" +msgid "You are about to remove %s from your buddy list. Do you want to continue?" msgstr "Du h?ller p? att ta bort %s fr?n din kompislista. Vill du forts?tta?" msgid "Remove Buddy" @@ -12616,11 +11603,8 @@ msgstr "Ta bo_rt kompis" msgstr "Ta bo_rt kompis" #, c-format -msgid "" -"You are about to remove the chat %s from your buddy list. Do you want to " -"continue?" -msgstr "" -"Du h?ller p? att ta bort chatten %s fr?n din kompislista. Vill du forts?tta?" +msgid "You are about to remove the chat %s from your buddy list. Do you want to continue?" +msgstr "Du h?ller p? att ta bort chatten %s fr?n din kompislista. Vill du forts?tta?" msgid "Remove Chat" msgstr "Ta bort chatt" @@ -12677,8 +11661,7 @@ msgid "There is no application configure msgstr "Skickar som:" msgid "There is no application configured to open this type of file." -msgstr "" -"Det finns ingen applikation konfigurerad att ?ppna den h?r typen av fil." +msgstr "Det finns ingen applikation konfigurerad att ?ppna den h?r typen av fil." msgid "An error occurred while opening the file." msgstr "Ett fel uppstod n?r filen ?ppnades." @@ -12764,9 +11747,7 @@ msgid "Color to draw the name of a messa msgstr "\"Uppm?rksam\" Namnf?rg" msgid "Color to draw the name of a message you received containing your name." -msgstr "" -"F?rg att rita namner p? ett meddelande som du tagit emot och som inneh?ller " -"ditt namn." +msgstr "F?rg att rita namner p? ett meddelande som du tagit emot och som inneh?ller ditt namn." msgid "Action Message Name Color" msgstr "F?rg p? namn i Actionmeddelanden" @@ -12844,12 +11825,8 @@ msgstr "_Beskrivning" msgid "_Description" msgstr "_Beskrivning" -msgid "" -"Please enter the URL and description of the link that you want to insert. " -"The description is optional." -msgstr "" -"Ange URL och beskrivning av l?nken du vill infoga. Beskrivningen ?r inte " -"obligatorisk." +msgid "Please enter the URL and description of the link that you want to insert. The description is optional." +msgstr "Ange URL och beskrivning av l?nken du vill infoga. Beskrivningen ?r inte obligatorisk." msgid "Please enter the URL of the link that you want to insert." msgstr "Ange URL f?r l?nken du vill infoga." @@ -12872,8 +11849,7 @@ msgstr "" "This smiley is disabled because a custom smiley exists for this shortcut:\n" " %s" msgstr "" -"Denna smileyn ?r avaktiverad eftersom en egendefinierad smiley redan " -"existerar f?r denna genv?g:\n" +"Denna smileyn ?r avaktiverad eftersom en egendefinierad smiley redan existerar f?r denna genv?g:\n" " %s" msgid "Smile!" @@ -12987,28 +11963,16 @@ msgstr "Unders?k r?ttigheter och f?rs msgstr "Unders?k r?ttigheter och f?rs?k igen." #, c-format -msgid "" -"Are you sure you want to permanently delete the log of the conversation with " -"%s which started at %s?" -msgstr "" -"?r du s?ker p? att du vill permanent ta bort historiken ?ver " -"konversationerna med %s som p?b?rjades vid %s?" +msgid "Are you sure you want to permanently delete the log of the conversation with %s which started at %s?" +msgstr "?r du s?ker p? att du vill permanent ta bort historiken ?ver konversationerna med %s som p?b?rjades vid %s?" #, c-format -msgid "" -"Are you sure you want to permanently delete the log of the conversation in " -"%s which started at %s?" -msgstr "" -"?r du s?ker p? att du vill permanent ta bort historiken ?ver konversationer " -"i %s som p?b?rjades vid %s" +msgid "Are you sure you want to permanently delete the log of the conversation in %s which started at %s?" +msgstr "?r du s?ker p? att du vill permanent ta bort historiken ?ver konversationer i %s som p?b?rjades vid %s" #, c-format -msgid "" -"Are you sure you want to permanently delete the system log which started at " -"%s?" -msgstr "" -"?r du s?ker p? att du vill permanent ta bort systemloggen vilken startades " -"vid %s?" +msgid "Are you sure you want to permanently delete the system log which started at %s?" +msgstr "?r du s?ker p? att du vill permanent ta bort systemloggen vilken startades vid %s?" msgid "Delete Log?" msgstr "Ta bort logg?" @@ -13071,8 +12035,7 @@ msgstr "" msgstr "" "aktivera valda konton (det ej obligatoriska argumentet NAMN\n" " specificerar en kommaseparerad lista av konton.\n" -" Utan denna lista kommer enbart det f?rsta kontot " -"aktiveras)." +" Utan denna lista kommer enbart det f?rsta kontot aktiveras)." msgid "X display to use" msgstr "X displayen att anv?nda" @@ -13155,8 +12118,7 @@ msgstr "Fel vid k?rning av \"%s\": %s" msgid "Error launching \"%s\": %s" msgstr "Fel vid k?rning av \"%s\": %s" -msgid "" -"The 'Manual' browser command has been chosen, but no command has been set." +msgid "The 'Manual' browser command has been chosen, but no command has been set." msgstr "Manuellt webbl?sarkommando har valts, men inget kommando angivits." msgid "No message" @@ -13189,12 +12151,8 @@ msgstr "Kunde inte stoppa insticksmodule msgid "Could not unload plugin" msgstr "Kunde inte stoppa insticksmodulen" -msgid "" -"The plugin could not be unloaded now, but will be disabled at the next " -"startup." -msgstr "" -"Insticksmodulen kunde inte stoppas, men den kommer att vara inaktiverad " -"n?stan uppstart." +msgid "The plugin could not be unloaded now, but will be disabled at the next startup." +msgstr "Insticksmodulen kunde inte stoppas, men den kommer att vara inaktiverad n?stan uppstart." #, c-format msgid "" @@ -13364,8 +12322,7 @@ msgid "" #. Instructions msgid "" "Select a theme that you would like to use from the lists below.\n" -"New themes can be installed by dragging and dropping them onto the theme " -"list." +"New themes can be installed by dragging and dropping them onto the theme list." msgstr "" "V?lj ett tema som du vill anv?nda i listan nedan.\n" "Nya teman kan installeras genom att sl?ppas i listan ?ver teman." @@ -13483,12 +12440,8 @@ msgstr "F?rvald Formatering" msgid "Default Formatting" msgstr "F?rvald Formatering" -msgid "" -"This is how your outgoing message text will appear when you use protocols " -"that support formatting." -msgstr "" -"S? h?r kommer texten i ditt utg?ende meddelande att se ut n?r du anv?nder " -"ett protokoll som st?djer formatering." +msgid "This is how your outgoing message text will appear when you use protocols that support formatting." +msgstr "S? h?r kommer texten i ditt utg?ende meddelande att se ut n?r du anv?nder ett protokoll som st?djer formatering." msgid "Cannot start proxy configuration program." msgstr "Kan inte starta konfigurationsprogrammet f?r proxy." @@ -13849,8 +12802,7 @@ msgid "Are you sure you want to delete t msgstr "_L?gg till chatt" msgid "Are you sure you want to delete the selected saved statuses?" -msgstr "" -"?r du s?ker p? att du vill ta bort den valda sparade statusinst?llningen?" +msgstr "?r du s?ker p? att du vill ta bort den valda sparade statusinst?llningen?" #. Use button msgid "_Use" @@ -13881,11 +12833,8 @@ msgstr "Status f?r %s" msgstr "Status f?r %s" #, c-format -msgid "" -"A custom smiley for '%s' already exists. Please use a different shortcut." -msgstr "" -"En egen smiley f?r '%s' existerar redan. Var v?nlig ange en annorlunda " -"genv?g." +msgid "A custom smiley for '%s' already exists. Please use a different shortcut." +msgstr "En egen smiley f?r '%s' existerar redan. Var v?nlig ange en annorlunda genv?g." msgid "Custom Smiley" msgstr "Egen Smiley" @@ -13955,21 +12904,14 @@ msgstr "Kan inte skicka mappen %s." msgstr "Kan inte skicka mappen %s." #, c-format -msgid "" -"%s cannot transfer a folder. You will need to send the files within " -"individually." -msgstr "" -"%s kan inte ?verf?ra en mapp. Du m?ste skicka filerna inuti den en och en" +msgid "%s cannot transfer a folder. You will need to send the files within individually." +msgstr "%s kan inte ?verf?ra en mapp. Du m?ste skicka filerna inuti den en och en" msgid "You have dragged an image" msgstr "Du har dragit och sl?ppt en bild" -msgid "" -"You can send this image as a file transfer, embed it into this message, or " -"use it as the buddy icon for this user." -msgstr "" -"Du kan skicka bilden via fil?verf?ring, infoga den i detta meddelande, eller " -"anv?nda den som kompisikon f?r denna anv?ndare." +msgid "You can send this image as a file transfer, embed it into this message, or use it as the buddy icon for this user." +msgstr "Du kan skicka bilden via fil?verf?ring, infoga den i detta meddelande, eller anv?nda den som kompisikon f?r denna anv?ndare." msgid "Set as buddy icon" msgstr "Anv?nd som kompisikon" @@ -13983,19 +12925,11 @@ msgstr "Vill du anv?nda den som kompisi msgid "Would you like to set it as the buddy icon for this user?" msgstr "Vill du anv?nda den som kompisikon f?r denna anv?ndare?" -msgid "" -"You can send this image as a file transfer, or use it as the buddy icon for " -"this user." -msgstr "" -"Du kan skicka bilden via fil?verf?ring eller anv?nda den som kompisikon f?r " -"denna anv?ndare." +msgid "You can send this image as a file transfer, or use it as the buddy icon for this user." +msgstr "Du kan skicka bilden via fil?verf?ring eller anv?nda den som kompisikon f?r denna anv?ndare." -msgid "" -"You can insert this image into this message, or use it as the buddy icon for " -"this user" -msgstr "" -"Du kan infoga bilden i detta meddelande eller anv?nda den som kompisikon f?r " -"denna anv?ndare" +msgid "You can insert this image into this message, or use it as the buddy icon for this user" +msgstr "Du kan infoga bilden i detta meddelande eller anv?nda den som kompisikon f?r denna anv?ndare" #. I don't know if we really want to do anything here. Most of #. * the desktop item types are crap like "MIME Type" (I have no @@ -14008,12 +12942,8 @@ msgstr "Kan inte skicka startare" msgid "Cannot send launcher" msgstr "Kan inte skicka startare" -msgid "" -"You dragged a desktop launcher. Most likely you wanted to send the target of " -"this launcher instead of this launcher itself." -msgstr "" -"Du drog en skrivbordsstartare. Antagligen ville du skicka vad som startaren " -"pekar p? ist?llet f?r startaren sj?lv." +msgid "You dragged a desktop launcher. Most likely you wanted to send the target of this launcher instead of this launcher itself." +msgstr "Du drog en skrivbordsstartare. Antagligen ville du skicka vad som startaren pekar p? ist?llet f?r startaren sj?lv." #, c-format msgid "" @@ -14059,9 +12989,8 @@ msgstr "_Spara fil" msgid "_Save File" msgstr "_Spara fil" -#, fuzzy msgid "Do you really want to clear?" -msgstr "?r du s?ker p? att du vill ta bort %s?" +msgstr "?r du s?ker p? att du vill rensa?" msgid "Select color" msgstr "V?lj f?rg" @@ -14171,12 +13100,8 @@ msgstr "Po?ngv?rden att anv?nda n?r. msgid "Point values to use when..." msgstr "Po?ngv?rden att anv?nda n?r..." -msgid "" -"The buddy with the largest score is the buddy who will have priority " -"in the contact.\n" -msgstr "" -"Kompisen med den st?rsta po?ngen ?r den kompisen som kommer ha " -"prioritet i kontakten.\n" +msgid "The buddy with the largest score is the buddy who will have priority in the contact.\n" +msgstr "Kompisen med den st?rsta po?ngen ?r den kompisen som kommer ha prioritet i kontakten.\n" msgid "Use last buddy when scores are equal" msgstr "Anv?nd senaste kompisen d? po?ngen ?r samma" @@ -14196,18 +13121,12 @@ msgstr "Kontaktprioritet" #. *< name #. *< version #. *< summary -msgid "" -"Allows for controlling the values associated with different buddy states." -msgstr "" -"Ger m?jlighet att kontrollera v?rdena associerade med olika kompisstatusar." +msgid "Allows for controlling the values associated with different buddy states." +msgstr "Ger m?jlighet att kontrollera v?rdena associerade med olika kompisstatusar." #. *< description -msgid "" -"Allows for changing the point values of idle/away/offline states for buddies " -"in contact priority computations." -msgstr "" -"Ger m?jlighet att ?ndra po?ngv?rdena p? inaktiv/fr?nvarande/utloggad-status " -"f?r kompisar som konkurerar om kontaktprioritet." +msgid "Allows for changing the point values of idle/away/offline states for buddies in contact priority computations." +msgstr "Ger m?jlighet att ?ndra po?ngv?rdena p? inaktiv/fr?nvarande/utloggad-status f?r kompisar som konkurerar om kontaktprioritet." msgid "Conversation Colors" msgstr "Konversationsf?rger" @@ -14299,12 +13218,8 @@ msgstr "Till?ter att bl?ddra och regis msgid "Allows browsing and registering services." msgstr "Till?ter att bl?ddra och registrera service." -msgid "" -"This plugin is useful for registering with legacy transports or other XMPP " -"services." -msgstr "" -"Denna modul ?r anv?ndbar f?r registrering till ?ldre transport?rer eller " -"andra XMPP-tj?nster." +msgid "This plugin is useful for registering with legacy transports or other XMPP services." +msgstr "Denna modul ?r anv?ndbar f?r registrering till ?ldre transport?rer eller andra XMPP-tj?nster." msgid "By conversation count" msgstr "Efter konversationsantal" @@ -14313,12 +13228,8 @@ msgstr "Konversationsplacering" msgstr "Konversationsplacering" #. Translators: "New conversations" should match the text in the preferences dialog and "By conversation count" should be the same text used above -msgid "" -"Note: The preference for \"New conversations\" must be set to \"By " -"conversation count\"." -msgstr "" -"Observera: Inst?llningen f?r \"Nya konversationer\" m?ste vara \"Efter " -"konversationsantal\"." +msgid "Note: The preference for \"New conversations\" must be set to \"By conversation count\"." +msgstr "Observera: Inst?llningen f?r \"Nya konversationer\" m?ste vara \"Efter konversationsantal\"." msgid "Number of conversations per window" msgstr "Antal konversationer per f?nster" @@ -14342,12 +13253,8 @@ msgstr "Extra konversationsplaceringsm? #. *< summary #. * description -msgid "" -"Restrict the number of conversations per windows, optionally separating IMs " -"and Chats" -msgstr "" -"Begr?nsa antalet konversationer per f?nster med m?jlighet att separera " -"snabbmeddelanden och chattar" +msgid "Restrict the number of conversations per windows, optionally separating IMs and Chats" +msgstr "Begr?nsa antalet konversationer per f?nster med m?jlighet att separera snabbmeddelanden och chattar" #. Configuration frame msgid "Mouse Gestures Configuration" @@ -14380,17 +13287,14 @@ msgid "" #. * description msgid "" -"Allows support for mouse gestures in conversation windows. Drag the middle " -"mouse button to perform certain actions:\n" +"Allows support for mouse gestures in conversation windows. Drag the middle mouse button to perform certain actions:\n" " o Drag down and then to the right to close a conversation.\n" " o Drag up and then to the left to switch to the previous conversation.\n" " o Drag up and then to the right to switch to the next conversation." msgstr "" -"G?r det m?jligt att anv?nda musgester i konversationsf?nster. Dra musen med " -"mittersta knappen nedtryckt f?r att ge olika kommandon:\n" +"G?r det m?jligt att anv?nda musgester i konversationsf?nster. Dra musen med mittersta knappen nedtryckt f?r att ge olika kommandon:\n" " o Dra ner och sedan till h?ger f?r att st?nga konversationen.\n" -" o Dra upp och sedan till v?nster f?r att byta till f?reg?ende " -"konversation.\n" +" o Dra upp och sedan till v?nster f?r att byta till f?reg?ende konversation.\n" " o Dra upp och sedan till h?ger f?r att byta till n?sta konversation." msgid "Instant Messaging" @@ -14412,12 +13316,8 @@ msgstr "V?lj kompis" msgstr "V?lj kompis" #. Add the label. -msgid "" -"Select a person from your address book to add this buddy to, or create a new " -"person." -msgstr "" -"V?lj en person ur adressboken som du vill l?gga till denna kompis till eller " -"skapa en ny person." +msgid "Select a person from your address book to add this buddy to, or create a new person." +msgstr "V?lj en person ur adressboken som du vill l?gga till denna kompis till eller skapa en ny person." #. Add the expander msgid "User _details" @@ -14529,9 +13429,7 @@ msgid "Iconifies the buddy list and your #. * summary #. * description msgid "Iconifies the buddy list and your conversations when you go away." -msgstr "" -"G?r din kompislista och dina konversationer till en ikon n?r du ?r " -"fr?nvarande." +msgstr "G?r din kompislista och dina konversationer till en ikon n?r du ?r fr?nvarande." msgid "Mail Checker" msgstr "E-post-kollare" @@ -14540,8 +13438,7 @@ msgid "Adds a small box to the buddy lis msgstr "Kollar efter ny lokal e-post." msgid "Adds a small box to the buddy list that shows if you have new mail." -msgstr "" -"L?gger till en liten ruta till kompislistan som visar om du f?tt ny e-post." +msgstr "L?gger till en liten ruta till kompislistan som visar om du f?tt ny e-post." msgid "Markerline" msgstr "Markeringslinje" @@ -14561,12 +13458,8 @@ msgstr "_Chattf?nster" msgid "C_hat windows" msgstr "_Chattf?nster" -msgid "" -"A music messaging session has been requested. Please click the MM icon to " -"accept." -msgstr "" -"En music messaging session har efterfr?gats. Var god tryck p? MM-ikonen f?r " -"att acceptera." +msgid "A music messaging session has been requested. Please click the MM icon to accept." +msgstr "En music messaging session har efterfr?gats. Var god tryck p? MM-ikonen f?r att acceptera." msgid "Music messaging session confirmed." msgstr "Music messaging session bekr?ftad." @@ -14605,12 +13498,8 @@ msgstr "Music Messaging-modul f?r gemen msgstr "Music Messaging-modul f?r gemensam komponering." #. * summary -msgid "" -"The Music Messaging Plugin allows a number of users to simultaneously work " -"on a piece of music by editing a common score in real-time." -msgstr "" -"Music Messaging-modulen till?ter ett antal anv?ndare att samtidigt arbeta p? " -"ett stycke musik genom att editera ett gemensamt notblad i realtid." +msgid "The Music Messaging Plugin allows a number of users to simultaneously work on a piece of music by editing a common score in real-time." +msgstr "Music Messaging-modulen till?ter ett antal anv?ndare att samtidigt arbeta p? ett stycke musik genom att editera ett gemensamt notblad i realtid." #. ---------- "Notify For" ---------- msgid "Notify For" @@ -14718,8 +13607,7 @@ msgstr "" "Det h?r ?r en riktigt h?ftig insticksmodul som g?r en massa saker:\n" "- Den visar vem som skrivit programmet n?r du loggar in\n" "- Den v?nder p? all text som kommer in\n" -"- Den s?nder ett meddelande till personerna p? din kompislista direkt n?r du " -"loggar in" +"- Den s?nder ett meddelande till personerna p? din kompislista direkt n?r du loggar in" msgid "Hyperlink Color" msgstr "F?rg p? l?nkar" @@ -14802,13 +13690,8 @@ msgstr "L?ter dig skicka r? indata til msgid "Lets you send raw input to text-based protocols." msgstr "L?ter dig skicka r? indata till textbaserade protokoll." -msgid "" -"Lets you send raw input to text-based protocols (XMPP, MSN, IRC, TOC). Hit " -"'Enter' in the entry box to send. Watch the debug window." -msgstr "" -"L?ter dig skicka r? indata till textbaserade protokoll (XMPP, MSN, IRC, " -"TOC). Tryck 'Enter' i inmatningsrutan f?r att skicka. Titta i " -"fels?kningsf?nstret." +msgid "Lets you send raw input to text-based protocols (XMPP, MSN, IRC, TOC). Hit 'Enter' in the entry box to send. Watch the debug window." +msgstr "L?ter dig skicka r? indata till textbaserade protokoll (XMPP, MSN, IRC, TOC). Tryck 'Enter' i inmatningsrutan f?r att skicka. Titta i fels?kningsf?nstret." #, c-format msgid "You can upgrade to %s %s today." @@ -14839,12 +13722,8 @@ msgstr "Kontrollerar periodiskt om ny ve msgstr "Kontrollerar periodiskt om ny version har sl?ppts." #. * description -msgid "" -"Checks periodically for new releases and notifies the user with the " -"ChangeLog." -msgstr "" -"Kontrollerar periodiskt om ny version har sl?ppts och rapporterar " -"f?r?ndringsloggen till anv?ndaren." +msgid "Checks periodically for new releases and notifies the user with the ChangeLog." +msgstr "Kontrollerar periodiskt om ny version har sl?ppts och rapporterar f?r?ndringsloggen till anv?ndaren." #. *< major version #. *< minor version @@ -14864,12 +13743,8 @@ msgstr "Skicka-knapp i konversationsf?n msgstr "Skicka-knapp i konversationsf?nster" #. *< summary -msgid "" -"Adds a Send button to the entry area of the conversation window. Intended " -"for use when no physical keyboard is present." -msgstr "" -"L?gger till en Skicka knapp till konversationsf?nstret. F?r att anv?ndas n?r " -"inget fysiskt tangentbord finns." +msgid "Adds a Send button to the entry area of the conversation window. Intended for use when no physical keyboard is present." +msgstr "L?gger till en Skicka knapp till konversationsf?nstret. F?r att anv?ndas n?r inget fysiskt tangentbord finns." msgid "Duplicate Correction" msgstr "Dublettkorrigering" @@ -14903,8 +13778,7 @@ msgid "_Exact case match (uncheck for au #. Created here so it can be passed to whole_words_button_toggled. msgid "_Exact case match (uncheck for automatic case handling)" -msgstr "" -"_Exakt skriftl?gesk?nslighet (avmarkera f?r automatisk skriftl?gesavk?nning)" +msgstr "_Exakt skriftl?gesk?nslighet (avmarkera f?r automatisk skriftl?gesavk?nning)" msgid "Only replace _whole words" msgstr "Ers?tt endast _hela ord" @@ -15054,21 +13928,18 @@ msgstr "Val f?r tidsst?mpelformat" msgid "Timestamp Format Options" msgstr "Val f?r tidsst?mpelformat" -#, fuzzy, c-format +#, c-format msgid "_Force timestamp format:" -msgstr "Tvinga 24-timmars tids_format" +msgstr "Tvinga tids_format:" -#, fuzzy msgid "Use system default" -msgstr "Skrivbordets f?rval" +msgstr "Anv?nds systemets f?rval" -#, fuzzy msgid "12 hour time format" -msgstr "Tvinga 24-timmars tids_format" +msgstr "12-timmars tidsformat" -#, fuzzy msgid "24 hour time format" -msgstr "Tvinga 24-timmars tids_format" +msgstr "24-timmars tidsformat" msgid "Show dates in..." msgstr "Visa datum i..." @@ -15101,12 +13972,8 @@ msgstr "Personifiera tidsformatsst?mpel msgstr "Personifiera tidsformatsst?mpeln f?r meddelandet." #. * description -msgid "" -"This plugin allows the user to customize conversation and logging message " -"timestamp formats." -msgstr "" -"Denna modul till?ter anv?ndaren att personifiera konversationernas och " -"loggarnas tidsst?mpelformat." +msgid "This plugin allows the user to customize conversation and logging message timestamp formats." +msgstr "Denna modul till?ter anv?ndaren att personifiera konversationernas och loggarnas tidsst?mpelformat." msgid "Audio" msgstr "Ljud" @@ -15151,8 +14018,7 @@ msgid "Configure microphone and webcam s #. *< summary msgid "Configure microphone and webcam settings for voice/video calls." -msgstr "" -"Konfigurera mikrofon och webbkamera-inst?llningar f?r r?st/videosamtal." +msgstr "Konfigurera mikrofon och webbkamera-inst?llningar f?r r?st/videosamtal." msgid "Opacity:" msgstr "Ogenomskinlighet:" @@ -15200,13 +14066,11 @@ msgid "" #. * description msgid "" -"This plugin enables variable alpha transparency on conversation windows and " -"the buddy list.\n" +"This plugin enables variable alpha transparency on conversation windows and the buddy list.\n" "\n" "* Note: This plugin requires Win2000 or greater." msgstr "" -"Denna insticksmodul g?r det m?jligt att anv?nda alfagenomskinlighet p? " -"konversationsf?nster och kompislistan.\n" +"Denna insticksmodul g?r det m?jligt att anv?nda alfagenomskinlighet p? konversationsf?nster och kompislistan.\n" "\n" "* Observera: Denna insticksmodul kr?ver Win2000 eller senare." @@ -15238,11 +14102,8 @@ msgstr "Inst?llningar specifika f?r Pi msgid "Options specific to Pidgin for Windows." msgstr "Inst?llningar specifika f?r Pidgin i Windows." -msgid "" -"Provides options specific to Pidgin for Windows, such as buddy list docking." -msgstr "" -"Tillhandah?ller inst?llningar specifika f?r Pidgin i Windows s?som dockning " -"av kompislistan." +msgid "Provides options specific to Pidgin for Windows, such as buddy list docking." +msgstr "Tillhandah?ller inst?llningar specifika f?r Pidgin i Windows s?som dockning av kompislistan." msgid "Logged out." msgstr "Loggade ut." @@ -15269,26 +14130,18 @@ msgstr "Skicka och ta emot r?a XMPP str msgstr "Skicka och ta emot r?a XMPP strofer." #. * description -#, fuzzy msgid "This plugin is useful for debugging XMPP servers or clients." msgstr "Denna modul ?r anv?ndbar vid fels?kning av XMPP serverar och klienter." #. $(^Name) is the current Version name (e.g. Pidgin 2.7.0). $_CLICK will become a translated version of "Click Next to continue." -msgid "" -"$(^Name) is released under the GNU General Public License (GPL). The license " -"is provided here for information purposes only. $_CLICK" -msgstr "" -"$(^Name) ?r utgivet under GPL. Licensen finns tillg?nglig h?r f?r " -"informationssyften enbart. $_CLICK" +msgid "$(^Name) is released under the GNU General Public License (GPL). The license is provided here for information purposes only. $_CLICK" +msgstr "$(^Name) ?r utgivet under GPL. Licensen finns tillg?nglig h?r f?r informationssyften enbart. $_CLICK" #. Installer Subsection Detailed Description msgid "A multi-platform GUI toolkit, used by Pidgin" -msgstr "" -"En GUI-verktygsupps?ttning f?r flera olika plattformar som Pidgin anv?nder." +msgstr "En GUI-verktygsupps?ttning f?r flera olika plattformar som Pidgin anv?nder." -msgid "" -"An instance of Pidgin is currently running. Please exit Pidgin and try " -"again." +msgid "An instance of Pidgin is currently running. Please exit Pidgin and try again." msgstr "En instans av Pidgin k?rs redan. Avsluta Pidgin och f?rs?k igen." #. Installer Subsection Detailed Description @@ -15312,35 +14165,25 @@ msgstr "Skrivbord" msgstr "Skrivbord" #. $R2 will display the URL that the GTK+ Runtime failed to download from -msgid "" -"Error Downloading the GTK+ Runtime ($R2).$\\rThis is required for Pidgin to " -"function; if retrying fails, you may need to use the 'Offline Installer' " -"from http://pidgin.im/download/windows/ ." +msgid "Error Downloading the GTK+ Runtime ($R2).$\\rThis is required for Pidgin to function; if retrying fails, you may need to use the 'Offline Installer' from http://pidgin.im/download/windows/ ." msgstr "" #. $R2 will display the URL that the Debug Symbols failed to download from -msgid "" -"Error Installing Debug Symbols ($R2).$\\rIf retrying fails, you may need to " -"use the 'Offline Installer' from http://pidgin.im/download/windows/ ." +msgid "Error Installing Debug Symbols ($R2).$\\rIf retrying fails, you may need to use the 'Offline Installer' from http://pidgin.im/download/windows/ ." msgstr "" #. $R3 will display the URL that the Dictionary failed to download from #, no-c-format -msgid "" -"Error Installing Spellchecking ($R3).$\\rIf retrying fails, manual " -"installation instructions are at: http://developer.pidgin.im/wiki/Installing" -"%20Pidgin#manual_win32_spellcheck_installation" +msgid "Error Installing Spellchecking ($R3).$\\rIf retrying fails, manual installation instructions are at: http://developer.pidgin.im/wiki/Installing%20Pidgin#manual_win32_spellcheck_installation" msgstr "" #. Installer Subsection Text -#, fuzzy msgid "GTK+ Runtime (required if not present)" msgstr "GTK+-k?rmilj? (obligatorisk)" #. Installer Subsection Text -#, fuzzy msgid "Localizations" -msgstr "Plats" +msgstr "Platser" #. "Next >" appears on a button on the License Page of the Installer msgid "Next >" @@ -15350,11 +14193,8 @@ msgstr "Pidgin Snabbmeddelandeklient (ob msgid "Pidgin Instant Messaging Client (required)" msgstr "Pidgin Snabbmeddelandeklient (obligatorisk)" -msgid "" -"Pidgin requires a compatible GTK+ Runtime (which doesn't appear to be " -"already present).$\\rAre you sure you want to skip installing the GTK+ " -"Runtime?" -msgstr "" +msgid "Pidgin requires a compatible GTK+ Runtime (which doesn't appear to be already present).$\\rAre you sure you want to skip installing the GTK+ Runtime?" +msgstr "Pidgin kr?ver en kompatibel version av GTK+ biblioteken (vilka inte verkar vara installerade).$\\r?r du s?ker p? att du vill hoppa ?ver installationen av dem?" #. Installer Subsection Text msgid "Shortcuts" @@ -15373,31 +14213,21 @@ msgstr "Startmeny" msgstr "Startmeny" #. Installer Subsection Detailed Description -msgid "" -"Support for Spellchecking. (Internet connection required for installation)" +msgid "Support for Spellchecking. (Internet connection required for installation)" msgstr "St?d f?r R?ttstavning. (Internetanslutning kr?vs f?r installation)" msgid "The installer is already running." msgstr "Installationsprogrammet k?rs redan." -msgid "" -"The uninstaller could not find registry entries for Pidgin.$\\rIt is likely " -"that another user installed this application." -msgstr "" -"Avinstalleraren kunde inte hitta registerv?rden f?r Pidgin.$\\rAntagligen " -"har en annan anv?ndare installerat applikationen." +msgid "The uninstaller could not find registry entries for Pidgin.$\\rIt is likely that another user installed this application." +msgstr "Avinstalleraren kunde inte hitta registerv?rden f?r Pidgin.$\\rAntagligen har en annan anv?ndare installerat applikationen." #. Installer Subsection Text msgid "URI Handlers" msgstr "URI Hanterare" -msgid "" -"Unable to uninstall the currently installed version of Pidgin. The new " -"version will be installed without removing the currently installed version." -msgstr "" -"Kunde inte avinstallera den nuvarande versionen av Pidgin. Den nya versionen " -"kommer att installeras utan att ta bort den f?r n?rvarande installerade " -"versionen." +msgid "Unable to uninstall the currently installed version of Pidgin. The new version will be installed without removing the currently installed version." +msgstr "Kunde inte avinstallera den nuvarande versionen av Pidgin. Den nya versionen kommer att installeras utan att ta bort den f?r n?rvarande installerade versionen." #. Text displayed on Installer Finish Page msgid "Visit the Pidgin Web Page" @@ -15799,210 +14629,148 @@ msgstr "Du har inte r?ttigheter att avi # Vad menas med In-Band, n?r anv?nds och vad blir d? l?mplig ?vers?ttning? Denna har antagligen n?got med "Out-of-Band att g?ra men hur h?nger de ihop? #~ msgid "In-Band Registration" #~ msgstr "In-Bandsregistrering" - #~ msgid "User Location" #~ msgstr "Placering" - #~ msgid "User Avatar" #~ msgstr "Anv?ndar-avatar" - #~ msgid "Chat State Notifications" #~ msgstr "Chatt-status notifieringar" - #~ msgid "Software Version" #~ msgstr "Mjukvaruversion" - #~ msgid "Stream Initiation" #~ msgstr "Str?minitiering" - #~ msgid "User Activity" #~ msgstr "Anv?ndaraktivitet" - # L?ter mysko, vet inte i vilket sammanhang. #~ msgid "Entity Capabilities" #~ msgstr "Existensm?jligheter" - #~ msgid "Encrypted Session Negotiations" #~ msgstr "F?rhandlingar om krypterade sessioner" - #~ msgid "User Tune" #~ msgstr "Anv?ndarl?t" - #~ msgid "Roster Item Exchange" #~ msgstr "Listinneh?llsutbyte" - # Vet inte om detta ?r b?sta, men... #~ msgid "Reachability Address" #~ msgstr "N?bar adress" - #~ msgid "Jingle" #~ msgstr "Ramsa" - # Vad ?r dessa? #~ msgid "Jingle Audio" #~ msgstr "S?ngsnutt" - #~ msgid "User Nickname" #~ msgstr "Anv?ndarsmeknamn" - # Vad ?r dessa? #~ msgid "Jingle ICE UDP" #~ msgstr "Ramsa ICE UDP" - # Vad ?r dessa? #~ msgid "Jingle ICE TCP" #~ msgstr "Ramsa ICE TCP" - # Vad ?r dessa? #~ msgid "Jingle Raw UDP" #~ msgstr "Ramsa R? UDP" - #~ msgid "Jingle Video" #~ msgstr "Ramsa Video" - # Vad ?r dessa? #~ msgid "Jingle DTMF" #~ msgstr "Ramsa DTMF" - #~ msgid "Message Receipts" #~ msgstr "Meddelandekvitton" - #~ msgid "Public Key Publishing" #~ msgstr "Publik nyckelpublisering" - #~ msgid "User Chatting" #~ msgstr "Anv?ndarchattning" - #~ msgid "User Browsing" #~ msgstr "Anv?ndarbl?ddring" - #~ msgid "User Viewing" #~ msgstr "Anv?ndarvisning" - #~ msgid "Stanza Encryption" #~ msgstr "Strofkryptering" - #~ msgid "Entity Time" #~ msgstr "Enhet Tid" - #~ msgid "Delayed Delivery" #~ msgstr "F?rsenad f?rs?ndelse" - #~ msgid "Collaborative Data Objects" #~ msgstr "Kollebrationsdata objekt" - #~ msgid "File Repository and Sharing" #~ msgstr "Filf?rvaringsplats och Delning" - #~ msgid "STUN Service Discovery for Jingle" #~ msgstr "STUN Serviceuppt?ckning f?r Ramsor" - #~ msgid "Simplified Encrypted Session Negotiation" #~ msgstr "Simpel crypterad session f?rhandling" - #~ msgid "Hop Check" #~ msgstr "Hoppkontroll" - #~ msgid "Read Error" #~ msgstr "L?sfel" - #~ msgid "Failed to connect to server." #~ msgstr "Kunde inte ansluta till servern." - #~ msgid "Read buffer full (2)" #~ msgstr "L?sbuffert full (2)" - #~ msgid "Unparseable message" #~ msgstr "Otolkbart meddelande" - #~ msgid "Couldn't connect to host: %s (%d)" #~ msgstr "Kunde inte ansluta till v?rd: %s (%d)" - #~ msgid "Login failed (%s)." #~ msgstr "Inloggningen misslyckades (%s)." - #~ msgid "" #~ "You have been logged out because you logged in at another workstation." #~ msgstr "Du har blivit utloggad eftersom du loggat in fr?n en annan dator." - #~ msgid "Error. SSL support is not installed." #~ msgstr "Fel. SSL-st?d ?r inte installerat." - #~ msgid "" #~ "Could not connect to BOS server:\n" #~ "%s" #~ msgstr "" #~ "Kunde inte ansluta till BOS-server:\n" #~ "%s" - #~ msgid "Invalid username." #~ msgstr "Ogiltigt anv?ndarnamn" - #~ msgid "Incorrect password." #~ msgstr "Felaktigt l?senord." - #~ msgid "Could Not Connect" #~ msgstr "Kunde inte ansluta" - #~ msgid "You may be disconnected shortly. Check %s for updates." #~ msgstr "Du kanske snart blir fr?nkopplad. Kolla p? %s efter uppdateringar." - #~ msgid "Could not decrypt server reply" #~ msgstr "Kan inte avkryptera inloggningssvaret" - #~ msgid "Connection lost" #~ msgstr "Anslutningen tappades" - #~ msgid "Couldn't resolve host" #~ msgstr "Kunde ej sl? upp v?rden" - #~ msgid "Connection closed (writing)" #~ msgstr "Anslutningen st?ngd (skrivande)" - #~ msgid "Connection reset" #~ msgstr "Anslutningen nollst?lld" - #~ msgid "Error reading from socket: %s" #~ msgstr "Fel vid l?sning av fr?n uttag %s" - #~ msgid "Unable to connect to host" #~ msgstr "Kan inte ansluta till v?rd" - #~ msgid "Could not write" #~ msgstr "Kunde inte skriva" - #~ msgid "Could not create listen socket" #~ msgstr "Kunde inte skapa lyssnarsocket" - #~ msgid "" #~ "Could not establish a connection with %s:\n" #~ "%s" #~ msgstr "" #~ "Kunde inte skapa en anslutning med %s:\n" #~ "%s" - #~ msgid "Activate which ID?" #~ msgstr "Vilket ID ska aktiveras?" - #~ msgid "Yahoo Japan" #~ msgstr "Yahoo Japan" - #~ msgid "Japan Pager server" #~ msgstr "Japan S?karserver" - #~ msgid "Japan file transfer server" #~ msgstr "Japan fil?verf?ringsserver" - #~ msgid "" #~ "Lost connection with server\n" #~ "%s" #~ msgstr "" #~ "Tappade anslutningen till servern\n" #~ "%s" - #~ msgid "Could not resolve host name" #~ msgstr "Kunde inte sl? upp v?rdnamnet" - #, fuzzy #~ msgid "" #~ "Unable to connect to %s: Server requires TLS/SSL, but no TLS/SSL support " @@ -16037,98 +14805,69 @@ msgstr "Du har inte r?ttigheter att avi # Os?ker: Finns smidigare l?sning? #~ msgid "Widget Sizes" #~ msgstr "Storlek p? grafiska element" - #~ msgid "Invite message" #~ msgstr "Inbjudningsmeddelande" - #~ msgid "" #~ "Please enter the name of the user you wish to invite,\n" #~ "along with an optional invite message." #~ msgstr "" #~ "Ange namnet p? den anv?ndare du vill bjuda in,\n" #~ "samt ett inbjudningsmeddelande om du vill" - #~ msgid "Looking up %s" #~ msgstr "Sl? upp %s" - #~ msgid "Connect to %s failed" #~ msgstr "Anslutning till %s misslyckades" - #~ msgid "Signon: %s" #~ msgstr "Inloggning: %s" - #~ msgid "Unable to write file %s." #~ msgstr "Kan inte skriva filen %s." - #~ msgid "Unable to read file %s." #~ msgstr "Kan inte l?sa filen %s." - #~ msgid "Message too long, last %s bytes truncated." #~ msgstr "Meddelandet ?r f?r l?ngt, de sista %s byten klipptes bort." - #~ msgid "%s not currently logged in." #~ msgstr "%s ?r inte inloggad f?r tillf?llet." - #~ msgid "Warning of %s not allowed." #~ msgstr "Varning f?r %s ?r inte till?ten." - #~ msgid "" #~ "A message has been dropped, you are exceeding the server speed limit." #~ msgstr "" #~ "Ett meddelande har kastats, du ?verskrider serverns hastighetsgr?ns." - #~ msgid "Chat in %s is not available." #~ msgstr "Chatt i %s ?r inte tillg?nglig." - #~ msgid "You are sending messages too fast to %s." #~ msgstr "Du skickar meddelanden f?r snabbt till %s." - #~ msgid "You missed an IM from %s because it was too big." #~ msgstr "Du missade ett snabbmeddelande fr?n %s eftersom det var f?r stort." - #~ msgid "You missed an IM from %s because it was sent too fast." #~ msgstr "" #~ "Du missade ett snabbmeddelande fr?n %s eftersom det skickades f?r snabbt." - #~ msgid "Failure." #~ msgstr "Misslyckande." - #~ msgid "Too many matches." #~ msgstr "F?r m?nga tr?ffar." - #~ msgid "Need more qualifiers." #~ msgstr "Beh?ver fler kvalificerare." - #~ msgid "Dir service temporarily unavailable." #~ msgstr "Katalogtj?nsten ?r tillf?lligt on?bar." - #~ msgid "Email lookup restricted." #~ msgstr "E-postuppslagning ?r begr?nsad." - #~ msgid "Keyword ignored." #~ msgstr "Nyckelordet ignorerades." - #~ msgid "No keywords." #~ msgstr "Inga nyckelord." - #~ msgid "User has no directory information." #~ msgstr "Anv?ndaren har ingen kataloginformation." - #~ msgid "Country not supported." #~ msgstr "Landet st?ds inte." - #~ msgid "Failure unknown: %s." #~ msgstr "Ok?nt misslyckande: %s." - #~ msgid "Incorrect username or password." #~ msgstr "Felaktigt anv?ndarnamn eller l?senord" - #~ msgid "The service is temporarily unavailable." #~ msgstr "Tj?nsten ?r tillf?lligt on?bar." - #~ msgid "Your warning level is currently too high to log in." #~ msgstr "Din varningsniv? ?r f?r tillf?llet f?r h?g f?r att logga in." - #~ msgid "" #~ "You have been connecting and disconnecting too frequently. Wait ten " #~ "minutes and try again. If you continue to try, you will need to wait " @@ -16137,93 +14876,66 @@ msgstr "Du har inte r?ttigheter att avi #~ "Du har anslutit och kopplat ifr?n f?r m?nga g?nger. V?nta tio minuter och " #~ "prova igen. Om du forts?tter att f?rs?ka kommer du att f? v?nta ?nnu " #~ "l?ngre." - #~ msgid "An unknown error, %d, has occurred. Info: %s" #~ msgstr "Ett ok?nt fel, %d, har intr?ffat. Information: %s" - #~ msgid "Invalid Groupname" #~ msgstr "Ogiltigt gruppnamn" - #~ msgid "Connection Closed" #~ msgstr "Anslutningen st?ngd" - #~ msgid "Waiting for reply..." #~ msgstr "V?ntar p? svar..." - #~ msgid "TOC has come back from its pause. You may now send messages again." #~ msgstr "" #~ "TOC har kommit tillbaka fr?n dess paus. Du kan nu skicka meddelanden igen." - #~ msgid "Password Change Successful" #~ msgstr "L?senords?ndring lyckades" - #~ msgid "Get Dir Info" #~ msgstr "H?mta kataloginformation" - #~ msgid "Set Dir Info" #~ msgstr "St?ll in kataloginformation" - #~ msgid "Could not open %s for writing!" #~ msgstr "Kunde inte ?ppna %s f?r l?sning!" - #~ msgid "File transfer failed; other side probably canceled." #~ msgstr "" #~ "Fil?verf?ringen misslyckades, antagligen eftersom andra sidan avbr?t." - #~ msgid "Could not connect for transfer." #~ msgstr "Kunde inte ansluta f?r ?verf?ring." - #~ msgid "Could not write file header. The file will not be transferred." #~ msgstr "Kunde inte skriva filhuvud, filen kommer inte att skickas." - #~ msgid "Save As..." #~ msgstr "Spara som..." - #~ msgid "%s requests %s to accept %d file: %s (%.2f %s)%s%s" #~ msgid_plural "%s requests %s to accept %d files: %s (%.2f %s)%s%s" #~ msgstr[0] "%s ber %s att acceptera %d fil: %s (%.2f %s)%s%s" #~ msgstr[1] "%s ber %s att acceptera %d filer: %s (%.2f %s)%s%s" - #~ msgid "%s requests you to send them a file" #~ msgstr "%s ber att du ska skicka denne en fil" - #~ msgid "TOC Protocol Plugin" #~ msgstr "Insticksmodul f?r TOC-protokoll" - #~ msgid "%s Options" #~ msgstr "%s-alternativ" - #~ msgid "Proxy Options" #~ msgstr "Proxyalternativ" - #~ msgid "By log size" #~ msgstr "Efter loggstorlek" - #~ msgid "_Open Link in Browser" #~ msgstr "_?ppna l?nk i webbl?sare" - #~ msgid "Smiley _Image" #~ msgstr "Smiley-_bild" - #~ msgid "Smiley S_hortcut" #~ msgstr "Smiley-_genv?g" - #~ msgid "Unable to retrieve MSN Address Book" #~ msgstr "Kunde inte h?mta MSN-adressbok" - #~ msgid "" #~ "You may be disconnected shortly. You may want to use TOC until this is " #~ "fixed. Check %s for updates." #~ msgstr "" #~ "Du kanske snart blir fr?nkopplad, du kanske ska anv?nda TOC tills detta " #~ "?r fixat. Kolla p? %s efter uppdateringar." - #~ msgid "_Flash window when chat messages are received" #~ msgstr "Blinka med _f?nstret n?r chattmeddelanden tas emot" - #~ msgid "A group with the name already exists." #~ msgstr "En grupp med det namnet finns redan." - #~ msgid "Connection to server lost (no data received within %d second)" #~ msgid_plural "" #~ "Connection to server lost (no data received within %d seconds)" @@ -16231,13 +14943,10 @@ msgstr "Du har inte r?ttigheter att avi #~ "Anslutning till servern tappad (ingen data mottagen p? %d sekund)" #~ msgstr[1] "" #~ "Anslutning till servern tappad (ingen data mottagen p? %d sekunder)" - #~ msgid "Primary Information" #~ msgstr "Prim?r information" - #~ msgid "Blood Type" #~ msgstr "Blodgrupp" - #, fuzzy #~ msgid "Update information" #~ msgstr "Uppdatera min information" @@ -16261,7 +14970,6 @@ msgstr "Du har inte r?ttigheter att avi # Os?ker: (Hrm... #~ msgid "Add buddy with auth request failed" #~ msgstr "L?gg till kompis med misslyckad autentiseringsf?rfr?gan" - #, fuzzy #~ msgid "Add into %d's buddy list" #~ msgstr "Kunde inte l?sa in kompislista" From malu at pidgin.im Sun Jun 20 16:31:39 2010 From: malu at pidgin.im (malu at pidgin.im) Date: Sun, 20 Jun 2010 16:31:39 -0400 (EDT) Subject: cpw.malu.xmpp.jingle_ft: 874bf9f0: Choose the right session when calling ji... Message-ID: <20100620203139.ED17BAFD208F@rock.pidgin.im> ----------------------------------------------------------------- Revision: 874bf9f058856f28c2ed428b8ec9825c7ba59f05 Ancestor: a1bed004d6a995c05ec80f3335187aef96b23a93 Author: malu at pidgin.im Date: 2010-06-20T20:27:09 Branch: im.pidgin.cpw.malu.xmpp.jingle_ft URL: http://d.pidgin.im/viewmtn/revision/info/874bf9f058856f28c2ed428b8ec9825c7ba59f05 Modified files: libpurple/protocols/jabber/jingle/rtp.c ChangeLog: Choose the right session when calling jingle_rtp_terminate_session -------------- next part -------------- ============================================================ --- libpurple/protocols/jabber/jingle/rtp.c e38e19048dd7642307f905ec315c7deeafb46699 +++ libpurple/protocols/jabber/jingle/rtp.c c43653d6bb94c9402406818094b9a7327d144d08 @@ -972,18 +972,27 @@ jingle_rtp_terminate_session(JabberStrea jingle_rtp_terminate_session(JabberStream *js, const gchar *who) { JingleSession *session; -/* XXX: This may cause file transfers and xml sessions to stop as well */ - session = jingle_session_find_by_jid(js, who); + GList *sessions = jingle_session_get_all(js); + GList *iter; - if (session) { - PurpleMedia *media = jingle_rtp_get_media(session); - if (media) { - purple_debug_info("jingle-rtp", "hanging up media\n"); - purple_media_stream_info(media, - PURPLE_MEDIA_INFO_HANGUP, + purple_debug_info("jingle-rtp", "jingle_rtp_terminate_session\n"); + + for (iter = sessions ; iter ; iter = g_list_next(iter)) { + JingleSession *session = (JingleSession *) iter->data; + + if (purple_strequal(jingle_session_get_remote_jid(session), who)) { + PurpleMedia *media = jingle_rtp_get_media(session); + + if (media) { + purple_debug_info("jingle-rtp", "hanging up media\n"); + purple_media_stream_info(media, PURPLE_MEDIA_INFO_HANGUP, NULL, NULL, TRUE); + break; + } } } + + g_list_free(sessions); } #endif /* USE_VV */ From malu at pidgin.im Sun Jun 20 16:55:50 2010 From: malu at pidgin.im (malu at pidgin.im) Date: Sun, 20 Jun 2010 16:55:50 -0400 (EDT) Subject: cpw.malu.xmpp.jingle_ft: 83fd1df4: propagate from branch 'im.pidgin.pidgin'... Message-ID: <20100620205550.B894CAFD1FBE@rock.pidgin.im> ----------------------------------------------------------------- Revision: 83fd1df46d24e73ea9732db36e1e10693160bc99 Ancestor: 140d7640af14c88fbd79c73548a8cf89067e6542 Ancestor: b8f492180651b61175e947f75144c809fafc1c25 Author: malu at pidgin.im Date: 2010-06-20T20:53:46 Branch: im.pidgin.cpw.malu.xmpp.jingle_ft URL: http://d.pidgin.im/viewmtn/revision/info/83fd1df46d24e73ea9732db36e1e10693160bc99 Added files: libpurple/protocols/jabber/jingle/file-transfer.c libpurple/protocols/jabber/jingle/file-transfer.h libpurple/protocols/jabber/jingle/ibbs.c libpurple/protocols/jabber/jingle/ibbs.h libpurple/protocols/jabber/jingle/s5b.c libpurple/protocols/jabber/jingle/s5b.h libpurple/protocols/jabber/socks5.c libpurple/protocols/jabber/socks5.h libpurple/protocols/jabber/xfer.c libpurple/protocols/jabber/xfer.h Modified files: ChangeLog ChangeLog.API doc/finch.1.in finch/libgnt/gntbox.c finch/libgnt/gntcombobox.c finch/libgnt/gntentry.c libpurple/account.c libpurple/ft.c libpurple/media/backend-fs2.c libpurple/protocols/gg/lib/resolver.c libpurple/protocols/jabber/Makefile.am libpurple/protocols/jabber/Makefile.mingw libpurple/protocols/jabber/auth_cyrus.c libpurple/protocols/jabber/data.c libpurple/protocols/jabber/jabber.c libpurple/protocols/jabber/jingle/jingle.c libpurple/protocols/jabber/jingle/jingle.h libpurple/protocols/jabber/jingle/rtp.c libpurple/protocols/jabber/jingle/session.c libpurple/protocols/jabber/jingle/session.h libpurple/protocols/jabber/jutil.c libpurple/protocols/jabber/libxmpp.c libpurple/protocols/jabber/message.c libpurple/protocols/jabber/si.c libpurple/protocols/oscar/family_icbm.c libpurple/protocols/yahoo/libyahoo.c libpurple/protocols/yahoo/libyahoojp.c libpurple/protocols/yahoo/libymsg.c libpurple/protocols/yahoo/libymsg.h libpurple/protocols/yahoo/util.c libpurple/tests/test_jabber_scram.c libpurple/tests/test_util.c libpurple/util.c pidgin/gtkblist.c pidgin/gtkimhtmltoolbar.c po/sv.po ChangeLog: propagate from branch 'im.pidgin.pidgin' (head 140d7640af14c88fbd79c73548a8cf89067e6542) to branch 'im.pidgin.cpw.malu.xmpp.jingle_ft' (head b8f492180651b61175e947f75144c809fafc1c25) From malu at pidgin.im Sun Jun 20 16:55:51 2010 From: malu at pidgin.im (malu at pidgin.im) Date: Sun, 20 Jun 2010 16:55:51 -0400 (EDT) Subject: cpw.malu.xmpp.jingle_ft: b8f49218: Remove left-over file transfer thumbnail... Message-ID: <20100620205551.2427CAFD1FBE@rock.pidgin.im> ----------------------------------------------------------------- Revision: b8f492180651b61175e947f75144c809fafc1c25 Ancestor: 874bf9f058856f28c2ed428b8ec9825c7ba59f05 Author: malu at pidgin.im Date: 2010-06-20T20:52:42 Branch: im.pidgin.cpw.malu.xmpp.jingle_ft URL: http://d.pidgin.im/viewmtn/revision/info/b8f492180651b61175e947f75144c809fafc1c25 Modified files: libpurple/protocols/jabber/data.c libpurple/protocols/jabber/jingle/file-transfer.c libpurple/protocols/jabber/si.c ChangeLog: Remove left-over file transfer thumbnail (if the receiver haven't picked it up when the tranfer is finished), avoids leaking BoB objects when sending stuff to non-thumbnail-aware clients. -------------- next part -------------- ============================================================ --- libpurple/protocols/jabber/data.c 6fda9e25126487bc940d6926f96d328c0c9202b1 +++ libpurple/protocols/jabber/data.c 8286c9d5f5926f57cabb5b0c429b6129c1c2ffff @@ -117,7 +117,20 @@ jabber_data_destroy(JabberData *data) void jabber_data_destroy(JabberData *data) { - jabber_data_delete(data); + GList *alt_refs = g_hash_table_get_keys(local_data_by_alt); + GList *iter; + + for (iter = alt_refs ; iter ; iter = g_list_next(iter)) { + const gchar *alt = iter->data; + JabberData *d = jabber_data_find_local_by_alt(alt); + + if (purple_strequal(jabber_data_get_cid(d), jabber_data_get_cid(data))) { + g_hash_table_remove(local_data_by_alt, alt); + } + } + + g_hash_table_remove(local_data_by_cid, jabber_data_get_cid(data)); + g_hash_table_remove(remote_data_by_cid, jabber_data_get_cid(data)); } const char * ============================================================ --- libpurple/protocols/jabber/jingle/file-transfer.c e743cda192113a9e3df57256b126990056f4bbb4 +++ libpurple/protocols/jabber/jingle/file-transfer.c 5624537ab3de04e0953a64f640c7fd99b10c6b40 @@ -16,6 +16,7 @@ #include "internal.h" +#include "data.h" #include "jingle.h" #include "file-transfer.h" #include "ibbs.h" @@ -126,6 +127,16 @@ jingle_file_transfer_finalize (GObject * priv->xfer->data = NULL; } + if (priv->thumbnail_cid) { + JabberData *thumbnail = + jabber_data_find_local_by_cid(priv->thumbnail_cid); + + if (thumbnail) { + purple_debug_info("jingle-ft", "disposing left-over thumbnail\n"); + jabber_data_destroy(priv->thumbnail_cid); + } + } + G_OBJECT_CLASS(parent_class)->finalize(ft); } ============================================================ --- libpurple/protocols/jabber/si.c 5b9a60008f2fe230051d80b7db1dcd68983b2033 +++ libpurple/protocols/jabber/si.c 271d270608089a320a02d4520081d0220b59ef85 @@ -72,6 +72,11 @@ typedef struct _JabberSIXfer { JabberIBBSession *ibb_session; guint ibb_timeout_handle; PurpleCircBuffer *ibb_buffer; + +#if ENABLE_FT_THUMBNAILS + /* CID for thumbnail */ + const gchar *thumbnail_cid; +#endif } JabberSIXfer; /* some forward declarations */ @@ -954,12 +959,11 @@ static void jabber_si_xfer_send_request( JabberSIXfer *jsx = xfer->data; JabberIq *iq; xmlnode *si, *feature, *x, *field, *option, *value; - const gchar *thumbnail_cid = NULL; xfer->filename = g_path_get_basename(xfer->local_filename); #if ENABLE_FT_THUMBNAILS - thumbnail_cid = jabber_xfer_add_thumbnail(jsx->js, xfer); + jsx->thumbnail_cid = jabber_xfer_add_thumbnail(jsx->js, xfer); #endif iq = jabber_iq_new(jsx->js, JABBER_IQ_SET); @@ -971,7 +975,7 @@ static void jabber_si_xfer_send_request( xmlnode_set_attrib(si, "profile", "http://jabber.org/protocol/si/profile/file-transfer"); xmlnode_insert_child(si, - jabber_xfer_create_file_element(xfer, thumbnail_cid)); + jabber_xfer_create_file_element(xfer, jsx->thumbnail_cid)); feature = xmlnode_new_child(si, "feature"); xmlnode_set_namespace(feature, "http://jabber.org/protocol/feature-neg"); x = xmlnode_new_child(feature, "x"); @@ -1044,6 +1048,18 @@ static void jabber_si_xfer_free(PurpleXf purple_circ_buffer_destroy(jsx->ibb_buffer); } +#if ENABLE_FT_THUMBNAILS + if (jsx->thumbnail_cid) { + JabberData *thumbnail = + jabber_data_find_local_by_cid(jsx->thumbnail_cid); + + if (thumbnail) { + purple_debug_info("jabber", "disposing left-over thumbnail\n"); + jabber_data_destroy(thumbnail); + } + } +#endif + purple_debug_info("jabber", "jabber_si_xfer_free(): freeing jsx %p\n", jsx); g_free(jsx->stream_id); From masca at cpw.pidgin.im Mon Jun 21 03:16:32 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Mon, 21 Jun 2010 03:16:32 -0400 (EDT) Subject: soc.2010.msn-tlc: 101ed1ac: Move an user utility function to User. Message-ID: <20100621071633.15FD0AFD0B89@rock.pidgin.im> ----------------------------------------------------------------- Revision: 101ed1ac46085f1d8d934856a4b9ec067bfc4d1f Ancestor: fdfc53d0d7a8b438aaaebf37dfeca7c4a707c7b6 Author: masca at cpw.pidgin.im Date: 2010-06-19T23:23:23 Branch: im.pidgin.soc.2010.msn-tlc URL: http://d.pidgin.im/viewmtn/revision/info/101ed1ac46085f1d8d934856a4b9ec067bfc4d1f Modified files: libpurple/protocols/msn/switchboard.c libpurple/protocols/msn/user.c libpurple/protocols/msn/user.h ChangeLog: Move an user utility function to User. -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/switchboard.c 8ad481edc0764d93482bf8476e7a532e2801f04a +++ libpurple/protocols/msn/switchboard.c f8d24ebdb05de1f8c625d58008ba42066789b68f @@ -228,16 +228,6 @@ send_clientcaps(MsnSwitchBoard *swboard) msn_message_destroy(msg); } -static int -user_passport_cmp(MsnUser *user, const char *passport) -{ - const char *pass; - - pass = msn_user_get_passport(user); - - return strcmp(pass, passport); -} - static void msn_switchboard_add_user(MsnSwitchBoard *swboard, const char *user) { @@ -264,7 +254,7 @@ msn_switchboard_add_user(MsnSwitchBoard msnuser = msn_userlist_find_user(userlist, passport); /* Don't add multiple endpoints to the conversation. */ - if (g_list_find_custom(swboard->users, passport, (GCompareFunc)user_passport_cmp)) { + if (g_list_find_custom(swboard->users, passport, (GCompareFunc)msn_user_passport_cmp)) { g_free(passport); return; } ============================================================ --- libpurple/protocols/msn/user.c f515b669298979dd6e4b7144e16cf8d8e0dd9c7d +++ libpurple/protocols/msn/user.c c31a75fe7315debe3decb250c50f97ff6ee73d45 @@ -666,6 +666,16 @@ msn_user_is_capable(MsnUser *user, char * Utility functions **************************************************************************/ +int +msn_user_passport_cmp(MsnUser *user, const char *passport) +{ + const char *pass; + + pass = msn_user_get_passport(user); + + return strcmp(pass, passport); +} + gboolean msn_user_is_in_group(MsnUser *user, const char * group_id) { ============================================================ --- libpurple/protocols/msn/user.h 17a1865ace22c7016f29403d76c37cdf62805a13 +++ libpurple/protocols/msn/user.h d4606d7f51ee3335283d70bb7e23a771ac86f35a @@ -490,6 +490,18 @@ void msn_user_unset_op(MsnUser *user, Ms void msn_user_unset_op(MsnUser *user, MsnListOp list_op); /** + * Compare the given passport with the one of the user + * + * @param user User to compare. + * @oaran passport Passport to compare. + * + * @return Zero if the passport match with the one of the user, otherwise + * a positive integer if the user passport is greather than the one given + * and a negative integer if it is less. + */ +int msn_user_passport_cmp(MsnUser *user, const char *passport); + +/** * Checks whether a user is capable of some task. * * @param user The user. From masca at cpw.pidgin.im Mon Jun 21 03:16:33 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Mon, 21 Jun 2010 03:16:33 -0400 (EDT) Subject: soc.2010.msn-tlc: 1741a90c: This header is needed to know the max si... Message-ID: <20100621071633.71D81AFD0B89@rock.pidgin.im> ----------------------------------------------------------------- Revision: 1741a90c03354e35d99ad7208c2c65aeeef877be Ancestor: e52b66f87760fcd82cc63a92372263bb560dd676 Author: masca at cpw.pidgin.im Date: 2010-06-19T22:28:59 Branch: im.pidgin.soc.2010.msn-tlc URL: http://d.pidgin.im/viewmtn/revision/info/1741a90c03354e35d99ad7208c2c65aeeef877be Modified files: libpurple/protocols/msn/slp.c ChangeLog: This header is needed to know the max size of a part. -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/slp.c d1422e1d616732734f8d4044f5ceb6ca43bde210 +++ libpurple/protocols/msn/slp.c 0f59c9d0618bd06de70c99311dbf627eba52159e @@ -33,6 +33,7 @@ #include "object.h" #include "user.h" #include "switchboard.h" +#include "sbconn.h" #include "directconn.h" #include "p2p.h" From masca at cpw.pidgin.im Mon Jun 21 03:16:34 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Mon, 21 Jun 2010 03:16:34 -0400 (EDT) Subject: soc.2010.msn-tlc: 23edb29e: MsnMessage is not needed anymore by SlpM... Message-ID: <20100621071634.89F00AFD0B89@rock.pidgin.im> ----------------------------------------------------------------- Revision: 23edb29e2918b2e4567583d163d4ffed790ccfd0 Ancestor: 3c477f9eafb9ad11c6a6754982d9dd4be80e71d2 Author: masca at cpw.pidgin.im Date: 2010-06-19T22:48:00 Branch: im.pidgin.soc.2010.msn-tlc URL: http://d.pidgin.im/viewmtn/revision/info/23edb29e2918b2e4567583d163d4ffed790ccfd0 Modified files: libpurple/protocols/msn/slpmsg.c libpurple/protocols/msn/slpmsg.h ChangeLog: MsnMessage is not needed anymore by SlpMessage. -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/slpmsg.c acfbd76951c87394b517da9440fa6e63a1526ef6 +++ libpurple/protocols/msn/slpmsg.c ab6236e6b81765ad2e450f6841f9c765d4ed18f0 @@ -172,6 +172,7 @@ msn_slpmsg_set_image(MsnSlpMessage *slpm slpmsg->size = purple_imgstore_get_size(img); } +#if 0 void msn_slpmsg_show(MsnMessage *msg) { @@ -200,6 +201,7 @@ msn_slpmsg_show(MsnMessage *msg) msn_message_show_readable(msg, info, text); } +#endif MsnSlpMessage * msn_slpmsg_sip_new(MsnSlpCall *slpcall, int cseq, ============================================================ --- libpurple/protocols/msn/slpmsg.h 17044df4ef608ad97a51860650298bf641f425c9 +++ libpurple/protocols/msn/slpmsg.h 4dccd8e99a23e546248c2bd322478f8ecfb4f685 @@ -31,7 +31,6 @@ typedef struct _MsnSlpMessage MsnSlpMess #include "slpcall.h" #include "slplink.h" #include "session.h" -#include "msg.h" #include "p2p.h" #include "slp.h" @@ -168,7 +167,9 @@ MsnSlpMessage *msn_slpmsg_file_new(MsnSl */ MsnSlpMessage *msn_slpmsg_file_new(MsnSlpCall *slpcall, size_t size); +#if 0 void msn_slpmsg_show(MsnMessage *msg); +#endif /** * Serialize the MsnSlpMessage in a way it can be used to be transmited From masca at cpw.pidgin.im Mon Jun 21 03:16:34 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Mon, 21 Jun 2010 03:16:34 -0400 (EDT) Subject: soc.2010.msn-tlc: 35c482c8: Fix slp.h headers so it have anything it... Message-ID: <20100621071635.2C91FAFD2023@rock.pidgin.im> ----------------------------------------------------------------- Revision: 35c482c85f768f527a736a46f5b7fb7d54fbe694 Ancestor: ec024f76c6b37b84ce335f525fcc2dada004096d Author: masca at cpw.pidgin.im Date: 2010-06-17T20:01:31 Branch: im.pidgin.soc.2010.msn-tlc URL: http://d.pidgin.im/viewmtn/revision/info/35c482c85f768f527a736a46f5b7fb7d54fbe694 Modified files: libpurple/protocols/msn/slp.h ChangeLog: Fix slp.h headers so it have anything it needs on its own. -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/slp.h 4c64792a4976fabe1505f42159484aa0965a48d7 +++ libpurple/protocols/msn/slp.h 0610af1662b6a1c1b68f9f4b7e7b48563c0cf319 @@ -25,9 +25,12 @@ #define MSN_SLP_H #include "internal.h" +#include "ft.h" #include "session.h" #include "slpcall.h" +#include "slplink.h" +#include "user.h" #define MAX_FILE_NAME_LEN 260 /* MAX_PATH in Windows */ From masca at cpw.pidgin.im Mon Jun 21 03:16:36 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Mon, 21 Jun 2010 03:16:36 -0400 (EDT) Subject: soc.2010.msn-tlc: 3c477f9e: Move MsnMessage callbacks to msn.c inste... Message-ID: <20100621071637.1CE20AFD2058@rock.pidgin.im> ----------------------------------------------------------------- Revision: 3c477f9eafb9ad11c6a6754982d9dd4be80e71d2 Ancestor: 1741a90c03354e35d99ad7208c2c65aeeef877be Author: masca at cpw.pidgin.im Date: 2010-06-19T22:29:55 Branch: im.pidgin.soc.2010.msn-tlc URL: http://d.pidgin.im/viewmtn/revision/info/3c477f9eafb9ad11c6a6754982d9dd4be80e71d2 Modified files: libpurple/protocols/msn/msg.c libpurple/protocols/msn/msg.h libpurple/protocols/msn/switchboard.c ChangeLog: Move MsnMessage callbacks to msn.c instead of polluting everywhere. -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/msg.c 506dee5dbad362381db6dcdf0adf19d4fa0b520d +++ libpurple/protocols/msn/msg.c f6b5b68b071e7400439c20a9a5141991701cf4c1 @@ -900,6 +900,145 @@ void } void +msn_p2p_msg(MsnCmdProc *cmdproc, MsnMessage *msg) +{ + MsnSession *session; + MsnSlpLink *slplink; + const char *data; + gsize len; + + session = cmdproc->servconn->session; + slplink = msn_session_get_slplink(session, msg->remote_user); + + if (slplink->swboard == NULL) + { + /* + * We will need swboard in order to change its flags. If its + * NULL, something has probably gone wrong earlier on. I + * didn't want to do this, but MSN 7 is somehow causing us + * to crash here, I couldn't reproduce it to debug more, + * and people are reporting bugs. Hopefully this doesn't + * cause more crashes. Stu. + */ + if (cmdproc->data == NULL) + g_warning("msn_p2p_msg cmdproc->data was NULL\n"); + else { + slplink->swboard = (MsnSwitchBoard *)cmdproc->data; + slplink->swboard->slplinks = g_list_prepend(slplink->swboard->slplinks, slplink); + } + } + + data = msn_message_get_bin_data(msg, &len); + + msn_slplink_process_msg(slplink, msg->part->header, data, len); +} + +static void +got_emoticon(MsnSlpCall *slpcall, + const guchar *data, gsize size) +{ + PurpleConversation *conv; + MsnSwitchBoard *swboard; + + swboard = slpcall->slplink->swboard; + conv = swboard->conv; + + if (conv) { + /* FIXME: it would be better if we wrote the data as we received it + instead of all at once, calling write multiple times and + close once at the very end + */ + purple_conv_custom_smiley_write(conv, slpcall->data_info, data, size); + purple_conv_custom_smiley_close(conv, slpcall->data_info ); + } + if (purple_debug_is_verbose()) + purple_debug_info("msn", "Got smiley: %s\n", slpcall->data_info); +} + +void msn_emoticon_msg(MsnCmdProc *cmdproc, MsnMessage *msg) +{ + MsnSession *session; + MsnSlpLink *slplink; + MsnSwitchBoard *swboard; + MsnObject *obj; + char **tokens; + char *smile, *body_str; + const char *body, *who, *sha1; + guint tok; + size_t body_len; + + PurpleConversation *conv; + + session = cmdproc->servconn->session; + + if (!purple_account_get_bool(session->account, "custom_smileys", TRUE)) + return; + + swboard = cmdproc->data; + conv = swboard->conv; + + body = msn_message_get_bin_data(msg, &body_len); + if (!body || !body_len) + return; + body_str = g_strndup(body, body_len); + + /* MSN Messenger 7 may send more than one MSNObject in a single message... + * Maybe 10 tokens is a reasonable max value. */ + tokens = g_strsplit(body_str, "\t", 10); + + g_free(body_str); + + for (tok = 0; tok < 9; tok += 2) { + if (tokens[tok] == NULL || tokens[tok + 1] == NULL) { + break; + } + + smile = tokens[tok]; + obj = msn_object_new_from_string(purple_url_decode(tokens[tok + 1])); + + if (obj == NULL) + break; + + who = msn_object_get_creator(obj); + sha1 = msn_object_get_sha1(obj); + + slplink = msn_session_get_slplink(session, who); + if (slplink->swboard != swboard) { + if (slplink->swboard != NULL) + /* + * Apparently we're using a different switchboard now or + * something? I don't know if this is normal, but it + * definitely happens. So make sure the old switchboard + * doesn't still have a reference to us. + */ + slplink->swboard->slplinks = g_list_remove(slplink->swboard->slplinks, slplink); + slplink->swboard = swboard; + slplink->swboard->slplinks = g_list_prepend(slplink->swboard->slplinks, slplink); + } + + /* If the conversation doesn't exist then this is a custom smiley + * used in the first message in a MSN conversation: we need to create + * the conversation now, otherwise the custom smiley won't be shown. + * This happens because every GtkIMHtml has its own smiley tree: if + * the conversation doesn't exist then we cannot associate the new + * smiley with its GtkIMHtml widget. */ + if (!conv) { + conv = purple_conversation_new(PURPLE_CONV_TYPE_IM, session->account, who); + } + + if (purple_conv_custom_smiley_add(conv, smile, "sha1", sha1, TRUE)) { + msn_slplink_request_object(slplink, smile, got_emoticon, NULL, obj); + } + + msn_object_destroy(obj); + obj = NULL; + who = NULL; + sha1 = NULL; + } + g_strfreev(tokens); +} + +void msn_datacast_msg(MsnCmdProc *cmdproc, MsnMessage *msg) { GHashTable *body; ============================================================ --- libpurple/protocols/msn/msg.h bb238fb27c820ab92f480b1a3bfbe132d7dc21b3 +++ libpurple/protocols/msn/msg.h d04d3122f273f823631939e36f1fa2763d794139 @@ -317,6 +317,10 @@ void msn_control_msg(MsnCmdProc *cmdproc void msn_control_msg(MsnCmdProc *cmdproc, MsnMessage *msg); +void msn_p2p_msg(MsnCmdProc *cmdproc, MsnMessage *msg); + +void msn_emoticon_msg(MsnCmdProc *cmdproc, MsnMessage *msg); + void msn_datacast_msg(MsnCmdProc *cmdproc, MsnMessage *msg); void msn_handwritten_msg(MsnCmdProc *cmdproc, MsnMessage *msg); ============================================================ --- libpurple/protocols/msn/switchboard.c 6255375412ff05820292ffa528fb8f470be803d7 +++ libpurple/protocols/msn/switchboard.c 19090d119e5c0cd329ccd028954f4bd427624ae5 @@ -575,145 +575,6 @@ msg_error_helper(MsnCmdProc *cmdproc, Ms * Message Stuff **************************************************************************/ -void -msn_p2p_msg(MsnCmdProc *cmdproc, MsnMessage *msg) -{ - MsnSession *session; - MsnSlpLink *slplink; - const char *data; - gsize len; - - session = cmdproc->servconn->session; - slplink = msn_session_get_slplink(session, msg->remote_user); - - if (slplink->swboard == NULL) - { - /* - * We will need swboard in order to change its flags. If its - * NULL, something has probably gone wrong earlier on. I - * didn't want to do this, but MSN 7 is somehow causing us - * to crash here, I couldn't reproduce it to debug more, - * and people are reporting bugs. Hopefully this doesn't - * cause more crashes. Stu. - */ - if (cmdproc->data == NULL) - g_warning("msn_p2p_msg cmdproc->data was NULL\n"); - else { - slplink->swboard = (MsnSwitchBoard *)cmdproc->data; - slplink->swboard->slplinks = g_list_prepend(slplink->swboard->slplinks, slplink); - } - } - - data = msn_message_get_bin_data(msg, &len); - - msn_slplink_process_msg(slplink, msg->part->header, data, len); -} - -static void -got_emoticon(MsnSlpCall *slpcall, - const guchar *data, gsize size) -{ - PurpleConversation *conv; - MsnSwitchBoard *swboard; - - swboard = slpcall->slplink->swboard; - conv = swboard->conv; - - if (conv) { - /* FIXME: it would be better if we wrote the data as we received it - instead of all at once, calling write multiple times and - close once at the very end - */ - purple_conv_custom_smiley_write(conv, slpcall->data_info, data, size); - purple_conv_custom_smiley_close(conv, slpcall->data_info ); - } - if (purple_debug_is_verbose()) - purple_debug_info("msn", "Got smiley: %s\n", slpcall->data_info); -} - -void msn_emoticon_msg(MsnCmdProc *cmdproc, MsnMessage *msg) -{ - MsnSession *session; - MsnSlpLink *slplink; - MsnSwitchBoard *swboard; - MsnObject *obj; - char **tokens; - char *smile, *body_str; - const char *body, *who, *sha1; - guint tok; - size_t body_len; - - PurpleConversation *conv; - - session = cmdproc->servconn->session; - - if (!purple_account_get_bool(session->account, "custom_smileys", TRUE)) - return; - - swboard = cmdproc->data; - conv = swboard->conv; - - body = msn_message_get_bin_data(msg, &body_len); - if (!body || !body_len) - return; - body_str = g_strndup(body, body_len); - - /* MSN Messenger 7 may send more than one MSNObject in a single message... - * Maybe 10 tokens is a reasonable max value. */ - tokens = g_strsplit(body_str, "\t", 10); - - g_free(body_str); - - for (tok = 0; tok < 9; tok += 2) { - if (tokens[tok] == NULL || tokens[tok + 1] == NULL) { - break; - } - - smile = tokens[tok]; - obj = msn_object_new_from_string(purple_url_decode(tokens[tok + 1])); - - if (obj == NULL) - break; - - who = msn_object_get_creator(obj); - sha1 = msn_object_get_sha1(obj); - - slplink = msn_session_get_slplink(session, who); - if (slplink->swboard != swboard) { - if (slplink->swboard != NULL) - /* - * Apparently we're using a different switchboard now or - * something? I don't know if this is normal, but it - * definitely happens. So make sure the old switchboard - * doesn't still have a reference to us. - */ - slplink->swboard->slplinks = g_list_remove(slplink->swboard->slplinks, slplink); - slplink->swboard = swboard; - slplink->swboard->slplinks = g_list_prepend(slplink->swboard->slplinks, slplink); - } - - /* If the conversation doesn't exist then this is a custom smiley - * used in the first message in a MSN conversation: we need to create - * the conversation now, otherwise the custom smiley won't be shown. - * This happens because every GtkIMHtml has its own smiley tree: if - * the conversation doesn't exist then we cannot associate the new - * smiley with its GtkIMHtml widget. */ - if (!conv) { - conv = purple_conversation_new(PURPLE_CONV_TYPE_IM, session->account, who); - } - - if (purple_conv_custom_smiley_add(conv, smile, "sha1", sha1, TRUE)) { - msn_slplink_request_object(slplink, smile, got_emoticon, NULL, obj); - } - - msn_object_destroy(obj); - obj = NULL; - who = NULL; - sha1 = NULL; - } - g_strfreev(tokens); -} - /** Called when a message times out. */ static void msg_timeout(MsnCmdProc *cmdproc, MsnTransaction *trans) From masca at cpw.pidgin.im Mon Jun 21 03:16:40 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Mon, 21 Jun 2010 03:16:40 -0400 (EDT) Subject: soc.2010.msn-tlc: 99802eb8: Move sending messages via SB to SBConn. Message-ID: <20100621071641.25267AFD207B@rock.pidgin.im> ----------------------------------------------------------------- Revision: 99802eb80a7acda4ce23f38913a5c523abfe024f Ancestor: a336999d90dfa3f73962fc43e281048a5453f542 Author: masca at cpw.pidgin.im Date: 2010-06-19T23:03:04 Branch: im.pidgin.soc.2010.msn-tlc URL: http://d.pidgin.im/viewmtn/revision/info/99802eb80a7acda4ce23f38913a5c523abfe024f Modified files: libpurple/protocols/msn/sbconn.c libpurple/protocols/msn/sbconn.h libpurple/protocols/msn/switchboard.c ChangeLog: Move sending messages via SB to SBConn. -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/sbconn.c bd38630117064279b8f8a219a5967bf70992466d +++ libpurple/protocols/msn/sbconn.c d3d03662b6a24be5e3577fc2a371dc8642c1b472 @@ -108,3 +108,107 @@ void msn_sbconn_send_part(MsnSlpLink *sl msn_switchboard_send_msg(slplink->swboard, msg, TRUE); } + +static void +release_msg(MsnSwitchBoard *swboard, MsnMessage *msg) +{ + MsnCmdProc *cmdproc; + MsnTransaction *trans; + char *payload; + gsize payload_len; + char flag; + + g_return_if_fail(swboard != NULL); + g_return_if_fail(msg != NULL); + + cmdproc = swboard->cmdproc; + + payload = msn_message_gen_payload(msg, &payload_len); + + if (purple_debug_is_verbose()) { + purple_debug_info("msn", "SB length:{%" G_GSIZE_FORMAT "}\n", payload_len); + msn_message_show_readable(msg, "SB SEND", FALSE); + } + + flag = msn_message_get_flag(msg); + trans = msn_transaction_new(cmdproc, "MSG", "%c %" G_GSIZE_FORMAT, + flag, payload_len); + + /* Data for callbacks */ + msn_transaction_set_data(trans, msg); + + if (flag != 'U') { + if (msg->type == MSN_MSG_TEXT) + { + msg->ack_ref = TRUE; + msn_message_ref(msg); + swboard->ack_list = g_list_append(swboard->ack_list, msg); + msn_transaction_set_timeout_cb(trans, msg_timeout); + } + else if (msg->type == MSN_MSG_SLP) + { + msg->ack_ref = TRUE; + msn_message_ref(msg); + swboard->ack_list = g_list_append(swboard->ack_list, msg); + msn_transaction_set_timeout_cb(trans, msg_timeout); +#if 0 + if (msg->ack_cb != NULL) + { + msn_transaction_add_cb(trans, "ACK", msg_ack); + msn_transaction_add_cb(trans, "NAK", msg_nak); + } +#endif + } + } + + trans->payload = payload; + trans->payload_len = payload_len; + + msg->trans = trans; + + msn_cmdproc_send_trans(cmdproc, trans); +} + +static void +queue_msg(MsnSwitchBoard *swboard, MsnMessage *msg) +{ + g_return_if_fail(swboard != NULL); + g_return_if_fail(msg != NULL); + + purple_debug_info("msn", "Appending message to queue.\n"); + + g_queue_push_tail(swboard->msg_queue, msg); + + msn_message_ref(msg); +} + +static void +process_queue(MsnSwitchBoard *swboard) +{ + MsnMessage *msg; + + g_return_if_fail(swboard != NULL); + + purple_debug_info("msn", "Processing queue\n"); + + while ((msg = g_queue_pop_head(swboard->msg_queue)) != NULL) + { + purple_debug_info("msn", "Sending message\n"); + release_msg(swboard, msg); + msn_message_unref(msg); + } +} + +void +msn_switchboard_send_msg(MsnSwitchBoard *swboard, MsnMessage *msg, + gboolean queue) +{ + g_return_if_fail(swboard != NULL); + g_return_if_fail(msg != NULL); + + purple_debug_info("msn", "switchboard send msg..\n"); + if (msn_switchboard_can_send(swboard)) + release_msg(swboard, msg); + else if (queue) + queue_msg(swboard, msg); +} ============================================================ --- libpurple/protocols/msn/sbconn.h 22693c5892efab5ba357a9c19f0e91c49b435b56 +++ libpurple/protocols/msn/sbconn.h 8a3a8eef094570885df6efa804d0760fd01de6eb @@ -13,4 +13,7 @@ void msn_sbconn_send_part(MsnSlpLink *sl void msn_sbconn_send_msg(MsnSlpLink *slplink, MsnMessage *msg); void msn_sbconn_send_part(MsnSlpLink *slplink, MsnSlpMessagePart *part); +void msn_switchboard_send_msg(MsnSwitchBoard *swboard, MsnMessage *msg, + gboolean queue) + #endif /* MSN_SBCONN_H */ ============================================================ --- libpurple/protocols/msn/switchboard.c 19090d119e5c0cd329ccd028954f4bd427624ae5 +++ libpurple/protocols/msn/switchboard.c 8ad481edc0764d93482bf8476e7a532e2801f04a @@ -620,96 +620,6 @@ msg_nak(MsnCmdProc *cmdproc, MsnCommand } #endif -static void -release_msg(MsnSwitchBoard *swboard, MsnMessage *msg) -{ - MsnCmdProc *cmdproc; - MsnTransaction *trans; - char *payload; - gsize payload_len; - char flag; - - g_return_if_fail(swboard != NULL); - g_return_if_fail(msg != NULL); - - cmdproc = swboard->cmdproc; - - payload = msn_message_gen_payload(msg, &payload_len); - - if (purple_debug_is_verbose()) { - purple_debug_info("msn", "SB length:{%" G_GSIZE_FORMAT "}\n", payload_len); - msn_message_show_readable(msg, "SB SEND", FALSE); - } - - flag = msn_message_get_flag(msg); - trans = msn_transaction_new(cmdproc, "MSG", "%c %" G_GSIZE_FORMAT, - flag, payload_len); - - /* Data for callbacks */ - msn_transaction_set_data(trans, msg); - - if (flag != 'U') { - if (msg->type == MSN_MSG_TEXT) - { - msg->ack_ref = TRUE; - msn_message_ref(msg); - swboard->ack_list = g_list_append(swboard->ack_list, msg); - msn_transaction_set_timeout_cb(trans, msg_timeout); - } - else if (msg->type == MSN_MSG_SLP) - { - msg->ack_ref = TRUE; - msn_message_ref(msg); - swboard->ack_list = g_list_append(swboard->ack_list, msg); - msn_transaction_set_timeout_cb(trans, msg_timeout); -#if 0 - if (msg->ack_cb != NULL) - { - msn_transaction_add_cb(trans, "ACK", msg_ack); - msn_transaction_add_cb(trans, "NAK", msg_nak); - } -#endif - } - } - - trans->payload = payload; - trans->payload_len = payload_len; - - msg->trans = trans; - - msn_cmdproc_send_trans(cmdproc, trans); -} - -static void -queue_msg(MsnSwitchBoard *swboard, MsnMessage *msg) -{ - g_return_if_fail(swboard != NULL); - g_return_if_fail(msg != NULL); - - purple_debug_info("msn", "Appending message to queue.\n"); - - g_queue_push_tail(swboard->msg_queue, msg); - - msn_message_ref(msg); -} - -static void -process_queue(MsnSwitchBoard *swboard) -{ - MsnMessage *msg; - - g_return_if_fail(swboard != NULL); - - purple_debug_info("msn", "Processing queue\n"); - - while ((msg = g_queue_pop_head(swboard->msg_queue)) != NULL) - { - purple_debug_info("msn", "Sending message\n"); - release_msg(swboard, msg); - msn_message_unref(msg); - } -} - gboolean msn_switchboard_can_send(MsnSwitchBoard *swboard) { @@ -721,20 +631,6 @@ msn_switchboard_can_send(MsnSwitchBoard return TRUE; } -void -msn_switchboard_send_msg(MsnSwitchBoard *swboard, MsnMessage *msg, - gboolean queue) -{ - g_return_if_fail(swboard != NULL); - g_return_if_fail(msg != NULL); - - purple_debug_info("msn", "switchboard send msg..\n"); - if (msn_switchboard_can_send(swboard)) - release_msg(swboard, msg); - else if (queue) - queue_msg(swboard, msg); -} - /************************************************************************** * Switchboard Commands **************************************************************************/ From masca at cpw.pidgin.im Mon Jun 21 03:16:43 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Mon, 21 Jun 2010 03:16:43 -0400 (EDT) Subject: soc.2010.msn-tlc: a00534e6: This bit must be migrated too. Message-ID: <20100621071643.66817AFD2057@rock.pidgin.im> ----------------------------------------------------------------- Revision: a00534e649cfe73cc560f4317893664325a4fee2 Ancestor: 122d679002c0937d01d43cc58d5ce34e42d09ca5 Author: masca at cpw.pidgin.im Date: 2010-06-17T18:04:42 Branch: im.pidgin.soc.2010.msn-tlc URL: http://d.pidgin.im/viewmtn/revision/info/a00534e649cfe73cc560f4317893664325a4fee2 Modified files: libpurple/protocols/msn/directconn.c libpurple/protocols/msn/directconn.h ChangeLog: This bit must be migrated too. -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/directconn.c 5f23e41e40e01a3ae2e44ccfd08ba1165b8f13a8 +++ libpurple/protocols/msn/directconn.c 25bec9e8e688043a2de2d0918dbadf0d4ffa043d @@ -343,7 +343,7 @@ msn_dc_fallback_to_sb(MsnDirectConn *dc) if (queue) { while (!g_queue_is_empty(queue)) { MsnDirectConnPacket *p = g_queue_pop_head(queue); - msn_slplink_send_msg(slplink, p->msg); + msn_slplink_send_msgpart(slplink, p->part); msn_dc_destroy_packet(p); } g_queue_free(queue); @@ -570,6 +570,7 @@ msn_dc_enqueue_part(MsnDirectConn *dc, M memcpy(p->data + P2P_PACKET_HEADER_SIZE, part->buffer, part->size); p->sent_cb = msn_dc_send_packet_cb; + p->part = part; msn_dc_enqueue_packet(dc, p); } ============================================================ --- libpurple/protocols/msn/directconn.h 17da80547ba777b2b104986e3751365a068efe96 +++ libpurple/protocols/msn/directconn.h ce7a53ef577c22c2e8506ee6d011c109058a60a2 @@ -73,6 +73,7 @@ struct _MsnDirectConnPacket { void (*sent_cb)(struct _MsnDirectConnPacket*); MsnMessage *msg; + MsnSlpMessagePart *part; }; struct _MsnDirectConn @@ -128,8 +129,10 @@ struct _MsnDirectConn /* * Queues an MSN message to be sent via direct connection. */ +#if 0 void msn_dc_enqueue_msg(MsnDirectConn *dc, MsnMessage *msg); +#endif void msn_dc_enqueue_part(MsnDirectConn *dc, MsnSlpMessagePart *part); From masca at cpw.pidgin.im Mon Jun 21 03:16:46 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Mon, 21 Jun 2010 03:16:46 -0400 (EDT) Subject: soc.2010.msn-tlc: a336999d: Move this function definitions where the... Message-ID: <20100621071651.F08D9AFD207A@rock.pidgin.im> ----------------------------------------------------------------- Revision: a336999d90dfa3f73962fc43e281048a5453f542 Ancestor: 23edb29e2918b2e4567583d163d4ffed790ccfd0 Author: masca at cpw.pidgin.im Date: 2010-06-19T22:53:24 Branch: im.pidgin.soc.2010.msn-tlc URL: http://d.pidgin.im/viewmtn/revision/info/a336999d90dfa3f73962fc43e281048a5453f542 Modified files: libpurple/protocols/msn/msg.h libpurple/protocols/msn/switchboard.h ChangeLog: Move this function definitions where they belong. -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/msg.h d04d3122f273f823631939e36f1fa2763d794139 +++ libpurple/protocols/msn/msg.h 5f8f22779ac286a456312dd62c14207fad5374e1 @@ -317,12 +317,32 @@ void msn_control_msg(MsnCmdProc *cmdproc void msn_control_msg(MsnCmdProc *cmdproc, MsnMessage *msg); +/** + * Processes peer to peer messages. + * + * @param cmdproc The command processor. + * @param msg The message. + */ void msn_p2p_msg(MsnCmdProc *cmdproc, MsnMessage *msg); +/** + * Processes emoticon messages. + * + * @param cmdproc The command processor. + * @param msg The message. + */ void msn_emoticon_msg(MsnCmdProc *cmdproc, MsnMessage *msg); void msn_datacast_msg(MsnCmdProc *cmdproc, MsnMessage *msg); +/** + * Processes INVITE messages. + * + * @param cmdproc The command processor. + * @param msg The message. + */ +void msn_invite_msg(MsnCmdProc *cmdproc, MsnMessage *msg); + void msn_handwritten_msg(MsnCmdProc *cmdproc, MsnMessage *msg); #endif /* MSN_MSG_H */ ============================================================ --- libpurple/protocols/msn/switchboard.h 9a393963cdbe5af691c51c0415a72e8305b39678 +++ libpurple/protocols/msn/switchboard.h 213668bd46400c651643874115b0b2fd551ce388 @@ -251,30 +251,6 @@ void msn_switchboard_request_add_user(Ms void msn_switchboard_request_add_user(MsnSwitchBoard *swboard, const char *user); /** - * Processes peer to peer messages. - * - * @param cmdproc The command processor. - * @param msg The message. - */ -void msn_p2p_msg(MsnCmdProc *cmdproc, MsnMessage *msg); - -/** - * Processes emoticon messages. - * - * @param cmdproc The command processor. - * @param msg The message. - */ -void msn_emoticon_msg(MsnCmdProc *cmdproc, MsnMessage *msg); - -/** - * Processes INVITE messages. - * - * @param cmdproc The command processor. - * @param msg The message. - */ -void msn_invite_msg(MsnCmdProc *cmdproc, MsnMessage *msg); - -/** * Shows an ink message from this switchboard. * * @param swboard The switchboard. From masca at cpw.pidgin.im Mon Jun 21 03:16:53 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Mon, 21 Jun 2010 03:16:53 -0400 (EDT) Subject: soc.2010.msn-tlc: d22f5fd4: Fix a bad behavior when talking with use... Message-ID: <20100621071653.B6395AFD20C5@rock.pidgin.im> ----------------------------------------------------------------- Revision: d22f5fd47878d95ae78e4af780a6f648bd4d0d90 Ancestor: fadddca6bb1e4bdb7ae23d12715c3bf6fc7224ee Author: masca at cpw.pidgin.im Date: 2010-06-21T07:11:25 Branch: im.pidgin.soc.2010.msn-tlc URL: http://d.pidgin.im/viewmtn/revision/info/d22f5fd47878d95ae78e4af780a6f648bd4d0d90 Modified files: libpurple/protocols/msn/user.c ChangeLog: Fix a bad behavior when talking with users using multiple locations. The passport needs to be normalized before being compared. Reported by Darryl Pogue (dvpdiner2) with fix idea. Thanks! -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/user.c c31a75fe7315debe3decb250c50f97ff6ee73d45 +++ libpurple/protocols/msn/user.c 7a8adbc873dbf780d5f1fdef316f3b493d78c7d6 @@ -24,6 +24,7 @@ #include "internal.h" #include "debug.h" +#include "util.h" #include "user.h" #include "slp.h" @@ -673,7 +674,7 @@ msn_user_passport_cmp(MsnUser *user, con pass = msn_user_get_passport(user); - return strcmp(pass, passport); + return strcmp(pass, purple_normalize_nocase(NULL, passport)); } gboolean From masca at cpw.pidgin.im Mon Jun 21 03:16:56 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Mon, 21 Jun 2010 03:16:56 -0400 (EDT) Subject: soc.2010.msn-tlc: d90ae2a3: Remove msn.h dependency from DirectConn. Message-ID: <20100621071657.5A7ABAFD2058@rock.pidgin.im> ----------------------------------------------------------------- Revision: d90ae2a31ff17ac4d4b3f1c0db29145e88a1c69f Ancestor: 35c482c85f768f527a736a46f5b7fb7d54fbe694 Author: masca at cpw.pidgin.im Date: 2010-06-17T20:02:30 Branch: im.pidgin.soc.2010.msn-tlc URL: http://d.pidgin.im/viewmtn/revision/info/d90ae2a31ff17ac4d4b3f1c0db29145e88a1c69f Modified files: libpurple/protocols/msn/directconn.h ChangeLog: Remove msn.h dependency from DirectConn. -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/directconn.h 36acba2537d319849d7af08e81a6c570565339f3 +++ libpurple/protocols/msn/directconn.h 229ba8ce9266251eab4039b70df983f58d774963 @@ -30,7 +30,6 @@ typedef struct _MsnDirectConn MsnDirectC #include "proxy.h" #include "circbuffer.h" -#include "msg.h" #include "slp.h" #include "slplink.h" #include "slpmsg.h" From masca at cpw.pidgin.im Mon Jun 21 03:17:00 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Mon, 21 Jun 2010 03:17:00 -0400 (EDT) Subject: soc.2010.msn-tlc: e52b66f8: Avoid magic numbers. Message-ID: <20100621071700.D2C2EAFD0B89@rock.pidgin.im> ----------------------------------------------------------------- Revision: e52b66f87760fcd82cc63a92372263bb560dd676 Ancestor: ecbc4b842580aeedf1ed760700ad53cfc501226a Author: masca at cpw.pidgin.im Date: 2010-06-19T22:06:31 Branch: im.pidgin.soc.2010.msn-tlc URL: http://d.pidgin.im/viewmtn/revision/info/e52b66f87760fcd82cc63a92372263bb560dd676 Modified files: libpurple/protocols/msn/slp.c ChangeLog: Avoid magic numbers. -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/slp.c f20d63ca3983d8ee3db81b0c94dbf67c67c592f0 +++ libpurple/protocols/msn/slp.c d1422e1d616732734f8d4044f5ceb6ca43bde210 @@ -155,7 +155,7 @@ msn_xfer_write(const guchar *data, gsize slpcall->u.outgoing.len = len; slpcall->u.outgoing.data = data; msn_slplink_send_msgpart(slpcall->slplink, slpcall->xfer_msg); - return MIN(1202, len); + return MIN(MSN_SBCONN_MAX_SIZE, len); } gssize From masca at cpw.pidgin.im Mon Jun 21 03:17:02 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Mon, 21 Jun 2010 03:17:02 -0400 (EDT) Subject: soc.2010.msn-tlc: ec024f76: Reomove MsnMessage reference from Direct... Message-ID: <20100621071703.1A2E6AFD20B7@rock.pidgin.im> ----------------------------------------------------------------- Revision: ec024f76c6b37b84ce335f525fcc2dada004096d Ancestor: a00534e649cfe73cc560f4317893664325a4fee2 Author: masca at cpw.pidgin.im Date: 2010-06-17T19:54:52 Branch: im.pidgin.soc.2010.msn-tlc URL: http://d.pidgin.im/viewmtn/revision/info/ec024f76c6b37b84ce335f525fcc2dada004096d Modified files: libpurple/protocols/msn/directconn.c libpurple/protocols/msn/directconn.h libpurple/protocols/msn/slplink.c libpurple/protocols/msn/slpmsg_part.h ChangeLog: Reomove MsnMessage reference from DirectConn. -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/directconn.c 25bec9e8e688043a2de2d0918dbadf0d4ffa043d +++ libpurple/protocols/msn/directconn.c 7afe7a119ed7eb861dc241d0eed931bb9b47702a @@ -111,8 +111,12 @@ msn_dc_destroy_packet(MsnDirectConnPacke { g_free(p->data); +#if 0 if (p->msg) msn_message_unref(p->msg); +#endif + if (p->part) + msn_slpmsgpart_destroy(p->part); g_free(p); } @@ -343,7 +347,7 @@ msn_dc_fallback_to_sb(MsnDirectConn *dc) if (queue) { while (!g_queue_is_empty(queue)) { MsnDirectConnPacket *p = g_queue_pop_head(queue); - msn_slplink_send_msgpart(slplink, p->part); + msn_slplink_send_msgpart(slplink, (MsnSlpMessage*)p->part->ack_data); msn_dc_destroy_packet(p); } g_queue_free(queue); @@ -535,6 +539,14 @@ msn_dc_send_packet_cb(MsnDirectConnPacke static void msn_dc_send_packet_cb(MsnDirectConnPacket *p) { + if (p->part != NULL && p->part->ack_cb != NULL) + p->part->ack_cb(p->part, p->part->ack_data); +} + +#if 0 +static void +msn_dc_send_packet_cb(MsnDirectConnPacket *p) +{ if (p->msg != NULL && p->msg->ack_cb != NULL) p->msg->ack_cb(p->msg, p->msg->ack_data); } @@ -556,6 +568,7 @@ msn_dc_enqueue_msg(MsnDirectConn *dc, Ms msn_dc_enqueue_packet(dc, p); } +#endif void msn_dc_enqueue_part(MsnDirectConn *dc, MsnSlpMessagePart *part) ============================================================ --- libpurple/protocols/msn/directconn.h ce7a53ef577c22c2e8506ee6d011c109058a60a2 +++ libpurple/protocols/msn/directconn.h 36acba2537d319849d7af08e81a6c570565339f3 @@ -72,7 +72,6 @@ struct _MsnDirectConnPacket { guchar *data; void (*sent_cb)(struct _MsnDirectConnPacket*); - MsnMessage *msg; MsnSlpMessagePart *part; }; ============================================================ --- libpurple/protocols/msn/slplink.c 1534e2a46d37c04fa0a1bc79ddcfd5b3e6c39ca2 +++ libpurple/protocols/msn/slplink.c a6c7afef02f2f0fb269f284a1c43e7342a38748e @@ -278,6 +278,7 @@ msn_slplink_send_part(MsnSlpLink *slplin msn_sbconn_send_part(slplink, part); } } +#if 0 void msn_slplink_send_msg(MsnSlpLink *slplink, MsnMessage *msg) { @@ -290,6 +291,7 @@ msn_slplink_send_msg(MsnSlpLink *slplink msn_sbconn_send_msg(slplink, msg); } } +#endif void msn_slplink_send_msgpart(MsnSlpLink *slplink, MsnSlpMessage *slpmsg) @@ -301,6 +303,7 @@ msn_slplink_send_msgpart(MsnSlpLink *slp /* Maybe we will want to create a new msg for this slpmsg instead of * reusing the same one all the time. */ part = msn_slpmsgpart_new(slpmsg->header, slpmsg->footer); + part->ack_data = slpmsg; real_size = (slpmsg->flags == P2P_ACK) ? 0 : slpmsg->size; ============================================================ --- libpurple/protocols/msn/slpmsg_part.h caed71263d5b10963b84e99598d45e8bf64bba13 +++ libpurple/protocols/msn/slpmsg_part.h 175cc10b10442e9f28bdb1227e916098bbc06fef @@ -13,6 +13,7 @@ struct _MsnSlpMessagePart MsnSlpPartCb ack_cb; MsnSlpPartCb nack_cb; + void *ack_data; guchar *buffer; size_t size; From masca at cpw.pidgin.im Mon Jun 21 03:17:11 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Mon, 21 Jun 2010 03:17:11 -0400 (EDT) Subject: soc.2010.msn-tlc: ef1ec79e: Remove the MsnMessage from SlpMessage. Message-ID: <20100621071711.16950AFD207A@rock.pidgin.im> ----------------------------------------------------------------- Revision: ef1ec79ec7bacfba4244de8f1474021352be06f0 Ancestor: d90ae2a31ff17ac4d4b3f1c0db29145e88a1c69f Author: masca at cpw.pidgin.im Date: 2010-06-19T21:48:19 Branch: im.pidgin.soc.2010.msn-tlc URL: http://d.pidgin.im/viewmtn/revision/info/ef1ec79ec7bacfba4244de8f1474021352be06f0 Modified files: libpurple/protocols/msn/sbconn.c libpurple/protocols/msn/slp.c libpurple/protocols/msn/slplink.c libpurple/protocols/msn/slpmsg.h ChangeLog: Remove the MsnMessage from SlpMessage. -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/sbconn.c 5484cf31f72d32cf9f76fb0b9fca160bd6947ded +++ libpurple/protocols/msn/sbconn.c bd38630117064279b8f8a219a5967bf70992466d @@ -81,11 +81,15 @@ void msn_sbconn_send_part(MsnSlpLink *sl void msn_sbconn_send_part(MsnSlpLink *slplink, MsnSlpMessagePart *part) { MsnMessage *msg; + const char *passport; char *data; size_t size; msg = msn_message_new_msnslp(); + passport = purple_normalize(slplink->session->account, slplink->remote_user); + msn_message_set_header(msg, "P2P-Dest", passport); + data = msn_slpmsgpart_serialize(part, &size); msg->part = part; ============================================================ --- libpurple/protocols/msn/slp.c a8e774e30628bbae5db4db7c25dc36582df5647e +++ libpurple/protocols/msn/slp.c 566706c15aac465da1b645169439702d0afb3997 @@ -155,7 +155,6 @@ msn_xfer_write(const guchar *data, gsize slpcall->u.outgoing.len = len; slpcall->u.outgoing.data = data; msn_slplink_send_msgpart(slpcall->slplink, slpcall->xfer_msg); - msn_message_unref(slpcall->xfer_msg->msg); return MIN(1202, len); } ============================================================ --- libpurple/protocols/msn/slplink.c a6c7afef02f2f0fb269f284a1c43e7342a38748e +++ libpurple/protocols/msn/slplink.c 945ae5fa51cebbc2ddb31598b698464ddf528a38 @@ -34,6 +34,7 @@ #include "slp.h" #include "p2p.h" +#if 0 #ifdef MSN_DEBUG_SLP_FILES static int m_sc = 0; static int m_rc = 0; @@ -58,6 +59,7 @@ debug_msg_to_file(MsnMessage *msg, gbool g_free(tmp); } #endif +#endif /* 0 */ /************************************************************************** * Main @@ -333,11 +335,11 @@ msn_slplink_send_msgpart(MsnSlpLink *slp /* TODO: port this function to SlpMessageParts */ if (purple_debug_is_verbose()) msn_message_show_readable(msg, slpmsg->info, slpmsg->text_body); -#endif #ifdef MSN_DEBUG_SLP_FILES debug_msg_to_file(msg, TRUE); #endif +#endif slpmsg->parts = g_list_append(slpmsg->parts, part); msn_slplink_send_part(slplink, part); @@ -362,26 +364,21 @@ msn_slplink_release_slpmsg(MsnSlpLink *s static void msn_slplink_release_slpmsg(MsnSlpLink *slplink, MsnSlpMessage *slpmsg) { - MsnMessage *msg; - const char *passport; + slpmsg = slpmsg; + slpmsg->header = g_new0(MsnP2PHeader, 1); + slpmsg->footer = g_new0(MsnP2PFooter, 1); - slpmsg->msg = msg = msn_message_new_msnslp(); - - msg->slpmsg = slpmsg; - msg->slpmsg->header = g_new0(MsnP2PHeader, 1); - msg->slpmsg->footer = g_new0(MsnP2PFooter, 1); - if (slpmsg->flags == P2P_NO_FLAG) { - msg->slpmsg->header->session_id = slpmsg->session_id; - msg->slpmsg->header->ack_id = rand() % 0xFFFFFF00; + slpmsg->header->session_id = slpmsg->session_id; + slpmsg->header->ack_id = rand() % 0xFFFFFF00; } else if (slpmsg->flags == P2P_ACK) { - msg->slpmsg->header->session_id = slpmsg->session_id; - msg->slpmsg->header->ack_id = slpmsg->ack_id; - msg->slpmsg->header->ack_size = slpmsg->ack_size; - msg->slpmsg->header->ack_sub_id = slpmsg->ack_sub_id; + slpmsg->header->session_id = slpmsg->session_id; + slpmsg->header->ack_id = slpmsg->ack_id; + slpmsg->header->ack_size = slpmsg->ack_size; + slpmsg->header->ack_sub_id = slpmsg->ack_sub_id; } else if (slpmsg->flags == P2P_MSN_OBJ_DATA || slpmsg->flags == (P2P_WML2009_COMP | P2P_MSN_OBJ_DATA) || @@ -391,22 +388,25 @@ msn_slplink_release_slpmsg(MsnSlpLink *s slpcall = slpmsg->slpcall; g_return_if_fail(slpcall != NULL); - msg->slpmsg->header->session_id = slpcall->session_id; - msg->slpmsg->footer->value = slpcall->app_id; - msg->slpmsg->header->ack_id = rand() % 0xFFFFFF00; + slpmsg->header->session_id = slpcall->session_id; + slpmsg->footer->value = slpcall->app_id; + slpmsg->header->ack_id = rand() % 0xFFFFFF00; } else if (slpmsg->flags == 0x100) { - msg->slpmsg->header->ack_id = slpmsg->ack_id; - msg->slpmsg->header->ack_sub_id = slpmsg->ack_sub_id; - msg->slpmsg->header->ack_size = slpmsg->ack_size; + slpmsg->header->ack_id = slpmsg->ack_id; + slpmsg->header->ack_sub_id = slpmsg->ack_sub_id; + slpmsg->header->ack_size = slpmsg->ack_size; } - msg->slpmsg->header->id = slpmsg->id; - msg->slpmsg->header->flags = (guint32)slpmsg->flags; + slpmsg->header->id = slpmsg->id; + slpmsg->header->flags = (guint32)slpmsg->flags; - msg->slpmsg->header->total_size = slpmsg->size; + slpmsg->header->total_size = slpmsg->size; + msn_slplink_send_msgpart(slplink, slpmsg); + +#if 0 passport = purple_normalize(slplink->session->account, slplink->remote_user); msn_message_set_header(msg, "P2P-Dest", passport); @@ -417,6 +417,7 @@ msn_slplink_release_slpmsg(MsnSlpLink *s msn_slplink_send_msgpart(slplink, slpmsg); msn_message_destroy(msg); +#endif } void ============================================================ --- libpurple/protocols/msn/slpmsg.h d60d32f062d450afdec8afd94bb3ec9fb06b6335 +++ libpurple/protocols/msn/slpmsg.h 17044df4ef608ad97a51860650298bf641f425c9 @@ -78,7 +78,7 @@ struct _MsnSlpMessage GList *msgs; /**< The real messages. */ GList *parts; /**< A list with the SlpMsgParts */ -#if 1 +#if 0 MsnMessage *msg; /**< The temporary real message that will be sent. */ #endif From masca at cpw.pidgin.im Mon Jun 21 03:17:07 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Mon, 21 Jun 2010 03:17:07 -0400 (EDT) Subject: soc.2010.msn-tlc: ecbc4b84: Move Switchboard callbacks out of Slp co... Message-ID: <20100621071707.56A9FAFD20B3@rock.pidgin.im> ----------------------------------------------------------------- Revision: ecbc4b842580aeedf1ed760700ad53cfc501226a Ancestor: ef1ec79ec7bacfba4244de8f1474021352be06f0 Author: masca at cpw.pidgin.im Date: 2010-06-19T22:04:28 Branch: im.pidgin.soc.2010.msn-tlc URL: http://d.pidgin.im/viewmtn/revision/info/ecbc4b842580aeedf1ed760700ad53cfc501226a Modified files: libpurple/protocols/msn/slp.c libpurple/protocols/msn/switchboard.c ChangeLog: Move Switchboard callbacks out of Slp code. -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/slp.c 566706c15aac465da1b645169439702d0afb3997 +++ libpurple/protocols/msn/slp.c f20d63ca3983d8ee3db81b0c94dbf67c67c592f0 @@ -1074,146 +1074,6 @@ msn_slp_sip_recv(MsnSlpLink *slplink, co * Msg Callbacks **************************************************************************/ -void -msn_p2p_msg(MsnCmdProc *cmdproc, MsnMessage *msg) -{ - MsnSession *session; - MsnSlpLink *slplink; - const char *data; - gsize len; - - session = cmdproc->servconn->session; - slplink = msn_session_get_slplink(session, msg->remote_user); - - if (slplink->swboard == NULL) - { - /* - * We will need swboard in order to change its flags. If its - * NULL, something has probably gone wrong earlier on. I - * didn't want to do this, but MSN 7 is somehow causing us - * to crash here, I couldn't reproduce it to debug more, - * and people are reporting bugs. Hopefully this doesn't - * cause more crashes. Stu. - */ - if (cmdproc->data == NULL) - g_warning("msn_p2p_msg cmdproc->data was NULL\n"); - else { - slplink->swboard = (MsnSwitchBoard *)cmdproc->data; - slplink->swboard->slplinks = g_list_prepend(slplink->swboard->slplinks, slplink); - } - } - - data = msn_message_get_bin_data(msg, &len); - - msn_slplink_process_msg(slplink, msg->part->header, data, len); -} - -static void -got_emoticon(MsnSlpCall *slpcall, - const guchar *data, gsize size) -{ - PurpleConversation *conv; - MsnSwitchBoard *swboard; - - swboard = slpcall->slplink->swboard; - conv = swboard->conv; - - if (conv) { - /* FIXME: it would be better if we wrote the data as we received it - instead of all at once, calling write multiple times and - close once at the very end - */ - purple_conv_custom_smiley_write(conv, slpcall->data_info, data, size); - purple_conv_custom_smiley_close(conv, slpcall->data_info ); - } - if (purple_debug_is_verbose()) - purple_debug_info("msn", "Got smiley: %s\n", slpcall->data_info); -} - -void -msn_emoticon_msg(MsnCmdProc *cmdproc, MsnMessage *msg) -{ - MsnSession *session; - MsnSlpLink *slplink; - MsnSwitchBoard *swboard; - MsnObject *obj; - char **tokens; - char *smile, *body_str; - const char *body, *who, *sha1; - guint tok; - size_t body_len; - - PurpleConversation *conv; - - session = cmdproc->servconn->session; - - if (!purple_account_get_bool(session->account, "custom_smileys", TRUE)) - return; - - swboard = cmdproc->data; - conv = swboard->conv; - - body = msn_message_get_bin_data(msg, &body_len); - if (!body || !body_len) - return; - body_str = g_strndup(body, body_len); - - /* MSN Messenger 7 may send more than one MSNObject in a single message... - * Maybe 10 tokens is a reasonable max value. */ - tokens = g_strsplit(body_str, "\t", 10); - - g_free(body_str); - - for (tok = 0; tok < 9; tok += 2) { - if (tokens[tok] == NULL || tokens[tok + 1] == NULL) { - break; - } - - smile = tokens[tok]; - obj = msn_object_new_from_string(purple_url_decode(tokens[tok + 1])); - - if (obj == NULL) - break; - - who = msn_object_get_creator(obj); - sha1 = msn_object_get_sha1(obj); - - slplink = msn_session_get_slplink(session, who); - if (slplink->swboard != swboard) { - if (slplink->swboard != NULL) - /* - * Apparently we're using a different switchboard now or - * something? I don't know if this is normal, but it - * definitely happens. So make sure the old switchboard - * doesn't still have a reference to us. - */ - slplink->swboard->slplinks = g_list_remove(slplink->swboard->slplinks, slplink); - slplink->swboard = swboard; - slplink->swboard->slplinks = g_list_prepend(slplink->swboard->slplinks, slplink); - } - - /* If the conversation doesn't exist then this is a custom smiley - * used in the first message in a MSN conversation: we need to create - * the conversation now, otherwise the custom smiley won't be shown. - * This happens because every GtkIMHtml has its own smiley tree: if - * the conversation doesn't exist then we cannot associate the new - * smiley with its GtkIMHtml widget. */ - if (!conv) { - conv = purple_conversation_new(PURPLE_CONV_TYPE_IM, session->account, who); - } - - if (purple_conv_custom_smiley_add(conv, smile, "sha1", sha1, TRUE)) { - msn_slplink_request_object(slplink, smile, got_emoticon, NULL, obj); - } - - msn_object_destroy(obj); - obj = NULL; - who = NULL; - sha1 = NULL; - } - g_strfreev(tokens); -} - static gboolean buddy_icon_cached(PurpleConnection *gc, MsnObject *obj) { ============================================================ --- libpurple/protocols/msn/switchboard.c 19090d119e5c0cd329ccd028954f4bd427624ae5 +++ libpurple/protocols/msn/switchboard.c 6255375412ff05820292ffa528fb8f470be803d7 @@ -575,6 +575,145 @@ msg_error_helper(MsnCmdProc *cmdproc, Ms * Message Stuff **************************************************************************/ +void +msn_p2p_msg(MsnCmdProc *cmdproc, MsnMessage *msg) +{ + MsnSession *session; + MsnSlpLink *slplink; + const char *data; + gsize len; + + session = cmdproc->servconn->session; + slplink = msn_session_get_slplink(session, msg->remote_user); + + if (slplink->swboard == NULL) + { + /* + * We will need swboard in order to change its flags. If its + * NULL, something has probably gone wrong earlier on. I + * didn't want to do this, but MSN 7 is somehow causing us + * to crash here, I couldn't reproduce it to debug more, + * and people are reporting bugs. Hopefully this doesn't + * cause more crashes. Stu. + */ + if (cmdproc->data == NULL) + g_warning("msn_p2p_msg cmdproc->data was NULL\n"); + else { + slplink->swboard = (MsnSwitchBoard *)cmdproc->data; + slplink->swboard->slplinks = g_list_prepend(slplink->swboard->slplinks, slplink); + } + } + + data = msn_message_get_bin_data(msg, &len); + + msn_slplink_process_msg(slplink, msg->part->header, data, len); +} + +static void +got_emoticon(MsnSlpCall *slpcall, + const guchar *data, gsize size) +{ + PurpleConversation *conv; + MsnSwitchBoard *swboard; + + swboard = slpcall->slplink->swboard; + conv = swboard->conv; + + if (conv) { + /* FIXME: it would be better if we wrote the data as we received it + instead of all at once, calling write multiple times and + close once at the very end + */ + purple_conv_custom_smiley_write(conv, slpcall->data_info, data, size); + purple_conv_custom_smiley_close(conv, slpcall->data_info ); + } + if (purple_debug_is_verbose()) + purple_debug_info("msn", "Got smiley: %s\n", slpcall->data_info); +} + +void msn_emoticon_msg(MsnCmdProc *cmdproc, MsnMessage *msg) +{ + MsnSession *session; + MsnSlpLink *slplink; + MsnSwitchBoard *swboard; + MsnObject *obj; + char **tokens; + char *smile, *body_str; + const char *body, *who, *sha1; + guint tok; + size_t body_len; + + PurpleConversation *conv; + + session = cmdproc->servconn->session; + + if (!purple_account_get_bool(session->account, "custom_smileys", TRUE)) + return; + + swboard = cmdproc->data; + conv = swboard->conv; + + body = msn_message_get_bin_data(msg, &body_len); + if (!body || !body_len) + return; + body_str = g_strndup(body, body_len); + + /* MSN Messenger 7 may send more than one MSNObject in a single message... + * Maybe 10 tokens is a reasonable max value. */ + tokens = g_strsplit(body_str, "\t", 10); + + g_free(body_str); + + for (tok = 0; tok < 9; tok += 2) { + if (tokens[tok] == NULL || tokens[tok + 1] == NULL) { + break; + } + + smile = tokens[tok]; + obj = msn_object_new_from_string(purple_url_decode(tokens[tok + 1])); + + if (obj == NULL) + break; + + who = msn_object_get_creator(obj); + sha1 = msn_object_get_sha1(obj); + + slplink = msn_session_get_slplink(session, who); + if (slplink->swboard != swboard) { + if (slplink->swboard != NULL) + /* + * Apparently we're using a different switchboard now or + * something? I don't know if this is normal, but it + * definitely happens. So make sure the old switchboard + * doesn't still have a reference to us. + */ + slplink->swboard->slplinks = g_list_remove(slplink->swboard->slplinks, slplink); + slplink->swboard = swboard; + slplink->swboard->slplinks = g_list_prepend(slplink->swboard->slplinks, slplink); + } + + /* If the conversation doesn't exist then this is a custom smiley + * used in the first message in a MSN conversation: we need to create + * the conversation now, otherwise the custom smiley won't be shown. + * This happens because every GtkIMHtml has its own smiley tree: if + * the conversation doesn't exist then we cannot associate the new + * smiley with its GtkIMHtml widget. */ + if (!conv) { + conv = purple_conversation_new(PURPLE_CONV_TYPE_IM, session->account, who); + } + + if (purple_conv_custom_smiley_add(conv, smile, "sha1", sha1, TRUE)) { + msn_slplink_request_object(slplink, smile, got_emoticon, NULL, obj); + } + + msn_object_destroy(obj); + obj = NULL; + who = NULL; + sha1 = NULL; + } + g_strfreev(tokens); +} + /** Called when a message times out. */ static void msg_timeout(MsnCmdProc *cmdproc, MsnTransaction *trans) From masca at cpw.pidgin.im Mon Jun 21 03:17:11 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Mon, 21 Jun 2010 03:17:11 -0400 (EDT) Subject: soc.2010.msn-tlc: fadddca6: Fix integration between Switchboard and ... Message-ID: <20100621071712.1153CAFD20B7@rock.pidgin.im> ----------------------------------------------------------------- Revision: fadddca6bb1e4bdb7ae23d12715c3bf6fc7224ee Ancestor: 101ed1ac46085f1d8d934856a4b9ec067bfc4d1f Author: masca at cpw.pidgin.im Date: 2010-06-19T23:55:16 Branch: im.pidgin.soc.2010.msn-tlc URL: http://d.pidgin.im/viewmtn/revision/info/fadddca6bb1e4bdb7ae23d12715c3bf6fc7224ee Modified files: libpurple/protocols/msn/sbconn.c libpurple/protocols/msn/sbconn.h libpurple/protocols/msn/switchboard.c libpurple/protocols/msn/switchboard.h ChangeLog: Fix integration between Switchboard and SBConn. by setting public some functions on both sides. Regresion introduced in 99802eb80a7acd -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/sbconn.c d3d03662b6a24be5e3577fc2a371dc8642c1b472 +++ libpurple/protocols/msn/sbconn.c 6b057658aeaf01c5b55fbd49684c72092f91ad90 @@ -1,4 +1,5 @@ #include "internal.h" +#include "debug.h" #include "msg.h" #include "sbconn.h" @@ -109,7 +110,18 @@ void msn_sbconn_send_part(MsnSlpLink *sl msn_switchboard_send_msg(slplink->swboard, msg, TRUE); } +/** Called when a message times out. */ static void +msg_timeout(MsnCmdProc *cmdproc, MsnTransaction *trans) +{ + MsnMessage *msg; + + msg = trans->data; + + msg_error_helper(cmdproc, msg, MSN_MSG_ERROR_TIMEOUT); +} + +static void release_msg(MsnSwitchBoard *swboard, MsnMessage *msg) { MsnCmdProc *cmdproc; @@ -182,8 +194,8 @@ queue_msg(MsnSwitchBoard *swboard, MsnMe msn_message_ref(msg); } -static void -process_queue(MsnSwitchBoard *swboard) +void +msn_sbconn_process_queue(MsnSwitchBoard *swboard) { MsnMessage *msg; ============================================================ --- libpurple/protocols/msn/sbconn.h aef517afd1298a5f8399cdc7033a6e1bf2f47b59 +++ libpurple/protocols/msn/sbconn.h 00058b70cb8c27a869f83c2a8e99aad33ab29d82 @@ -16,4 +16,7 @@ void msn_switchboard_send_msg(MsnSwitchB void msn_switchboard_send_msg(MsnSwitchBoard *swboard, MsnMessage *msg, gboolean queue); +void +msn_sbconn_process_queue(MsnSwitchBoard *swboard); + #endif /* MSN_SBCONN_H */ ============================================================ --- libpurple/protocols/msn/switchboard.c f8d24ebdb05de1f8c625d58008ba42066789b68f +++ libpurple/protocols/msn/switchboard.c 58fbec89a45874ea10b18654fed4500467e06616 @@ -27,15 +27,13 @@ #include "msnutils.h" #include "switchboard.h" +#include "sbconn.h" #include "slplink.h" #include "user.h" #include "userlist.h" static MsnTable *cbs_table; -static void msg_error_helper(MsnCmdProc *cmdproc, MsnMessage *msg, - MsnMsgErrorType error); - /************************************************************************** * Main **************************************************************************/ @@ -428,7 +426,7 @@ msg_resend_cb(gpointer data) return FALSE; } -static void +void msg_error_helper(MsnCmdProc *cmdproc, MsnMessage *msg, MsnMsgErrorType error) { MsnSwitchBoard *swboard; @@ -565,17 +563,6 @@ msg_error_helper(MsnCmdProc *cmdproc, Ms * Message Stuff **************************************************************************/ -/** Called when a message times out. */ -static void -msg_timeout(MsnCmdProc *cmdproc, MsnTransaction *trans) -{ - MsnMessage *msg; - - msg = trans->data; - - msg_error_helper(cmdproc, msg, MSN_MSG_ERROR_TIMEOUT); -} - /** Called when we receive an error of a message. */ static void msg_error(MsnCmdProc *cmdproc, MsnTransaction *trans, int error) @@ -705,7 +692,7 @@ joi_cmd(MsnCmdProc *cmdproc, MsnCommand msn_switchboard_add_user(swboard, passport); - process_queue(swboard); + msn_sbconn_process_queue(swboard); if (!session->http_method) send_clientcaps(swboard); ============================================================ --- libpurple/protocols/msn/switchboard.h 213668bd46400c651643874115b0b2fd551ce388 +++ libpurple/protocols/msn/switchboard.h 56cc2f378d15a8414f63d988e5345c89330ee9f2 @@ -244,6 +244,9 @@ void msn_switchboard_send_msg(MsnSwitchB void msn_switchboard_send_msg(MsnSwitchBoard *swboard, MsnMessage *msg, gboolean queue); +void +msg_error_helper(MsnCmdProc *cmdproc, MsnMessage *msg, MsnMsgErrorType error); + gboolean msn_switchboard_chat_leave(MsnSwitchBoard *swboard); gboolean msn_switchboard_chat_invite(MsnSwitchBoard *swboard, const char *who); From masca at cpw.pidgin.im Mon Jun 21 03:17:14 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Mon, 21 Jun 2010 03:17:14 -0400 (EDT) Subject: soc.2010.msn-tlc: fdfc53d0: Fix a missing semicolon. Message-ID: <20100621071714.EDD0FAFD21C8@rock.pidgin.im> ----------------------------------------------------------------- Revision: fdfc53d0d7a8b438aaaebf37dfeca7c4a707c7b6 Ancestor: 99802eb80a7acda4ce23f38913a5c523abfe024f Author: masca at cpw.pidgin.im Date: 2010-06-19T23:21:44 Branch: im.pidgin.soc.2010.msn-tlc URL: http://d.pidgin.im/viewmtn/revision/info/fdfc53d0d7a8b438aaaebf37dfeca7c4a707c7b6 Modified files: libpurple/protocols/msn/sbconn.h ChangeLog: Fix a missing semicolon. -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/sbconn.h 8a3a8eef094570885df6efa804d0760fd01de6eb +++ libpurple/protocols/msn/sbconn.h aef517afd1298a5f8399cdc7033a6e1bf2f47b59 @@ -14,6 +14,6 @@ void msn_switchboard_send_msg(MsnSwitchB void msn_sbconn_send_part(MsnSlpLink *slplink, MsnSlpMessagePart *part); void msn_switchboard_send_msg(MsnSwitchBoard *swboard, MsnMessage *msg, - gboolean queue) + gboolean queue); #endif /* MSN_SBCONN_H */ From sadrul at pidgin.im Mon Jun 21 11:11:34 2010 From: sadrul at pidgin.im (sadrul at pidgin.im) Date: Mon, 21 Jun 2010 11:11:34 -0400 (EDT) Subject: gobjectification: d3499ff8: Fix compile with glib version < 2.18. Message-ID: <20100621151134.A0AAFAFD20DF@rock.pidgin.im> ----------------------------------------------------------------- Revision: d3499ff8edddca23b0820f633fac8a989313525a Ancestor: 18a99954b390eb638a4cd8a365cb5a403f185d6d Author: sadrul at pidgin.im Date: 2010-06-21T15:11:11 Branch: im.pidgin.gobjectification URL: http://d.pidgin.im/viewmtn/revision/info/d3499ff8edddca23b0820f633fac8a989313525a Modified files: libpurple/ghash.c ChangeLog: Fix compile with glib version < 2.18. -------------- next part -------------- ============================================================ --- libpurple/ghash.c 2230f25d20eeb78c25316d3857a9c62a6bcc45ad +++ libpurple/ghash.c 0229a7cecc9f2cd1e844157aa8f44be94f4c411a @@ -152,7 +152,9 @@ purple_g_hash_finalize(GObject *obj) { purple_g_hash_finalize(GObject *obj) { PurpleGHashPrivate *priv = PURPLE_G_HASH_GET_PRIVATE(obj); +#if GLIB_CHECK_VERSION(2,18,0) g_checksum_reset(priv->checksum); +#endif g_checksum_free(priv->checksum); priv->checksum = NULL; From malu at pidgin.im Mon Jun 21 17:55:47 2010 From: malu at pidgin.im (malu at pidgin.im) Date: Mon, 21 Jun 2010 17:55:47 -0400 (EDT) Subject: cpw.malu.xmpp.jingle_ft: 832bbd63: Reject file transfer offers with unsuppo... Message-ID: <20100621215547.85A84AFD2006@rock.pidgin.im> ----------------------------------------------------------------- Revision: 832bbd6394fd5efc900618bb4ba638987633e296 Ancestor: 83fd1df46d24e73ea9732db36e1e10693160bc99 Author: malu at pidgin.im Date: 2010-06-21T21:50:21 Branch: im.pidgin.cpw.malu.xmpp.jingle_ft URL: http://d.pidgin.im/viewmtn/revision/info/832bbd6394fd5efc900618bb4ba638987633e296 Modified files: libpurple/protocols/jabber/jingle/file-transfer.c ChangeLog: Reject file transfer offers with unsupported transports -------------- next part -------------- ============================================================ --- libpurple/protocols/jabber/jingle/file-transfer.c 5624537ab3de04e0953a64f640c7fd99b10c6b40 +++ libpurple/protocols/jabber/jingle/file-transfer.c cc7804360d1a073543165bbbf64398290f816491 @@ -753,6 +753,16 @@ jingle_file_transfer_handle_action_inter xmlnode *offer = xmlnode_get_child(description, "offer"); gchar *who = jingle_session_get_remote_jid(session); + /* check for supported transports */ + if (!(JINGLE_IS_S5B(transport) || JINGLE_IS_IBB(transport))) { + /* send a session-reject */ + jabber_iq_send(jingle_session_terminate_packet(session, + "unsupported-transports")); + g_object_unref(transport); + g_object_unref(session); + return; + } + /* maybe some time we'll add support for "request" mode (for IM images, file sharing etc.) */ if (offer) { From elb at pidgin.im Mon Jun 21 21:45:53 2010 From: elb at pidgin.im (elb at pidgin.im) Date: Mon, 21 Jun 2010 21:45:53 -0400 (EDT) Subject: pidgin: 51236278: Fixes non-ASCII arguments to /mode, /umo. Message-ID: <20100622014553.419C9AFD0003@rock.pidgin.im> ----------------------------------------------------------------- Revision: 51236278b5344e58692ae671bd25a862058432da Ancestor: 140d7640af14c88fbd79c73548a8cf89067e6542 Author: ulidtko at gmail.com Date: 2010-06-22T01:40:18 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/51236278b5344e58692ae671bd25a862058432da Modified files: COPYRIGHT ChangeLog libpurple/protocols/irc/cmds.c ChangeLog: Fixes non-ASCII arguments to /mode, /umode, etc. Thanks to Max Ulidtko for this patch. Fixes #12207 -------------- next part -------------- ============================================================ --- COPYRIGHT 355cda7e11da1ae3df22e58aa12d47a68ce9772a +++ COPYRIGHT 32d71e559b352bb0e6d459319a0439a9bdff18a9 @@ -512,6 +512,7 @@ Junichi Uekawa Kyle Turman Jon Turney Junichi Uekawa +Max Ulidtko Igor Vlasenko Istv?n V?radi Martijn van Beers ============================================================ --- ChangeLog a6bb4ec247905ed0e6a2d9118bb9c6d3d9646a27 +++ ChangeLog fe404c0bebd89ea02d7f4b6344ed2a1db91bb553 @@ -13,6 +13,9 @@ version 2.7.2 (??/??/????): * Rebindable 'dropdown' action for comboboxes (GntComboBox) to show the dropdown list of options. + IRC: + * Fix non-ASCII arguments to /mode et al. (thanks to Max Ulidtko) + XMPP: * Allow connecting to servers that only advertise GSSAPI and expect a fallback to legacy IQ authentication (broken in 2.7.0). ============================================================ --- libpurple/protocols/irc/cmds.c 7327306021dde8bc516064ed5b3390e776c7a7f4 +++ libpurple/protocols/irc/cmds.c 2f4a5c0f076a40bcb288fb79c0f01a006a76910b @@ -238,16 +238,16 @@ int irc_cmd_mode(struct irc_conn *irc, c if (!args[0] && irc_ischannel(target)) buf = irc_format(irc, "vc", "MODE", target); else if (args[0] && (*args[0] == '+' || *args[0] == '-')) - buf = irc_format(irc, "vcv", "MODE", target, args[0]); + buf = irc_format(irc, "vcn", "MODE", target, args[0]); else if (args[0]) - buf = irc_format(irc, "vv", "MODE", args[0]); + buf = irc_format(irc, "vn", "MODE", args[0]); else return 0; } else if (!strcmp(cmd, "umode")) { if (!args[0]) return 0; gc = purple_account_get_connection(irc->account); - buf = irc_format(irc, "vnv", "MODE", purple_connection_get_display_name(gc), args[0]); + buf = irc_format(irc, "vnc", "MODE", purple_connection_get_display_name(gc), args[0]); } else { return 0; } @@ -437,7 +437,7 @@ int irc_cmd_quote(struct irc_conn *irc, if (!args || !args[0]) return 0; - buf = irc_format(irc, "v", args[0]); + buf = irc_format(irc, "n", args[0]); irc_send(irc, buf); g_free(buf); From qulogic at pidgin.im Tue Jun 22 01:36:15 2010 From: qulogic at pidgin.im (qulogic at pidgin.im) Date: Tue, 22 Jun 2010 01:36:15 -0400 (EDT) Subject: pidgin: da989b76: Fix Yahoo file transfers that get stuck ... Message-ID: <20100622053615.C4537AFD0003@rock.pidgin.im> ----------------------------------------------------------------- Revision: da989b76dd8d021004b552840e9ad62dfe970bd9 Ancestor: 51236278b5344e58692ae671bd25a862058432da Author: qulogic at pidgin.im Date: 2010-06-22T05:30:36 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/da989b76dd8d021004b552840e9ad62dfe970bd9 Modified files: ChangeLog libpurple/protocols/yahoo/yahoo_filexfer.c ChangeLog: Fix Yahoo file transfers that get stuck saying \"Waiting for transfer to begin\". The IP address and its parts should be unsigned. Also, this math was a bit too complicated. Integer division means we don't need to care about the fractional part. Fixes #12213. -------------- next part -------------- ============================================================ --- ChangeLog fe404c0bebd89ea02d7f4b6344ed2a1db91bb553 +++ ChangeLog b08c1f481c9b8d05b9d11acaeb40d0c558197d2f @@ -32,6 +32,8 @@ version 2.7.2 (??/??/????): * Fall back to connecting to scsa.msg.yahoo.com (not configurable) if the HTTP-based connect server lookup fails. This does not work for Yahoo JAPAN accounts. + * Fix file transfers that get stuck with "Waiting for transfer to + begin". version 2.7.1 (05/29/2010): General: ============================================================ --- libpurple/protocols/yahoo/yahoo_filexfer.c 31512c808e4059a39f28a3553fb51f4983670274 +++ libpurple/protocols/yahoo/yahoo_filexfer.c f114dd82da4415ffe27cbf3a6f90b86e8216ff3a @@ -983,8 +983,8 @@ static void yahoo_xfer_dns_connected_15( struct yahoo_xfer_data *xd; struct sockaddr_in *addr; struct yahoo_packet *pkt; - long actaddr; - long a,b,c,d; + unsigned long actaddr; + unsigned char a,b,c,d; PurpleConnection *gc; PurpleAccount *account; YahooData *yd; @@ -1018,19 +1018,19 @@ static void yahoo_xfer_dns_connected_15( /* TODO:actually, u must try with addr no.1 , if its not working addr no.2 ..... */ addr = hosts->data; actaddr = addr->sin_addr.s_addr; - d = actaddr % 256; - actaddr = (actaddr - d) / 256; - c = actaddr % 256; - actaddr = (actaddr - c) / 256; - b = actaddr % 256; - actaddr = (actaddr - b) / 256; - a = actaddr; + d = actaddr & 0xff; + actaddr >>= 8; + c = actaddr & 0xff; + actaddr >>= 8; + b = actaddr & 0xff; + actaddr >>= 8; + a = actaddr & 0xff; if(yd->jp) xd->port = YAHOOJP_XFER_RELAY_PORT; else xd->port = YAHOO_XFER_RELAY_PORT; - url = g_strdup_printf("%ld.%ld.%ld.%ld", d, c, b, a); + url = g_strdup_printf("%u.%u.%u.%u", d, c, b, a); /* Free the address... */ g_free(hosts->data); From malu at pidgin.im Tue Jun 22 16:31:42 2010 From: malu at pidgin.im (malu at pidgin.im) Date: Tue, 22 Jun 2010 16:31:42 -0400 (EDT) Subject: cpw.malu.xmpp.jingle_ft: c3a49061: Fixed a crash on exit with Jingle FTs wh... Message-ID: <20100622203142.D7533AFD0A61@rock.pidgin.im> ----------------------------------------------------------------- Revision: c3a490612935a86e11f1c6d34e9c6838827f1d61 Ancestor: 832bbd6394fd5efc900618bb4ba638987633e296 Author: malu at pidgin.im Date: 2010-06-22T20:26:25 Branch: im.pidgin.cpw.malu.xmpp.jingle_ft URL: http://d.pidgin.im/viewmtn/revision/info/c3a490612935a86e11f1c6d34e9c6838827f1d61 Modified files: libpurple/protocols/jabber/data.c libpurple/protocols/jabber/jingle/file-transfer.c ChangeLog: Fixed a crash on exit with Jingle FTs when destroying remaining thumbnails Fix retreiving BoB data objects when "alt" is NULL (which it will be when fetching thumbnails). Removed an unused variable -------------- next part -------------- ============================================================ --- libpurple/protocols/jabber/data.c 4d3fd2bac7788955256e089f5d86e49cc6b43cc9 +++ libpurple/protocols/jabber/data.c a8fef7400cc50b83873ddfb35bc796b377640b28 @@ -331,7 +331,6 @@ jabber_data_request(JabberStream *js, co g_return_if_fail(cid != NULL); g_return_if_fail(who != NULL); - g_return_if_fail(alt != NULL); request = jabber_iq_new(js, JABBER_IQ_GET); data_request = jabber_data_get_xml_request(cid); ============================================================ --- libpurple/protocols/jabber/jingle/file-transfer.c cc7804360d1a073543165bbbf64398290f816491 +++ libpurple/protocols/jabber/jingle/file-transfer.c 28739a3e28b8a3e3004c8d4df4d47c0796288377 @@ -133,7 +133,7 @@ jingle_file_transfer_finalize (GObject * if (thumbnail) { purple_debug_info("jingle-ft", "disposing left-over thumbnail\n"); - jabber_data_destroy(priv->thumbnail_cid); + jabber_data_destroy(thumbnail); } } @@ -243,7 +243,6 @@ jingle_file_transfer_ibb_data_recv_callb { JingleFT *ft = JINGLE_FT(content); PurpleXfer *xfer = JINGLE_FT_GET_PRIVATE(ft)->xfer; - JingleSession *session = jingle_content_get_session(content); if (purple_xfer_get_status(xfer) == PURPLE_XFER_STATUS_STARTED) { if (size <= purple_xfer_get_bytes_remaining(xfer)) { @@ -597,7 +596,9 @@ jingle_file_transfer_cancel_send(PurpleX } g_object_unref(transport); /* disassociate xfer from session */ - JINGLE_FT(content)->priv->xfer = NULL; + if (content) { + JINGLE_FT(content)->priv->xfer = NULL; + } } g_object_unref(session); g_object_unref(session); @@ -755,6 +756,8 @@ jingle_file_transfer_handle_action_inter /* check for supported transports */ if (!(JINGLE_IS_S5B(transport) || JINGLE_IS_IBB(transport))) { + purple_debug_info("jingle-ft", + "got a session-initiate with unsupported transported\n"); /* send a session-reject */ jabber_iq_send(jingle_session_terminate_packet(session, "unsupported-transports")); From darkrain42 at pidgin.im Wed Jun 23 00:51:28 2010 From: darkrain42 at pidgin.im (darkrain42 at pidgin.im) Date: Wed, 23 Jun 2010 00:51:28 -0400 (EDT) Subject: pidgin: bcc2e54d: Re-flow the ChangeLog to an 8-char wide ... Message-ID: <20100623045128.E67AAAFD0007@rock.pidgin.im> ----------------------------------------------------------------- Revision: bcc2e54d8411fe16ead4d67905198b2787fba9b2 Ancestor: da989b76dd8d021004b552840e9ad62dfe970bd9 Author: darkrain42 at pidgin.im Date: 2010-06-23T04:43:44 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/bcc2e54d8411fe16ead4d67905198b2787fba9b2 Modified files: ChangeLog ChangeLog: Re-flow the ChangeLog to an 8-char wide tab. Really this is just an excuse to try to unhork the monotone database -------------- next part -------------- ============================================================ --- ChangeLog b08c1f481c9b8d05b9d11acaeb40d0c558197d2f +++ ChangeLog 0fad8318fe1415c618dc35d4d5d7335a28623907 @@ -25,13 +25,14 @@ version 2.7.2 (??/??/????): Yahoo/Yahoo JAPAN: * Renamed "Use account proxy for SSL connections" to "Use account proxy for HTTP and HTTPS requests" and tied the option to HTTP requests too. - * Properly detect HTTP proxy server use when the HTTP proxy is the global - proxy server, an account-level non-HTTP proxy server is configured, and - the "Use account proxy for HTTP and HTTPS requests" account option is - turned off. This fixes connecting for some HTTP proxy servers. - * Fall back to connecting to scsa.msg.yahoo.com (not configurable) if the - HTTP-based connect server lookup fails. This does not work for Yahoo - JAPAN accounts. + * Properly detect HTTP proxy server use when the HTTP proxy is the + global proxy server, an account-level non-HTTP proxy server is + configured, and the "Use account proxy for HTTP and HTTPS requests" + account option is turned off. This fixes connecting for some HTTP + proxy servers. + * Fall back to connecting to scsa.msg.yahoo.com (not configurable) if + the HTTP-based connect server lookup fails. This does not work for + Yahoo JAPAN accounts. * Fix file transfers that get stuck with "Waiting for transfer to begin". From ivan.komarov at soc.pidgin.im Wed Jun 23 18:55:47 2010 From: ivan.komarov at soc.pidgin.im (ivan.komarov at soc.pidgin.im) Date: Wed, 23 Jun 2010 18:55:47 -0400 (EDT) Subject: soc.2010.icq-tlc: 021e6a7b: "Invisibility mode" improvements. Message-ID: <20100623225547.5F9D1AFD0AEF@rock.pidgin.im> ----------------------------------------------------------------- Revision: 021e6a7b4ba46230e93812c39268259f8c6bc7fe Ancestor: fb1ab831dedebf45ea50b6f87bfc00265a0115ef Author: ivan.komarov at soc.pidgin.im Date: 2010-06-23T22:22:52 Branch: im.pidgin.soc.2010.icq-tlc URL: http://d.pidgin.im/viewmtn/revision/info/021e6a7b4ba46230e93812c39268259f8c6bc7fe Modified files: libpurple/protocols/oscar/family_oservice.c libpurple/protocols/oscar/oscar.c libpurple/protocols/oscar/oscar.h ChangeLog: "Invisibility mode" improvements. 1. Removed the code for setting the status message to the status name (like "Available" or "Invisible") when no message is set by user. This should fix #10633, since now no one will see our status change to "Invisible" if we go invisible with no message set. 2. Got rid of sending superfluous packets on server. * There's no need to call oscar_set_extended_status() from oscar_set_status_icq(), because in all cases it has already been called before that. The only thing oscar_set_status_icq() does except setting the extended status is setting the permit/deny setting, so I renamed it accordingly. * No need to call oscar_set_icq_permdeny() in purple_ssi_parseerr() (it will be called in purple_ssi_parselist() anyway). * Combined setting the extended status and the status message (as per TODO). This should fix the problem when client like QIP see us as Invisible for some (quite long) time before we appear as Offline. Also, I removed the code for setting the "itmsurl" status attribute, as there was no way to set this iTunes Store URL from the UI. -------------- next part -------------- ============================================================ --- libpurple/protocols/oscar/family_oservice.c e0dc2fa7f9149a5493566ef9849fd69c9b609b58 +++ libpurple/protocols/oscar/family_oservice.c 4cb6ccc4d45d2e63f1a1f2c412abaaeff71a1054 @@ -883,7 +883,7 @@ aim_srv_setextrainfo(OscarData *od, int aim_srv_setextrainfo(OscarData *od, gboolean seticqstatus, guint32 icqstatus, - gboolean setstatusmsg, const char *statusmsg, const char *itmsurl) + gboolean setstatusmsg, const char *statusmsg) { FlapConnection *conn; ByteStream bs; @@ -911,18 +911,15 @@ aim_srv_setextrainfo(OscarData *od, if (setstatusmsg) { - size_t statusmsglen, itmsurllen; + size_t statusmsglen; ByteStream tmpbs; statusmsglen = (statusmsg != NULL) ? strlen(statusmsg) : 0; - itmsurllen = (itmsurl != NULL) ? strlen(itmsurl) : 0; - byte_stream_new(&tmpbs, statusmsglen + 8 + itmsurllen + 8); + byte_stream_new(&tmpbs, statusmsglen + 8); byte_stream_put_bart_asset_str(&tmpbs, 0x0002, statusmsg); - byte_stream_put_bart_asset_str(&tmpbs, 0x0009, itmsurl); - aim_tlvlist_add_raw(&tlvlist, 0x001d, - byte_stream_curpos(&tmpbs), tmpbs.data); + aim_tlvlist_add_raw(&tlvlist, 0x001d, byte_stream_curpos(&tmpbs), tmpbs.data); byte_stream_destroy(&tmpbs); } ============================================================ --- libpurple/protocols/oscar/oscar.c b7cee78f49864d5983563764f969c9353071fe94 +++ libpurple/protocols/oscar/oscar.c 934e7c79beffc4241dc2487b4430a7f6ec41c595 @@ -133,7 +133,7 @@ static void oscar_set_info_and_status(Pu void oscar_set_info(PurpleConnection *gc, const char *info); static void oscar_set_info_and_status(PurpleAccount *account, gboolean setinfo, const char *rawinfo, gboolean setstatus, PurpleStatus *status); -static void oscar_set_extendedstatus(PurpleConnection *gc); +static void oscar_set_extended_status(PurpleConnection *gc); static gboolean purple_ssi_rerequestdata(gpointer data); void oscar_free_name_data(struct name_data *data) { @@ -3238,7 +3238,7 @@ static int purple_bosrights(OscarData *o PurpleStatus *status; gboolean is_available; PurplePresence *presence; - const char *username, *message, *itmsurl; + const char *username, *message; char *tmp; va_list ap; guint16 maxpermits, maxdenies; @@ -3279,15 +3279,14 @@ static int purple_bosrights(OscarData *o else message = NULL; tmp = purple_markup_strip_html(message); - itmsurl = purple_status_get_attr_string(status, "itmsurl"); - aim_srv_setextrainfo(od, FALSE, 0, is_available, tmp, itmsurl); + aim_srv_setextrainfo(od, FALSE, 0, is_available, tmp); g_free(tmp); presence = purple_status_get_presence(status); aim_srv_setidle(od, !purple_presence_is_idle(presence) ? 0 : time(NULL) - purple_presence_get_idle_time(presence)); if (od->icq) { - oscar_set_extendedstatus(gc); + oscar_set_extended_status(gc); aim_icq_setsecurity(od, purple_account_get_bool(account, "authorization", OSCAR_DEFAULT_AUTHORIZATION), purple_account_get_bool(account, "web_aware", OSCAR_DEFAULT_WEB_AWARE)); @@ -3854,8 +3853,8 @@ oscar_set_info(PurpleConnection *gc, con oscar_set_info_and_status(account, TRUE, rawinfo, FALSE, status); } -static void -oscar_set_extendedstatus(PurpleConnection *gc) +static guint32 +oscar_get_extended_status(PurpleConnection *gc) { OscarData *od; PurpleAccount *account; @@ -3899,10 +3898,16 @@ oscar_set_extendedstatus(PurpleConnectio else if (!strcmp(status_id, OSCAR_STATUS_ID_CUSTOM)) data |= AIM_ICQ_STATE_OUT | AIM_ICQ_STATE_AWAY; - aim_srv_setextrainfo(od, TRUE, data, FALSE, NULL, NULL); + return data; } static void +oscar_set_extended_status(PurpleConnection *gc) +{ + aim_srv_setextrainfo(purple_connection_get_protocol_data(gc), TRUE, oscar_get_extended_status(gc), FALSE, NULL); +} + +static void oscar_set_info_and_status(PurpleAccount *account, gboolean setinfo, const char *rawinfo, gboolean setstatus, PurpleStatus *status) { @@ -3920,7 +3925,6 @@ oscar_set_info_and_status(PurpleAccount gsize awaylen = 0; char *status_text = NULL; - const char *itmsurl = NULL; status_type = purple_status_get_type(status); primitive = purple_status_type_get_primitive(status_type); @@ -4002,8 +4006,6 @@ oscar_set_info_and_status(PurpleAccount const char *status_html; status_html = purple_status_get_attr_string(status, "message"); - if (od->icq && (status_html == NULL || status_html[0] == '\0')) - status_html = purple_status_type_get_name(status_type); if (status_html != NULL) { status_text = purple_markup_strip_html(status_html); @@ -4015,17 +4017,13 @@ oscar_set_info_and_status(PurpleAccount } } - itmsurl = purple_status_get_attr_string(status, "itmsurl"); - - /* TODO: Combine these two calls! */ - aim_srv_setextrainfo(od, FALSE, 0, TRUE, status_text, itmsurl); - oscar_set_extendedstatus(gc); + aim_srv_setextrainfo(od, TRUE, oscar_get_extended_status(gc), TRUE, status_text); g_free(status_text); } } static void -oscar_set_status_icq(PurpleAccount *account) +oscar_set_icq_permdeny(PurpleAccount *account) { PurpleConnection *gc = purple_account_get_connection(account); OscarData *od = purple_connection_get_protocol_data(gc); @@ -4036,16 +4034,9 @@ oscar_set_status_icq(PurpleAccount *acco * online. Mimicking the official client's behavior, we use PURPLE_PRIVACY_ALLOW_USERS * when our status is "invisible" and PURPLE_PRIVACY_DENY_USERS otherwise. * In the former case, we are visible only to buddies on our "permanently visible" list. - * In the latter, we are invisible only to buddies on our "permanentnly invisible" list. + * In the latter, we are invisible only to buddies on our "permanently invisible" list. */ aim_ssi_setpermdeny(od, invisible ? PURPLE_PRIVACY_ALLOW_USERS : PURPLE_PRIVACY_DENY_USERS); - - /* - * TODO: I guess we should probably wait and do this after we get - * confirmation from the above SSI call? Right now other people - * see our status blip to "invisible" before we appear offline. - */ - oscar_set_extendedstatus(gc); } void @@ -4071,12 +4062,11 @@ oscar_set_status(PurpleAccount *account, return; } + if (od->icq) + oscar_set_icq_permdeny(account); + /* Set the AIM-style away message for both AIM and ICQ accounts */ oscar_set_info_and_status(account, FALSE, NULL, TRUE, status); - - /* Set the ICQ status for ICQ accounts only */ - if (od->icq) - oscar_set_status_icq(account); } #ifdef CRAZY_WARN @@ -4244,8 +4234,6 @@ static int purple_ssi_parseerr(OscarData return 1; } - oscar_set_status_icq(purple_connection_get_account(gc)); - return 1; } @@ -4546,7 +4534,7 @@ static int purple_ssi_parselist(OscarDat } /* End of switch on curitem->type */ } /* End of for loop */ - oscar_set_status_icq(account); + oscar_set_icq_permdeny(account); /* Activate SSI */ /* Sending the enable causes other people to be able to see you, and you to see them */ @@ -5671,7 +5659,7 @@ oscar_icq_privacy_opts(PurpleConnection purple_account_set_bool(account, "authorization", auth); purple_account_set_bool(account, "web_aware", web_aware); - oscar_set_extendedstatus(gc); + oscar_set_extended_status(gc); aim_icq_setsecurity(od, auth, web_aware); } ============================================================ --- libpurple/protocols/oscar/oscar.h c223825e709e23e905e6bce154c9edf3c0e0a798 +++ libpurple/protocols/oscar/oscar.h 08390f06121b89b6c1c1d1e98dabb0292aadf06e @@ -723,7 +723,7 @@ aim_rxcallback_t aim_callhandler(OscarDa /* 0x0014 */ void aim_srv_setprivacyflags(OscarData *od, FlapConnection *conn, guint32); /* 0x0016 */ void aim_srv_nop(OscarData *od, FlapConnection *conn); /* 0x0017 */ void aim_srv_setversions(OscarData *od, FlapConnection *conn); -/* 0x001e */ int aim_srv_setextrainfo(OscarData *od, gboolean seticqstatus, guint32 icqstatus, gboolean setstatusmsg, const char *statusmsg, const char *itmsurl); +/* 0x001e */ int aim_srv_setextrainfo(OscarData *od, gboolean seticqstatus, guint32 icqstatus, gboolean setstatusmsg, const char *statusmsg); void aim_bos_reqrights(OscarData *od, FlapConnection *conn); From ivan.komarov at soc.pidgin.im Wed Jun 23 18:55:47 2010 From: ivan.komarov at soc.pidgin.im (ivan.komarov at soc.pidgin.im) Date: Wed, 23 Jun 2010 18:55:47 -0400 (EDT) Subject: soc.2010.icq-tlc: 1e62e7c6: Somehow I'm sure this code lacked braces... Message-ID: <20100623225547.E1456AFD0AEF@rock.pidgin.im> ----------------------------------------------------------------- Revision: 1e62e7c65758de7e0aaa5377f865d4164e4482f5 Ancestor: 6290e1fa3bfba05e59462968ebbff460342c48dd Author: ivan.komarov at soc.pidgin.im Date: 2010-06-17T11:10:27 Branch: im.pidgin.soc.2010.icq-tlc URL: http://d.pidgin.im/viewmtn/revision/info/1e62e7c65758de7e0aaa5377f865d4164e4482f5 Modified files: libpurple/protocols/oscar/oscar.c ChangeLog: Somehow I'm sure this code lacked braces. -------------- next part -------------- ============================================================ --- libpurple/protocols/oscar/oscar.c 06e0fbe3baaf3acf0832ec2cb6b44e788f9cd198 +++ libpurple/protocols/oscar/oscar.c 1a4b031df269ce390c80f80f6bb2699258d471eb @@ -2189,10 +2189,10 @@ incomingim_chan2(OscarData *od, FlapConn g_free(rtfmsg); } } - } else if (args->info.rtfmsg.msgtype == 26) + } else if (args->info.rtfmsg.msgtype == 26) { purple_debug_info("oscar", "Sending X-Status Reply\n"); icq_relay_xstatus(od, userinfo->bn, args->cookie); - + } } else { From ivan.komarov at soc.pidgin.im Wed Jun 23 18:56:21 2010 From: ivan.komarov at soc.pidgin.im (ivan.komarov at soc.pidgin.im) Date: Wed, 23 Jun 2010 18:56:21 -0400 (EDT) Subject: soc.2010.icq-tlc: a4338475: merge of '021e6a7b4ba46230e93812c3926825... Message-ID: <20100623225622.EFA68AFD0AEF@rock.pidgin.im> ----------------------------------------------------------------- Revision: a4338475ddd260980c25bbdf804ad8804a4cb406 Ancestor: 021e6a7b4ba46230e93812c39268259f8c6bc7fe Ancestor: c3f4870015fc05ad90e44c5ed481618b8f3301b4 Author: ivan.komarov at soc.pidgin.im Date: 2010-06-23T22:32:45 Branch: im.pidgin.soc.2010.icq-tlc URL: http://d.pidgin.im/viewmtn/revision/info/a4338475ddd260980c25bbdf804ad8804a4cb406 Added files: pidgin/pixmaps/tray/hicolor/index.theme Modified files: COPYRIGHT ChangeLog ChangeLog.API ChangeLog.win32 Makefile.am Makefile.mingw NEWS configure.ac libpurple/dbus-analyze-functions.py libpurple/media/backend-fs2.h libpurple/protocols/jabber/auth.c libpurple/protocols/jabber/chat.h libpurple/protocols/msn/directconn.c libpurple/protocols/msn/directconn.h libpurple/protocols/msn/notification.c libpurple/protocols/msn/notification.h libpurple/protocols/msn/slp.c libpurple/protocols/msn/slplink.c libpurple/protocols/msn/slpmsg.c libpurple/protocols/msn/user.h libpurple/protocols/mxit/login.c libpurple/protocols/oscar/family_feedbag.c libpurple/protocols/oscar/family_oservice.c libpurple/protocols/oscar/libaim.c libpurple/protocols/oscar/libicq.c libpurple/protocols/oscar/oscar.c libpurple/protocols/oscar/oscar.h libpurple/protocols/qq/qq_base.c libpurple/roomlist.h libpurple/upnp.c pidgin/gtkblist.c pidgin/gtkconv.c pidgin/gtkdocklet-gtk.c pidgin/gtkimhtmltoolbar.c pidgin/pixmaps/Makefile.am pidgin/pixmaps/Makefile.mingw pidgin/plugins/gevolution/add_buddy_dialog.c pidgin/plugins/gevolution/gevolution.c pidgin/plugins/gevolution/new_person_dialog.c pidgin.spec.in po/ChangeLog po/POTFILES.in po/af.po po/am.po po/ar.po po/az.po po/be at latin.po po/bg.po po/bn.po po/bn_IN.po po/bs.po po/ca.po po/ca at valencia.po po/cs.po po/da.po po/de.po po/dz.po po/el.po po/en_AU.po po/en_CA.po po/en_GB.po po/eo.po po/es.po po/et.po po/eu.po po/fa.po po/fi.po po/fr.po po/ga.po po/gl.po po/gu.po po/he.po po/hi.po po/hu.po po/hy.po po/id.po po/it.po po/ja.po po/ka.po po/km.po po/kn.po po/ko.po po/ku.po po/lo.po po/lt.po po/mk.po po/mn.po po/mr.po po/ms_MY.po po/my_MM.po po/nb.po po/ne.po po/nl.po po/nn.po po/oc.po po/or.po po/pa.po po/pl.po po/ps.po po/pt.po po/pt_BR.po po/ro.po po/ru.po po/si.po po/sk.po po/sl.po po/sq.po po/sr.po po/sr at latin.po po/sv.po po/sw.po po/ta.po po/te.po po/th.po po/tr.po po/uk.po po/ur.po po/vi.po po/xh.po po/zh_CN.po po/zh_HK.po po/zh_TW.po ChangeLog: merge of '021e6a7b4ba46230e93812c39268259f8c6bc7fe' and 'c3f4870015fc05ad90e44c5ed481618b8f3301b4' From ivan.komarov at soc.pidgin.im Wed Jun 23 18:56:39 2010 From: ivan.komarov at soc.pidgin.im (ivan.komarov at soc.pidgin.im) Date: Wed, 23 Jun 2010 18:56:39 -0400 (EDT) Subject: soc.2010.icq-tlc: c3f48700: propagate from branch 'im.pidgin.pidgin'... Message-ID: <20100623225639.9D150AFD0AEF@rock.pidgin.im> ----------------------------------------------------------------- Revision: c3f4870015fc05ad90e44c5ed481618b8f3301b4 Ancestor: 3ccde42b2f5cfa1fae01e997cfa85f4f9b89abe5 Ancestor: 6290e1fa3bfba05e59462968ebbff460342c48dd Author: ivan.komarov at soc.pidgin.im Date: 2010-06-03T06:33:24 Branch: im.pidgin.soc.2010.icq-tlc URL: http://d.pidgin.im/viewmtn/revision/info/c3f4870015fc05ad90e44c5ed481618b8f3301b4 Added files: libpurple/protocols/oscar/authorization.c libpurple/protocols/oscar/userinfo.c pidgin/pixmaps/tray/hicolor/index.theme Modified files: COPYRIGHT ChangeLog ChangeLog.API ChangeLog.win32 Makefile.am Makefile.mingw NEWS configure.ac libpurple/dbus-analyze-functions.py libpurple/media/backend-fs2.h libpurple/protocols/jabber/auth.c libpurple/protocols/jabber/chat.h libpurple/protocols/msn/directconn.c libpurple/protocols/msn/directconn.h libpurple/protocols/msn/notification.c libpurple/protocols/msn/notification.h libpurple/protocols/msn/slp.c libpurple/protocols/msn/slplink.c libpurple/protocols/msn/slpmsg.c libpurple/protocols/msn/user.h libpurple/protocols/mxit/login.c libpurple/protocols/oscar/Makefile.am libpurple/protocols/oscar/family_icbm.c libpurple/protocols/oscar/family_icq.c libpurple/protocols/oscar/family_locate.c libpurple/protocols/oscar/libaim.c libpurple/protocols/oscar/libicq.c libpurple/protocols/oscar/oscar.c libpurple/protocols/oscar/oscar.h libpurple/protocols/oscar/util.c libpurple/protocols/qq/qq_base.c libpurple/roomlist.h libpurple/upnp.c pidgin/gtkaccount.c pidgin/gtkblist.c pidgin/gtkconv.c pidgin/gtkdocklet-gtk.c pidgin/gtkimhtmltoolbar.c pidgin/gtkutils.c pidgin/gtkutils.h pidgin/minidialog.c pidgin/minidialog.h pidgin/pixmaps/Makefile.am pidgin/pixmaps/Makefile.mingw pidgin/plugins/gevolution/add_buddy_dialog.c pidgin/plugins/gevolution/gevolution.c pidgin/plugins/gevolution/new_person_dialog.c pidgin.spec.in po/ChangeLog po/POTFILES.in po/af.po po/am.po po/ar.po po/az.po po/be at latin.po po/bg.po po/bn.po po/bn_IN.po po/bs.po po/ca.po po/ca at valencia.po po/cs.po po/da.po po/de.po po/dz.po po/el.po po/en_AU.po po/en_CA.po po/en_GB.po po/eo.po po/es.po po/et.po po/eu.po po/fa.po po/fi.po po/fr.po po/ga.po po/gl.po po/gu.po po/he.po po/hi.po po/hu.po po/hy.po po/id.po po/it.po po/ja.po po/ka.po po/km.po po/kn.po po/ko.po po/ku.po po/lo.po po/lt.po po/mk.po po/mn.po po/mr.po po/ms_MY.po po/my_MM.po po/nb.po po/ne.po po/nl.po po/nn.po po/oc.po po/or.po po/pa.po po/pl.po po/ps.po po/pt.po po/pt_BR.po po/ro.po po/ru.po po/si.po po/sk.po po/sl.po po/sq.po po/sr.po po/sr at latin.po po/sv.po po/sw.po po/ta.po po/te.po po/th.po po/tr.po po/uk.po po/ur.po po/vi.po po/xh.po po/zh_CN.po po/zh_HK.po po/zh_TW.po ChangeLog: propagate from branch 'im.pidgin.pidgin' (head 3ccde42b2f5cfa1fae01e997cfa85f4f9b89abe5) to branch 'im.pidgin.soc.2010.icq-tlc' (head 6290e1fa3bfba05e59462968ebbff460342c48dd) From ivan.komarov at soc.pidgin.im Wed Jun 23 18:56:40 2010 From: ivan.komarov at soc.pidgin.im (ivan.komarov at soc.pidgin.im) Date: Wed, 23 Jun 2010 18:56:40 -0400 (EDT) Subject: soc.2010.icq-tlc: fb1ab831: Start using the real ICQ block list (SSI... Message-ID: <20100623225640.2965BAFD0AEF@rock.pidgin.im> ----------------------------------------------------------------- Revision: fb1ab831dedebf45ea50b6f87bfc00265a0115ef Ancestor: 1e62e7c65758de7e0aaa5377f865d4164e4482f5 Author: ivan.komarov at soc.pidgin.im Date: 2010-06-18T13:55:54 Branch: im.pidgin.soc.2010.icq-tlc URL: http://d.pidgin.im/viewmtn/revision/info/fb1ab831dedebf45ea50b6f87bfc00265a0115ef Modified files: libpurple/protocols/oscar/family_feedbag.c libpurple/protocols/oscar/libicq.c libpurple/protocols/oscar/oscar.c libpurple/protocols/oscar/oscar.h ChangeLog: Start using the real ICQ block list (SSI type 0xe) for allowing/blocking users. The deny list (SSI type 0x3) that is used in AIM is actually a "permanently invisible" list for ICQ. Also, the "vismask" parameter in aim_ssi_setpermdeny() was removed, since it wasn't being used anyway. -------------- next part -------------- ============================================================ --- libpurple/protocols/oscar/family_feedbag.c f60d5eba1823a2f8c04f0d239988560da916faba +++ libpurple/protocols/oscar/family_feedbag.c b1af4f2981de17447c2312b31fd1c06c3778e120 @@ -781,16 +781,16 @@ int aim_ssi_adddeny(OscarData *od, const */ int aim_ssi_adddeny(OscarData *od, const char *name) { - + guint16 deny_entry_type = aim_ssi_getdenyentrytype(od); if (!od || !name || !od->ssi.received_data) return -EINVAL; /* Make sure the master group exists */ if (aim_ssi_itemlist_find(od->ssi.local, 0x0000, 0x0000) == NULL) - aim_ssi_itemlist_add(&od->ssi.local, NULL, 0x0000, 0x0000, AIM_SSI_TYPE_GROUP, NULL); + aim_ssi_itemlist_add(&od->ssi.local, NULL, 0x0000, 0x0000, deny_entry_type, NULL); /* Add that bad boy */ - aim_ssi_itemlist_add(&od->ssi.local, name, 0x0000, 0xFFFF, AIM_SSI_TYPE_DENY, NULL); + aim_ssi_itemlist_add(&od->ssi.local, name, 0x0000, 0xFFFF, deny_entry_type, NULL); /* Sync our local list with the server list */ return aim_ssi_sync(od); @@ -893,13 +893,14 @@ int aim_ssi_deldeny(OscarData *od, const */ int aim_ssi_deldeny(OscarData *od, const char *name) { + guint16 deny_entry_type = aim_ssi_getdenyentrytype(od); struct aim_ssi_item *del; if (!od) return -EINVAL; /* Find the item */ - if (!(del = aim_ssi_itemlist_finditem(od->ssi.local, NULL, name, AIM_SSI_TYPE_DENY))) + if (!(del = aim_ssi_itemlist_finditem(od->ssi.local, NULL, name, deny_entry_type))) return -EINVAL; /* Remove the item from the list */ @@ -1030,17 +1031,16 @@ int aim_ssi_rename_group(OscarData *od, * Stores your permit/deny setting on the server, and starts using it. * * @param od The oscar odion. - * @param permdeny Your permit/deny setting. Can be one of the following: + * @param permdeny Your permit/deny setting. For ICQ accounts, it actually affects your visibility + * and has nothing to do with blocking. Can be one of the following: * 1 - Allow all users * 2 - Block all users * 3 - Allow only the users below * 4 - Block only the users below * 5 - Allow only users on my buddy list - * @param vismask A bitmask of the class of users to whom you want to be - * visible. See the AIM_FLAG_BLEH #defines in oscar.h * @return Return 0 if no errors, otherwise return the error number. */ -int aim_ssi_setpermdeny(OscarData *od, guint8 permdeny, guint32 vismask) +int aim_ssi_setpermdeny(OscarData *od, guint8 permdeny) { struct aim_ssi_item *tmp; @@ -1059,9 +1059,6 @@ int aim_ssi_setpermdeny(OscarData *od, g /* Need to add the 0x00ca TLV to the TLV chain */ aim_tlvlist_replace_8(&tmp->data, 0x00ca, permdeny); - /* Need to add the 0x00cb TLV to the TLV chain */ - aim_tlvlist_replace_32(&tmp->data, 0x00cb, vismask); - /* Sync our local list with the server list */ return aim_ssi_sync(od); } @@ -1935,6 +1932,16 @@ static int receiveadded(OscarData *od, F return ret; } +/* + * If we're on ICQ, then AIM_SSI_TYPE_DENY is used for the "permanently invisible" list. + * AIM_SSI_TYPE_ICQDENY is used for blocking users instead. + */ +guint16 +aim_ssi_getdenyentrytype(OscarData* od) +{ + return od->icq ? AIM_SSI_TYPE_ICQDENY : AIM_SSI_TYPE_DENY; +} + static int snachandler(OscarData *od, FlapConnection *conn, aim_module_t *mod, FlapFrame *frame, aim_modsnac_t *snac, ByteStream *bs) { ============================================================ --- libpurple/protocols/oscar/libicq.c a45c5680773c949b0f6c3263afd58c6259f6fc23 +++ libpurple/protocols/oscar/libicq.c ccd96ebd34de1ad326dac38570aa66d8efcbdcf4 @@ -63,11 +63,11 @@ static PurplePluginProtocolInfo prpl_inf NULL, /* add_buddies */ oscar_remove_buddy, /* remove_buddy */ NULL, /* remove_buddies */ - oscar_add_permit, /* add_permit */ + NULL, /* add_permit */ oscar_add_deny, /* add_deny */ - oscar_rem_permit, /* rem_permit */ + NULL, /* rem_permit */ oscar_rem_deny, /* rem_deny */ - oscar_set_permit_deny, /* set_permit_deny */ + NULL, /* set_permit_deny */ oscar_join_chat, /* join_chat */ NULL, /* reject_chat */ oscar_get_chat_name, /* get_chat_name */ ============================================================ --- libpurple/protocols/oscar/oscar.c 1a4b031df269ce390c80f80f6bb2699258d471eb +++ libpurple/protocols/oscar/oscar.c b7cee78f49864d5983563764f969c9353071fe94 @@ -4028,9 +4028,17 @@ oscar_set_status_icq(PurpleAccount *acco oscar_set_status_icq(PurpleAccount *account) { PurpleConnection *gc = purple_account_get_connection(account); + OscarData *od = purple_connection_get_protocol_data(gc); + gboolean invisible = purple_account_is_status_active(account, OSCAR_STATUS_ID_INVISIBLE); - /* Our permit/deny setting affects our invisibility */ - oscar_set_permit_deny(gc); + /* + * For ICQ the permit/deny setting controls who can see you + * online. Mimicking the official client's behavior, we use PURPLE_PRIVACY_ALLOW_USERS + * when our status is "invisible" and PURPLE_PRIVACY_DENY_USERS otherwise. + * In the former case, we are visible only to buddies on our "permanently visible" list. + * In the latter, we are invisible only to buddies on our "permanentnly invisible" list. + */ + aim_ssi_setpermdeny(od, invisible ? PURPLE_PRIVACY_ALLOW_USERS : PURPLE_PRIVACY_DENY_USERS); /* * TODO: I guess we should probably wait and do this after we get @@ -4284,6 +4292,7 @@ static int purple_ssi_parselist(OscarDat va_list ap; guint16 fmtver, numitems; guint32 timestamp; + guint16 deny_entry_type = aim_ssi_getdenyentrytype(od); gc = od->gc; od = purple_connection_get_protocol_data(gc); @@ -4352,8 +4361,8 @@ static int purple_ssi_parselist(OscarDat purple_blist_remove_buddy(b); } - /* Permit list */ - if (account->permit) { + /* Permit list (ICQ doesn't have one) */ + if (!od->icq && account->permit) { next = account->permit; while (next != NULL) { cur = next; @@ -4372,7 +4381,7 @@ static int purple_ssi_parselist(OscarDat while (next != NULL) { cur = next; next = next->next; - if (!aim_ssi_itemlist_finditem(od->ssi.local, NULL, cur->data, AIM_SSI_TYPE_DENY)) { + if (!aim_ssi_itemlist_finditem(od->ssi.local, NULL, cur->data, deny_entry_type)) { purple_debug_info("oscar", "ssi: removing deny %s from local list\n", (const char *)cur->data); purple_privacy_deny_remove(account, cur->data, TRUE); @@ -4487,8 +4496,8 @@ static int purple_ssi_parselist(OscarDat g_free(gname_utf8); } break; - case AIM_SSI_TYPE_PERMIT: { /* Permit buddy */ - if (curitem->name) { + case AIM_SSI_TYPE_PERMIT: { /* Permit buddy (unless we're on ICQ) */ + if (!od->icq && curitem->name) { /* if (!find_permdeny_by_name(gc->permit, curitem->name)) { AAA */ GSList *list; for (list=account->permit; (list && oscar_util_name_compare(curitem->name, list->data)); list=list->next); @@ -4500,8 +4509,9 @@ static int purple_ssi_parselist(OscarDat } } break; + case AIM_SSI_TYPE_ICQDENY: case AIM_SSI_TYPE_DENY: { /* Deny buddy */ - if (curitem->name) { + if (curitem->type == deny_entry_type && curitem->name) { GSList *list; for (list=account->deny; (list && oscar_util_name_compare(curitem->name, list->data)); list=list->next); if (!list) { @@ -5172,36 +5182,14 @@ void oscar_set_permit_deny(PurpleConnect void oscar_set_permit_deny(PurpleConnection *gc) { PurpleAccount *account = purple_connection_get_account(gc); OscarData *od = purple_connection_get_protocol_data(gc); - PurplePrivacyType perm_deny; - /* - * For ICQ the permit/deny setting controls who you can see you - * online when you set your status to "invisible." If we're ICQ - * and we're invisible then we need to use one of - * PURPLE_PRIVACY_ALLOW_USERS or PURPLE_PRIVACY_ALLOW_BUDDYLIST or - * PURPLE_PRIVACY_DENY_USERS if we actually want to be invisible - * to anyone. - * - * These three permit/deny settings correspond to: - * 1. Invisible to everyone except the people on my "permit" list - * 2. Invisible to everyone except the people on my buddy list - * 3. Invisible only to the people on my "deny" list - * - * It would be nice to allow cases 2 and 3, but our UI doesn't have - * a nice way to do it. For now we just force case 1. - */ - if (od->icq && purple_account_is_status_active(account, OSCAR_STATUS_ID_INVISIBLE)) - perm_deny = PURPLE_PRIVACY_ALLOW_USERS; - else - perm_deny = account->perm_deny; - if (od->ssi.received_data) /* * Conveniently there is a one-to-one mapping between the * values of libpurple's PurplePrivacyType and the values used * by the oscar protocol. */ - aim_ssi_setpermdeny(od, perm_deny, 0xffffffff); + aim_ssi_setpermdeny(od, account->perm_deny); } void oscar_add_permit(PurpleConnection *gc, const char *who) { ============================================================ --- libpurple/protocols/oscar/oscar.h a502d7c04c7fd459230be88158165a2add4c534f +++ libpurple/protocols/oscar/oscar.h c223825e709e23e905e6bce154c9edf3c0e0a798 @@ -1272,6 +1272,7 @@ int aim_bart_request(OscarData *od, cons #define AIM_SSI_TYPE_DENY 0x0003 #define AIM_SSI_TYPE_PDINFO 0x0004 #define AIM_SSI_TYPE_PRESENCEPREFS 0x0005 +#define AIM_SSI_TYPE_ICQDENY 0x000e #define AIM_SSI_TYPE_ICONINFO 0x0014 #define AIM_SSI_ACK_SUCCESS 0x0000 @@ -1340,13 +1341,13 @@ int aim_ssi_deletelist(OscarData *od); int aim_ssi_rename_group(OscarData *od, const char *oldgn, const char *newgn); int aim_ssi_cleanlist(OscarData *od); int aim_ssi_deletelist(OscarData *od); -int aim_ssi_setpermdeny(OscarData *od, guint8 permdeny, guint32 vismask); +int aim_ssi_setpermdeny(OscarData *od, guint8 permdeny); int aim_ssi_setpresence(OscarData *od, guint32 presence); int aim_ssi_seticon(OscarData *od, const guint8 *iconsum, guint8 iconsumlen); int aim_ssi_delicon(OscarData *od); +guint16 aim_ssi_getdenyentrytype(OscarData* od); - /* 0x0015 - family_icq.c */ #define AIM_ICQ_INFO_SIMPLE 0x001 #define AIM_ICQ_INFO_SUMMARY 0x002 From masca at cpw.pidgin.im Thu Jun 24 02:16:30 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Thu, 24 Jun 2010 02:16:30 -0400 (EDT) Subject: soc.2010.msn-tlc: 1a816c94: Destroy Part when the Message is destroy... Message-ID: <20100624061631.4D86BAFD1F73@rock.pidgin.im> ----------------------------------------------------------------- Revision: 1a816c941b99de4c5132274265fd976f8427b84e Ancestor: b9015542a27b73c8708408e48069d83aa603c68b Author: masca at cpw.pidgin.im Date: 2010-06-22T22:39:28 Branch: im.pidgin.soc.2010.msn-tlc URL: http://d.pidgin.im/viewmtn/revision/info/1a816c941b99de4c5132274265fd976f8427b84e Modified files: libpurple/protocols/msn/msg.c ChangeLog: Destroy Part when the Message is destroyed. -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/msg.c 607d0e4f518b5e5b487cc73bcc2c41d6dc8308d2 +++ libpurple/protocols/msn/msg.c daf167418ab6b625b9aae2c1ad1efa3173800f3c @@ -29,6 +29,7 @@ #include "msg.h" #include "msnutils.h" #include "slpmsg.h" +#include "slpmsg_part.h" MsnMessage * msn_message_new(MsnMsgType type) @@ -71,6 +72,7 @@ msn_message_destroy(MsnMessage *msg) g_hash_table_destroy(msg->header_table); g_list_free(msg->header_list); + msn_slpmsgpart_destroy(msg->part); g_free(msg); } From masca at cpw.pidgin.im Thu Jun 24 02:16:29 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Thu, 24 Jun 2010 02:16:29 -0400 (EDT) Subject: soc.2010.msn-tlc: 07bffe8f: Remove msgs list from SlpMessage. Message-ID: <20100624061630.99104AFD0A51@rock.pidgin.im> ----------------------------------------------------------------- Revision: 07bffe8f618593d5af66f72274a5bbe6e6aea860 Ancestor: 5eb804b69f1e0178ee1fc4f330757386133b2256 Author: masca at cpw.pidgin.im Date: 2010-06-22T23:00:10 Branch: im.pidgin.soc.2010.msn-tlc URL: http://d.pidgin.im/viewmtn/revision/info/07bffe8f618593d5af66f72274a5bbe6e6aea860 Modified files: libpurple/protocols/msn/sbconn.c libpurple/protocols/msn/slpmsg.c libpurple/protocols/msn/slpmsg.h ChangeLog: Remove msgs list from SlpMessage. -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/sbconn.c 6b057658aeaf01c5b55fbd49684c72092f91ad90 +++ libpurple/protocols/msn/sbconn.c 485832d2a7106cd14362654a0c00108c149eb735 @@ -4,6 +4,7 @@ #include "msg.h" #include "sbconn.h" +#if 0 /* We have received the message ack */ void msn_sbconn_msg_ack(MsnMessage *msg, void *data) @@ -62,6 +63,7 @@ msn_sbconn_msg_nak(MsnMessage *msg, void slpmsg->msgs = g_list_remove(slpmsg->msgs, msg); msn_message_unref(msg); } +#endif void msn_sbconn_send_msg(MsnSlpLink *slplink, MsnMessage *msg) { ============================================================ --- libpurple/protocols/msn/slpmsg.c ecf1b880b1dc93d7303f1c015bd6abb857d530fc +++ libpurple/protocols/msn/slpmsg.c a9715e582d77760a61297e37c6792c27dda0eec4 @@ -109,6 +109,7 @@ msn_slpmsg_destroy(MsnSlpMessage *slpmsg if (slpmsg->img == NULL) g_free(slpmsg->buffer); +#if 0 for (cur = slpmsg->msgs; cur != NULL; cur = g_list_delete_link(cur, cur)) { /* Something is pointing to this slpmsg, so we should remove that @@ -124,6 +125,7 @@ msn_slpmsg_destroy(MsnSlpMessage *slpmsg } slplink->slp_msgs = g_list_remove(slplink->slp_msgs, slpmsg); +#endif for (cur = slpmsg->parts; cur != NULL; cur = g_list_delete_link(cur, cur)) { ============================================================ --- libpurple/protocols/msn/slpmsg.h 4dccd8e99a23e546248c2bd322478f8ecfb4f685 +++ libpurple/protocols/msn/slpmsg.h 8a2aa89a6093d245bac337a1318953161b6f05ee @@ -74,10 +74,10 @@ struct _MsnSlpMessage */ long long size; - GList *msgs; /**< The real messages. */ GList *parts; /**< A list with the SlpMsgParts */ #if 0 + GList *msgs; /**< The real messages. */ MsnMessage *msg; /**< The temporary real message that will be sent. */ #endif From masca at cpw.pidgin.im Thu Jun 24 02:16:32 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Thu, 24 Jun 2010 02:16:32 -0400 (EDT) Subject: soc.2010.msn-tlc: 1bb6e44c: Remove all unneeded MsnMessage related c... Message-ID: <20100624061633.81DA6AFD1F8A@rock.pidgin.im> ----------------------------------------------------------------- Revision: 1bb6e44c1f4a5d2c5f515fb88a08c7430250a007 Ancestor: 32c75f2da03ed189cfae04c8683907fbc59f40ec Author: masca at cpw.pidgin.im Date: 2010-06-23T22:47:49 Branch: im.pidgin.soc.2010.msn-tlc URL: http://d.pidgin.im/viewmtn/revision/info/1bb6e44c1f4a5d2c5f515fb88a08c7430250a007 Modified files: libpurple/protocols/msn/sbconn.c libpurple/protocols/msn/sbconn.h libpurple/protocols/msn/slplink.c libpurple/protocols/msn/slplink.h libpurple/protocols/msn/slpmsg.c libpurple/protocols/msn/slpmsg.h ChangeLog: Remove all unneeded MsnMessage related code that was replaced by SlpParts. -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/sbconn.c 485832d2a7106cd14362654a0c00108c149eb735 +++ libpurple/protocols/msn/sbconn.c 815264a77ef3b2e69094d7849614c5fa52066c30 @@ -4,83 +4,6 @@ #include "msg.h" #include "sbconn.h" -#if 0 -/* We have received the message ack */ -void -msn_sbconn_msg_ack(MsnMessage *msg, void *data) -{ - MsnSlpMessage *slpmsg; - long long real_size; - - slpmsg = data; - - real_size = (slpmsg->flags == P2P_ACK) ? 0 : slpmsg->size; - - slpmsg->offset += msg->slpmsg->header->length; - - slpmsg->msgs = g_list_remove(slpmsg->msgs, msg); - - if (slpmsg->offset < real_size) - { - if (slpmsg->slpcall->xfer && purple_xfer_get_status(slpmsg->slpcall->xfer) == PURPLE_XFER_STATUS_STARTED) - { - slpmsg->slpcall->xfer_msg = slpmsg; - msn_message_ref(msg); - purple_xfer_prpl_ready(slpmsg->slpcall->xfer); - } - else - msn_slplink_send_msgpart(slpmsg->slplink, slpmsg); - } - else - { - /* The whole message has been sent */ - if (slpmsg->flags == P2P_MSN_OBJ_DATA || - slpmsg->flags == (P2P_WML2009_COMP | P2P_MSN_OBJ_DATA) || - slpmsg->flags == P2P_FILE_DATA) - { - if (slpmsg->slpcall != NULL) - { - if (slpmsg->slpcall->cb) - slpmsg->slpcall->cb(slpmsg->slpcall, - NULL, 0); - } - } - } - - msn_message_unref(msg); -} - -/* We have received the message nak. */ -void -msn_sbconn_msg_nak(MsnMessage *msg, void *data) -{ - MsnSlpMessage *slpmsg; - - slpmsg = data; - - msn_slplink_send_msgpart(slpmsg->slplink, slpmsg); - - slpmsg->msgs = g_list_remove(slpmsg->msgs, msg); - msn_message_unref(msg); -} -#endif - -void msn_sbconn_send_msg(MsnSlpLink *slplink, MsnMessage *msg) -{ - if (slplink->swboard == NULL) - { - slplink->swboard = msn_session_get_swboard(slplink->session, - slplink->remote_user, MSN_SB_FLAG_FT); - - g_return_if_fail(slplink->swboard != NULL); - - /* If swboard is destroyed we will be too */ - slplink->swboard->slplinks = g_list_prepend(slplink->swboard->slplinks, slplink); - } - - msn_switchboard_send_msg(slplink->swboard, msg, TRUE); -} - void msn_sbconn_send_part(MsnSlpLink *slplink, MsnSlpMessagePart *part) { MsnMessage *msg; ============================================================ --- libpurple/protocols/msn/sbconn.h 00058b70cb8c27a869f83c2a8e99aad33ab29d82 +++ libpurple/protocols/msn/sbconn.h 410133301b8ff7bbf81ee4712b44124900e0d027 @@ -6,11 +6,6 @@ #define MSN_SBCONN_MAX_SIZE 1202 -void msn_sbconn_msg_ack(MsnMessage *msg, void *data); - -void msn_sbconn_msg_nak(MsnMessage *msg, void *data); - -void msn_sbconn_send_msg(MsnSlpLink *slplink, MsnMessage *msg); void msn_sbconn_send_part(MsnSlpLink *slplink, MsnSlpMessagePart *part); void msn_switchboard_send_msg(MsnSwitchBoard *swboard, MsnMessage *msg, ============================================================ --- libpurple/protocols/msn/slplink.c b2e4fce6641d29ce86a42c77a73dee7b6e817b33 +++ libpurple/protocols/msn/slplink.c c43a16178951d554a99aeba09eaac496e093c75b @@ -278,20 +278,6 @@ msn_slplink_send_part(MsnSlpLink *slplin msn_sbconn_send_part(slplink, part); } } -#if 0 -void -msn_slplink_send_msg(MsnSlpLink *slplink, MsnMessage *msg) -{ - if (slplink->dc != NULL && slplink->dc->state == DC_STATE_ESTABLISHED) - { - msn_dc_enqueue_msg(slplink->dc, msg); - } - else - { - msn_sbconn_send_msg(slplink, msg); - } -} -#endif void msn_slplink_send_msgpart(MsnSlpLink *slplink, MsnSlpMessage *slpmsg) @@ -403,19 +389,6 @@ msn_slplink_release_slpmsg(MsnSlpLink *s slpmsg->header->total_size = slpmsg->size; msn_slplink_send_msgpart(slplink, slpmsg); - -#if 0 - passport = purple_normalize(slplink->session->account, slplink->remote_user); - msn_message_set_header(msg, "P2P-Dest", passport); - - msg->ack_cb = msn_sbconn_msg_ack; - msg->nak_cb = msn_sbconn_msg_nak; - msg->ack_data = slpmsg; - - msn_slplink_send_msgpart(slplink, slpmsg); - - msn_message_destroy(msg); -#endif } void ============================================================ --- libpurple/protocols/msn/slplink.h ce4dec96a931dde16578c5ac5a0148c8fbe020fc +++ libpurple/protocols/msn/slplink.h d25b835455385fc867cc09fadb3128b70b0da23d @@ -84,7 +84,6 @@ void msn_slplink_request_ft(MsnSlpLink * void msn_slplink_process_msg(MsnSlpLink *slplink, MsnP2PHeader *header, const char *data, gsize len); void msn_slplink_request_ft(MsnSlpLink *slplink, PurpleXfer *xfer); -void msn_slplink_send_msg(MsnSlpLink *slplink, MsnMessage *msg); /* Only exported for msn_xfer_write */ void msn_slplink_send_msgpart(MsnSlpLink *slplink, MsnSlpMessage *slpmsg); ============================================================ --- libpurple/protocols/msn/slpmsg.c a9715e582d77760a61297e37c6792c27dda0eec4 +++ libpurple/protocols/msn/slpmsg.c 71f315b663e01960aebb936bcb0e674f16ac780e @@ -109,24 +109,6 @@ msn_slpmsg_destroy(MsnSlpMessage *slpmsg if (slpmsg->img == NULL) g_free(slpmsg->buffer); -#if 0 - for (cur = slpmsg->msgs; cur != NULL; cur = g_list_delete_link(cur, cur)) - { - /* Something is pointing to this slpmsg, so we should remove that - * pointer to prevent a crash. */ - /* Ex: a user goes offline and after that we receive an ACK */ - - MsnMessage *msg = cur->data; - - msg->ack_cb = NULL; - msg->nak_cb = NULL; - msg->ack_data = NULL; - msn_message_unref(msg); - } - - slplink->slp_msgs = g_list_remove(slplink->slp_msgs, slpmsg); -#endif - for (cur = slpmsg->parts; cur != NULL; cur = g_list_delete_link(cur, cur)) { /* Something is pointing to this slpmsg, so we should remove that @@ -191,37 +173,7 @@ msn_slpmsg_set_image(MsnSlpMessage *slpm slpmsg->size = purple_imgstore_get_size(img); } -#if 0 -void -msn_slpmsg_show(MsnMessage *msg) -{ - const char *info; - gboolean text; - guint32 flags; - text = FALSE; - - flags = GUINT32_TO_LE(msg->slpmsg->header->flags); - - switch (flags) - { - case P2P_NO_FLAG : - info = "SLP CONTROL"; - text = TRUE; - break; - case P2P_ACK: - info = "SLP ACK"; break; - case P2P_MSN_OBJ_DATA: - case P2P_FILE_DATA: - info = "SLP DATA"; break; - default: - info = "SLP UNKNOWN"; break; - } - - msn_message_show_readable(msg, info, text); -} -#endif - MsnSlpMessage * msn_slpmsg_sip_new(MsnSlpCall *slpcall, int cseq, const char *header, const char *branch, ============================================================ --- libpurple/protocols/msn/slpmsg.h 8a2aa89a6093d245bac337a1318953161b6f05ee +++ libpurple/protocols/msn/slpmsg.h d548f040bf4d972f284ad299c7b360bd5effa338 @@ -76,11 +76,6 @@ struct _MsnSlpMessage GList *parts; /**< A list with the SlpMsgParts */ -#if 0 - GList *msgs; /**< The real messages. */ - MsnMessage *msg; /**< The temporary real message that will be sent. */ -#endif - const char *info; gboolean text_body; }; @@ -167,10 +162,6 @@ MsnSlpMessage *msn_slpmsg_file_new(MsnSl */ MsnSlpMessage *msn_slpmsg_file_new(MsnSlpCall *slpcall, size_t size); -#if 0 -void msn_slpmsg_show(MsnMessage *msg); -#endif - /** * Serialize the MsnSlpMessage in a way it can be used to be transmited * From masca at cpw.pidgin.im Thu Jun 24 02:16:33 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Thu, 24 Jun 2010 02:16:33 -0400 (EDT) Subject: soc.2010.msn-tlc: 2e8c4d52: Remove unneeded include. Message-ID: <20100624061634.0158BAFD0A51@rock.pidgin.im> ----------------------------------------------------------------- Revision: 2e8c4d52447b1f02589bc2b229910c3c3fa1f6c4 Ancestor: 1bb6e44c1f4a5d2c5f515fb88a08c7430250a007 Author: masca at cpw.pidgin.im Date: 2010-06-23T23:35:13 Branch: im.pidgin.soc.2010.msn-tlc URL: http://d.pidgin.im/viewmtn/revision/info/2e8c4d52447b1f02589bc2b229910c3c3fa1f6c4 Modified files: libpurple/protocols/msn/session.h ChangeLog: Remove unneeded include. -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/session.h 4eefc884391dcb0a899edd47f21e19fed4e5dc6b +++ libpurple/protocols/msn/session.h b7667c5640340b76a49b63f73fa7f7f9dc552620 @@ -62,7 +62,6 @@ typedef enum #include "nexus.h" #include "notification.h" #include "oim.h" -#include "slpcall.h" #include "switchboard.h" #include "user.h" #include "userlist.h" From masca at cpw.pidgin.im Thu Jun 24 02:16:35 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Thu, 24 Jun 2010 02:16:35 -0400 (EDT) Subject: soc.2010.msn-tlc: 32c75f2d: Remove uneeded include. Message-ID: <20100624061636.0177DAFD1F73@rock.pidgin.im> ----------------------------------------------------------------- Revision: 32c75f2da03ed189cfae04c8683907fbc59f40ec Ancestor: fc67083e931c5aa65573eaa069c0bb28f1dc9b9d Author: masca at cpw.pidgin.im Date: 2010-06-22T23:23:15 Branch: im.pidgin.soc.2010.msn-tlc URL: http://d.pidgin.im/viewmtn/revision/info/32c75f2da03ed189cfae04c8683907fbc59f40ec Modified files: libpurple/protocols/msn/slp.c ChangeLog: Remove uneeded include. -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/slp.c 0f59c9d0618bd06de70c99311dbf627eba52159e +++ libpurple/protocols/msn/slp.c ff0c1058a825d329ca457b6f889878679b87021a @@ -32,7 +32,6 @@ #include "object.h" #include "user.h" -#include "switchboard.h" #include "sbconn.h" #include "directconn.h" #include "p2p.h" From masca at cpw.pidgin.im Thu Jun 24 02:16:36 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Thu, 24 Jun 2010 02:16:36 -0400 (EDT) Subject: soc.2010.msn-tlc: 50866b18: Hide msn_slplink_destroy and use the unr... Message-ID: <20100624061636.A8490AFD1F7C@rock.pidgin.im> ----------------------------------------------------------------- Revision: 50866b18d43f2d75de77e9541e28af56c97d7e4b Ancestor: 2e8c4d52447b1f02589bc2b229910c3c3fa1f6c4 Author: masca at cpw.pidgin.im Date: 2010-06-24T00:12:45 Branch: im.pidgin.soc.2010.msn-tlc URL: http://d.pidgin.im/viewmtn/revision/info/50866b18d43f2d75de77e9541e28af56c97d7e4b Modified files: libpurple/protocols/msn/directconn.c libpurple/protocols/msn/session.c libpurple/protocols/msn/slplink.c libpurple/protocols/msn/slplink.h libpurple/protocols/msn/switchboard.c ChangeLog: Hide msn_slplink_destroy and use the unref version everywhere. -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/directconn.c 7afe7a119ed7eb861dc241d0eed931bb9b47702a +++ libpurple/protocols/msn/directconn.c 02ce8a59fae9e3d5fbf701d2fc0f1b146f941d20 @@ -185,7 +185,7 @@ msn_dc_destroy(MsnDirectConn *dc) if (slplink) { slplink->dc = NULL; if (slplink->swboard == NULL) - msn_slplink_destroy(slplink); + msn_slplink_unref(slplink); } g_free(dc->msg_body); ============================================================ --- libpurple/protocols/msn/session.c 59bc452ab08df2c364faea2941d97ee80055d82d +++ libpurple/protocols/msn/session.c bf1425dba506b08d3c1807b4362a8ee90b62e2ec @@ -72,7 +72,7 @@ msn_session_destroy(MsnSession *session) g_hash_table_destroy(session->soap_table); while (session->slplinks != NULL) - msn_slplink_destroy(session->slplinks->data); + msn_slplink_unref(session->slplinks->data); while (session->switches != NULL) msn_switchboard_destroy(session->switches->data); ============================================================ --- libpurple/protocols/msn/slplink.c c43a16178951d554a99aeba09eaac496e093c75b +++ libpurple/protocols/msn/slplink.c f6d607ab52c91a2420f37b40120f2ee860a471d3 @@ -88,7 +88,7 @@ msn_slplink_new(MsnSession *session, con return msn_slplink_ref(slplink); } -void +static void msn_slplink_destroy(MsnSlpLink *slplink) { MsnSession *session; ============================================================ --- libpurple/protocols/msn/slplink.h d25b835455385fc867cc09fadb3128b70b0da23d +++ libpurple/protocols/msn/slplink.h 2a1c1b8d016b867bec868b5df839d4a2d3011a17 @@ -57,8 +57,6 @@ void msn_slplink_unref(MsnSlpLink *slpli MsnSlpLink *msn_slplink_ref(MsnSlpLink *slplink); void msn_slplink_unref(MsnSlpLink *slplink); -void msn_slplink_destroy(MsnSlpLink *slplink); - /** * @return An MsnSlpLink for the given user, or NULL if there is no * existing MsnSlpLink. ============================================================ --- libpurple/protocols/msn/switchboard.c 58fbec89a45874ea10b18654fed4500467e06616 +++ libpurple/protocols/msn/switchboard.c b4fb470ee3d16066a22090e51aa28fec0d2a2b16 @@ -90,9 +90,11 @@ msn_switchboard_destroy(MsnSwitchBoard * while (swboard->slplinks != NULL) { MsnSlpLink *slplink = swboard->slplinks->data; + swboard->slplinks = g_list_remove(swboard->slplinks, slplink); + /* Destroy only those slplinks which use the switchboard */ if (slplink->dc == NULL) - msn_slplink_destroy(slplink); + msn_slplink_unref(slplink); else { swboard->slplinks = g_list_remove(swboard->slplinks, slplink); slplink->swboard = NULL; From masca at cpw.pidgin.im Thu Jun 24 02:16:39 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Thu, 24 Jun 2010 02:16:39 -0400 (EDT) Subject: soc.2010.msn-tlc: 5eb804b6: Destroying Parts return silently when it... Message-ID: <20100624061642.93B11AFD0A51@rock.pidgin.im> ----------------------------------------------------------------- Revision: 5eb804b69f1e0178ee1fc4f330757386133b2256 Ancestor: b81a6f79809ae0b0f6f4a31c88b66be7901d34b8 Author: masca at cpw.pidgin.im Date: 2010-06-22T22:54:17 Branch: im.pidgin.soc.2010.msn-tlc URL: http://d.pidgin.im/viewmtn/revision/info/5eb804b69f1e0178ee1fc4f330757386133b2256 Modified files: libpurple/protocols/msn/slpmsg_part.c ChangeLog: Destroying Parts return silently when it's passed a NULL pointer. -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/slpmsg_part.c f1195a6c928de9fe2f9d61d7d1b0ee040ebf0ada +++ libpurple/protocols/msn/slpmsg_part.c f122ea576693ee08af4b57119c90d95053b2be0f @@ -57,6 +57,9 @@ void msn_slpmsgpart_destroy(MsnSlpMessag void msn_slpmsgpart_destroy(MsnSlpMessagePart *part) { + if (!part) + return; + g_free(part->header); g_free(part->footer); From masca at cpw.pidgin.im Thu Jun 24 02:16:43 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Thu, 24 Jun 2010 02:16:43 -0400 (EDT) Subject: soc.2010.msn-tlc: 7e78afba: Fix typo. Message-ID: <20100624061644.6379DAFD1F7C@rock.pidgin.im> ----------------------------------------------------------------- Revision: 7e78afba8cdbfef368ec900086f58fbf49e06221 Ancestor: 1a816c941b99de4c5132274265fd976f8427b84e Author: masca at cpw.pidgin.im Date: 2010-06-22T22:44:13 Branch: im.pidgin.soc.2010.msn-tlc URL: http://d.pidgin.im/viewmtn/revision/info/7e78afba8cdbfef368ec900086f58fbf49e06221 Modified files: libpurple/protocols/msn/slpmsg_part.c libpurple/protocols/msn/slpmsg_part.h ChangeLog: Fix typo. -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/slpmsg_part.c 3f42c5411427812a44062de598c5b7f8cfd3d599 +++ libpurple/protocols/msn/slpmsg_part.c f1195a6c928de9fe2f9d61d7d1b0ee040ebf0ada @@ -15,7 +15,7 @@ MsnSlpMessagePart *msn_slpmsgpart_new(Ms part->footer = g_memdup(footer, P2P_PACKET_FOOTER_SIZE); part->ack_cb = msn_slpmsgpart_ack; - part->nack_cb = msn_slpmsgpart_nak; + part->nak_cb = msn_slpmsgpart_nak; return part; } ============================================================ --- libpurple/protocols/msn/slpmsg_part.h 175cc10b10442e9f28bdb1227e916098bbc06fef +++ libpurple/protocols/msn/slpmsg_part.h 75548a15e0c2bb5856cfe056d1ec437004827d03 @@ -12,7 +12,7 @@ struct _MsnSlpMessagePart MsnP2PFooter *footer; MsnSlpPartCb ack_cb; - MsnSlpPartCb nack_cb; + MsnSlpPartCb nak_cb; void *ack_data; guchar *buffer; From masca at cpw.pidgin.im Thu Jun 24 02:16:44 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Thu, 24 Jun 2010 02:16:44 -0400 (EDT) Subject: soc.2010.msn-tlc: b81a6f79: Destroy Parts when the SlpMessage is des... Message-ID: <20100624061644.E7396AFD1F8D@rock.pidgin.im> ----------------------------------------------------------------- Revision: b81a6f79809ae0b0f6f4a31c88b66be7901d34b8 Ancestor: 7e78afba8cdbfef368ec900086f58fbf49e06221 Author: masca at cpw.pidgin.im Date: 2010-06-22T22:44:28 Branch: im.pidgin.soc.2010.msn-tlc URL: http://d.pidgin.im/viewmtn/revision/info/b81a6f79809ae0b0f6f4a31c88b66be7901d34b8 Modified files: libpurple/protocols/msn/slpmsg.c ChangeLog: Destroy Parts when the SlpMessage is destroyed. -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/slpmsg.c ab6236e6b81765ad2e450f6841f9c765d4ed18f0 +++ libpurple/protocols/msn/slpmsg.c ecf1b880b1dc93d7303f1c015bd6abb857d530fc @@ -26,6 +26,7 @@ #include "debug.h" #include "slpmsg.h" +#include "slpmsg_part.h" #include "slplink.h" /************************************************************************** @@ -124,6 +125,22 @@ msn_slpmsg_destroy(MsnSlpMessage *slpmsg slplink->slp_msgs = g_list_remove(slplink->slp_msgs, slpmsg); + for (cur = slpmsg->parts; cur != NULL; cur = g_list_delete_link(cur, cur)) + { + /* Something is pointing to this slpmsg, so we should remove that + * pointer to prevent a crash. */ + /* Ex: a user goes offline and after that we receive an ACK */ + + MsnSlpMessagePart *part = cur->data; + + part->ack_cb = NULL; + part->nak_cb = NULL; + part->ack_data = NULL; + msn_slpmsgpart_destroy(part); + } + + slplink->slp_msgs = g_list_remove(slplink->slp_msgs, slpmsg); + g_free(slpmsg->header); g_free(slpmsg->footer); From masca at cpw.pidgin.im Thu Jun 24 02:16:53 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Thu, 24 Jun 2010 02:16:53 -0400 (EDT) Subject: soc.2010.msn-tlc: b9015542: Prevent a crash, this should never happe... Message-ID: <20100624061653.EF3D3AFD1F7C@rock.pidgin.im> ----------------------------------------------------------------- Revision: b9015542a27b73c8708408e48069d83aa603c68b Ancestor: d22f5fd47878d95ae78e4af780a6f648bd4d0d90 Author: masca at cpw.pidgin.im Date: 2010-06-22T22:03:55 Branch: im.pidgin.soc.2010.msn-tlc URL: http://d.pidgin.im/viewmtn/revision/info/b9015542a27b73c8708408e48069d83aa603c68b Modified files: libpurple/protocols/msn/msg.c ChangeLog: Prevent a crash, this should never happen. It needs a little more work before being fixed. -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/msg.c f6b5b68b071e7400439c20a9a5141991701cf4c1 +++ libpurple/protocols/msn/msg.c 607d0e4f518b5e5b487cc73bcc2c41d6dc8308d2 @@ -930,7 +930,10 @@ msn_p2p_msg(MsnCmdProc *cmdproc, MsnMess data = msn_message_get_bin_data(msg, &len); - msn_slplink_process_msg(slplink, msg->part->header, data, len); + if (msg->part) + msn_slplink_process_msg(slplink, msg->part->header, data, len); + else /* This should never happen. */ + purple_debug_fatal("msn", "P2P message without a Part.\n"); } static void From masca at cpw.pidgin.im Thu Jun 24 02:17:01 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Thu, 24 Jun 2010 02:17:01 -0400 (EDT) Subject: soc.2010.msn-tlc: d09b6f5a: Move file request up in the stack. Message-ID: <20100624061702.2DEBAAFD0A51@rock.pidgin.im> ----------------------------------------------------------------- Revision: d09b6f5aaa0c654d0b38b8c06cdc6ffff1285e2a Ancestor: 50866b18d43f2d75de77e9541e28af56c97d7e4b Author: masca at cpw.pidgin.im Date: 2010-06-24T00:41:07 Branch: im.pidgin.soc.2010.msn-tlc URL: http://d.pidgin.im/viewmtn/revision/info/d09b6f5aaa0c654d0b38b8c06cdc6ffff1285e2a Modified files: libpurple/protocols/msn/msn.c libpurple/protocols/msn/slp.c libpurple/protocols/msn/slp.h libpurple/protocols/msn/slplink.c libpurple/protocols/msn/slplink.h ChangeLog: Move file request up in the stack. -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/msn.c 3a0b79ebd0451c59af3beac1e7f1153fd6a84320 +++ libpurple/protocols/msn/msn.c 7c9aafe74ee46591cfb527568c3a509bf72a7bd2 @@ -803,9 +803,7 @@ t_msn_xfer_init(PurpleXfer *xfer) static void t_msn_xfer_init(PurpleXfer *xfer) { - MsnSlpLink *slplink = xfer->data; - msn_slplink_request_ft(slplink, xfer); - msn_slplink_unref(slplink); + msn_request_ft(xfer); } static void ============================================================ --- libpurple/protocols/msn/slp.c ff0c1058a825d329ca457b6f889878679b87021a +++ libpurple/protocols/msn/slp.c f4959c1fd50f80034ae9ff7a851471c11552b06b @@ -1318,3 +1318,132 @@ request_user_display(MsnUser *user) msn_release_buddy_icon_request(session->userlist); } } + +static void +send_file_cb(MsnSlpCall *slpcall) +{ + MsnSlpMessage *slpmsg; + PurpleXfer *xfer; + + xfer = (PurpleXfer *)slpcall->xfer; + if (purple_xfer_get_status(xfer) >= PURPLE_XFER_STATUS_STARTED) + return; + + purple_xfer_ref(xfer); + purple_xfer_start(xfer, -1, NULL, 0); + if (purple_xfer_get_status(xfer) != PURPLE_XFER_STATUS_STARTED) { + purple_xfer_unref(xfer); + return; + } + purple_xfer_unref(xfer); + + slpmsg = msn_slpmsg_file_new(slpcall, purple_xfer_get_size(xfer)); + msn_slpmsg_set_slplink(slpmsg, slpcall->slplink); + + msn_slplink_send_slpmsg(slpcall->slplink, slpmsg); +} + +static gchar * +gen_context(PurpleXfer *xfer, const char *file_name, const char *file_path) +{ + gsize size = 0; + MsnFileContext *header; + gchar *u8 = NULL; + gchar *ret; + gunichar2 *uni = NULL; + glong currentChar = 0; + glong len = 0; + const char *preview; + gsize preview_len; + + size = purple_xfer_get_size(xfer); + + purple_xfer_prepare_thumbnail(xfer, "png"); + + if (!file_name) { + gchar *basename = g_path_get_basename(file_path); + u8 = purple_utf8_try_convert(basename); + g_free(basename); + file_name = u8; + } + + uni = g_utf8_to_utf16(file_name, -1, NULL, &len, NULL); + + if (u8) { + g_free(u8); + file_name = NULL; + u8 = NULL; + } + + preview = purple_xfer_get_thumbnail(xfer, &preview_len); + header = g_malloc(sizeof(MsnFileContext) + preview_len); + + header->length = GUINT32_TO_LE(sizeof(MsnFileContext) - 1); + header->version = GUINT32_TO_LE(2); /* V.3 contains additional unnecessary data */ + header->file_size = GUINT64_TO_LE(size); + if (preview) + header->type = GUINT32_TO_LE(0); + else + header->type = GUINT32_TO_LE(1); + + len = MIN(len, MAX_FILE_NAME_LEN); + for (currentChar = 0; currentChar < len; currentChar++) { + header->file_name[currentChar] = GUINT16_TO_LE(uni[currentChar]); + } + memset(&header->file_name[currentChar], 0x00, (MAX_FILE_NAME_LEN - currentChar) * 2); + + memset(&header->unknown1, 0, sizeof(header->unknown1)); + header->unknown2 = GUINT32_TO_LE(0xffffffff); + if (preview) { + memcpy(&header->preview, preview, preview_len); + } + header->preview[preview_len] = '\0'; + + g_free(uni); + ret = purple_base64_encode((const guchar *)header, sizeof(MsnFileContext) + preview_len); + g_free(header); + return ret; +} + +void +msn_request_ft(PurpleXfer *xfer) +{ + MsnSlpCall *slpcall; + MsnSlpLink *slplink; + char *context; + const char *fn; + const char *fp; + + fn = purple_xfer_get_filename(xfer); + fp = purple_xfer_get_local_filename(xfer); + + slplink = xfer->data; + + g_return_if_fail(slplink != NULL); + g_return_if_fail(fp != NULL); + + slpcall = msn_slpcall_new(slplink); + msn_slpcall_init(slpcall, MSN_SLPCALL_DC); + + slpcall->session_init_cb = send_file_cb; + slpcall->end_cb = msn_xfer_end_cb; + slpcall->cb = msn_xfer_completed_cb; + slpcall->xfer = xfer; + purple_xfer_ref(slpcall->xfer); + + slpcall->pending = TRUE; + + purple_xfer_set_cancel_send_fnc(xfer, msn_xfer_cancel); + purple_xfer_set_read_fnc(xfer, msn_xfer_read); + purple_xfer_set_write_fnc(xfer, msn_xfer_write); + + xfer->data = slpcall; + + context = gen_context(xfer, fn, fp); + + msn_slpcall_invite(slpcall, MSN_FT_GUID, 2, context); + msn_slplink_unref(slplink); + + g_free(context); +} + ============================================================ --- libpurple/protocols/msn/slp.h 0610af1662b6a1c1b68f9f4b7e7b48563c0cf319 +++ libpurple/protocols/msn/slp.h 3c8d33936619e6b541bcfc2406d51ce8c54bee11 @@ -75,4 +75,6 @@ void msn_queue_buddy_icon_request(MsnUse void msn_queue_buddy_icon_request(MsnUser *user); +void msn_request_ft(PurpleXfer *xfer); + #endif /* MSN_SLP_H */ ============================================================ --- libpurple/protocols/msn/slplink.c f6d607ab52c91a2420f37b40120f2ee860a471d3 +++ libpurple/protocols/msn/slplink.c 34414d86ee47b66c206ec419080b7db2f50c4319 @@ -441,30 +441,6 @@ msn_slplink_send_ack(MsnSlpLink *slplink msn_slpmsg_destroy(slpmsg); } -static void -send_file_cb(MsnSlpCall *slpcall) -{ - MsnSlpMessage *slpmsg; - PurpleXfer *xfer; - - xfer = (PurpleXfer *)slpcall->xfer; - if (purple_xfer_get_status(xfer) >= PURPLE_XFER_STATUS_STARTED) - return; - - purple_xfer_ref(xfer); - purple_xfer_start(xfer, -1, NULL, 0); - if (purple_xfer_get_status(xfer) != PURPLE_XFER_STATUS_STARTED) { - purple_xfer_unref(xfer); - return; - } - purple_xfer_unref(xfer); - - slpmsg = msn_slpmsg_file_new(slpcall, purple_xfer_get_size(xfer)); - msn_slpmsg_set_slplink(slpmsg, slpcall->slplink); - - msn_slplink_send_slpmsg(slpcall->slplink, slpmsg); -} - static MsnSlpMessage * msn_slplink_message_find(MsnSlpLink *slplink, long session_id, long id) { @@ -652,107 +628,7 @@ msn_slplink_process_msg(MsnSlpLink *slpl } } -static gchar * -gen_context(PurpleXfer *xfer, const char *file_name, const char *file_path) -{ - gsize size = 0; - MsnFileContext *header; - gchar *u8 = NULL; - gchar *ret; - gunichar2 *uni = NULL; - glong currentChar = 0; - glong len = 0; - const char *preview; - gsize preview_len; - - size = purple_xfer_get_size(xfer); - - purple_xfer_prepare_thumbnail(xfer, "png"); - - if (!file_name) { - gchar *basename = g_path_get_basename(file_path); - u8 = purple_utf8_try_convert(basename); - g_free(basename); - file_name = u8; - } - - uni = g_utf8_to_utf16(file_name, -1, NULL, &len, NULL); - - if (u8) { - g_free(u8); - file_name = NULL; - u8 = NULL; - } - - preview = purple_xfer_get_thumbnail(xfer, &preview_len); - header = g_malloc(sizeof(MsnFileContext) + preview_len); - - header->length = GUINT32_TO_LE(sizeof(MsnFileContext) - 1); - header->version = GUINT32_TO_LE(2); /* V.3 contains additional unnecessary data */ - header->file_size = GUINT64_TO_LE(size); - if (preview) - header->type = GUINT32_TO_LE(0); - else - header->type = GUINT32_TO_LE(1); - - len = MIN(len, MAX_FILE_NAME_LEN); - for (currentChar = 0; currentChar < len; currentChar++) { - header->file_name[currentChar] = GUINT16_TO_LE(uni[currentChar]); - } - memset(&header->file_name[currentChar], 0x00, (MAX_FILE_NAME_LEN - currentChar) * 2); - - memset(&header->unknown1, 0, sizeof(header->unknown1)); - header->unknown2 = GUINT32_TO_LE(0xffffffff); - if (preview) { - memcpy(&header->preview, preview, preview_len); - } - header->preview[preview_len] = '\0'; - - g_free(uni); - ret = purple_base64_encode((const guchar *)header, sizeof(MsnFileContext) + preview_len); - g_free(header); - return ret; -} - void -msn_slplink_request_ft(MsnSlpLink *slplink, PurpleXfer *xfer) -{ - MsnSlpCall *slpcall; - char *context; - const char *fn; - const char *fp; - - fn = purple_xfer_get_filename(xfer); - fp = purple_xfer_get_local_filename(xfer); - - g_return_if_fail(slplink != NULL); - g_return_if_fail(fp != NULL); - - slpcall = msn_slpcall_new(slplink); - msn_slpcall_init(slpcall, MSN_SLPCALL_DC); - - slpcall->session_init_cb = send_file_cb; - slpcall->end_cb = msn_xfer_end_cb; - slpcall->cb = msn_xfer_completed_cb; - slpcall->xfer = xfer; - purple_xfer_ref(slpcall->xfer); - - slpcall->pending = TRUE; - - purple_xfer_set_cancel_send_fnc(xfer, msn_xfer_cancel); - purple_xfer_set_read_fnc(xfer, msn_xfer_read); - purple_xfer_set_write_fnc(xfer, msn_xfer_write); - - xfer->data = slpcall; - - context = gen_context(xfer, fn, fp); - - msn_slpcall_invite(slpcall, MSN_FT_GUID, 2, context); - - g_free(context); -} - -void msn_slplink_request_object(MsnSlpLink *slplink, const char *info, MsnSlpCb cb, ============================================================ --- libpurple/protocols/msn/slplink.h 2a1c1b8d016b867bec868b5df839d4a2d3011a17 +++ libpurple/protocols/msn/slplink.h 7d07dc4e5819bb8b26dc7449eb92deb67f67a442 @@ -80,7 +80,6 @@ void msn_slplink_process_msg(MsnSlpLink MsnSlpMessage *slpmsg); void msn_slplink_send_queued_slpmsgs(MsnSlpLink *slplink); void msn_slplink_process_msg(MsnSlpLink *slplink, MsnP2PHeader *header, const char *data, gsize len); -void msn_slplink_request_ft(MsnSlpLink *slplink, PurpleXfer *xfer); /* Only exported for msn_xfer_write */ void msn_slplink_send_msgpart(MsnSlpLink *slplink, MsnSlpMessage *slpmsg); From masca at cpw.pidgin.im Thu Jun 24 02:17:03 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Thu, 24 Jun 2010 02:17:03 -0400 (EDT) Subject: soc.2010.msn-tlc: fc67083e: Fix debug_*_to_file to process SlpMessag... Message-ID: <20100624061707.1D18FAFD1F73@rock.pidgin.im> ----------------------------------------------------------------- Revision: fc67083e931c5aa65573eaa069c0bb28f1dc9b9d Ancestor: 07bffe8f618593d5af66f72274a5bbe6e6aea860 Author: masca at cpw.pidgin.im Date: 2010-06-22T23:09:36 Branch: im.pidgin.soc.2010.msn-tlc URL: http://d.pidgin.im/viewmtn/revision/info/fc67083e931c5aa65573eaa069c0bb28f1dc9b9d Modified files: libpurple/protocols/msn/slplink.c ChangeLog: Fix debug_*_to_file to process SlpMessages instead of MsnMessages. -------------- next part -------------- ============================================================ --- libpurple/protocols/msn/slplink.c 945ae5fa51cebbc2ddb31598b698464ddf528a38 +++ libpurple/protocols/msn/slplink.c b2e4fce6641d29ce86a42c77a73dee7b6e817b33 @@ -34,32 +34,30 @@ #include "slp.h" #include "p2p.h" -#if 0 #ifdef MSN_DEBUG_SLP_FILES static int m_sc = 0; static int m_rc = 0; static void -debug_msg_to_file(MsnMessage *msg, gboolean send) +debug_part_to_file(MsnSlpMessage *msg, gboolean send) { char *tmp; char *dir; - char *pload; + char *data; int c; - gsize pload_size; + gsize data_size; dir = send ? "send" : "recv"; c = send ? m_sc++ : m_rc++; tmp = g_strdup_printf("%s/msntest/%s/%03d", g_get_home_dir(), dir, c); - pload = msn_message_gen_payload(msg, &pload_size); - if (!purple_util_write_data_to_file_absolute(tmp, pload, pload_size)) + data = msn_slpmsg_serialize(msg, &data_size); + if (!purple_util_write_data_to_file_absolute(tmp, data, data_size)) { purple_debug_error("msn", "could not save debug file\n"); } g_free(tmp); } #endif -#endif /* 0 */ /************************************************************************** * Main @@ -335,11 +333,11 @@ msn_slplink_send_msgpart(MsnSlpLink *slp /* TODO: port this function to SlpMessageParts */ if (purple_debug_is_verbose()) msn_message_show_readable(msg, slpmsg->info, slpmsg->text_body); +#endif #ifdef MSN_DEBUG_SLP_FILES - debug_msg_to_file(msg, TRUE); + debug_part_to_file(slpmsg, TRUE); #endif -#endif slpmsg->parts = g_list_append(slpmsg->parts, part); msn_slplink_send_part(slplink, part); From darkrain42 at pidgin.im Tue Jun 29 13:40:10 2010 From: darkrain42 at pidgin.im (darkrain42 at pidgin.im) Date: Tue, 29 Jun 2010 13:40:10 -0400 (EDT) Subject: im.pidgin.pidgin: 6b468f5045540f30f6530585b070b2b140d7d8b1 Message-ID: <20100629174010.C8E0BAFD0B6F@rock.pidgin.im> From darkrain42 at pidgin.im Tue Jun 29 15:25:11 2010 From: darkrain42 at pidgin.im (darkrain42 at pidgin.im) Date: Tue, 29 Jun 2010 15:25:11 -0400 (EDT) Subject: im.pidgin.pidgin: 251cd7ea49222f2421eea77fb9d80a7f72718690 Message-ID: <20100629192511.94D35AFD0BDF@rock.pidgin.im> From ivan.komarov at soc.pidgin.im Tue Jun 29 18:05:08 2010 From: ivan.komarov at soc.pidgin.im (ivan.komarov at soc.pidgin.im) Date: Tue, 29 Jun 2010 18:05:08 -0400 (EDT) Subject: im.pidgin.soc.2010.icq-tlc: 21a6c7e68046b1a60c4dc1dd019e24ec7efc355b Message-ID: <20100629220508.90C69AFD0B92@rock.pidgin.im> From ivan.komarov at soc.pidgin.im Tue Jun 29 18:05:08 2010 From: ivan.komarov at soc.pidgin.im (ivan.komarov at soc.pidgin.im) Date: Tue, 29 Jun 2010 18:05:08 -0400 (EDT) Subject: im.pidgin.soc.2010.icq-tlc: 42f920565e5e9bffbb52c96d915a4900b21c3f62 Message-ID: <20100629220508.B8E31AFD0B92@rock.pidgin.im> From ivan.komarov at soc.pidgin.im Tue Jun 29 18:05:09 2010 From: ivan.komarov at soc.pidgin.im (ivan.komarov at soc.pidgin.im) Date: Tue, 29 Jun 2010 18:05:09 -0400 (EDT) Subject: im.pidgin.soc.2010.icq-tlc: ac7c693f7f4cd100811fa94767ea75e6b654bd94 Message-ID: <20100629220509.20D74AFD0B92@rock.pidgin.im> From masca at cpw.pidgin.im Tue Jun 29 20:54:43 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Tue, 29 Jun 2010 20:54:43 -0400 (EDT) Subject: im.pidgin.soc.2010.msn-tlc: dd2c5670ac1c9c04967b53ced5e3b5ea584aa9d5 Message-ID: <20100630005443.A38E2AFD0B4B@rock.pidgin.im> revision: dd2c5670ac1c9c04967b53ced5e3b5ea584aa9d5 date: 2010-06-29T22:25:24 author: masca at cpw.pidgin.im branch: im.pidgin.soc.2010.msn-tlc changelog: Remove this prototipe and make the function static since it is not exposed anymore. manifest: format_version "1" new_manifest [925b2ff2aeed536e20551df518308528bb45a128] old_revision [cfccfc9733206d5b3ccc8fbbf4f2908f340b49a4] patch "libpurple/protocols/msn/slp.h" from [95f979d4872789468075e4b9d51a6c7a7b462aa6] to [1a5bc2399d54d9763e227a8acc879da58c614d77] patch "libpurple/protocols/msn/slpcall.c" from [cd33d932a4cdeda096aca026d077688ab0c274f8] to [c724943e775091ed5c9fc361335e6f7ffcc76af8] From masca at cpw.pidgin.im Tue Jun 29 20:54:46 2010 From: masca at cpw.pidgin.im (masca at cpw.pidgin.im) Date: Tue, 29 Jun 2010 20:54:46 -0400 (EDT) Subject: im.pidgin.soc.2010.msn-tlc: e28d13b37808493b5fbe54e8ed29ada48db45080 Message-ID: <20100630005447.E0854AFD1593@rock.pidgin.im> revision: e28d13b37808493b5fbe54e8ed29ada48db45080 date: 2010-06-29T22:18:22 author: masca at cpw.pidgin.im branch: im.pidgin.soc.2010.msn-tlc changelog: Move msn_xfer code to it's own module aiming to simplify slp code. manifest: format_version "1" new_manifest [526ec01506e93cf5418f156977bbd26d68a8b0ef] old_revision [d09b6f5aaa0c654d0b38b8c06cdc6ffff1285e2a] add_file "libpurple/protocols/msn/xfer.c" content [e1a005473bc86c7b60f600b2815618f2cb9b6790] add_file "libpurple/protocols/msn/xfer.h" content [dec6b9481fadd6dcc1054645911eb09d13c3bdc7] patch "libpurple/protocols/msn/Makefile.am" from [5caeb94245d48d0c31803caf6487013d52ae088c] to [80f01c2f38b2628a3a351351fb4c796d5a0f5278] patch "libpurple/protocols/msn/Makefile.mingw" from [df1732a022290a420ce30a5e4091742221dbfa55] to [a983ceeccf9820ae630e5cb229e5db6775441271] patch "libpurple/protocols/msn/slp.c" from [f4959c1fd50f80034ae9ff7a851471c11552b06b] to [b41f03311a72e90ae39731cc52ed4fe143eb2e24] patch "libpurple/protocols/msn/slp.h" from [3c8d33936619e6b541bcfc2406d51ce8c54bee11] to [95f979d4872789468075e4b9d51a6c7a7b462aa6] From key at rock.pidgin.im Tue Jun 29 21:15:44 2010 From: key at rock.pidgin.im (key at rock.pidgin.im) Date: Tue, 29 Jun 2010 21:15:44 -0400 (EDT) Subject: im.pidgin.pidgin: 526d453afe108285316f3cf84553ca2b4214a0e7 Message-ID: <20100630011544.CAB08AFD1592@rock.pidgin.im> revision: 526d453afe108285316f3cf84553ca2b4214a0e7 date: 2010-06-30T01:12:54 author: nosnilmot at pidgin.im branch: im.pidgin.pidgin changelog: Get rid of this warning: gntdebug.c: In function ???handle_fprintf_stderr???: gntdebug.c:80: warning: ignoring return value of ???pipe???, declared with attribute warn_unused_result I'm guessing this is the right fix. Really I just needed to commit something so I can test commit email scripts manifest: format_version "1" new_manifest [051c60988fe36b139d5368b527e49a4a82c1eada] old_revision [251cd7ea49222f2421eea77fb9d80a7f72718690] patch "finch/gntdebug.c" from [bf0c49257c1c4547e631862bdd482dee37bb54e8] to [70e9c4bdb7e91f043a8dd889d972c61e98cff8c7] -------------- next part -------------- ============================================================ --- finch/gntdebug.c bf0c49257c1c4547e631862bdd482dee37bb54e8 +++ finch/gntdebug.c 70e9c4bdb7e91f043a8dd889d972c61e98cff8c7 @@ -77,7 +77,10 @@ handle_fprintf_stderr(gboolean stop) } return; } - pipe(pipes); + if (pipe(pipes)) { + readhandle = -1; + return; + }; dup2(pipes[1], STDERR_FILENO); stderrch = g_io_channel_unix_new(pipes[0]); From nosnilmot at pidgin.im Tue Jun 29 21:48:53 2010 From: nosnilmot at pidgin.im (nosnilmot at pidgin.im) Date: Tue, 29 Jun 2010 21:48:53 -0400 (EDT) Subject: pidgin: 31244ee6: I'm sure there's a legitimate reason I h... Message-ID: <20100630014854.EAF87AFD0B4B@rock.pidgin.im> ---------------------------------------------------------------------- Revision: 31244ee6c89ef7624aca49d70934e61fccab90d2 Parent: 526d453afe108285316f3cf84553ca2b4214a0e7 Author: nosnilmot at pidgin.im Date: 06/29/2010 09:46:42 PM Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/31244ee6c89ef7624aca49d70934e61fccab90d2 Changelog: I'm sure there's a legitimate reason I had this change locally in one of my trees waiting to be committed, but I can't remember what exactly it is (and I need to test commit emails again) Changes against parent 526d453afe108285316f3cf84553ca2b4214a0e7 patched libpurple/connection.c -------------- next part -------------- ============================================================ --- libpurple/connection.c 8200ea1fe0052c750f69d1b202349daeb43acd17 +++ libpurple/connection.c 8222a7dfab98f7006c35fbe2dda7ff12e11da4b7 @@ -516,7 +516,8 @@ purple_connection_disconnect_cb(gpointer account = data; gc = purple_account_get_connection(account); - gc->disconnect_timeout = 0; + if (gc != NULL) + gc->disconnect_timeout = 0; password = g_strdup(purple_account_get_password(account)); purple_account_disconnect(account); From nosnilmot at pidgin.im Tue Jun 29 22:31:33 2010 From: nosnilmot at pidgin.im (nosnilmot at pidgin.im) Date: Tue, 29 Jun 2010 22:31:33 -0400 (EDT) Subject: pidgin: 0a7239b5: Create the ~/.purple/plugins directory o. Message-ID: <20100630023133.7ED01AFD0B4B@rock.pidgin.im> ---------------------------------------------------------------------- Revision: 0a7239b54affab8c6c4a3a097560826d888cf991 Parent: 31244ee6c89ef7624aca49d70934e61fccab90d2 Author: stu at nosnilmot.com Date: 06/29/10 22:26:33 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/0a7239b54affab8c6c4a3a097560826d888cf991 Changelog: Create the ~/.purple/plugins directory on startup if it does not exist already, because the absence of this directory causes a surprising amount of confusion for users told to put their plugins there Also get rid of our SIGHUP handler, because it does nothing Changes against parent 31244ee6c89ef7624aca49d70934e61fccab90d2 patched finch/finch.c patched pidgin/gtkmain.c -------------- next part -------------- ============================================================ --- pidgin/gtkmain.c d1d414d9a014e21b888358aac7494ffca725c1ac +++ pidgin/gtkmain.c 17339c710ca574fdcf44a09e6371020cce05e6af @@ -97,7 +97,6 @@ static const int catch_sig_list[] = { */ static const int catch_sig_list[] = { SIGSEGV, - SIGHUP, SIGINT, SIGTERM, SIGQUIT, @@ -223,9 +222,6 @@ mainloop_sighandler(GIOChannel *source, } switch (sig) { - case SIGHUP: - purple_debug_warning("sighandler", "Caught signal %d\n", sig); - break; #if defined(USE_GSTREAMER) && !defined(GST_CAN_DISABLE_FORKING) /* By default, gstreamer forks when you initialize it, and waitpids for the * child. But if libpurple reaps the child rather than leaving it to @@ -550,6 +546,7 @@ int main(int argc, char *argv[]) gboolean debug_enabled; gboolean migration_failed = FALSE; GList *active_accounts; + struct stat st; struct option long_options[] = { {"config", required_argument, NULL, 'c'}, @@ -853,6 +850,8 @@ int main(int argc, char *argv[]) * in user's home directory. */ search_path = g_build_filename(purple_user_dir(), "plugins", NULL); + if (!g_stat(search_path, &st)) + g_mkdir(search_path, S_IRUSR | S_IWUSR | S_IXUSR); purple_plugins_add_search_path(search_path); g_free(search_path); purple_plugins_add_search_path(LIBDIR); ============================================================ --- finch/finch.c 14c60701e54c8d2a41257250ab723feebf412b03 +++ finch/finch.c dcee1fe9c9089e8148968f37a3b14dd4c21c4ee3 @@ -252,6 +252,7 @@ init_libpurple(int argc, char **argv) gboolean opt_version = FALSE; char *opt_config_dir_arg = NULL; gboolean debug_enabled = FALSE; + struct stat st; struct option long_options[] = { {"config", required_argument, NULL, 'c'}, @@ -361,6 +362,8 @@ init_libpurple(int argc, char **argv) purple_idle_set_ui_ops(finch_idle_get_ui_ops()); path = g_build_filename(purple_user_dir(), "plugins", NULL); + if (!g_stat(path, &st)) + g_mkdir(path, S_IRUSR | S_IWUSR | S_IXUSR); purple_plugins_add_search_path(path); g_free(path); From andrew.victor at mxit.com Wed Jun 30 09:01:55 2010 From: andrew.victor at mxit.com (andrew.victor at mxit.com) Date: Wed, 30 Jun 2010 09:01:55 -0400 (EDT) Subject: pidgin.mxit: 8fe017f8: Display a message in the chat window whe... Message-ID: <20100630130156.4FED5AFD0B17@rock.pidgin.im> ---------------------------------------------------------------------- Revision: 8fe017f89f6289d2aa1a7d0437e389895095f933 Parent: 5e100dffc9b7d212a420f899daa1f893a4be6b3c Author: andrew.victor at mxit.com Date: 06/30/10 08:56:53 Branch: im.pidgin.pidgin.mxit URL: http://d.pidgin.im/viewmtn/revision/info/8fe017f89f6289d2aa1a7d0437e389895095f933 Changelog: Display a message in the chat window when you invite someone. Provides better UI feedback. Changes against parent 5e100dffc9b7d212a420f899daa1f893a4be6b3c patched libpurple/protocols/mxit/multimx.c -------------- next part -------------- ============================================================ --- libpurple/protocols/mxit/multimx.c 8055289b53d1ae927067e5313e7c251a03449653 +++ libpurple/protocols/mxit/multimx.c 5cca42f4f0c89b64afc6ec5aca2981bcdb3891b6 @@ -557,6 +557,9 @@ void mxit_chat_invite(PurpleConnection * { struct MXitSession* session = (struct MXitSession*) gc->proto_data; struct multimx* multimx = NULL; + PurpleBuddy* buddy; + PurpleConversation *convo; + char* tmp; purple_debug_info(MXIT_PLUGIN_ID, "Groupchat invite to '%s'\n", username); @@ -569,6 +572,24 @@ void mxit_chat_invite(PurpleConnection * /* Send invite to MXit */ mxit_send_groupchat_invite(session, multimx->roomid, 1, &username); + + /* Find the buddy information for this contact (reference: "libpurple/blist.h") */ + buddy = purple_find_buddy(session->acc, username); + if (!buddy) { + purple_debug_warning(MXIT_PLUGIN_ID, "mxit_chat_invite: unable to find the buddy '%s'\n", username); + return; + } + + convo = purple_find_conversation_with_account(PURPLE_CONV_TYPE_CHAT, multimx->roomname, session->acc); + if (convo == NULL) { + purple_debug_error(MXIT_PLUGIN_ID, "Conversation '%s' not found\n", multimx->roomname); + return; + } + + /* Display system message in chat window */ + tmp = g_strdup_printf("%s: %s", _("You have invited"), purple_buddy_get_alias(buddy)); + purple_conv_chat_write(PURPLE_CONV_CHAT(convo), "MXit", tmp, PURPLE_MESSAGE_SYSTEM, time(NULL)); + g_free(tmp); } From ivan.komarov at soc.pidgin.im Wed Jun 30 12:06:18 2010 From: ivan.komarov at soc.pidgin.im (ivan.komarov at soc.pidgin.im) Date: Wed, 30 Jun 2010 12:06:18 -0400 (EDT) Subject: soc.2010.icq-tlc: 9bafea8f: Removed callback data that was causing a... Message-ID: <20100630160618.D908BAFD0B8B@rock.pidgin.im> ---------------------------------------------------------------------- Revision: 9bafea8f430b026bb696c351f316515bc13644f2 Parent: ac7c693f7f4cd100811fa94767ea75e6b654bd94 Author: ivan.komarov at soc.pidgin.im Date: 06/30/10 11:57:43 Branch: im.pidgin.soc.2010.icq-tlc URL: http://d.pidgin.im/viewmtn/revision/info/9bafea8f430b026bb696c351f316515bc13644f2 Changelog: Removed callback data that was causing a segfault in Finch, because Finch overwrites it with its own data. Changes against parent ac7c693f7f4cd100811fa94767ea75e6b654bd94 patched libpurple/protocols/oscar/visibility.c -------------- next part -------------- ============================================================ --- libpurple/protocols/oscar/visibility.c 2e1b8da82f84355d7cec88ce26a3e214235516f1 +++ libpurple/protocols/oscar/visibility.c e593f8e3194761dde30fb0eb70d4962fe400a894 @@ -20,26 +20,32 @@ #include "visibility.h" -struct visibility_cb_data +static guint16 +get_buddy_list_type(OscarData *od, const char *bname) { - guint16 list_type; - gboolean add_to_list; -}; + PurpleAccount *account = purple_connection_get_account(od->gc); + return purple_account_is_status_active(account, OSCAR_STATUS_ID_INVISIBLE) ? AIM_SSI_TYPE_PERMIT : AIM_SSI_TYPE_DENY; +} +static gboolean +is_buddy_on_list(OscarData *od, const char *bname) +{ + return aim_ssi_itemlist_finditem(od->ssi.local, NULL, bname, get_buddy_list_type(od, bname)) != NULL; +} + static void -visibility_cb(PurpleBlistNode *node, struct visibility_cb_data *data) +visibility_cb(PurpleBlistNode *node, gpointer whatever) { PurpleBuddy *buddy = PURPLE_BUDDY(node); const char* bname = purple_buddy_get_name(buddy); - OscarData *od = purple_account_get_connection(purple_buddy_get_account(buddy))->proto_data; + OscarData *od = purple_connection_get_protocol_data(purple_account_get_connection(purple_buddy_get_account(buddy))); + guint16 list_type = get_buddy_list_type(od, bname); - if (data->add_to_list) { - aim_ssi_add_to_private_list(od, bname, data->list_type); + if (!is_buddy_on_list(od, bname)) { + aim_ssi_add_to_private_list(od, bname, list_type); } else { - aim_ssi_del_from_private_list(od, bname, data->list_type); + aim_ssi_del_from_private_list(od, bname, list_type); } - - g_free(data); } PurpleMenuAction * @@ -47,18 +53,12 @@ create_visibility_menu_item(OscarData *o { PurpleAccount *account = purple_connection_get_account(od->gc); gboolean invisible = purple_account_is_status_active(account, OSCAR_STATUS_ID_INVISIBLE); - guint16 list_type = invisible ? AIM_SSI_TYPE_PERMIT : AIM_SSI_TYPE_DENY; - gboolean on_list = aim_ssi_itemlist_finditem(od->ssi.local, NULL, bname, list_type) != NULL; + gboolean on_list = is_buddy_on_list(od, bname); gchar *label; - struct visibility_cb_data *data; PurpleMenuAction *result; - data = g_new0(struct visibility_cb_data, 1); - data->list_type = list_type; - data->add_to_list = !on_list; - - label = g_strdup_printf("%s %s", on_list ? "Don't appear" : "Appear", invisible ? "Online" : "Offline"); - result = purple_menu_action_new(label, PURPLE_CALLBACK(visibility_cb), data, NULL); + label = g_strdup_printf("%s %s", on_list ? "Don't Appear" : "Appear", invisible ? "Online" : "Offline"); + result = purple_menu_action_new(label, PURPLE_CALLBACK(visibility_cb), NULL, NULL); g_free(label); return result; } From nosnilmot at pidgin.im Wed Jun 30 14:28:20 2010 From: nosnilmot at pidgin.im (nosnilmot at pidgin.im) Date: Wed, 30 Jun 2010 14:28:20 -0400 (EDT) Subject: pidgin: bc180436: Allow setting sound volume when ALSA is ... Message-ID: <20100630182821.551A2AFD0B8B@rock.pidgin.im> ---------------------------------------------------------------------- Revision: bc180436ff3297311929813e3dc6a1a77baa8817 Parent: 0a7239b54affab8c6c4a3a097560826d888cf991 Author: nosnilmot at pidgin.im Date: 06/30/10 14:20:57 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/bc180436ff3297311929813e3dc6a1a77baa8817 Changelog: Allow setting sound volume when ALSA is used Changes against parent 0a7239b54affab8c6c4a3a097560826d888cf991 patched pidgin/gtkprefs.c -------------- next part -------------- ============================================================ --- pidgin/gtkprefs.c d31b019c0b79192d34ff912e618a6c62271533a0 +++ pidgin/gtkprefs.c 50a681ee823dc0a92c262459a9c66aeca4cb07ee @@ -2223,6 +2223,7 @@ sound_changed3_cb(const char *name, Purp gtk_widget_set_sensitive(hbox, !strcmp(method, "automatic") || + !strcmp(method, "alsa") || !strcmp(method, "esd")); } #endif /* USE_GSTREAMER */ From adam.fowler at soc.pidgin.im Wed Jun 30 17:01:10 2010 From: adam.fowler at soc.pidgin.im (adam.fowler at soc.pidgin.im) Date: Wed, 30 Jun 2010 17:01:10 -0400 (EDT) Subject: soc.2010.logviewer: ed42eeca: First update, adding the global log view... Message-ID: <20100630210110.3A988AFD0A50@rock.pidgin.im> ---------------------------------------------------------------------- Revision: ed42eeca96298891445718e54a71240d601e6dca Parent: 4d68ce907a18679ccc1656075efd5b7d114fdf92 Author: adam.fowler at soc.pidgin.im Date: 06/30/10 16:46:13 Branch: im.pidgin.soc.2010.logviewer URL: http://d.pidgin.im/viewmtn/revision/info/ed42eeca96298891445718e54a71240d601e6dca Changelog: First update, adding the global log viewer to Tools>Chat Logs Changes against parent 4d68ce907a18679ccc1656075efd5b7d114fdf92 patched libpurple/log.c patched libpurple/log.h patched pidgin/gtkblist.c patched pidgin/gtklog.c patched pidgin/gtklog.h -------------- next part -------------- ============================================================ --- libpurple/log.c 6eb41ef373632163452c5ce4ccee063891e0f560 +++ libpurple/log.c cf70a8960aaed0f13632a5aa2ee9c1c61f428bab @@ -516,12 +516,16 @@ GList *purple_log_get_logs(PurpleLogType GList *logs = NULL; GSList *n; for (n = loggers; n; n = n->next) { + fprintf(stderr,"%s\n", loggers); + fprintf(stderr,"THIS IS RUNNIN\n"); PurpleLogLogger *logger = n->data; + fprintf(stderr,"%s\n", n->data); + fprintf(stderr,"%s\n", logger->list); if (!logger->list) continue; logs = g_list_concat(logger->list(type, name, account), logs); } - + fprintf(stderr,"THIS IS NOT RUNNING\n"); return g_list_sort(logs, purple_log_compare); } @@ -1401,7 +1405,7 @@ static gsize html_logger_write(PurpleLog header = g_strdup_printf("System log for account %s (%s) connected at %s", purple_account_get_username(log->account), prpl, date); else - header = g_strdup_printf("Conversation with %s at %s on %s (%s)", + header = g_strdup_printf("Conversation withTEST %s at %s on %s (%s)", log->name, date, purple_account_get_username(log->account), prpl); written += fprintf(data->file, "%s", header); @@ -1557,7 +1561,7 @@ static gsize txt_logger_write(PurpleLog purple_account_get_username(log->account), prpl, purple_date_format_full(localtime(&log->time))); else - written += fprintf(data->file, "Conversation with %s at %s on %s (%s)\n", + written += fprintf(data->file, "Conversation withTEST2 %s at %s on %s (%s)\n", log->name, purple_date_format_full(localtime(&log->time)), purple_account_get_username(log->account), prpl); } ============================================================ --- pidgin/gtkblist.c 13c1e422e251a301e1e938bcdcc4baa3f3f94fd5 +++ pidgin/gtkblist.c 20d396d4a4be98abb2e65965368c4cc1ab811be0 @@ -742,6 +742,7 @@ static void gtk_blist_menu_bp_cb(GtkWidg purple_buddy_get_name(b), NULL); } + static void gtk_blist_menu_showlog_cb(GtkWidget *w, PurpleBlistNode *node) { PurpleLogType type; @@ -755,11 +756,13 @@ static void gtk_blist_menu_showlog_cb(Gt type = PURPLE_LOG_IM; name = g_strdup(purple_buddy_get_name(b)); account = purple_buddy_get_account(b); + g_print("Hokay\n"); } else if (PURPLE_BLIST_NODE_IS_CHAT(node)) { PurpleChat *c = PURPLE_CHAT(node); PurplePluginProtocolInfo *prpl_info = NULL; type = PURPLE_LOG_CHAT; account = purple_chat_get_account(c); + g_print("Hokay1\n"); prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(purple_find_prpl(purple_account_get_protocol_id(account))); if (prpl_info && prpl_info->get_chat_name) { name = prpl_info->get_chat_name(purple_chat_get_components(c)); @@ -767,10 +770,11 @@ static void gtk_blist_menu_showlog_cb(Gt } else if (PURPLE_BLIST_NODE_IS_CONTACT(node)) { pidgin_log_show_contact(PURPLE_CONTACT(node)); pidgin_clear_cursor(gtkblist->window); + g_print("Hokay2\n"); return; } else { pidgin_clear_cursor(gtkblist->window); - + g_print("Hokay3\n"); /* This callback should not have been registered for a node * that doesn't match the type of one of the blocks above. */ g_return_if_reached(); @@ -779,6 +783,7 @@ static void gtk_blist_menu_showlog_cb(Gt if (name && account) { pidgin_log_show(type, name, account); pidgin_clear_cursor(gtkblist->window); + g_print("PASSED\n"); } g_free(name); @@ -1550,17 +1555,17 @@ pidgin_blist_make_buddy_menu(GtkWidget * if (node->parent && node->parent->child->next && !sub && !contact_expanded) { - pidgin_new_item_from_stock(menu, _("View _Log"), NULL, + pidgin_new_item_from_stock(menu, _("View _Log1"), NULL, G_CALLBACK(gtk_blist_menu_showlog_cb), contact, 0, 0, NULL); } else if (!sub) { - pidgin_new_item_from_stock(menu, _("View _Log"), NULL, + pidgin_new_item_from_stock(menu, _("View _Log2"), NULL, G_CALLBACK(gtk_blist_menu_showlog_cb), buddy, 0, 0, NULL); } if (!PURPLE_BLIST_NODE_HAS_FLAG(node, PURPLE_BLIST_NODE_FLAG_NO_SAVE)) { gboolean show_offline = purple_blist_node_get_bool(node, "show_offline"); - pidgin_new_item_from_stock(menu, show_offline ? _("Hide When Offline") : _("Show When Offline"), + pidgin_new_item_from_stock(menu, show_offline ? _("Hide When Offline") : _("Show When OfflineONE"), NULL, G_CALLBACK(gtk_blist_menu_showoffline_cb), node, 0, 0, NULL); } @@ -1744,7 +1749,7 @@ create_group_menu (PurpleBlistNode *node G_CALLBACK(gtk_blist_menu_alias_cb), node, 0, 0, NULL); if (!(purple_blist_node_get_flags(node) & PURPLE_BLIST_NODE_FLAG_NO_SAVE)) { gboolean show_offline = purple_blist_node_get_bool(node, "show_offline"); - pidgin_new_item_from_stock(menu, show_offline ? _("Hide When Offline") : _("Show When Offline"), + pidgin_new_item_from_stock(menu, show_offline ? _("Hide When Offline") : _("Show When OfflineTWO"), NULL, G_CALLBACK(gtk_blist_menu_showoffline_cb), node, 0, 0, NULL); } @@ -1772,7 +1777,7 @@ create_chat_menu(PurpleBlistNode *node, G_CALLBACK(gtk_blist_menu_autojoin_cb), node, autojoin); pidgin_new_check_item(menu, _("Persistent"), G_CALLBACK(gtk_blist_menu_persistent_cb), node, persistent); - pidgin_new_item_from_stock(menu, _("View _Log"), NULL, + pidgin_new_item_from_stock(menu, _("View _Log3"), NULL, G_CALLBACK(gtk_blist_menu_showlog_cb), node, 0, 0, NULL); pidgin_append_blist_node_proto_menu(menu, c->account->gc, node); @@ -1799,7 +1804,7 @@ create_contact_menu (PurpleBlistNode *no menu = gtk_menu_new(); - pidgin_new_item_from_stock(menu, _("View _Log"), NULL, + pidgin_new_item_from_stock(menu, _("View _Log4"), NULL, G_CALLBACK(gtk_blist_menu_showlog_cb), node, 0, 0, NULL); @@ -3690,6 +3695,7 @@ static GtkItemFactoryEntry blist_menu[] { "/Tools/sep2", NULL, NULL, 0, "", NULL }, { N_("/Tools/_File Transfers"), "T", pidgin_xfer_dialog_show, 0, "", PIDGIN_STOCK_TOOLBAR_TRANSFER }, { N_("/Tools/R_oom List"), NULL, pidgin_roomlist_dialog_show, 0, "", NULL }, + { N_("/Tools/Chat Lo_gs"), NULL, pidgin_log_show_global, 0, "", NULL}, { N_("/Tools/System _Log"), NULL, gtk_blist_show_systemlog_cb, 3, "", NULL }, { "/Tools/sep3", NULL, NULL, 0, "", NULL }, { N_("/Tools/Mute _Sounds"), NULL, pidgin_blist_mute_sounds_cb, 0, "", NULL }, ============================================================ --- libpurple/log.h fdae3f0adc203739096c27e7d4bb6fc140b28591 +++ libpurple/log.h 97f81bee8dd3fc7055dfdd1475548f2b5d7fac17 @@ -42,7 +42,8 @@ typedef enum { typedef enum { PURPLE_LOG_IM, PURPLE_LOG_CHAT, - PURPLE_LOG_SYSTEM + PURPLE_LOG_SYSTEM, + PURPLE_LOG_GLOBAL } PurpleLogType; typedef enum { ============================================================ --- pidgin/gtklog.c f9d82fe3e8fab18648c330dbfffb92f146b5062f +++ pidgin/gtklog.c 3a0084d7547470c925665d04b204a396672601d5 @@ -1,3 +1,4 @@ + /** * @file gtklog.c GTK+ Log viewer * @ingroup pidgin @@ -50,19 +51,20 @@ struct log_viewer_hash_t { PurpleContact *contact; }; -static guint log_viewer_hash(gconstpointer data) -{ +static guint log_viewer_hash(gconstpointer data){ const struct log_viewer_hash_t *viewer = data; if (viewer->contact != NULL) return g_direct_hash(viewer->contact); + else if (viewer->type == PURPLE_LOG_GLOBAL){ + return g_direct_hash(viewer); + } return g_str_hash(viewer->buddyname) + g_str_hash(purple_account_get_username(viewer->account)); } -static gboolean log_viewer_equal(gconstpointer y, gconstpointer z) -{ +static gboolean log_viewer_equal(gconstpointer y, gconstpointer z){ const struct log_viewer_hash_t *a, *b; int ret; char *normal; @@ -88,8 +90,7 @@ static gboolean log_viewer_equal(gconstp return ret; } -static void select_first_log(PidginLogViewer *lv) -{ +static void select_first_log(PidginLogViewer *lv){ GtkTreeModel *model; GtkTreeIter iter, it; GtkTreePath *path; @@ -111,16 +112,14 @@ static void select_first_log(PidginLogVi gtk_tree_path_free(path); } -static const char *log_get_date(PurpleLog *log) -{ +static const char *log_get_date(PurpleLog *log){ if (log->tm) return purple_date_format_full(log->tm); else return purple_date_format_full(localtime(&log->time)); } -static void search_cb(GtkWidget *button, PidginLogViewer *lv) -{ +static void search_cb(GtkWidget *button, PidginLogViewer *lv){ const char *search_term = gtk_entry_get_text(GTK_ENTRY(lv->entry)); GList *logs; @@ -170,7 +169,7 @@ static void destroy_cb(GtkWidget *w, gin static void destroy_cb(GtkWidget *w, gint resp, struct log_viewer_hash_t *ht) { PidginLogViewer *lv = syslog_viewer; - + /*gboolean skip = FALSE;*/ #ifdef _WIN32 if (resp == GTK_RESPONSE_HELP) { GtkTreeSelection *sel; @@ -204,24 +203,36 @@ static void destroy_cb(GtkWidget *w, gin return; } #endif + /*if(ht->type == PURPLE_LOG_GLOBAL) + skip = TRUE;*/ if (ht != NULL) { lv = g_hash_table_lookup(log_viewers, ht); + fprintf(stderr,"stepif1 called\n"); g_hash_table_remove(log_viewers, ht); - + fprintf(stderr,"stepif2 called\n"); g_free(ht->buddyname); + fprintf(stderr,"stepif3 called\n"); g_free(ht); - } else + fprintf(stderr,"stepif4 called\n"); + + } else{ syslog_viewer = NULL; + fprintf(stderr,"else called\n"); + } purple_request_close_with_handle(lv); + /*if(!skip){*/ + g_list_foreach(lv->logs, (GFunc)purple_log_free, NULL); + fprintf(stderr,"step1 called\n"); + g_list_free(lv->logs); + fprintf(stderr,"step2 called\n"); + g_free(lv->search); + fprintf(stderr,"step3 called\n"); + g_free(lv); + fprintf(stderr,"step4 called\n"); + /*}*/ - g_list_foreach(lv->logs, (GFunc)purple_log_free, NULL); - g_list_free(lv->logs); - - g_free(lv->search); - g_free(lv); - gtk_widget_destroy(w); } @@ -232,14 +243,12 @@ static void log_row_activated_cb(GtkTree gtk_tree_view_expand_row(tv, path, FALSE); } -static void delete_log_cleanup_cb(gpointer *data) -{ +static void delete_log_cleanup_cb(gpointer *data){ g_free(data[1]); /* iter */ g_free(data); } -static void delete_log_cb(gpointer *data) -{ +static void delete_log_cb(gpointer *data){ if (!purple_log_delete((PurpleLog *)data[2])) { purple_notify_error(NULL, NULL, _("Log Deletion Failed"), @@ -269,8 +278,7 @@ static void delete_log_cb(gpointer *data delete_log_cleanup_cb(data); } -static void log_delete_log_cb(GtkWidget *menuitem, gpointer *data) -{ +static void log_delete_log_cb(GtkWidget *menuitem, gpointer *data){ PidginLogViewer *lv = data[0]; PurpleLog *log = data[1]; const char *time = log_get_date(log); @@ -325,8 +333,7 @@ static void log_delete_log_cb(GtkWidget g_free(tmp); } -static void log_show_popup_menu(GtkWidget *treeview, GdkEventButton *event, gpointer *data) -{ +static void log_show_popup_menu(GtkWidget *treeview, GdkEventButton *event, gpointer *data){ GtkWidget *menu = gtk_menu_new(); GtkWidget *menuitem = gtk_menu_item_new_with_label(_("Delete Log...")); @@ -343,10 +350,8 @@ static void log_show_popup_menu(GtkWidge gdk_event_get_time((GdkEvent *)event)); } -static gboolean log_button_press_cb(GtkWidget *treeview, GdkEventButton *event, PidginLogViewer *lv) -{ - if (event->type == GDK_BUTTON_PRESS && event->button == 3) - { +static gboolean log_button_press_cb(GtkWidget *treeview, GdkEventButton *event, PidginLogViewer *lv){ + if (event->type == GDK_BUTTON_PRESS && event->button == 3){ /*Just a note, left = 1, middle = 2, right = 3...Threw me at first*/ GtkTreePath *path; GtkTreeIter *iter; GValue val; @@ -382,8 +387,7 @@ static gboolean log_button_press_cb(GtkW return FALSE; } -static gboolean log_popup_menu_cb(GtkWidget *treeview, PidginLogViewer *lv) -{ +static gboolean log_popup_menu_cb(GtkWidget *treeview, PidginLogViewer *lv){ GtkTreeSelection *sel; GtkTreeIter *iter; GValue val; @@ -416,8 +420,7 @@ static gboolean log_popup_menu_cb(GtkWid return TRUE; } -static gboolean search_find_cb(gpointer data) -{ +static gboolean search_find_cb(gpointer data){ PidginLogViewer *viewer = data; gtk_imhtml_search_find(GTK_IMHTML(viewer->imhtml), viewer->search); g_object_steal_data(G_OBJECT(viewer->entry), "search-find-cb"); @@ -439,7 +442,6 @@ static void log_select_cb(GtkTreeSelecti gtk_tree_model_get_value (model, &iter, 1, &val); log = g_value_get_pointer(&val); g_value_unset(&val); - if (log == NULL) return; @@ -451,7 +453,7 @@ static void log_select_cb(GtkTreeSelecti title = g_strdup_printf(_("Conversation in %s on %s"), log->name, log_get_date(log)); else - title = g_strdup_printf(_("Conversation with %s on %s"), + title = g_strdup_printf(_("Conversation withTEST %s on %s"), log->name, log_get_date(log)); gtk_label_set_markup(GTK_LABEL(viewer->label), title); @@ -524,9 +526,11 @@ static void populate_log_tree(PidginLogV } } -static PidginLogViewer *display_log_viewer(struct log_viewer_hash_t *ht, GList *logs, - const char *title, GtkWidget *icon, int log_size) -{ +static PidginLogViewer *display_log_viewer(struct log_viewer_hash_t *ht, + GList *logs, + const char *title, + GtkWidget *icon, + int log_size){ PidginLogViewer *lv; GtkWidget *title_box; char *text; @@ -539,8 +543,9 @@ static PidginLogViewer *display_log_view GtkWidget *frame; GtkWidget *hbox; GtkWidget *find_button; - GtkWidget *size_label; + GtkWidget *size_label; + fprintf(stderr,"\n\n##### START *display_log_viewer #####\n\n"); if (logs == NULL) { /* No logs were found. */ @@ -560,19 +565,19 @@ static PidginLogViewer *display_log_view g_free(ht->buddyname); g_free(ht); } - if(icon != NULL) gtk_widget_destroy(icon); purple_notify_info(NULL, title, _("No logs were found"), log_preferences); return NULL; } - lv = g_new0(PidginLogViewer, 1); lv->logs = logs; - if (ht != NULL) + + if (ht != NULL){ g_hash_table_insert(log_viewers, ht, lv); + } /* Window ***********/ lv->window = gtk_dialog_new_with_buttons(title, NULL, 0, @@ -583,17 +588,16 @@ static PidginLogViewer *display_log_view #endif gtk_container_set_border_width (GTK_CONTAINER(lv->window), PIDGIN_HIG_BOX_SPACE); gtk_dialog_set_has_separator(GTK_DIALOG(lv->window), FALSE); - gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(lv->window)->vbox), 0); - g_signal_connect(G_OBJECT(lv->window), "response", - G_CALLBACK(destroy_cb), ht); - gtk_window_set_role(GTK_WINDOW(lv->window), "log_viewer"); + gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(lv->window)->vbox),0); + g_signal_connect(G_OBJECT(lv->window), "response", + G_CALLBACK(destroy_cb), ht); + gtk_window_set_role(GTK_WINDOW(lv->window), "log_viewer"); /* Icon *************/ if (icon != NULL) { title_box = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); gtk_container_set_border_width(GTK_CONTAINER(title_box), PIDGIN_HIG_BOX_SPACE); gtk_box_pack_start(GTK_BOX(GTK_DIALOG(lv->window)->vbox), title_box, FALSE, FALSE, 0); - gtk_box_pack_start(GTK_BOX(title_box), icon, FALSE, FALSE, 0); } else title_box = GTK_DIALOG(lv->window)->vbox; @@ -623,6 +627,7 @@ static PidginLogViewer *display_log_view g_object_unref(G_OBJECT(lv->treestore)); rend = gtk_cell_renderer_text_new(); col = gtk_tree_view_column_new_with_attributes ("time", rend, "markup", 0, NULL); + gtk_tree_view_append_column (GTK_TREE_VIEW(lv->treeview), col); gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (lv->treeview), FALSE); gtk_container_add (GTK_CONTAINER (sw), lv->treeview); @@ -631,11 +636,10 @@ static PidginLogViewer *display_log_view sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (lv->treeview)); g_signal_connect (G_OBJECT (sel), "changed", - G_CALLBACK (log_select_cb), - lv); + G_CALLBACK (log_select_cb), lv); g_signal_connect (G_OBJECT(lv->treeview), "row-activated", - G_CALLBACK(log_row_activated_cb), - lv); + G_CALLBACK(log_row_activated_cb), lv); + pidgin_set_accessible_label(lv->treeview, lv->label); g_signal_connect(lv->treeview, "button-press-event", G_CALLBACK(log_button_press_cb), lv); @@ -644,6 +648,7 @@ static PidginLogViewer *display_log_view /* Log size ************/ if(log_size) { char *sz_txt = purple_str_size_to_units(log_size); + fprintf(stderr, "%s", sz_txt); text = g_strdup_printf("%s %s", _("Total log size:"), sz_txt); size_label = gtk_label_new(NULL); gtk_label_set_markup(GTK_LABEL(size_label), text); @@ -675,29 +680,93 @@ static PidginLogViewer *display_log_view g_signal_connect(GTK_ENTRY(lv->entry), "activate", G_CALLBACK(search_cb), lv); g_signal_connect(GTK_BUTTON(find_button), "clicked", G_CALLBACK(search_cb), lv); + select_first_log(lv); - gtk_widget_show_all(lv->window); + + fprintf(stderr,"\n\n##### END *display_log_viewer #####\n\n"); + return lv; +} +void pidgin_log_show_global() { + PurpleBuddy *buddy; + PurpleContact *contact; + GSList *list, *tmplist; + struct log_viewer_hash_t *ht; + PidginLogViewer *lv; + GtkWidget *title_box; + char *text; + GtkWidget *pane; + GtkWidget *sw; + GtkCellRenderer *rend; + GtkTreeViewColumn *col; + GtkTreeSelection *sel; + GtkWidget *vbox; + GtkWidget *frame; + GtkWidget *hbox; + GtkWidget *find_button; + GtkWidget *size_label; + + + list = purple_blist_get_buddies(); + + for (tmplist = list; tmplist != NULL; tmplist = tmplist->next) { + buddy = tmplist->data; + contact = purple_buddy_get_contact_alias(buddy); + fprintf(stderr, "%s\n", contact); + tmplist->data = contact; + } + ht = g_new0(struct log_viewer_hash_t, 1); + ht->type = PURPLE_LOG_GLOBAL; + g_slist_free(list); + + if (log_viewers == NULL) { + log_viewers = g_hash_table_new(log_viewer_hash, log_viewer_equal); + fprintf(stderr, "log_viewers created.\n"); + } else if ((lv = g_hash_table_lookup(log_viewers, ht))) { + gtk_window_present(GTK_WINDOW(lv->window)); + g_free(ht->buddyname); + g_free(ht); + } + if (ht != NULL){ - return lv; + g_hash_table_insert(log_viewers, ht, lv); + fprintf(stderr, "lv inserted into ht\n"); + } + /* Window ***********/ + lv->window = gtk_dialog_new_with_buttons("Log Viewer", NULL, 0, + GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE, NULL); +#ifdef _WIN32 + /* Steal the "HELP" response and use it to trigger browsing to the logs folder */ + gtk_dialog_add_button(GTK_DIALOG(lv->window), _("_Browse logs folder"), GTK_RESPONSE_HELP); +#endif + gtk_container_set_border_width (GTK_CONTAINER(lv->window), PIDGIN_HIG_BOX_SPACE); + gtk_dialog_set_has_separator(GTK_DIALOG(lv->window), FALSE); + gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(lv->window)->vbox),0); + g_signal_connect(G_OBJECT(lv->window), "response", + G_CALLBACK(destroy_cb), ht); + gtk_window_set_role(GTK_WINDOW(lv->window), "log_viewer"); + gtk_widget_show_all(lv->window); + } +void pidgin_log_show(PurpleLogType type, + const char *buddyname, + PurpleAccount *account) { -void pidgin_log_show(PurpleLogType type, const char *buddyname, PurpleAccount *account) { struct log_viewer_hash_t *ht; PidginLogViewer *lv = NULL; const char *name = buddyname; char *title; - GdkPixbuf *prpl_icon; + GdkPixbuf *prpl_icon; - g_return_if_fail(account != NULL); + fprintf(stderr,"\n#####\n pidgin_log_show #####\n\n"); + g_return_if_fail(account != NULL);/*Here we check a few things to see if we can continue*/ g_return_if_fail(buddyname != NULL); - ht = g_new0(struct log_viewer_hash_t, 1); + ht = g_new0(struct log_viewer_hash_t, 1);/*Here we clear all the fields in ht with 0*/ ht->type = type; ht->buddyname = g_strdup(buddyname); ht->account = account; - if (log_viewers == NULL) { log_viewers = g_hash_table_new(log_viewer_hash, log_viewer_equal); } else if ((lv = g_hash_table_lookup(log_viewers, ht))) { @@ -709,18 +778,16 @@ void pidgin_log_show(PurpleLogType type, if (type == PURPLE_LOG_CHAT) { PurpleChat *chat; - chat = purple_blist_find_chat(account, buddyname); if (chat != NULL) name = purple_chat_get_name(chat); - title = g_strdup_printf(_("Conversations in %s"), name); } else { PurpleBuddy *buddy; - buddy = purple_find_buddy(account, buddyname); - if (buddy != NULL) + if (buddy != NULL){ name = purple_buddy_get_contact_alias(buddy); + } title = g_strdup_printf(_("Conversations with %s"), name); } @@ -730,10 +797,10 @@ void pidgin_log_show(PurpleLogType type, display_log_viewer(ht, purple_log_get_logs(type, buddyname, account), title, gtk_image_new_from_pixbuf(prpl_icon), purple_log_get_total_size(type, buddyname, account)); - - if (prpl_icon) + if (prpl_icon){ g_object_unref(prpl_icon); - g_free(title); + } + fprintf(stderr,"\n##### END pidgin_log_show #####\n\n"); } void pidgin_log_show_contact(PurpleContact *contact) { @@ -808,8 +875,7 @@ void pidgin_log_show_contact(PurpleConta g_free(title); } -void pidgin_syslog_show() -{ +void pidgin_syslog_show(){ GList *accounts = NULL; GList *logs = NULL; @@ -836,15 +902,13 @@ void * ****************************************************************************/ void * -pidgin_log_get_handle(void) -{ +pidgin_log_get_handle(void){ static int handle; return &handle; } -void pidgin_log_init(void) -{ +void pidgin_log_init(void){ void *handle = pidgin_log_get_handle(); purple_signal_register(handle, "log-displaying", @@ -857,7 +921,6 @@ void } void -pidgin_log_uninit(void) -{ +pidgin_log_uninit(void){ purple_signals_unregister_by_instance(pidgin_log_get_handle()); } ============================================================ --- pidgin/gtklog.h beebb1eb384edcdea9fb0073e342b726f7dd685b +++ pidgin/gtklog.h e8c4987a0a34800dc5890af15e85eb90087712df @@ -55,6 +55,7 @@ void pidgin_log_show_contact(PurpleConta void pidgin_log_show(PurpleLogType type, const char *buddyname, PurpleAccount *account); void pidgin_log_show_contact(PurpleContact *contact); +void pidgin_log_show_global(); void pidgin_syslog_show(void); From malu at pidgin.im Wed Jun 30 17:40:48 2010 From: malu at pidgin.im (malu at pidgin.im) Date: Wed, 30 Jun 2010 17:40:48 -0400 (EDT) Subject: pidgin: 1e2365e0: merge of '7c3cd4e07a01085a68042131f50757... Message-ID: <20100630214048.EAF4BAFD0A50@rock.pidgin.im> ---------------------------------------------------------------------- Revision: 1e2365e0d77dd8de9ad8162e88e4166a2fdefcfd Parent: 7c3cd4e07a01085a68042131f5075778e65b1ab6 Parent: bc180436ff3297311929813e3dc6a1a77baa8817 Author: malu at pidgin.im Date: 06/30/10 17:38:27 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/1e2365e0d77dd8de9ad8162e88e4166a2fdefcfd Changelog: merge of '7c3cd4e07a01085a68042131f5075778e65b1ab6' and 'bc180436ff3297311929813e3dc6a1a77baa8817' Changes against parent 7c3cd4e07a01085a68042131f5075778e65b1ab6 patched pidgin/gtkprefs.c Changes against parent bc180436ff3297311929813e3dc6a1a77baa8817 patched ChangeLog patched libpurple/protocols/jabber/jabber.c patched libpurple/protocols/jabber/namespaces.h patched libpurple/protocols/jabber/si.c From malu at pidgin.im Wed Jun 30 17:40:49 2010 From: malu at pidgin.im (malu at pidgin.im) Date: Wed, 30 Jun 2010 17:40:49 -0400 (EDT) Subject: pidgin: 7c3cd4e0: merge of '0a7239b54affab8c6c4a3a09756082... Message-ID: <20100630214049.892F5AFD0A50@rock.pidgin.im> ---------------------------------------------------------------------- Revision: 7c3cd4e07a01085a68042131f5075778e65b1ab6 Parent: 0a7239b54affab8c6c4a3a097560826d888cf991 Parent: f517ebc8991b2eeeae57b5bed9f2cef7899f60ba Author: malu at pidgin.im Date: 06/30/10 17:34:50 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/7c3cd4e07a01085a68042131f5075778e65b1ab6 Changelog: merge of '0a7239b54affab8c6c4a3a097560826d888cf991' and 'f517ebc8991b2eeeae57b5bed9f2cef7899f60ba' Changes against parent 0a7239b54affab8c6c4a3a097560826d888cf991 patched ChangeLog patched libpurple/protocols/jabber/jabber.c patched libpurple/protocols/jabber/namespaces.h patched libpurple/protocols/jabber/si.c Changes against parent f517ebc8991b2eeeae57b5bed9f2cef7899f60ba patched finch/finch.c patched finch/gntdebug.c patched libpurple/connection.c patched pidgin/gtkmain.c From malu at pidgin.im Wed Jun 30 17:40:51 2010 From: malu at pidgin.im (malu at pidgin.im) Date: Wed, 30 Jun 2010 17:40:51 -0400 (EDT) Subject: pidgin: f517ebc8: jabber: Don't show resources that we kno... Message-ID: <20100630214051.673B8AFD1FFE@rock.pidgin.im> ---------------------------------------------------------------------- Revision: f517ebc8991b2eeeae57b5bed9f2cef7899f60ba Parent: 251cd7ea49222f2421eea77fb9d80a7f72718690 Author: malu at pidgin.im Date: 06/30/10 17:34:43 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/f517ebc8991b2eeeae57b5bed9f2cef7899f60ba Changelog: jabber: Don't show resources that we know for sure isn't supporting the file transfer protocols we support in the resource selector when sending a file. Closes #9791 Changes against parent 251cd7ea49222f2421eea77fb9d80a7f72718690 patched ChangeLog patched libpurple/protocols/jabber/jabber.c patched libpurple/protocols/jabber/namespaces.h patched libpurple/protocols/jabber/si.c -------------- next part -------------- ============================================================ --- ChangeLog 0fad8318fe1415c618dc35d4d5d7335a28623907 +++ ChangeLog 24ea2105d2f6b3a11e6f36aefed9ad20473ce5f5 @@ -21,6 +21,8 @@ version 2.7.2 (??/??/????): a fallback to legacy IQ authentication (broken in 2.7.0). * Fix a crash when receiving custom emoticons that don't adhere to the specification. + * When initiating a file transfer, don't show resources that are certain + to not support file transfers in the resource selection dialog. Yahoo/Yahoo JAPAN: * Renamed "Use account proxy for SSL connections" to "Use account proxy ============================================================ --- libpurple/protocols/jabber/jabber.c cf194fc66f579908ead131e17041021b586f6755 +++ libpurple/protocols/jabber/jabber.c 4de37479e28a724d6c23d4088d99d9194cf926d9 @@ -3440,8 +3440,7 @@ gboolean jabber_can_receive_file(PurpleC for (iter = jb->resources; iter ; iter = g_list_next(iter)) { JabberBuddyResource *jbr = (JabberBuddyResource *) iter->data; - if (jabber_resource_has_capability(jbr, - "http://jabber.org/protocol/si/profile/file-transfer") + if (jabber_resource_has_capability(jbr, NS_SI_FILE_TRANSFER) && (jabber_resource_has_capability(jbr, NS_BYTESTREAMS) || jabber_resource_has_capability(jbr, NS_IBB))) { @@ -3743,7 +3742,7 @@ jabber_do_init(void) jabber_add_feature("http://jabber.org/protocol/muc", 0); jabber_add_feature("http://jabber.org/protocol/muc#user", 0); jabber_add_feature("http://jabber.org/protocol/si", 0); - jabber_add_feature("http://jabber.org/protocol/si/profile/file-transfer", 0); + jabber_add_feature(NS_SI_FILE_TRANSFER, 0); jabber_add_feature(NS_XHTML_IM, 0); jabber_add_feature(NS_PING, 0); ============================================================ --- libpurple/protocols/jabber/si.c c3f9ed512b83933661995978936a65f03b685f24 +++ libpurple/protocols/jabber/si.c 77b6923281f634d015a7ca41d4ec705f2b1a7ca6 @@ -1262,12 +1262,10 @@ static void jabber_si_xfer_send_request( xmlnode_set_namespace(si, "http://jabber.org/protocol/si"); jsx->stream_id = jabber_get_next_id(jsx->js); xmlnode_set_attrib(si, "id", jsx->stream_id); - xmlnode_set_attrib(si, "profile", - "http://jabber.org/protocol/si/profile/file-transfer"); + xmlnode_set_attrib(si, "profile", NS_SI_FILE_TRANSFER); file = xmlnode_new_child(si, "file"); - xmlnode_set_namespace(file, - "http://jabber.org/protocol/si/profile/file-transfer"); + xmlnode_set_namespace(file, NS_SI_FILE_TRANSFER); xmlnode_set_attrib(file, "name", xfer->filename); g_snprintf(buf, sizeof(buf), "%" G_GSIZE_FORMAT, xfer->size); xmlnode_set_attrib(file, "size", buf); @@ -1488,7 +1486,7 @@ static void do_transfer_send(PurpleXfer if (jabber_resource_has_capability(jbr, NS_IBB)) jsx->stream_method |= STREAM_METHOD_IBB; - if (jabber_resource_has_capability(jbr, "http://jabber.org/protocol/si/profile/file-transfer")) { + if (jabber_resource_has_capability(jbr, NS_SI_FILE_TRANSFER)) { jabber_si_xfer_send_request(xfer); return; } @@ -1523,7 +1521,8 @@ static void jabber_si_xfer_init(PurpleXf JabberBuddy *jb; JabberBuddyResource *jbr = NULL; char *resource; - + GList *resources = NULL; + if(NULL != (resource = jabber_get_resource(xfer->who))) { /* they've specified a resource, no need to ask or * default or anything, just do it */ @@ -1535,7 +1534,22 @@ static void jabber_si_xfer_init(PurpleXf jb = jabber_buddy_find(jsx->js, xfer->who, TRUE); - if(!jb || !jb->resources) { + if (jb) { + GList *l; + + for (l = jb->resources ; l ; l = g_list_next(l)) { + jbr = l->data; + + if (!jabber_resource_know_capabilities(jbr) || + (jabber_resource_has_capability(jbr, NS_SI_FILE_TRANSFER) + && (jabber_resource_has_capability(jbr, NS_BYTESTREAMS) + || jabber_resource_has_capability(jbr, NS_IBB)))) { + resources = g_list_append(resources, jbr); + } + } + } + + if (!resources) { /* no resources online, we're trying to send to someone * whose presence we're not subscribed to, or * someone who is offline. Let's inform the user */ @@ -1551,13 +1565,11 @@ static void jabber_si_xfer_init(PurpleXf purple_notify_error(jsx->js->gc, _("File Send Failed"), _("File Send Failed"), msg); g_free(msg); - } else if(!jb->resources->next) { + } else if (g_list_length(resources) == 1) { /* only 1 resource online (probably our most common case) * so no need to ask who to send to */ - jbr = jb->resources->data; - + jbr = resources->data; do_transfer_send(xfer, jbr->name); - } else { /* we've got multiple resources, we need to pick one to send to */ GList *l; @@ -1565,11 +1577,9 @@ static void jabber_si_xfer_init(PurpleXf PurpleRequestFields *fields = purple_request_fields_new(); PurpleRequestField *field = purple_request_field_choice_new("resource", _("Resource"), 0); PurpleRequestFieldGroup *group = purple_request_field_group_new(NULL); - - for(l = jb->resources; l; l = l->next) - { + + for(l = resources; l; l = l->next) { jbr = l->data; - purple_request_field_choice_add(field, jbr->name); } @@ -1583,6 +1593,8 @@ static void jabber_si_xfer_init(PurpleXf g_free(msg); } + + g_list_free(resources); } else { xmlnode *si, *feature, *x, *field, *value; @@ -1695,7 +1707,7 @@ void jabber_si_parse(JabberStream *js, c size_t filesize = 0; if(!(profile = xmlnode_get_attrib(si, "profile")) || - strcmp(profile, "http://jabber.org/protocol/si/profile/file-transfer")) + strcmp(profile, NS_SI_FILE_TRANSFER)) return; if(!(stream_id = xmlnode_get_attrib(si, "id"))) ============================================================ --- libpurple/protocols/jabber/namespaces.h 5014baf4875684517b7fc6a14901c6c569af4172 +++ libpurple/protocols/jabber/namespaces.h 3390412e0ed6ef353763f53f07781fa21c0b2d2c @@ -61,6 +61,9 @@ #define NS_AVATAR_1_1_DATA "urn:xmpp:avatar:data" #define NS_AVATAR_1_1_METADATA "urn:xmpp:avatar:metadata" +/* XEP-0096 SI File Transfer */ +#define NS_SI_FILE_TRANSFER "http://jabber.org/protocol/si/profile/file-transfer" + /* XEP-0124 Bidirectional-streams Over Synchronous HTTP (BOSH) */ #define NS_BOSH "http://jabber.org/protocol/httpbind" From malu at pidgin.im Wed Jun 30 18:05:41 2010 From: malu at pidgin.im (malu at pidgin.im) Date: Wed, 30 Jun 2010 18:05:41 -0400 (EDT) Subject: cpw.malu.xmpp.jingle_ft: 14fcd8db: "back-port" the resource selection fix f... Message-ID: <20100630220542.030A2AFD0A50@rock.pidgin.im> ---------------------------------------------------------------------- Revision: 14fcd8db027bf0876869572cb7c2ef29aac06440 Parent: 16448198be138531743791081bb5bfa573aaff87 Author: malu at pidgin.im Date: 06/30/10 18:01:03 Branch: im.pidgin.cpw.malu.xmpp.jingle_ft URL: http://d.pidgin.im/viewmtn/revision/info/14fcd8db027bf0876869572cb7c2ef29aac06440 Changelog: "back-port" the resource selection fix for Jingle FT Changed an occurance of the SI FT namespace to use the #define Changes against parent 16448198be138531743791081bb5bfa573aaff87 patched libpurple/protocols/jabber/jabber.c patched libpurple/protocols/jabber/xfer.c -------------- next part -------------- ============================================================ --- libpurple/protocols/jabber/jabber.c 422d566324f5224f4883b16b568b37013a580a4c +++ libpurple/protocols/jabber/jabber.c 00bedee2725ccc695af7b1471bb8f60690659169 @@ -3441,10 +3441,9 @@ gboolean jabber_can_receive_file(PurpleC for (iter = jb->resources; iter ; iter = g_list_next(iter)) { JabberBuddyResource *jbr = (JabberBuddyResource *) iter->data; - if (jabber_resource_has_capability(jbr, NS_SI_FILE_TRANSFER) - && (jabber_resource_has_capability(jbr, - NS_BYTESTREAMS) - || jabber_resource_has_capability(jbr, NS_IBB)))) + if ((jabber_resource_has_capability(jbr, NS_SI_FILE_TRANSFER) + && (jabber_resource_has_capability(jbr, NS_BYTESTREAMS) + || jabber_resource_has_capability(jbr, NS_IBB))) || ((jabber_resource_has_capability(jbr, JINGLE_APP_FT) && (jabber_resource_has_capability(jbr, JINGLE_TRANSPORT_S5B) ============================================================ --- libpurple/protocols/jabber/xfer.c 6358c383093ea205076faa9afbd79cdb0df7c4ee +++ libpurple/protocols/jabber/xfer.c 7aed9b906399e57618e1dee945060319deee8497 @@ -116,15 +116,35 @@ jabber_xfer_send(PurpleConnection *gc, c JabberStream *js = (JabberStream *) purple_connection_get_protocol_data(gc); JabberBuddy *jb = jabber_buddy_find(js, who, TRUE); JabberBuddyResource *jbr = NULL; + GList *resources = NULL; gchar *resource = jabber_get_resource(who); + if (jb) { + GList *l; + + for (l = jb->resources ; l ; l = g_list_next(l)) { + jbr = l->data; + + if ((jabber_resource_has_capability(jbr, NS_SI_FILE_TRANSFER) + && (jabber_resource_has_capability(jbr, NS_BYTESTREAMS) + || jabber_resource_has_capability(jbr, NS_IBB))) + || ((jabber_resource_has_capability(jbr, JINGLE_APP_FT) + && (jabber_resource_has_capability(jbr, + JINGLE_TRANSPORT_S5B) + || jabber_resource_has_capability(jbr, + JINGLE_TRANSPORT_IBB))))) { + resources = g_list_append(resources, jbr); + } + } + } + /* Let the user select a resource, unless "who" already contains one */ /* or there's only one resource online */ if (resource) { /* who already contains a resource */ jabber_xfer_send_to_resource(gc, who, file); g_free(resource); - } else if(!jb || !jb->resources) { + } else if(!resources) { /* no resources online, we're trying to send to someone * whose presence we're not subscribed to, or * someone who is offline. Let's inform the user */ @@ -143,12 +163,12 @@ jabber_xfer_send(PurpleConnection *gc, c purple_notify_error(js->gc, _("File Send Failed"), _("File Send Failed"), msg); g_free(msg); - } else if(!jb->resources->next) { + } else if (g_list_length(resources) == 1) { /* only 1 resource online (probably our most common case) * so no need to ask who to send to */ gchar *jid = NULL; - jbr = jb->resources->data; + jbr = resources->data; jid = g_strdup_printf("%s/%s", who, jbr->name); jabber_xfer_send_to_resource(gc, jid, file); g_free(jid); @@ -167,7 +187,7 @@ jabber_xfer_send(PurpleConnection *gc, c data->who = who; data->file = g_strdup(file); - for(l = jb->resources; l; l = l->next) { + for(l = resources; l; l = l->next) { jbr = l->data; purple_request_field_choice_add(field, jbr->name); @@ -184,6 +204,8 @@ jabber_xfer_send(PurpleConnection *gc, c g_free(msg); } + + g_list_free(resources); } xmlnode * @@ -192,8 +214,7 @@ jabber_xfer_create_file_element(const Pu xmlnode *file = xmlnode_new("file"); gchar buf[32]; - xmlnode_set_namespace(file, - "http://jabber.org/protocol/si/profile/file-transfer"); + xmlnode_set_namespace(file, NS_SI_FILE_TRANSFER); xmlnode_set_attrib(file, "name", xfer->filename); g_snprintf(buf, sizeof(buf), "%" G_GSIZE_FORMAT, xfer->size); xmlnode_set_attrib(file, "size", buf); From malu at pidgin.im Wed Jun 30 18:05:42 2010 From: malu at pidgin.im (malu at pidgin.im) Date: Wed, 30 Jun 2010 18:05:42 -0400 (EDT) Subject: cpw.malu.xmpp.jingle_ft: 16448198: propagate from branch 'im.pidgin.pidgin'... Message-ID: <20100630220542.C0D57AFD0A50@rock.pidgin.im> ---------------------------------------------------------------------- Revision: 16448198be138531743791081bb5bfa573aaff87 Parent: 1e2365e0d77dd8de9ad8162e88e4166a2fdefcfd Parent: c3a490612935a86e11f1c6d34e9c6838827f1d61 Author: malu at pidgin.im Date: 06/30/10 17:43:02 Branch: im.pidgin.cpw.malu.xmpp.jingle_ft URL: http://d.pidgin.im/viewmtn/revision/info/16448198be138531743791081bb5bfa573aaff87 Changelog: propagate from branch 'im.pidgin.pidgin' (head 1e2365e0d77dd8de9ad8162e88e4166a2fdefcfd) to branch 'im.pidgin.cpw.malu.xmpp.jingle_ft' (head c3a490612935a86e11f1c6d34e9c6838827f1d61) Changes against parent 1e2365e0d77dd8de9ad8162e88e4166a2fdefcfd added libpurple/protocols/jabber/jingle/file-transfer.c added libpurple/protocols/jabber/jingle/file-transfer.h added libpurple/protocols/jabber/jingle/ibbs.c added libpurple/protocols/jabber/jingle/ibbs.h added libpurple/protocols/jabber/jingle/s5b.c added libpurple/protocols/jabber/jingle/s5b.h added libpurple/protocols/jabber/socks5.c added libpurple/protocols/jabber/socks5.h added libpurple/protocols/jabber/xfer.c added libpurple/protocols/jabber/xfer.h patched libpurple/ft.c patched libpurple/protocols/jabber/Makefile.am patched libpurple/protocols/jabber/Makefile.mingw patched libpurple/protocols/jabber/data.c patched libpurple/protocols/jabber/jabber.c patched libpurple/protocols/jabber/jingle/jingle.c patched libpurple/protocols/jabber/jingle/jingle.h patched libpurple/protocols/jabber/jingle/rtp.c patched libpurple/protocols/jabber/jingle/session.c patched libpurple/protocols/jabber/jingle/session.h patched libpurple/protocols/jabber/libxmpp.c patched libpurple/protocols/jabber/si.c Changes against parent c3a490612935a86e11f1c6d34e9c6838827f1d61 patched COPYRIGHT patched ChangeLog patched finch/finch.c patched finch/gntdebug.c patched libpurple/certificate.c patched libpurple/connection.c patched libpurple/protocols/irc/cmds.c patched libpurple/protocols/jabber/jabber.c patched libpurple/protocols/jabber/namespaces.h patched libpurple/protocols/jabber/si.c patched libpurple/protocols/yahoo/yahoo_filexfer.c patched pidgin/gtkblist.c patched pidgin/gtkmain.c patched pidgin/gtkprefs.c From darkrain42 at pidgin.im Wed Jun 30 19:50:53 2010 From: darkrain42 at pidgin.im (darkrain42 at pidgin.im) Date: Wed, 30 Jun 2010 19:50:53 -0400 (EDT) Subject: pidgin: 5defdf37: *** Plucked rev 16e7d9f71db071e6d043c456... Message-ID: <20100630235053.E4F9AAFD1FF9@rock.pidgin.im> ---------------------------------------------------------------------- Revision: 5defdf37093bd1d772edd64dc86d8e58b59fef18 Parent: a8ceaec9fcbbbaf7fa48dc4ed96700be68ffc626 Author: darkrain42 at pidgin.im Date: 06/30/10 19:49:29 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/5defdf37093bd1d772edd64dc86d8e58b59fef18 Changelog: *** Plucked rev 16e7d9f71db071e6d043c456869b8f860bcc8d45 (ivan.komarov at soc.pidgin.im): Since these messages are shown to the user, they should at least look like complete sentences. They are still confusing and should probably be rephrased further, but I'm not sure how now. Changes against parent a8ceaec9fcbbbaf7fa48dc4ed96700be68ffc626 patched libpurple/protocols/oscar/util.c -------------- next part -------------- ============================================================ --- libpurple/protocols/oscar/util.c 341784539dfe8b709ab9ff50d886f2ab8347f397 +++ libpurple/protocols/oscar/util.c 03f11ecf51cd388f5657123ec2bb819f76c4c32d @@ -38,8 +38,8 @@ static const char * const msgerrreason[] static const char * const msgerrreason[] = { N_("Invalid error"), N_("Invalid SNAC"), - N_("Rate to host"), - N_("Rate to client"), + N_("Server rate limit exceeded"), + N_("Client rate limet exceeded"), N_("Not logged in"), N_("Service unavailable"), N_("Service not defined"), From darkrain42 at pidgin.im Wed Jun 30 19:50:54 2010 From: darkrain42 at pidgin.im (darkrain42 at pidgin.im) Date: Wed, 30 Jun 2010 19:50:54 -0400 (EDT) Subject: pidgin: a8ceaec9: *** Plucked rev 1e62e7c65758de7e0aaa5377... Message-ID: <20100630235054.7C16FAFD0ABD@rock.pidgin.im> ---------------------------------------------------------------------- Revision: a8ceaec9fcbbbaf7fa48dc4ed96700be68ffc626 Parent: 1e2365e0d77dd8de9ad8162e88e4166a2fdefcfd Author: darkrain42 at pidgin.im Date: 06/30/10 19:46:46 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/a8ceaec9fcbbbaf7fa48dc4ed96700be68ffc626 Changelog: *** Plucked rev 1e62e7c65758de7e0aaa5377f865d4164e4482f5 (ivan.komarov at soc.pidgin.im): Somehow I'm sure this code lacked braces. Changes against parent 1e2365e0d77dd8de9ad8162e88e4166a2fdefcfd patched libpurple/protocols/oscar/oscar.c -------------- next part -------------- ============================================================ --- libpurple/protocols/oscar/oscar.c 6b8b45623896204448ac4b212a0c631655822ad1 +++ libpurple/protocols/oscar/oscar.c d686e17a2818f4ebdc129959a65532808a727af1 @@ -2667,10 +2667,10 @@ incomingim_chan2(OscarData *od, FlapConn g_free(rtfmsg); } } - } else if (args->info.rtfmsg.msgtype == 26) + } else if (args->info.rtfmsg.msgtype == 26) { purple_debug_info("oscar", "Sending X-Status Reply\n"); icq_relay_xstatus(od, userinfo->bn, args->cookie); - + } } else { From darkrain42 at pidgin.im Wed Jun 30 20:05:26 2010 From: darkrain42 at pidgin.im (darkrain42 at pidgin.im) Date: Wed, 30 Jun 2010 20:05:26 -0400 (EDT) Subject: pidgin: b433a911: *** Plucked rev 6290e1fa3bfba05e59462968... Message-ID: <20100701000526.D2C24AFD0ABD@rock.pidgin.im> ---------------------------------------------------------------------- Revision: b433a91177be6f0059cd466f9939f7a904b717a9 Parent: 5defdf37093bd1d772edd64dc86d8e58b59fef18 Author: darkrain42 at pidgin.im Date: 06/30/10 20:03:35 Branch: im.pidgin.pidgin URL: http://d.pidgin.im/viewmtn/revision/info/b433a91177be6f0059cd466f9939f7a904b717a9 Changelog: *** Plucked rev 6290e1fa3bfba05e59462968ebbff460342c48dd (ivan.komarov at soc.pidgin.im): Fixed a typo. Thanks rlaager! Changes against parent 5defdf37093bd1d772edd64dc86d8e58b59fef18 patched libpurple/protocols/oscar/util.c -------------- next part -------------- ============================================================ --- libpurple/protocols/oscar/util.c 03f11ecf51cd388f5657123ec2bb819f76c4c32d +++ libpurple/protocols/oscar/util.c acbd9229b8f1e0efa482f7d0c88f15306a9eaecc @@ -39,7 +39,7 @@ static const char * const msgerrreason[] N_("Invalid error"), N_("Invalid SNAC"), N_("Server rate limit exceeded"), - N_("Client rate limet exceeded"), + N_("Client rate limit exceeded"), N_("Not logged in"), N_("Service unavailable"), N_("Service not defined"),