im.pidgin.cpw.resiak.disconnectreason: a6d6e5d83afac011fd739de6e393618695171e7c

resiak at soc.pidgin.im resiak at soc.pidgin.im
Wed Oct 3 13:57:42 EDT 2007


revision:            a6d6e5d83afac011fd739de6e393618695171e7c
date:                2007-09-17T17:51:22
author:              resiak at soc.pidgin.im
branch:              im.pidgin.cpw.resiak.disconnectreason
changelog:
propagate from branch 'im.pidgin.pidgin' (head 41389df89a4a6a007d41cec33e33043cd41ea159)
            to branch 'im.pidgin.cpw.resiak.disconnectreason' (head 04389226a6288dedc7867ed0ecabdd64350099b0)

manifest:
format_version "1"

new_manifest [f05543160befc5699f692d90d3e117f759596a92]

old_revision [04389226a6288dedc7867ed0ecabdd64350099b0]

patch "COPYRIGHT"
 from [1fcc4aebfbd9071c3b53483e79b22aec385259f2]
   to [89808bde5cca14354a0b7e011640958981a18fb8]

patch "ChangeLog"
 from [4b0a22f83e0b7df011e8f2bae58f300d8c7c3587]
   to [e7623b2283a21fc8072758061318a0cb98b08152]

patch "finch/finch.h"
 from [28693e9b4a3b760f3de976731ed3c39eb2c48558]
   to [5c03f18580ab6f0cc4d38e924e675b8ab9ba0fda]

patch "finch/gntaccount.c"
 from [ebbf7baed21987c2b0774d9caed9ef8a8c56fe12]
   to [26791f65dd048c6e2460182f167f20b0f408a7cf]

patch "finch/gntaccount.h"
 from [f62351fc8b984914d2db417e625c1fd4e8532719]
   to [cea3bf330eabc9bca6ed71a42e91866648bbaf37]

patch "finch/gntblist.c"
 from [0a318fc91c069d7d2594065842b5d42b531e68fc]
   to [beee9d81df641a8601abe5693408aebb7f56cfe1]

patch "finch/gntblist.h"
 from [62ce7020bd357585dc7de285b0c0afb384c0f763]
   to [ea3ac3f79912b63c6db6376c44bb41c0d2014cad]

patch "finch/gntcertmgr.c"
 from [6dbc3d7a18c1e1ecb00249c659bd8f84c32ef97a]
   to [cce41a6e2a76ab86fdf12feb4f6ad640fb1e452e]

patch "finch/gntcertmgr.h"
 from [b941cb6625c4d1aa57414bee835e37b0d624dcbe]
   to [616a3645adc40cc29771f9783d0b0ba9bec696f3]

patch "finch/gntconn.c"
 from [68412727eea01da0155d72fdf25e766e0616ae5f]
   to [bad10ad608f21e44e36b2e5a3f2b05201153ac8d]

patch "finch/gntconn.h"
 from [b793c644c364c66c9f578b13fd777d31ff8385d9]
   to [a346d66ffbd197ff7b80b55deec072cc2dcc9d6a]

patch "finch/gntconv.c"
 from [aea23c5e22d2fcae5281f43c817e5bd1c062a274]
   to [da9f0cf9894592fe8d472fb720f6e79bcc1d437c]

patch "finch/gntconv.h"
 from [3662bfe5aeb70d3eab48fbe0b6b68927cdc35e66]
   to [e984893c5c04f0d20fea57943e945c475ce755a6]

patch "finch/gntdebug.c"
 from [5fbd3e61709d849d2643558dbe9dc618f3fa6af5]
   to [d3cf79c0ead2b77ac048423950afba75efe057be]

patch "finch/gntdebug.h"
 from [f052e1435e0278ae34a3ec39dc4c2ada4dbe20f2]
   to [003603f23ddc6640790d42cb57c07f30a5ae770f]

patch "finch/gntft.c"
 from [81686cd1306660609e0699090fb41946d9ed98b3]
   to [2c879b26141be6084dd63b0d7a0dcd8b90ced990]

patch "finch/gntft.h"
 from [6a5ecd41bc725a2740ec6aa2bb92c2b070764dd2]
   to [5418fd11e071acad303b1901ba991b4a092b1591]

patch "finch/gntidle.h"
 from [75a806a446a0a7cee0413dc198238b707283a450]
   to [04c9c2e2318554eec8eece2f791da6b760b4894c]

patch "finch/gntnotify.c"
 from [4f0ffff5e0c6ca044048168b481fe17f9550f8e8]
   to [3e6b8236ec80a3256522e64a8eb259a79f46daa4]

patch "finch/gntnotify.h"
 from [ec4a88f377580f9651bf3e2f05763a60eb357e21]
   to [1583b373cd338aac7212bd91b06073a3830e27eb]

patch "finch/gntplugin.c"
 from [0af2b0a74d806e5364157ab7dd61cbc8be8bf4b5]
   to [1ac38a2568c9fa8cc5e59c55f7a4b10f61b61d7b]

patch "finch/gntplugin.h"
 from [58b4706e7d3c20cabbb214ccc02d82ac6263a4ef]
   to [f86ee9d5db7853d7000f62637e9b534c0f59f049]

patch "finch/gntpounce.c"
 from [d97cb5a1935da8646fe3bc8559f06caa1d9744a2]
   to [6fb43d36f53858938dd460d31a9e474d94726805]

patch "finch/gntpounce.h"
 from [b12b8fe6ae3c4fcdc290c662b85002aaf7de7522]
   to [c37edbd789058fa1a090b34b637a7bf8bb23ac86]

patch "finch/gntprefs.c"
 from [c9afa284d079876d5aa1a4a0f9e9320d4478bfbd]
   to [91ccd624d5b3d2f2772f0aa75c1617335723c32e]

patch "finch/gntprefs.h"
 from [852675edf85cb00dda334e6990fe0aec7540fdf0]
   to [776e01e0e3be096c354fa1b7694d346b12d0c5ed]

patch "finch/gntrequest.c"
 from [06ade2401cad8d93d77db5ee67d425e40c082801]
   to [b4a7372470b97ef6981c0e7af52c5df916e35556]

patch "finch/gntrequest.h"
 from [89ebbe3c283806d1e8d706b8a8a3a7755058bef4]
   to [ead4ffe0b2815bb5953e57ec5b132b0dfc23d90d]

patch "finch/gntsound.c"
 from [cecd126fd56096068679eb44ff1d415b4db5d88b]
   to [c7433e8689f8f3a92236e3c6a692df22ca734623]

patch "finch/gntsound.h"
 from [a58e172e042871da51e05f72b589cf048a561140]
   to [d0d66d0dc43b25a083dc650865ab267674b32cd7]

patch "finch/gntstatus.c"
 from [8f0c83f1ee8624ea2495b6ab24d7651386faef65]
   to [d5c598d5a2a03f0a3b911e3a3ac3a3e7a2aa4c13]

patch "finch/gntstatus.h"
 from [84f109108b23d48a46a871b5b6112f7dadc8ae26]
   to [f469e1d249c7a7aa483bbed8638b4c2fc8101b3a]

patch "finch/libgnt/gntentry.c"
 from [9fb2a7b21b8a6786383b01b41a5bfb854a8d551f]
   to [5551a12c1cfb74ba91c21705c24c0ebcaca53425]

patch "libpurple/account.c"
 from [23669c4059e134b4cbc15deb63291ec503e46618]
   to [5dc69bd980d2847a2f77599480dbeb7bd84218eb]

patch "libpurple/account.h"
 from [e019236dda43bd45265acb44f7afc8d73fd19bdf]
   to [10ce3465809fca456da0c042e6e110446e1ac4d8]

patch "libpurple/accountopt.c"
 from [806a3ab5f94d2e757bb247f9494e33d20515f93c]
   to [14e8bf867d82dedf93964734bd4cce22ade5a4b0]

patch "libpurple/accountopt.h"
 from [347f148af40bb0ff87afdd66ec35a3a527ca86ff]
   to [1cae049afd83127360824219ec4396e31eaae3b2]

patch "libpurple/blist.h"
 from [5ff1a9cd9d28fccd72fa66830a8eb1343733dd72]
   to [7fb175af72bf3fb710f328f35ca163b2edc1e4c7]

patch "libpurple/buddyicon.c"
 from [c7f727797337ea844430e8266978770aa219d9a8]
   to [63ef54c38b55e0d47c7eddb64ae98aeeac8033be]

patch "libpurple/buddyicon.h"
 from [b65f92abc3928d85bf4ea09b677b75810fac85d0]
   to [f6669ada49c9927c080b18190f90939248bbfbfb]

patch "libpurple/cipher.h"
 from [b199b7c662ca567ce23ea0068b42ec94d882258f]
   to [f702a4e33b896b9bec5e05d4ee29b00d8ec87ed8]

patch "libpurple/circbuffer.c"
 from [3ab0b51cb3971b92e4cc4c1b4f90679d18b831d3]
   to [8209e1034930cd720e5b7b80cdc3288920343000]

patch "libpurple/circbuffer.h"
 from [3f25c3fb4d71b2db7c7522896edc3d17491db40e]
   to [423fc024a802905912c62da588be2273fa94fb89]

patch "libpurple/cmds.c"
 from [02f2afc6dbebfac1be10379e8c0b31f891ed2823]
   to [f001eeb47fb6e699156f6623cb0545705508b287]

patch "libpurple/cmds.h"
 from [fdf98d7f80b91189a69ce4185439194829c0f765]
   to [953c84ca8c44c8e5824209a605d5d889a96b1e0d]

patch "libpurple/connection.c"
 from [caee15e52956e08e6c748c0d007a9b39c5ac8564]
   to [249acfb69b16e885e40f6030d2ebcec00643ca73]

patch "libpurple/connection.h"
 from [3ef31b8c0f809c0f4528d57be4bfe1cf7945431e]
   to [43d82856db7441c1391b6282a11be7b9e43fa14d]

patch "libpurple/conversation.h"
 from [41ca1d194cc743d36951a382a372fe0812fff54f]
   to [71da89b093e34a0b89d65d0435b611ce98f268e0]

patch "libpurple/core.c"
 from [2266d9ce6c739a79c8a706b789e2d45386cf8511]
   to [f4f5b2c6ec48ed3a5f96545d2f3049e5ea0253b2]

patch "libpurple/core.h"
 from [c2de1a2b989800522d02f552f7e13209ced58e20]
   to [06126d129539a6506a855c5aeb675dc734f356a4]

patch "libpurple/dbus-bindings.h"
 from [0869a28ddb0900ed72688bfeaf3c9528304dab05]
   to [cc6bb0134c518d2969564998ff14fe14f107401e]

patch "libpurple/dbus-server.h"
 from [6504cd5ebcfce9628fcf0443b685e4b6d5824405]
   to [dc231a6ae2966a36fb29a73843c9f6e742b20816]

patch "libpurple/debug.c"
 from [3e0d6afd1d4bbeb9a0dc146cef937999a93fb7fc]
   to [ce215f5ef4e64c3f7157fc4eb3b567f8693cbe35]

patch "libpurple/debug.h"
 from [0dd4098ce2a9dfbb3c0ce4e5c6cf87bb91b5af91]
   to [a0fe1fb72bbd8a6bb0d101be07d9e73dcefea789]

patch "libpurple/desktopitem.c"
 from [c30c9d6cd11997df83dc27c0a0a4794705198f8a]
   to [f4b8d61844c1fc385be6c0a10098239abe2640e6]

patch "libpurple/desktopitem.h"
 from [717be2dcda75e1932496d52ec458c0a3749f67d1]
   to [f9dbaf03e5d066fcf58b208d7fac1d44e91908b7]

patch "libpurple/dnsquery.c"
 from [40a59303e75ada4d1dfab277ce6fd8e254dfd327]
   to [e3aec839245d62f0f23611a9e668b88dc73ff2ce]

patch "libpurple/dnsquery.h"
 from [5f9969508ff0584bab41e7ee93d94a25acd5330a]
   to [f4974890bb7c880a4ce505c84366c2ad632e57c7]

patch "libpurple/dnssrv.c"
 from [30f593b53ee122febdaf5894fd6fb7de79f23ede]
   to [2fd26c74fed3be685076a0478ffd07f5cf378d8c]

patch "libpurple/dnssrv.h"
 from [a53bfa173d531a2eb8c13bda7cdfc7c46a5cf68b]
   to [db1daad5e39d9d283d15c9ea5ac72a457d75d594]

patch "libpurple/eventloop.c"
 from [31dfb225cd2b03a839d812938b4aecad0b62724d]
   to [723fb0df5965e40f57599f32d72c5cacad6fe2d2]

patch "libpurple/eventloop.h"
 from [c00f9e871e40677ab2f7b0e31473de9f085e9030]
   to [0a48465148d9e3d3c2ed48209b8d7efa18d1ee9b]

patch "libpurple/ft.c"
 from [44cd37c0ff598bcde62993233a6a494ba0b7d406]
   to [59e9d4da28a7d81ee7a76c399c4115445cca466f]

patch "libpurple/ft.h"
 from [834c4e870d8a8390fb19d4940c066e0e40ce12bb]
   to [081365ba234ffcc3a46cfe3794a9abe967df08d1]

patch "libpurple/gaim-compat.h"
 from [4394229afd7c2f2f5a158871d74287e3d4dd9172]
   to [fe641a5434f3669273fe1c489eaa7882594fb579]

patch "libpurple/idle.h"
 from [b1fa9802033dceb02361fc1611f489a9125d5224]
   to [470fab4950a22b05c3432f574d9eb7206697bde7]

patch "libpurple/imgstore.c"
 from [acfe5259ded5f77eb5af1bebaf508b4c9f7a42e7]
   to [3aaae04427bdf9b88782c2d3b0d82c1e7f4983bc]

patch "libpurple/imgstore.h"
 from [fc1cd6b5ada95f208964c96f6b43960e100954f3]
   to [eb7ce433e962fd4555c61af0278093f34bddc444]

patch "libpurple/internal.h"
 from [5c7dd59a4b44d25907a6a760f6ea23c873a34114]
   to [2a484141a4bf8e26e4a71e95c8e42dd538df78ae]

patch "libpurple/log.c"
 from [25041d37190001a3c43832a1e2ad3bddb7bcebd2]
   to [8ec69bf3049d9e715183ba0ad7fd521f7d3f849e]

patch "libpurple/log.h"
 from [b8300ed92fb1bd28aade1020d47677e6366af55d]
   to [4cb2dc7b256d861cbf14f34f6a9bfafc373794af]

patch "libpurple/nat-pmp.c"
 from [15cc924c7e5b81f438da81178294600796f17cd6]
   to [c70b83d3e4647da383dce665296f88014e8ac1ca]

patch "libpurple/nat-pmp.h"
 from [8c34700098d1f274af85f82269d55b3700fcdef1]
   to [bdd85a3d88701be416dd3109e4776d7c8f1664c3]

patch "libpurple/network.c"
 from [f76639622e42db3fff37b35a22d783343325e537]
   to [9114e00fc20986c4f4e604f4f65ed8b34793268f]

patch "libpurple/network.h"
 from [502d4923374a287dda49c31bc4846abb0085bd12]
   to [689632cfc916c27dd7e060f89fc508ec9a297c97]

patch "libpurple/notify.c"
 from [01ad6357a09b2268e3a645ff9057f5d06c4e050b]
   to [1714c5f62e68e46bf5166154e713cea68d4e5cfe]

patch "libpurple/notify.h"
 from [d37e824821800688461b663f39cd7ff45b11223b]
   to [96d4290ea914778f278a0a6f836658ad872d8153]

patch "libpurple/ntlm.c"
 from [b1c719bfc06d49bb352380fd00d7cad1e90476dc]
   to [ee684dcd08b7d105ea82da45fe17b60c5ce5a11d]

patch "libpurple/ntlm.h"
 from [4f7868876fbdac0f0bba786afa9ab65b3ba0eba9]
   to [2041db604dc015656a3eb3413179e3d97cffd51d]

patch "libpurple/plugin.h"
 from [12d6ac08cc12b6466f0ad978112fd51f4a754ca2]
   to [1e5f64d96a39b6e4d185e2b074858bbb35058b81]

patch "libpurple/pluginpref.h"
 from [9897c5ca65a7ca7a114fcfca29fdf51843e32c2a]
   to [02689dd1161542c8fcd6f2ad3114294b73435a90]

patch "libpurple/plugins/debug_example.c"
 from [953105da0c7e250ada9b795a8bea786fa88e3051]
   to [81ac161b529b13c7778509f04fb3ba4ad670e4ab]

patch "libpurple/plugins/helloworld.c"
 from [3510130a72f33acbedfbaa4b9bd157894777d00b]
   to [dad7a3244fac95c5602df892ea2f962a8d07af3c]

patch "libpurple/plugins/notify_example.c"
 from [f329a392aa6aaa90b09bd2d1cadbf6402d42936d]
   to [ebc510bd5b8bbba3538112c470bec014fbb49675]

patch "libpurple/pounce.c"
 from [584ef2fdf66b3cf823c4cdaa1836bdf912b96635]
   to [d0750f8226cca76d80e87e6ce2c1ff68a07cd810]

patch "libpurple/pounce.h"
 from [bef3992727fd3b75ae76b4d648647c3b2a775e4f]
   to [9ec1bc945f69bb17008884addea48f144209219f]

patch "libpurple/prefs.h"
 from [57d1c8353459217f6f5a1db9a4cf041f259dc3a2]
   to [8d18968f5875557b7676d91c64cb7ad8edbd2e90]

patch "libpurple/privacy.h"
 from [9f708c402ca4a6e5e59d26bf54bf337058dc7079]
   to [4b529eeccd9a23776ce7ca52a9aae828f1873eba]

patch "libpurple/protocols/jabber/jabber.c"
 from [121e708c2e28ec3ff0da92cbf9e82a89f8d1a3b1]
   to [9566f6a2fd23699865c6a8ba16b2315d3daa3153]

patch "libpurple/protocols/jabber/message.c"
 from [2484754364477f8cacff4778fa87396b81924175]
   to [3bc876da8fe16d41770af8d980dce8457b3ac61a]

patch "libpurple/protocols/msn/msn.c"
 from [4a29d25608bada92c5317ff0dcbe6d8bf9a23af9]
   to [5cf2c5495f1eee96279c1f3a22642c3397150e5b]

patch "libpurple/protocols/myspace/markup.c"
 from [bb43d7cc215f24551b2653d84a34824036688415]
   to [6402c7e2143dda8ba4ab2e56d1adfd97b77b9c07]

patch "libpurple/protocols/myspace/myspace.h"
 from [0965dcd8337be1950b4567e9582c5da5680f96ca]
   to [6ac185262823551f67161cb8f3b0bba930941102]

patch "libpurple/proxy.c"
 from [dcb73f3b56ee37fd1b03d306be342bce5167037f]
   to [49258c4d7facfe350838599f27bde8b25aa470a9]

patch "libpurple/proxy.h"
 from [e1c03101b64b40e03f566f5360610e33abfd8558]
   to [b87c38a85c1b24795812f2203b56ba301911834c]

patch "libpurple/prpl.h"
 from [85a98203363c0fb068bc733b9cbcb9b54429759f]
   to [619fc26a7e52ef07b82536c9ba88bab5b7397de5]

patch "libpurple/request.c"
 from [f2741795ebcb193e91e0ff555f701199640086d6]
   to [87261bb476cca047e96707ecf4a022e9c53edbf3]

patch "libpurple/request.h"
 from [7c0df141e5cfa24b15d5c17ee80793b987fb5d5e]
   to [832c46bcbd175225578ce07d5510340823285b2f]

patch "libpurple/roomlist.c"
 from [a93859f040e5ba631ea6ab21e270a7edec2eafcf]
   to [ce8e8e7a5ba9402fc1f05e420f28463420fa077a]

patch "libpurple/roomlist.h"
 from [3e6646b3d76bec5b48ccf06fbd7065e3d6ca1737]
   to [72e90ede8faf5999be3eae929731521721a85186]

patch "libpurple/savedstatuses.c"
 from [b7b266a86b417bde0b6e9dae48c2eefaa0a8c19b]
   to [7e5db00ae4932bf7ef7036d38edba7a07bfe5164]

patch "libpurple/savedstatuses.h"
 from [ce717c5229d7eed52530115f1404d34f93010aa1]
   to [fd2da0682d3ed24e3e0fa4d7e589553567210a92]

patch "libpurple/server.h"
 from [b7f85636345b8ccb6a868bbbcc1781abce7bbce5]
   to [2b3e21036a4c50ee143021f2fd1b514ebd146f8a]

patch "libpurple/signals.c"
 from [5fc02faa1aec80b8fb7dbe8ad8b5a0b301d1efac]
   to [a786ce9fdfa513644961780bab5c2c35b993de0e]

patch "libpurple/signals.h"
 from [aabd187cfd6cae6e8eef16d88b59a532304c6999]
   to [471801d04914f814d75196f5ceb41d47d8473435]

patch "libpurple/sound.h"
 from [805e240a462ca4d949ce3f61209a4fda9f3b5c1f]
   to [155576ac7fd540899efe8d7b40f6ec5c399d17c3]

patch "libpurple/sslconn.c"
 from [5b7c324c1f5f8b1e07859375a234716a6fc122fc]
   to [aa0aadcf087d62dec198fba7973f98bc3bc365b0]

patch "libpurple/sslconn.h"
 from [83322a7147f0cc228073df909002edc6302524a0]
   to [9345fc0da1fe13e953208fb5a4e7ca9ba6f95b52]

patch "libpurple/status.c"
 from [a0e82882e37ae83691ee52bc46682db953f7cf96]
   to [186dd554d259db6734202e08e005279fc0327dcb]

patch "libpurple/stringref.c"
 from [98bb1c4a399a2bdc517dc70efd0789562b0c3ed0]
   to [b65fe580a300682722d56cf3397dd1b776c392e8]

patch "libpurple/stringref.h"
 from [29eb213857b8ae3a3c18679778296f544c7d4880]
   to [ba5428fc886f1b6e4bc3c2d5abd9b300562f6177]

patch "libpurple/stun.c"
 from [e3a2758c7a0682b5367e87c9d5d3ad1f4f1277ab]
   to [4a79dd2c4c4216efb4a944125b0fcb6e355121d0]

patch "libpurple/stun.h"
 from [6b0ad49c9583b9fa199fd028a88a70bfa23d3bdd]
   to [557efdb5016165d2b0146ae90a65a6d8f0228752]

patch "libpurple/upnp.c"
 from [d253d0782086e4c7514843c7d61b15f32105c53f]
   to [9f7037509c784f450f1fb4ad33176d040c1579dc]

patch "libpurple/upnp.h"
 from [915004cf1ce02bb9346495984f07f771ad7db8fa]
   to [2ea60a027418eebaf076911ff392883f19ff2791]

patch "libpurple/util.c"
 from [ad02b84b45a4856809e95b8f9176615409aca489]
   to [504ff584b386911ab4c77743e8e17df9e684caf6]

patch "libpurple/util.h"
 from [458800c8df4249189ed833ac399e4d200e12e38a]
   to [a4c51623a9a6ccdbed65ae17f8cf9d6f73541218]

patch "libpurple/value.c"
 from [4e42edfbee639989b3d2cec3c2d0da8b39ac9078]
   to [38e4b961b6fb92aa8b7bb27b5d1ef0ab4eab243f]

patch "libpurple/value.h"
 from [5ac524d0e1253d5ef6388e6af5da05674484ccbf]
   to [3a7b6a6dd8106466d5a438203706c2bc0c2b6cd9]

patch "libpurple/version.c"
 from [1eb50a65a420156e66f193633d865128e9ea6a00]
   to [c7dababa6a05dc84c2c9b424e1d9afcfb5927915]

patch "libpurple/whiteboard.h"
 from [acf1c24065d338c24b1c9bf15c718972a4d4035a]
   to [1c248a7d0309e7c03f3f27e30818ab2f2cd7c4e0]

patch "libpurple/xmlnode.c"
 from [110264cd528323a2abc9a4a8cc752882cc96dbfc]
   to [0a452bfe79ea0fea36de8bfe946cdb3097f066a5]

patch "libpurple/xmlnode.h"
 from [14562a146c12650d874c1ab6c51ef4f3135fc95e]
   to [e83d68f9e1a20bfd8ded256571bc87ee0fe08c47]

patch "pidgin/gtkaccount.c"
 from [d16294511c7ceedf063e03058478a54fd0ff611d]
   to [9e822f0257b7df1e83f0a128fa4e975a0ef5c5e8]

patch "pidgin/gtkaccount.h"
 from [8a4e2106b1e89fa4c33abad9d535eb7328d75ceb]
   to [c35b20ac9b1ce9d754838ff66638cc0a444311a3]

patch "pidgin/gtkblist.c"
 from [93d566ce11a5d1ca636d549e8da29fbf3d3c6480]
   to [8816118a526207f76e3f4a077075beb70074bfa8]

patch "pidgin/gtkblist.h"
 from [2a64fc0a488ef2c18905cb3496673ab1e058f34f]
   to [94a2f58c1bd5f863b5fc1dc4713e8b0599a749fb]

patch "pidgin/gtkcellrendererexpander.c"
 from [819f2ef8b8fccd30339c5b4bc713390a6e2a7323]
   to [3dac1205d95c6007b6ebea7d33e6cd66035caa50]

patch "pidgin/gtkcellrendererprogress.c"
 from [78974dccfea2102b2b490fedee42daf3d4640966]
   to [30c75dfc4e0cdcb785a31560de9b62a3455d493c]

patch "pidgin/gtkcertmgr.c"
 from [6c48b310d16f2615eb00c535f46267d6a3da7dac]
   to [48ae857673ac5ba9f9a778ba21245d09b97bbb45]

patch "pidgin/gtkconn.c"
 from [e4cdb3889aea89cf16f92e8e347a076b0bad2350]
   to [34977775fe5a89fe5e67762f2fc0711d0dadcdd0]

patch "pidgin/gtkconn.h"
 from [3142173a7ffaf268825f4fbada5bf0368a91cb7f]
   to [2050a0a0a6808a3d9b95c2c78dfb00d38960eb64]

patch "pidgin/gtkconv.c"
 from [3c2f7c44da5ae1e39a2496e8fb80d10489ed0f1b]
   to [ae2a582300ca2f4789b9f0981a2884cf2b3f39fc]

patch "pidgin/gtkconv.h"
 from [42425cd5d2ef1bf7d37b0c69c608e0c17a19d1cf]
   to [87265c5e731e39278d5056098d967ccb1c013086]

patch "pidgin/gtkconvwin.h"
 from [28264947c76f07b1eff56e16b487e5f7dbe49ea2]
   to [250c2499fcc142e466d0695dc27e203f56ff9156]

patch "pidgin/gtkdebug.c"
 from [6d9839de9abec5e0b697361fabf75f014d43f8e6]
   to [1e00b33345ef1993959ebd1063a9301ad4a2362b]

patch "pidgin/gtkdebug.h"
 from [16aaf8ddff05f14a83af687f6fe1d308229d2af7]
   to [873ac54850158078a07fdabf531f5dd23cab4d41]

patch "pidgin/gtkdialogs.c"
 from [be0664b406527e722394f45123a87404c5207e36]
   to [355c171bb4f52e9b0d85762e9ec7099fd5d2d7fe]

patch "pidgin/gtkdialogs.h"
 from [3c4042b1202bf65dca7ae291059afc481de58389]
   to [01e11df00db98161fb7b9dc9701738f6bc409ecb]

patch "pidgin/gtkdnd-hints.c"
 from [e136afdf24d49eba3832aada425b991b7ac64460]
   to [ee83f663c4e837313644d1e2d11910fc33073e69]

patch "pidgin/gtkdnd-hints.h"
 from [bc0fe0a2bd974b9d8eb121030e9d02ebdb26f00a]
   to [f069e5db3982a7109c1c2e07d910be64d3cffacb]

patch "pidgin/gtkeventloop.c"
 from [ce6cebdf9f4bdc3ddea40c09b4515dd8f99132f3]
   to [561224e9acbd24518878503f743b6d7025a99e73]

patch "pidgin/gtkeventloop.h"
 from [86373f3eb1a7685f152ada4442330585dc4197e6]
   to [312249027f250ed69aa05343957705a0386790a4]

patch "pidgin/gtkft.c"
 from [096c2562511007741f4d39f5e3c77515660ac84c]
   to [2e9a12221354c627e3232be84536db4a6bd8eb69]

patch "pidgin/gtkft.h"
 from [9f74be166e5daaec280f850ee1de637469dcb327]
   to [2181d97fb42436ef97608262948dfe34846e8345]

patch "pidgin/gtkgaim-compat.h"
 from [fc8db05203fb2331f93387f3148ffccc84846bf1]
   to [8d6be75b0184ff5a467a767748cfbd2c252168b1]

patch "pidgin/gtkidle.h"
 from [f0cb06563c9033473c7d10e9cc7542f81d47cbd5]
   to [b6a001d908b45b7cec49d4e16dd8e5004716c850]

patch "pidgin/gtkimhtml.c"
 from [da6f989f678ffbfcf1e93f6955770942caa0ef33]
   to [77589de31ac3088af69562e1ce335f93d8e3d701]

patch "pidgin/gtkimhtml.h"
 from [c4db539c3b1ac56b8c59343482d24309847da40e]
   to [58ceca731d91bc31469a347551f242d47291ce0e]

patch "pidgin/gtkimhtmltoolbar.c"
 from [3035b538b983e371ecc9cb7bd8bf08c500f1c07a]
   to [3d1bc4c6027f1e70ad7f1faa755037fc99a0ca92]

patch "pidgin/gtklog.c"
 from [4c3b270022da0e57bba6f5144ec1330e4eeaeba6]
   to [d96a7326a9b689b6dd2ad1560429ea82d93dee82]

patch "pidgin/gtklog.h"
 from [05ae6ff4547ec565a59147977a34a98430c22769]
   to [cfaff1e18cdb94d71b21f67d50e2e4e21e34d855]

patch "pidgin/gtkmain.c"
 from [ca3036e2264dfdf1b45487235066557a098d7aa1]
   to [8e319cde93944ca88dc6bc246ad1bdc9096cfd6b]

patch "pidgin/gtkmenutray.h"
 from [314e879beed55a3c2c2d52739e6a07a7d129ad93]
   to [9618e3afc5faf68aba2acb4078951e506fb72934]

patch "pidgin/gtknickcolors.h"
 from [2f2cc9907d386d65d3d01d931abf72188d169d8e]
   to [24ffa982041917ca056b276ecf973a3464f3c5ad]

patch "pidgin/gtknotify.c"
 from [40e7194455f589580f6b3ddaa3f809c9a1455b46]
   to [885a2b4b39be0cc0b3443b7fd60653f08472b4d0]

patch "pidgin/gtknotify.h"
 from [9e3cb651a1bb706ee92e6e1c82e2714a8dfb5321]
   to [6e91c939e657d8bf323fcaf31845f27aaa960550]

patch "pidgin/gtkplugin.c"
 from [d9a586161b8cd0c20fd7ab8b8dd816e8fd9f9e8d]
   to [115e27dac85c3331d65402429794e18b16649078]

patch "pidgin/gtkplugin.h"
 from [8d5b95f4624cbd82cfeb2fd5682ae778e69b6cc2]
   to [d1073df435993f033fe502ad2ede9887e3a2b5f4]

patch "pidgin/gtkpluginpref.c"
 from [d12b9dd2a9e2556ff005e85a42e9925696de790d]
   to [bfffd0a0b0b86eaa8c8b10ccd824291463cf4c8a]

patch "pidgin/gtkpluginpref.h"
 from [bee2153f62793988bd317736749b957e26f1f6aa]
   to [4fdf05ffac386acb083dc38e67e8f79f7f084fbd]

patch "pidgin/gtkpounce.c"
 from [d0b3543d1dade53d721affa3226aa56eab2a81cc]
   to [e313eb409e685a318f27f960d36fbc7dc8572744]

patch "pidgin/gtkpounce.h"
 from [6857d9e3729bd5b43e7f4cfa15a41249419a3d47]
   to [cd4359109194b13403c86cff71f2d899783dbf8b]

patch "pidgin/gtkprefs.c"
 from [44aff7beed302febe9574d56c00f74253ee99b6f]
   to [d5ceef2b9099fc5e1fbc56e9b410bdc2a4e8b41c]

patch "pidgin/gtkprefs.h"
 from [d8d43dcdee8ab9c0c5aa9b0ee9d9373925ffa5e5]
   to [a94d912724df09de10791e143098d4d01591bd85]

patch "pidgin/gtkprivacy.c"
 from [3f1c74bbaa2dd7824400ee4320e48da30d367750]
   to [b0b5193ad8500fb172e3aad0014f3da9e01a6cba]

patch "pidgin/gtkprivacy.h"
 from [310f1d467a7f5f6a3bd8e275a0671026442cb453]
   to [ee7810d43aee31107090205dc511cd5959f709ce]

patch "pidgin/gtkrequest.c"
 from [f4a22340d443a942922bc33edebaa41e2fb6b79b]
   to [7af6502bb0bcdc77a8f7e8516f13754e3892ea03]

patch "pidgin/gtkrequest.h"
 from [a0d29ed4c87ca1383e7a0d71383b2e5eb9152c13]
   to [d03476b60abd09c8ddd17ff13b064e692490dc2d]

patch "pidgin/gtkroomlist.c"
 from [3edbec48684587035e04edc5ecb6aea5b72a1a41]
   to [c166792bfbbe579f7756dd50187c39568fd12ce1]

patch "pidgin/gtkroomlist.h"
 from [513270e5ddd3aba96d6194caa4b558a45f2534c9]
   to [a7955dc12c37bb57f89d6ca169c96996d70b970a]

patch "pidgin/gtksavedstatuses.c"
 from [1495d32994983a7263ee88dd96f03d611c6d914b]
   to [7a4f3452a620c7ec95097ec483e216a0945aa839]

patch "pidgin/gtksavedstatuses.h"
 from [199163241481b91d8590076ea45b7837ad8fd1f5]
   to [53420e1f26d1cbe7278d9c56d234a513ccb6f36b]

patch "pidgin/gtkscrollbook.c"
 from [9b5e0d7634533c5a3ba972a6cfe125d6b7b6712e]
   to [f9c19ef06b850114fca3c67db3a2b089503239a0]

patch "pidgin/gtkscrollbook.h"
 from [b7622468802b048423bf91bd8e9f43decd471bb6]
   to [20613d163ce0b07eb6cf55d1f8eb27889d694c75]

patch "pidgin/gtksession.c"
 from [8575bfddb8bcb141f0335b2f5df9b0cf224e9dfe]
   to [2d2235d6bd20fb972d4366b7af06f04783ed5dd3]

patch "pidgin/gtksession.h"
 from [ae692bf6d6924ddaeb3f3ae58dd3cf7eb0ddaa72]
   to [b7570ffab248790e7c931745a8611675c5d5ee76]

patch "pidgin/gtksound.c"
 from [378bcedd3dd98882390a06af0f2ca1a00b8cdeeb]
   to [633723aaaf41231761b0bfa6674668e685d56066]

patch "pidgin/gtksound.h"
 from [49571193c1c5767a1c72141de7285b2f73abaf41]
   to [4006ee765aeee147347b96d135888375a3ec4aad]

patch "pidgin/gtkstatusbox.c"
 from [546f13d002fb5290bab3ef2d39ae058c68f2b698]
   to [0159519a9e593047e9a0495847b9e78f56a95c28]

patch "pidgin/gtkstatusbox.h"
 from [908f66370575eb7ed998893f6952f089c7a20506]
   to [45ad817469cd9230a169bff22f78363f1c1deb32]

patch "pidgin/gtkthemes.h"
 from [5ce513ed60f80af928fc0b36239cfb0fa2109fbc]
   to [af5b0d12647090de57148cf520133760e903e8b3]

patch "pidgin/gtkutils.c"
 from [f2fae2a3917d9aea5130a2d70aeb653719a16465]
   to [54262f3bbd7b4bd91058bbe6cde4cca6e97156c8]

patch "pidgin/gtkutils.h"
 from [a12604d8571e1bf908cb2668400074d1a7733d64]
   to [ffab4ceee95e4d1eed8702e0ddf0821f1f06894a]

patch "pidgin/gtkwhiteboard.h"
 from [7613964fa4510244ee207af447d06490562ca6ab]
   to [6cb904c7e3deb11c432b82fa674357d2609befbb]

patch "pidgin/pidgin.h"
 from [ae2a16e5bd348c435fd5a9cbc71f7ef7a086177e]
   to [8ee30d5d74d894e22fa2759aedd923ac1460082f]

patch "pidgin/pidginstock.c"
 from [2fd3b78a0ed71300f800b9c2c3aa3c76aa18f089]
   to [a1a460cffd8fa050434e5402f4800f561f2528c5]

patch "pidgin/pidginstock.h"
 from [af5b3887c296d3ef0dc9e06ff946fe66938f125a]
   to [cebcad7166aead1bf5a44b5ad7d2f40ebda98618]

patch "pidgin/plugins/history.c"
 from [b91c6020a0a398c3cf9067b76d5ee66222ae4165]
   to [9c684847cf306c078cd215d71546fefefd5642ae]

old_revision [41389df89a4a6a007d41cec33e33043cd41ea159]

patch "libpurple/connection.c"
 from [a17379445ce104d6a9bf06d11a027ce977bbcd7f]
   to [249acfb69b16e885e40f6030d2ebcec00643ca73]

patch "libpurple/connection.h"
 from [c74ac3e93caa7aa1b1f3a9c9a94c1a1c0e2d93d5]
   to [43d82856db7441c1391b6282a11be7b9e43fa14d]

patch "pidgin/gtkconn.c"
 from [72562519312af27875f6cc4de957668eb9d05d79]
   to [34977775fe5a89fe5e67762f2fc0711d0dadcdd0]
-------------- next part --------------
#
#
# patch "COPYRIGHT"
#  from [1fcc4aebfbd9071c3b53483e79b22aec385259f2]
#    to [89808bde5cca14354a0b7e011640958981a18fb8]
# 
# patch "ChangeLog"
#  from [4b0a22f83e0b7df011e8f2bae58f300d8c7c3587]
#    to [e7623b2283a21fc8072758061318a0cb98b08152]
# 
# patch "finch/finch.h"
#  from [28693e9b4a3b760f3de976731ed3c39eb2c48558]
#    to [5c03f18580ab6f0cc4d38e924e675b8ab9ba0fda]
# 
# patch "finch/gntaccount.c"
#  from [ebbf7baed21987c2b0774d9caed9ef8a8c56fe12]
#    to [26791f65dd048c6e2460182f167f20b0f408a7cf]
# 
# patch "finch/gntaccount.h"
#  from [f62351fc8b984914d2db417e625c1fd4e8532719]
#    to [cea3bf330eabc9bca6ed71a42e91866648bbaf37]
# 
# patch "finch/gntblist.c"
#  from [0a318fc91c069d7d2594065842b5d42b531e68fc]
#    to [beee9d81df641a8601abe5693408aebb7f56cfe1]
# 
# patch "finch/gntblist.h"
#  from [62ce7020bd357585dc7de285b0c0afb384c0f763]
#    to [ea3ac3f79912b63c6db6376c44bb41c0d2014cad]
# 
# patch "finch/gntcertmgr.c"
#  from [6dbc3d7a18c1e1ecb00249c659bd8f84c32ef97a]
#    to [cce41a6e2a76ab86fdf12feb4f6ad640fb1e452e]
# 
# patch "finch/gntcertmgr.h"
#  from [b941cb6625c4d1aa57414bee835e37b0d624dcbe]
#    to [616a3645adc40cc29771f9783d0b0ba9bec696f3]
# 
# patch "finch/gntconn.c"
#  from [68412727eea01da0155d72fdf25e766e0616ae5f]
#    to [bad10ad608f21e44e36b2e5a3f2b05201153ac8d]
# 
# patch "finch/gntconn.h"
#  from [b793c644c364c66c9f578b13fd777d31ff8385d9]
#    to [a346d66ffbd197ff7b80b55deec072cc2dcc9d6a]
# 
# patch "finch/gntconv.c"
#  from [aea23c5e22d2fcae5281f43c817e5bd1c062a274]
#    to [da9f0cf9894592fe8d472fb720f6e79bcc1d437c]
# 
# patch "finch/gntconv.h"
#  from [3662bfe5aeb70d3eab48fbe0b6b68927cdc35e66]
#    to [e984893c5c04f0d20fea57943e945c475ce755a6]
# 
# patch "finch/gntdebug.c"
#  from [5fbd3e61709d849d2643558dbe9dc618f3fa6af5]
#    to [d3cf79c0ead2b77ac048423950afba75efe057be]
# 
# patch "finch/gntdebug.h"
#  from [f052e1435e0278ae34a3ec39dc4c2ada4dbe20f2]
#    to [003603f23ddc6640790d42cb57c07f30a5ae770f]
# 
# patch "finch/gntft.c"
#  from [81686cd1306660609e0699090fb41946d9ed98b3]
#    to [2c879b26141be6084dd63b0d7a0dcd8b90ced990]
# 
# patch "finch/gntft.h"
#  from [6a5ecd41bc725a2740ec6aa2bb92c2b070764dd2]
#    to [5418fd11e071acad303b1901ba991b4a092b1591]
# 
# patch "finch/gntidle.h"
#  from [75a806a446a0a7cee0413dc198238b707283a450]
#    to [04c9c2e2318554eec8eece2f791da6b760b4894c]
# 
# patch "finch/gntnotify.c"
#  from [4f0ffff5e0c6ca044048168b481fe17f9550f8e8]
#    to [3e6b8236ec80a3256522e64a8eb259a79f46daa4]
# 
# patch "finch/gntnotify.h"
#  from [ec4a88f377580f9651bf3e2f05763a60eb357e21]
#    to [1583b373cd338aac7212bd91b06073a3830e27eb]
# 
# patch "finch/gntplugin.c"
#  from [0af2b0a74d806e5364157ab7dd61cbc8be8bf4b5]
#    to [1ac38a2568c9fa8cc5e59c55f7a4b10f61b61d7b]
# 
# patch "finch/gntplugin.h"
#  from [58b4706e7d3c20cabbb214ccc02d82ac6263a4ef]
#    to [f86ee9d5db7853d7000f62637e9b534c0f59f049]
# 
# patch "finch/gntpounce.c"
#  from [d97cb5a1935da8646fe3bc8559f06caa1d9744a2]
#    to [6fb43d36f53858938dd460d31a9e474d94726805]
# 
# patch "finch/gntpounce.h"
#  from [b12b8fe6ae3c4fcdc290c662b85002aaf7de7522]
#    to [c37edbd789058fa1a090b34b637a7bf8bb23ac86]
# 
# patch "finch/gntprefs.c"
#  from [c9afa284d079876d5aa1a4a0f9e9320d4478bfbd]
#    to [91ccd624d5b3d2f2772f0aa75c1617335723c32e]
# 
# patch "finch/gntprefs.h"
#  from [852675edf85cb00dda334e6990fe0aec7540fdf0]
#    to [776e01e0e3be096c354fa1b7694d346b12d0c5ed]
# 
# patch "finch/gntrequest.c"
#  from [06ade2401cad8d93d77db5ee67d425e40c082801]
#    to [b4a7372470b97ef6981c0e7af52c5df916e35556]
# 
# patch "finch/gntrequest.h"
#  from [89ebbe3c283806d1e8d706b8a8a3a7755058bef4]
#    to [ead4ffe0b2815bb5953e57ec5b132b0dfc23d90d]
# 
# patch "finch/gntsound.c"
#  from [cecd126fd56096068679eb44ff1d415b4db5d88b]
#    to [c7433e8689f8f3a92236e3c6a692df22ca734623]
# 
# patch "finch/gntsound.h"
#  from [a58e172e042871da51e05f72b589cf048a561140]
#    to [d0d66d0dc43b25a083dc650865ab267674b32cd7]
# 
# patch "finch/gntstatus.c"
#  from [8f0c83f1ee8624ea2495b6ab24d7651386faef65]
#    to [d5c598d5a2a03f0a3b911e3a3ac3a3e7a2aa4c13]
# 
# patch "finch/gntstatus.h"
#  from [84f109108b23d48a46a871b5b6112f7dadc8ae26]
#    to [f469e1d249c7a7aa483bbed8638b4c2fc8101b3a]
# 
# patch "finch/libgnt/gntentry.c"
#  from [9fb2a7b21b8a6786383b01b41a5bfb854a8d551f]
#    to [5551a12c1cfb74ba91c21705c24c0ebcaca53425]
# 
# patch "libpurple/account.c"
#  from [23669c4059e134b4cbc15deb63291ec503e46618]
#    to [5dc69bd980d2847a2f77599480dbeb7bd84218eb]
# 
# patch "libpurple/account.h"
#  from [e019236dda43bd45265acb44f7afc8d73fd19bdf]
#    to [10ce3465809fca456da0c042e6e110446e1ac4d8]
# 
# patch "libpurple/accountopt.c"
#  from [806a3ab5f94d2e757bb247f9494e33d20515f93c]
#    to [14e8bf867d82dedf93964734bd4cce22ade5a4b0]
# 
# patch "libpurple/accountopt.h"
#  from [347f148af40bb0ff87afdd66ec35a3a527ca86ff]
#    to [1cae049afd83127360824219ec4396e31eaae3b2]
# 
# patch "libpurple/blist.h"
#  from [5ff1a9cd9d28fccd72fa66830a8eb1343733dd72]
#    to [7fb175af72bf3fb710f328f35ca163b2edc1e4c7]
# 
# patch "libpurple/buddyicon.c"
#  from [c7f727797337ea844430e8266978770aa219d9a8]
#    to [63ef54c38b55e0d47c7eddb64ae98aeeac8033be]
# 
# patch "libpurple/buddyicon.h"
#  from [b65f92abc3928d85bf4ea09b677b75810fac85d0]
#    to [f6669ada49c9927c080b18190f90939248bbfbfb]
# 
# patch "libpurple/cipher.h"
#  from [b199b7c662ca567ce23ea0068b42ec94d882258f]
#    to [f702a4e33b896b9bec5e05d4ee29b00d8ec87ed8]
# 
# patch "libpurple/circbuffer.c"
#  from [3ab0b51cb3971b92e4cc4c1b4f90679d18b831d3]
#    to [8209e1034930cd720e5b7b80cdc3288920343000]
# 
# patch "libpurple/circbuffer.h"
#  from [3f25c3fb4d71b2db7c7522896edc3d17491db40e]
#    to [423fc024a802905912c62da588be2273fa94fb89]
# 
# patch "libpurple/cmds.c"
#  from [02f2afc6dbebfac1be10379e8c0b31f891ed2823]
#    to [f001eeb47fb6e699156f6623cb0545705508b287]
# 
# patch "libpurple/cmds.h"
#  from [fdf98d7f80b91189a69ce4185439194829c0f765]
#    to [953c84ca8c44c8e5824209a605d5d889a96b1e0d]
# 
# patch "libpurple/connection.c"
#  from [caee15e52956e08e6c748c0d007a9b39c5ac8564]
#    to [249acfb69b16e885e40f6030d2ebcec00643ca73]
# 
# patch "libpurple/connection.h"
#  from [3ef31b8c0f809c0f4528d57be4bfe1cf7945431e]
#    to [43d82856db7441c1391b6282a11be7b9e43fa14d]
# 
# patch "libpurple/conversation.h"
#  from [41ca1d194cc743d36951a382a372fe0812fff54f]
#    to [71da89b093e34a0b89d65d0435b611ce98f268e0]
# 
# patch "libpurple/core.c"
#  from [2266d9ce6c739a79c8a706b789e2d45386cf8511]
#    to [f4f5b2c6ec48ed3a5f96545d2f3049e5ea0253b2]
# 
# patch "libpurple/core.h"
#  from [c2de1a2b989800522d02f552f7e13209ced58e20]
#    to [06126d129539a6506a855c5aeb675dc734f356a4]
# 
# patch "libpurple/dbus-bindings.h"
#  from [0869a28ddb0900ed72688bfeaf3c9528304dab05]
#    to [cc6bb0134c518d2969564998ff14fe14f107401e]
# 
# patch "libpurple/dbus-server.h"
#  from [6504cd5ebcfce9628fcf0443b685e4b6d5824405]
#    to [dc231a6ae2966a36fb29a73843c9f6e742b20816]
# 
# patch "libpurple/debug.c"
#  from [3e0d6afd1d4bbeb9a0dc146cef937999a93fb7fc]
#    to [ce215f5ef4e64c3f7157fc4eb3b567f8693cbe35]
# 
# patch "libpurple/debug.h"
#  from [0dd4098ce2a9dfbb3c0ce4e5c6cf87bb91b5af91]
#    to [a0fe1fb72bbd8a6bb0d101be07d9e73dcefea789]
# 
# patch "libpurple/desktopitem.c"
#  from [c30c9d6cd11997df83dc27c0a0a4794705198f8a]
#    to [f4b8d61844c1fc385be6c0a10098239abe2640e6]
# 
# patch "libpurple/desktopitem.h"
#  from [717be2dcda75e1932496d52ec458c0a3749f67d1]
#    to [f9dbaf03e5d066fcf58b208d7fac1d44e91908b7]
# 
# patch "libpurple/dnsquery.c"
#  from [40a59303e75ada4d1dfab277ce6fd8e254dfd327]
#    to [e3aec839245d62f0f23611a9e668b88dc73ff2ce]
# 
# patch "libpurple/dnsquery.h"
#  from [5f9969508ff0584bab41e7ee93d94a25acd5330a]
#    to [f4974890bb7c880a4ce505c84366c2ad632e57c7]
# 
# patch "libpurple/dnssrv.c"
#  from [30f593b53ee122febdaf5894fd6fb7de79f23ede]
#    to [2fd26c74fed3be685076a0478ffd07f5cf378d8c]
# 
# patch "libpurple/dnssrv.h"
#  from [a53bfa173d531a2eb8c13bda7cdfc7c46a5cf68b]
#    to [db1daad5e39d9d283d15c9ea5ac72a457d75d594]
# 
# patch "libpurple/eventloop.c"
#  from [31dfb225cd2b03a839d812938b4aecad0b62724d]
#    to [723fb0df5965e40f57599f32d72c5cacad6fe2d2]
# 
# patch "libpurple/eventloop.h"
#  from [c00f9e871e40677ab2f7b0e31473de9f085e9030]
#    to [0a48465148d9e3d3c2ed48209b8d7efa18d1ee9b]
# 
# patch "libpurple/ft.c"
#  from [44cd37c0ff598bcde62993233a6a494ba0b7d406]
#    to [59e9d4da28a7d81ee7a76c399c4115445cca466f]
# 
# patch "libpurple/ft.h"
#  from [834c4e870d8a8390fb19d4940c066e0e40ce12bb]
#    to [081365ba234ffcc3a46cfe3794a9abe967df08d1]
# 
# patch "libpurple/gaim-compat.h"
#  from [4394229afd7c2f2f5a158871d74287e3d4dd9172]
#    to [fe641a5434f3669273fe1c489eaa7882594fb579]
# 
# patch "libpurple/idle.h"
#  from [b1fa9802033dceb02361fc1611f489a9125d5224]
#    to [470fab4950a22b05c3432f574d9eb7206697bde7]
# 
# patch "libpurple/imgstore.c"
#  from [acfe5259ded5f77eb5af1bebaf508b4c9f7a42e7]
#    to [3aaae04427bdf9b88782c2d3b0d82c1e7f4983bc]
# 
# patch "libpurple/imgstore.h"
#  from [fc1cd6b5ada95f208964c96f6b43960e100954f3]
#    to [eb7ce433e962fd4555c61af0278093f34bddc444]
# 
# patch "libpurple/internal.h"
#  from [5c7dd59a4b44d25907a6a760f6ea23c873a34114]
#    to [2a484141a4bf8e26e4a71e95c8e42dd538df78ae]
# 
# patch "libpurple/log.c"
#  from [25041d37190001a3c43832a1e2ad3bddb7bcebd2]
#    to [8ec69bf3049d9e715183ba0ad7fd521f7d3f849e]
# 
# patch "libpurple/log.h"
#  from [b8300ed92fb1bd28aade1020d47677e6366af55d]
#    to [4cb2dc7b256d861cbf14f34f6a9bfafc373794af]
# 
# patch "libpurple/nat-pmp.c"
#  from [15cc924c7e5b81f438da81178294600796f17cd6]
#    to [c70b83d3e4647da383dce665296f88014e8ac1ca]
# 
# patch "libpurple/nat-pmp.h"
#  from [8c34700098d1f274af85f82269d55b3700fcdef1]
#    to [bdd85a3d88701be416dd3109e4776d7c8f1664c3]
# 
# patch "libpurple/network.c"
#  from [f76639622e42db3fff37b35a22d783343325e537]
#    to [9114e00fc20986c4f4e604f4f65ed8b34793268f]
# 
# patch "libpurple/network.h"
#  from [502d4923374a287dda49c31bc4846abb0085bd12]
#    to [689632cfc916c27dd7e060f89fc508ec9a297c97]
# 
# patch "libpurple/notify.c"
#  from [01ad6357a09b2268e3a645ff9057f5d06c4e050b]
#    to [1714c5f62e68e46bf5166154e713cea68d4e5cfe]
# 
# patch "libpurple/notify.h"
#  from [d37e824821800688461b663f39cd7ff45b11223b]
#    to [96d4290ea914778f278a0a6f836658ad872d8153]
# 
# patch "libpurple/ntlm.c"
#  from [b1c719bfc06d49bb352380fd00d7cad1e90476dc]
#    to [ee684dcd08b7d105ea82da45fe17b60c5ce5a11d]
# 
# patch "libpurple/ntlm.h"
#  from [4f7868876fbdac0f0bba786afa9ab65b3ba0eba9]
#    to [2041db604dc015656a3eb3413179e3d97cffd51d]
# 
# patch "libpurple/plugin.h"
#  from [12d6ac08cc12b6466f0ad978112fd51f4a754ca2]
#    to [1e5f64d96a39b6e4d185e2b074858bbb35058b81]
# 
# patch "libpurple/pluginpref.h"
#  from [9897c5ca65a7ca7a114fcfca29fdf51843e32c2a]
#    to [02689dd1161542c8fcd6f2ad3114294b73435a90]
# 
# patch "libpurple/plugins/debug_example.c"
#  from [953105da0c7e250ada9b795a8bea786fa88e3051]
#    to [81ac161b529b13c7778509f04fb3ba4ad670e4ab]
# 
# patch "libpurple/plugins/helloworld.c"
#  from [3510130a72f33acbedfbaa4b9bd157894777d00b]
#    to [dad7a3244fac95c5602df892ea2f962a8d07af3c]
# 
# patch "libpurple/plugins/notify_example.c"
#  from [f329a392aa6aaa90b09bd2d1cadbf6402d42936d]
#    to [ebc510bd5b8bbba3538112c470bec014fbb49675]
# 
# patch "libpurple/pounce.c"
#  from [584ef2fdf66b3cf823c4cdaa1836bdf912b96635]
#    to [d0750f8226cca76d80e87e6ce2c1ff68a07cd810]
# 
# patch "libpurple/pounce.h"
#  from [bef3992727fd3b75ae76b4d648647c3b2a775e4f]
#    to [9ec1bc945f69bb17008884addea48f144209219f]
# 
# patch "libpurple/prefs.h"
#  from [57d1c8353459217f6f5a1db9a4cf041f259dc3a2]
#    to [8d18968f5875557b7676d91c64cb7ad8edbd2e90]
# 
# patch "libpurple/privacy.h"
#  from [9f708c402ca4a6e5e59d26bf54bf337058dc7079]
#    to [4b529eeccd9a23776ce7ca52a9aae828f1873eba]
# 
# patch "libpurple/protocols/jabber/jabber.c"
#  from [121e708c2e28ec3ff0da92cbf9e82a89f8d1a3b1]
#    to [9566f6a2fd23699865c6a8ba16b2315d3daa3153]
# 
# patch "libpurple/protocols/jabber/message.c"
#  from [2484754364477f8cacff4778fa87396b81924175]
#    to [3bc876da8fe16d41770af8d980dce8457b3ac61a]
# 
# patch "libpurple/protocols/msn/msn.c"
#  from [4a29d25608bada92c5317ff0dcbe6d8bf9a23af9]
#    to [5cf2c5495f1eee96279c1f3a22642c3397150e5b]
# 
# patch "libpurple/protocols/myspace/markup.c"
#  from [bb43d7cc215f24551b2653d84a34824036688415]
#    to [6402c7e2143dda8ba4ab2e56d1adfd97b77b9c07]
# 
# patch "libpurple/protocols/myspace/myspace.h"
#  from [0965dcd8337be1950b4567e9582c5da5680f96ca]
#    to [6ac185262823551f67161cb8f3b0bba930941102]
# 
# patch "libpurple/proxy.c"
#  from [dcb73f3b56ee37fd1b03d306be342bce5167037f]
#    to [49258c4d7facfe350838599f27bde8b25aa470a9]
# 
# patch "libpurple/proxy.h"
#  from [e1c03101b64b40e03f566f5360610e33abfd8558]
#    to [b87c38a85c1b24795812f2203b56ba301911834c]
# 
# patch "libpurple/prpl.h"
#  from [85a98203363c0fb068bc733b9cbcb9b54429759f]
#    to [619fc26a7e52ef07b82536c9ba88bab5b7397de5]
# 
# patch "libpurple/request.c"
#  from [f2741795ebcb193e91e0ff555f701199640086d6]
#    to [87261bb476cca047e96707ecf4a022e9c53edbf3]
# 
# patch "libpurple/request.h"
#  from [7c0df141e5cfa24b15d5c17ee80793b987fb5d5e]
#    to [832c46bcbd175225578ce07d5510340823285b2f]
# 
# patch "libpurple/roomlist.c"
#  from [a93859f040e5ba631ea6ab21e270a7edec2eafcf]
#    to [ce8e8e7a5ba9402fc1f05e420f28463420fa077a]
# 
# patch "libpurple/roomlist.h"
#  from [3e6646b3d76bec5b48ccf06fbd7065e3d6ca1737]
#    to [72e90ede8faf5999be3eae929731521721a85186]
# 
# patch "libpurple/savedstatuses.c"
#  from [b7b266a86b417bde0b6e9dae48c2eefaa0a8c19b]
#    to [7e5db00ae4932bf7ef7036d38edba7a07bfe5164]
# 
# patch "libpurple/savedstatuses.h"
#  from [ce717c5229d7eed52530115f1404d34f93010aa1]
#    to [fd2da0682d3ed24e3e0fa4d7e589553567210a92]
# 
# patch "libpurple/server.h"
#  from [b7f85636345b8ccb6a868bbbcc1781abce7bbce5]
#    to [2b3e21036a4c50ee143021f2fd1b514ebd146f8a]
# 
# patch "libpurple/signals.c"
#  from [5fc02faa1aec80b8fb7dbe8ad8b5a0b301d1efac]
#    to [a786ce9fdfa513644961780bab5c2c35b993de0e]
# 
# patch "libpurple/signals.h"
#  from [aabd187cfd6cae6e8eef16d88b59a532304c6999]
#    to [471801d04914f814d75196f5ceb41d47d8473435]
# 
# patch "libpurple/sound.h"
#  from [805e240a462ca4d949ce3f61209a4fda9f3b5c1f]
#    to [155576ac7fd540899efe8d7b40f6ec5c399d17c3]
# 
# patch "libpurple/sslconn.c"
#  from [5b7c324c1f5f8b1e07859375a234716a6fc122fc]
#    to [aa0aadcf087d62dec198fba7973f98bc3bc365b0]
# 
# patch "libpurple/sslconn.h"
#  from [83322a7147f0cc228073df909002edc6302524a0]
#    to [9345fc0da1fe13e953208fb5a4e7ca9ba6f95b52]
# 
# patch "libpurple/status.c"
#  from [a0e82882e37ae83691ee52bc46682db953f7cf96]
#    to [186dd554d259db6734202e08e005279fc0327dcb]
# 
# patch "libpurple/stringref.c"
#  from [98bb1c4a399a2bdc517dc70efd0789562b0c3ed0]
#    to [b65fe580a300682722d56cf3397dd1b776c392e8]
# 
# patch "libpurple/stringref.h"
#  from [29eb213857b8ae3a3c18679778296f544c7d4880]
#    to [ba5428fc886f1b6e4bc3c2d5abd9b300562f6177]
# 
# patch "libpurple/stun.c"
#  from [e3a2758c7a0682b5367e87c9d5d3ad1f4f1277ab]
#    to [4a79dd2c4c4216efb4a944125b0fcb6e355121d0]
# 
# patch "libpurple/stun.h"
#  from [6b0ad49c9583b9fa199fd028a88a70bfa23d3bdd]
#    to [557efdb5016165d2b0146ae90a65a6d8f0228752]
# 
# patch "libpurple/upnp.c"
#  from [d253d0782086e4c7514843c7d61b15f32105c53f]
#    to [9f7037509c784f450f1fb4ad33176d040c1579dc]
# 
# patch "libpurple/upnp.h"
#  from [915004cf1ce02bb9346495984f07f771ad7db8fa]
#    to [2ea60a027418eebaf076911ff392883f19ff2791]
# 
# patch "libpurple/util.c"
#  from [ad02b84b45a4856809e95b8f9176615409aca489]
#    to [504ff584b386911ab4c77743e8e17df9e684caf6]
# 
# patch "libpurple/util.h"
#  from [458800c8df4249189ed833ac399e4d200e12e38a]
#    to [a4c51623a9a6ccdbed65ae17f8cf9d6f73541218]
# 
# patch "libpurple/value.c"
#  from [4e42edfbee639989b3d2cec3c2d0da8b39ac9078]
#    to [38e4b961b6fb92aa8b7bb27b5d1ef0ab4eab243f]
# 
# patch "libpurple/value.h"
#  from [5ac524d0e1253d5ef6388e6af5da05674484ccbf]
#    to [3a7b6a6dd8106466d5a438203706c2bc0c2b6cd9]
# 
# patch "libpurple/version.c"
#  from [1eb50a65a420156e66f193633d865128e9ea6a00]
#    to [c7dababa6a05dc84c2c9b424e1d9afcfb5927915]
# 
# patch "libpurple/whiteboard.h"
#  from [acf1c24065d338c24b1c9bf15c718972a4d4035a]
#    to [1c248a7d0309e7c03f3f27e30818ab2f2cd7c4e0]
# 
# patch "libpurple/xmlnode.c"
#  from [110264cd528323a2abc9a4a8cc752882cc96dbfc]
#    to [0a452bfe79ea0fea36de8bfe946cdb3097f066a5]
# 
# patch "libpurple/xmlnode.h"
#  from [14562a146c12650d874c1ab6c51ef4f3135fc95e]
#    to [e83d68f9e1a20bfd8ded256571bc87ee0fe08c47]
# 
# patch "pidgin/gtkaccount.c"
#  from [d16294511c7ceedf063e03058478a54fd0ff611d]
#    to [9e822f0257b7df1e83f0a128fa4e975a0ef5c5e8]
# 
# patch "pidgin/gtkaccount.h"
#  from [8a4e2106b1e89fa4c33abad9d535eb7328d75ceb]
#    to [c35b20ac9b1ce9d754838ff66638cc0a444311a3]
# 
# patch "pidgin/gtkblist.c"
#  from [93d566ce11a5d1ca636d549e8da29fbf3d3c6480]
#    to [8816118a526207f76e3f4a077075beb70074bfa8]
# 
# patch "pidgin/gtkblist.h"
#  from [2a64fc0a488ef2c18905cb3496673ab1e058f34f]
#    to [94a2f58c1bd5f863b5fc1dc4713e8b0599a749fb]
# 
# patch "pidgin/gtkcellrendererexpander.c"
#  from [819f2ef8b8fccd30339c5b4bc713390a6e2a7323]
#    to [3dac1205d95c6007b6ebea7d33e6cd66035caa50]
# 
# patch "pidgin/gtkcellrendererprogress.c"
#  from [78974dccfea2102b2b490fedee42daf3d4640966]
#    to [30c75dfc4e0cdcb785a31560de9b62a3455d493c]
# 
# patch "pidgin/gtkcertmgr.c"
#  from [6c48b310d16f2615eb00c535f46267d6a3da7dac]
#    to [48ae857673ac5ba9f9a778ba21245d09b97bbb45]
# 
# patch "pidgin/gtkconn.c"
#  from [e4cdb3889aea89cf16f92e8e347a076b0bad2350]
#    to [34977775fe5a89fe5e67762f2fc0711d0dadcdd0]
# 
# patch "pidgin/gtkconn.h"
#  from [3142173a7ffaf268825f4fbada5bf0368a91cb7f]
#    to [2050a0a0a6808a3d9b95c2c78dfb00d38960eb64]
# 
# patch "pidgin/gtkconv.c"
#  from [3c2f7c44da5ae1e39a2496e8fb80d10489ed0f1b]
#    to [ae2a582300ca2f4789b9f0981a2884cf2b3f39fc]
# 
# patch "pidgin/gtkconv.h"
#  from [42425cd5d2ef1bf7d37b0c69c608e0c17a19d1cf]
#    to [87265c5e731e39278d5056098d967ccb1c013086]
# 
# patch "pidgin/gtkconvwin.h"
#  from [28264947c76f07b1eff56e16b487e5f7dbe49ea2]
#    to [250c2499fcc142e466d0695dc27e203f56ff9156]
# 
# patch "pidgin/gtkdebug.c"
#  from [6d9839de9abec5e0b697361fabf75f014d43f8e6]
#    to [1e00b33345ef1993959ebd1063a9301ad4a2362b]
# 
# patch "pidgin/gtkdebug.h"
#  from [16aaf8ddff05f14a83af687f6fe1d308229d2af7]
#    to [873ac54850158078a07fdabf531f5dd23cab4d41]
# 
# patch "pidgin/gtkdialogs.c"
#  from [be0664b406527e722394f45123a87404c5207e36]
#    to [355c171bb4f52e9b0d85762e9ec7099fd5d2d7fe]
# 
# patch "pidgin/gtkdialogs.h"
#  from [3c4042b1202bf65dca7ae291059afc481de58389]
#    to [01e11df00db98161fb7b9dc9701738f6bc409ecb]
# 
# patch "pidgin/gtkdnd-hints.c"
#  from [e136afdf24d49eba3832aada425b991b7ac64460]
#    to [ee83f663c4e837313644d1e2d11910fc33073e69]
# 
# patch "pidgin/gtkdnd-hints.h"
#  from [bc0fe0a2bd974b9d8eb121030e9d02ebdb26f00a]
#    to [f069e5db3982a7109c1c2e07d910be64d3cffacb]
# 
# patch "pidgin/gtkeventloop.c"
#  from [ce6cebdf9f4bdc3ddea40c09b4515dd8f99132f3]
#    to [561224e9acbd24518878503f743b6d7025a99e73]
# 
# patch "pidgin/gtkeventloop.h"
#  from [86373f3eb1a7685f152ada4442330585dc4197e6]
#    to [312249027f250ed69aa05343957705a0386790a4]
# 
# patch "pidgin/gtkft.c"
#  from [096c2562511007741f4d39f5e3c77515660ac84c]
#    to [2e9a12221354c627e3232be84536db4a6bd8eb69]
# 
# patch "pidgin/gtkft.h"
#  from [9f74be166e5daaec280f850ee1de637469dcb327]
#    to [2181d97fb42436ef97608262948dfe34846e8345]
# 
# patch "pidgin/gtkgaim-compat.h"
#  from [fc8db05203fb2331f93387f3148ffccc84846bf1]
#    to [8d6be75b0184ff5a467a767748cfbd2c252168b1]
# 
# patch "pidgin/gtkidle.h"
#  from [f0cb06563c9033473c7d10e9cc7542f81d47cbd5]
#    to [b6a001d908b45b7cec49d4e16dd8e5004716c850]
# 
# patch "pidgin/gtkimhtml.c"
#  from [da6f989f678ffbfcf1e93f6955770942caa0ef33]
#    to [77589de31ac3088af69562e1ce335f93d8e3d701]
# 
# patch "pidgin/gtkimhtml.h"
#  from [c4db539c3b1ac56b8c59343482d24309847da40e]
#    to [58ceca731d91bc31469a347551f242d47291ce0e]
# 
# patch "pidgin/gtkimhtmltoolbar.c"
#  from [3035b538b983e371ecc9cb7bd8bf08c500f1c07a]
#    to [3d1bc4c6027f1e70ad7f1faa755037fc99a0ca92]
# 
# patch "pidgin/gtklog.c"
#  from [4c3b270022da0e57bba6f5144ec1330e4eeaeba6]
#    to [d96a7326a9b689b6dd2ad1560429ea82d93dee82]
# 
# patch "pidgin/gtklog.h"
#  from [05ae6ff4547ec565a59147977a34a98430c22769]
#    to [cfaff1e18cdb94d71b21f67d50e2e4e21e34d855]
# 
# patch "pidgin/gtkmain.c"
#  from [ca3036e2264dfdf1b45487235066557a098d7aa1]
#    to [8e319cde93944ca88dc6bc246ad1bdc9096cfd6b]
# 
# patch "pidgin/gtkmenutray.h"
#  from [314e879beed55a3c2c2d52739e6a07a7d129ad93]
#    to [9618e3afc5faf68aba2acb4078951e506fb72934]
# 
# patch "pidgin/gtknickcolors.h"
#  from [2f2cc9907d386d65d3d01d931abf72188d169d8e]
#    to [24ffa982041917ca056b276ecf973a3464f3c5ad]
# 
# patch "pidgin/gtknotify.c"
#  from [40e7194455f589580f6b3ddaa3f809c9a1455b46]
#    to [885a2b4b39be0cc0b3443b7fd60653f08472b4d0]
# 
# patch "pidgin/gtknotify.h"
#  from [9e3cb651a1bb706ee92e6e1c82e2714a8dfb5321]
#    to [6e91c939e657d8bf323fcaf31845f27aaa960550]
# 
# patch "pidgin/gtkplugin.c"
#  from [d9a586161b8cd0c20fd7ab8b8dd816e8fd9f9e8d]
#    to [115e27dac85c3331d65402429794e18b16649078]
# 
# patch "pidgin/gtkplugin.h"
#  from [8d5b95f4624cbd82cfeb2fd5682ae778e69b6cc2]
#    to [d1073df435993f033fe502ad2ede9887e3a2b5f4]
# 
# patch "pidgin/gtkpluginpref.c"
#  from [d12b9dd2a9e2556ff005e85a42e9925696de790d]
#    to [bfffd0a0b0b86eaa8c8b10ccd824291463cf4c8a]
# 
# patch "pidgin/gtkpluginpref.h"
#  from [bee2153f62793988bd317736749b957e26f1f6aa]
#    to [4fdf05ffac386acb083dc38e67e8f79f7f084fbd]
# 
# patch "pidgin/gtkpounce.c"
#  from [d0b3543d1dade53d721affa3226aa56eab2a81cc]
#    to [e313eb409e685a318f27f960d36fbc7dc8572744]
# 
# patch "pidgin/gtkpounce.h"
#  from [6857d9e3729bd5b43e7f4cfa15a41249419a3d47]
#    to [cd4359109194b13403c86cff71f2d899783dbf8b]
# 
# patch "pidgin/gtkprefs.c"
#  from [44aff7beed302febe9574d56c00f74253ee99b6f]
#    to [d5ceef2b9099fc5e1fbc56e9b410bdc2a4e8b41c]
# 
# patch "pidgin/gtkprefs.h"
#  from [d8d43dcdee8ab9c0c5aa9b0ee9d9373925ffa5e5]
#    to [a94d912724df09de10791e143098d4d01591bd85]
# 
# patch "pidgin/gtkprivacy.c"
#  from [3f1c74bbaa2dd7824400ee4320e48da30d367750]
#    to [b0b5193ad8500fb172e3aad0014f3da9e01a6cba]
# 
# patch "pidgin/gtkprivacy.h"
#  from [310f1d467a7f5f6a3bd8e275a0671026442cb453]
#    to [ee7810d43aee31107090205dc511cd5959f709ce]
# 
# patch "pidgin/gtkrequest.c"
#  from [f4a22340d443a942922bc33edebaa41e2fb6b79b]
#    to [7af6502bb0bcdc77a8f7e8516f13754e3892ea03]
# 
# patch "pidgin/gtkrequest.h"
#  from [a0d29ed4c87ca1383e7a0d71383b2e5eb9152c13]
#    to [d03476b60abd09c8ddd17ff13b064e692490dc2d]
# 
# patch "pidgin/gtkroomlist.c"
#  from [3edbec48684587035e04edc5ecb6aea5b72a1a41]
#    to [c166792bfbbe579f7756dd50187c39568fd12ce1]
# 
# patch "pidgin/gtkroomlist.h"
#  from [513270e5ddd3aba96d6194caa4b558a45f2534c9]
#    to [a7955dc12c37bb57f89d6ca169c96996d70b970a]
# 
# patch "pidgin/gtksavedstatuses.c"
#  from [1495d32994983a7263ee88dd96f03d611c6d914b]
#    to [7a4f3452a620c7ec95097ec483e216a0945aa839]
# 
# patch "pidgin/gtksavedstatuses.h"
#  from [199163241481b91d8590076ea45b7837ad8fd1f5]
#    to [53420e1f26d1cbe7278d9c56d234a513ccb6f36b]
# 
# patch "pidgin/gtkscrollbook.c"
#  from [9b5e0d7634533c5a3ba972a6cfe125d6b7b6712e]
#    to [f9c19ef06b850114fca3c67db3a2b089503239a0]
# 
# patch "pidgin/gtkscrollbook.h"
#  from [b7622468802b048423bf91bd8e9f43decd471bb6]
#    to [20613d163ce0b07eb6cf55d1f8eb27889d694c75]
# 
# patch "pidgin/gtksession.c"
#  from [8575bfddb8bcb141f0335b2f5df9b0cf224e9dfe]
#    to [2d2235d6bd20fb972d4366b7af06f04783ed5dd3]
# 
# patch "pidgin/gtksession.h"
#  from [ae692bf6d6924ddaeb3f3ae58dd3cf7eb0ddaa72]
#    to [b7570ffab248790e7c931745a8611675c5d5ee76]
# 
# patch "pidgin/gtksound.c"
#  from [378bcedd3dd98882390a06af0f2ca1a00b8cdeeb]
#    to [633723aaaf41231761b0bfa6674668e685d56066]
# 
# patch "pidgin/gtksound.h"
#  from [49571193c1c5767a1c72141de7285b2f73abaf41]
#    to [4006ee765aeee147347b96d135888375a3ec4aad]
# 
# patch "pidgin/gtkstatusbox.c"
#  from [546f13d002fb5290bab3ef2d39ae058c68f2b698]
#    to [0159519a9e593047e9a0495847b9e78f56a95c28]
# 
# patch "pidgin/gtkstatusbox.h"
#  from [908f66370575eb7ed998893f6952f089c7a20506]
#    to [45ad817469cd9230a169bff22f78363f1c1deb32]
# 
# patch "pidgin/gtkthemes.h"
#  from [5ce513ed60f80af928fc0b36239cfb0fa2109fbc]
#    to [af5b0d12647090de57148cf520133760e903e8b3]
# 
# patch "pidgin/gtkutils.c"
#  from [f2fae2a3917d9aea5130a2d70aeb653719a16465]
#    to [54262f3bbd7b4bd91058bbe6cde4cca6e97156c8]
# 
# patch "pidgin/gtkutils.h"
#  from [a12604d8571e1bf908cb2668400074d1a7733d64]
#    to [ffab4ceee95e4d1eed8702e0ddf0821f1f06894a]
# 
# patch "pidgin/gtkwhiteboard.h"
#  from [7613964fa4510244ee207af447d06490562ca6ab]
#    to [6cb904c7e3deb11c432b82fa674357d2609befbb]
# 
# patch "pidgin/pidgin.h"
#  from [ae2a16e5bd348c435fd5a9cbc71f7ef7a086177e]
#    to [8ee30d5d74d894e22fa2759aedd923ac1460082f]
# 
# patch "pidgin/pidginstock.c"
#  from [2fd3b78a0ed71300f800b9c2c3aa3c76aa18f089]
#    to [a1a460cffd8fa050434e5402f4800f561f2528c5]
# 
# patch "pidgin/pidginstock.h"
#  from [af5b3887c296d3ef0dc9e06ff946fe66938f125a]
#    to [cebcad7166aead1bf5a44b5ad7d2f40ebda98618]
# 
# patch "pidgin/plugins/history.c"
#  from [b91c6020a0a398c3cf9067b76d5ee66222ae4165]
#    to [9c684847cf306c078cd215d71546fefefd5642ae]
#
============================================================
--- COPYRIGHT	1fcc4aebfbd9071c3b53483e79b22aec385259f2
+++ COPYRIGHT	89808bde5cca14354a0b7e011640958981a18fb8
@@ -246,6 +246,7 @@ Arkadiusz Miskiewicz
 Kevin Miller
 Paul Miller
 Arkadiusz Miskiewicz
+David Mohr
 Andrew Molloy
 Michael Monreal
 Benjamin Moody
============================================================
--- ChangeLog	4b0a22f83e0b7df011e8f2bae58f300d8c7c3587
+++ ChangeLog	e7623b2283a21fc8072758061318a0cb98b08152
@@ -12,6 +12,9 @@ Version 2.2.1:
 	  is listening to some soothing music.
 	* 'Move to' menu in buddy list context menu for moving buddies to
   	   other groups
+	* Move "Smiley" to the top-level of the toolbar
+	* Save Pidgin's display in the command line for session
+	  restoration.  (David Mohr)
 
 Version 2.2.0 (09/13/2007):
 	http://developer.pidgin.im/query?status=closed&milestone=2.2.0
============================================================
--- finch/finch.h	28693e9b4a3b760f3de976731ed3c39eb2c48558
+++ finch/finch.h	5c03f18580ab6f0cc4d38e924e675b8ab9ba0fda
@@ -1,8 +1,9 @@
 /**
  * @defgroup finch Finch (GNT User Interface)
+ */
+
+/* finch
  *
- * finch
- *
  * Finch 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.
============================================================
--- finch/gntaccount.c	ebbf7baed21987c2b0774d9caed9ef8a8c56fe12
+++ finch/gntaccount.c	26791f65dd048c6e2460182f167f20b0f408a7cf
@@ -1,9 +1,10 @@
 /**
  * @file gntaccount.c GNT Account API
  * @ingroup finch
+ */
+
+/* finch
  *
- * finch
- *
  * Finch 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.
============================================================
--- finch/gntaccount.h	f62351fc8b984914d2db417e625c1fd4e8532719
+++ finch/gntaccount.h	cea3bf330eabc9bca6ed71a42e91866648bbaf37
@@ -1,9 +1,10 @@
 /**
  * @file gntaccount.h GNT Account API
  * @ingroup finch
+ */
+
+/* finch
  *
- * finch
- *
  * Finch 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.
============================================================
--- finch/gntblist.c	0a318fc91c069d7d2594065842b5d42b531e68fc
+++ finch/gntblist.c	beee9d81df641a8601abe5693408aebb7f56cfe1
@@ -1,9 +1,10 @@
 /**
  * @file gntblist.c GNT BuddyList API
  * @ingroup finch
+ */
+
+/* finch
  *
- * finch
- *
  * Finch 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.
============================================================
--- finch/gntblist.h	62ce7020bd357585dc7de285b0c0afb384c0f763
+++ finch/gntblist.h	ea3ac3f79912b63c6db6376c44bb41c0d2014cad
@@ -1,9 +1,10 @@
 /**
  * @file gntblist.h GNT BuddyList API
  * @ingroup finch
+ */
+
+/* finch
  *
- * finch
- *
  * Finch 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.
============================================================
--- finch/gntcertmgr.c	6dbc3d7a18c1e1ecb00249c659bd8f84c32ef97a
+++ finch/gntcertmgr.c	cce41a6e2a76ab86fdf12feb4f6ad640fb1e452e
@@ -1,9 +1,10 @@
 /**
  * @file gntcertmgr.c GNT Certificate Manager API
  * @ingroup finch
+ */
+
+/* finch
  *
- * finch
- *
  * Finch 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.
============================================================
--- finch/gntcertmgr.h	b941cb6625c4d1aa57414bee835e37b0d624dcbe
+++ finch/gntcertmgr.h	616a3645adc40cc29771f9783d0b0ba9bec696f3
@@ -1,9 +1,10 @@
 /**
  * @file gntcertmgr.h GNT Certificate Manager API
  * @ingroup finch
+ */
+
+/* finch
  *
- * finch
- *
  * Finch 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.
============================================================
--- finch/gntconn.c	68412727eea01da0155d72fdf25e766e0616ae5f
+++ finch/gntconn.c	bad10ad608f21e44e36b2e5a3f2b05201153ac8d
@@ -1,9 +1,10 @@
 /**
  * @file gntconn.c GNT Connection API
  * @ingroup finch
+ */
+
+/* finch
  *
- * finch
- *
  * Finch 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.
============================================================
--- finch/gntconn.h	b793c644c364c66c9f578b13fd777d31ff8385d9
+++ finch/gntconn.h	a346d66ffbd197ff7b80b55deec072cc2dcc9d6a
@@ -1,9 +1,10 @@
 /**
  * @file gntconn.h GNT Connection API
  * @ingroup finch
+ */
+
+/* finch
  *
- * finch
- *
  * Finch 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.
============================================================
--- finch/gntconv.c	aea23c5e22d2fcae5281f43c817e5bd1c062a274
+++ finch/gntconv.c	da9f0cf9894592fe8d472fb720f6e79bcc1d437c
@@ -1,9 +1,10 @@
 /**
  * @file gntconv.c GNT Conversation API
  * @ingroup finch
+ */
+
+/* finch
  *
- * finch
- *
  * Finch 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.
============================================================
--- finch/gntconv.h	3662bfe5aeb70d3eab48fbe0b6b68927cdc35e66
+++ finch/gntconv.h	e984893c5c04f0d20fea57943e945c475ce755a6
@@ -1,9 +1,10 @@
 /**
  * @file gntconv.h GNT Conversation API
  * @ingroup finch
+ */
+
+/* finch
  *
- * finch
- *
  * Finch 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.
============================================================
--- finch/gntdebug.c	5fbd3e61709d849d2643558dbe9dc618f3fa6af5
+++ finch/gntdebug.c	d3cf79c0ead2b77ac048423950afba75efe057be
@@ -1,9 +1,10 @@
 /**
  * @file gntdebug.c GNT Debug API
  * @ingroup finch
+ */
+
+/* finch
  *
- * finch
- *
  * Finch 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.
============================================================
--- finch/gntdebug.h	f052e1435e0278ae34a3ec39dc4c2ada4dbe20f2
+++ finch/gntdebug.h	003603f23ddc6640790d42cb57c07f30a5ae770f
@@ -1,9 +1,10 @@
 /**
  * @file gntdebug.h GNT Debug API
  * @ingroup finch
+ */
+
+/* finch
  *
- * finch
- *
  * Finch 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.
============================================================
--- finch/gntft.c	81686cd1306660609e0699090fb41946d9ed98b3
+++ finch/gntft.c	2c879b26141be6084dd63b0d7a0dcd8b90ced990
@@ -1,9 +1,10 @@
 /**
  * @file gntft.c GNT File Transfer UI
  * @ingroup finch
+ */
+
+/* finch
  *
- * finch
- *
  * Finch 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.
============================================================
--- finch/gntft.h	6a5ecd41bc725a2740ec6aa2bb92c2b070764dd2
+++ finch/gntft.h	5418fd11e071acad303b1901ba991b4a092b1591
@@ -1,9 +1,10 @@
 /**
  * @file gntft.h GNT File Transfer UI
  * @ingroup finch
+ */
+
+/* finch
  *
- * finch
- *
  * Finch 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.
============================================================
--- finch/gntidle.h	75a806a446a0a7cee0413dc198238b707283a450
+++ finch/gntidle.h	04c9c2e2318554eec8eece2f791da6b760b4894c
@@ -1,9 +1,10 @@
 /**
  * @file gntidle.h GNT Idle API
  * @ingroup finch
+ */
+
+/* finch
  *
- * finch
- *
  * Pidgin 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.
============================================================
--- finch/gntnotify.c	4f0ffff5e0c6ca044048168b481fe17f9550f8e8
+++ finch/gntnotify.c	3e6b8236ec80a3256522e64a8eb259a79f46daa4
@@ -1,9 +1,10 @@
 /**
  * @file gntnotify.c GNT Notify API
  * @ingroup finch
+ */
+
+/* finch
  *
- * finch
- *
  * Finch 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.
@@ -351,14 +352,17 @@ finch_notify_searchresults(PurpleConnect
 		gnt_box_add_widget(GNT_BOX(window),
 			gnt_label_new_with_format(secondary, GNT_TEXT_FLAG_NORMAL));
 
-	columns = purple_notify_searchresults_get_columns_count(results);
+	columns = g_list_length(results->columns);
 	tree = gnt_tree_new_with_columns(columns);
 	gnt_tree_set_show_title(GNT_TREE(tree), TRUE);
 	gnt_box_add_widget(GNT_BOX(window), tree);
 
-	for (i = 0; i < columns; i++)
-		gnt_tree_set_column_title(GNT_TREE(tree), i, 
-				purple_notify_searchresults_column_get_title(results, i));
+	i = 0;
+	for (iter = results->columns; iter; iter = iter->next)
+	{
+		gnt_tree_set_column_title(GNT_TREE(tree), i, iter->data);
+		i++;
+	}
 
 	box = gnt_hbox_new(TRUE);
 
============================================================
--- finch/gntnotify.h	ec4a88f377580f9651bf3e2f05763a60eb357e21
+++ finch/gntnotify.h	1583b373cd338aac7212bd91b06073a3830e27eb
@@ -1,9 +1,10 @@
 /**
  * @file gntnotify.h GNT Notify API
  * @ingroup finch
+ */
+
+/* finch
  *
- * finch
- *
  * Finch 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.
============================================================
--- finch/gntplugin.c	0af2b0a74d806e5364157ab7dd61cbc8be8bf4b5
+++ finch/gntplugin.c	1ac38a2568c9fa8cc5e59c55f7a4b10f61b61d7b
@@ -1,9 +1,10 @@
 /**
  * @file gntplugin.c GNT Plugins API
  * @ingroup finch
+ */
+
+/* finch
  *
- * finch
- *
  * Finch 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.
============================================================
--- finch/gntplugin.h	58b4706e7d3c20cabbb214ccc02d82ac6263a4ef
+++ finch/gntplugin.h	f86ee9d5db7853d7000f62637e9b534c0f59f049
@@ -1,9 +1,10 @@
 /**
  * @file gntplugin.h GNT Plugins API
  * @ingroup finch
+ */
+
+/* finch
  *
- * finch
- *
  * Finch 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.
============================================================
--- finch/gntpounce.c	d97cb5a1935da8646fe3bc8559f06caa1d9744a2
+++ finch/gntpounce.c	6fb43d36f53858938dd460d31a9e474d94726805
@@ -1,9 +1,10 @@
 /**
  * @file gntpounce.c GNT Buddy Pounce API
  * @ingroup finch
+ */
+
+/* finch
  *
- * finch
- *
  * Finch 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.
============================================================
--- finch/gntpounce.h	b12b8fe6ae3c4fcdc290c662b85002aaf7de7522
+++ finch/gntpounce.h	c37edbd789058fa1a090b34b637a7bf8bb23ac86
@@ -1,9 +1,10 @@
 /**
  * @file gntpounce.h GNT Buddy Pounce API
  * @ingroup finch
+ */
+
+/* finch
  *
- * finch
- *
  * Finch 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.
============================================================
--- finch/gntprefs.c	c9afa284d079876d5aa1a4a0f9e9320d4478bfbd
+++ finch/gntprefs.c	91ccd624d5b3d2f2772f0aa75c1617335723c32e
@@ -1,9 +1,10 @@
 /**
  * @file gntprefs.c GNT Preferences API
  * @ingroup finch
+ */
+
+/* finch
  *
- * finch
- *
  * Finch 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.
============================================================
--- finch/gntprefs.h	852675edf85cb00dda334e6990fe0aec7540fdf0
+++ finch/gntprefs.h	776e01e0e3be096c354fa1b7694d346b12d0c5ed
@@ -1,9 +1,10 @@
 /**
  * @file gntprefs.h GNT Preferences API
  * @ingroup finch
+ */
+
+/* finch
  *
- * finch
- *
  * Finch 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.
============================================================
--- finch/gntrequest.c	06ade2401cad8d93d77db5ee67d425e40c082801
+++ finch/gntrequest.c	b4a7372470b97ef6981c0e7af52c5df916e35556
@@ -1,9 +1,10 @@
 /**
  * @file gntrequest.c GNT Request API
  * @ingroup finch
+ */
+
+/* finch
  *
- * finch
- *
  * Finch 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.
============================================================
--- finch/gntrequest.h	89ebbe3c283806d1e8d706b8a8a3a7755058bef4
+++ finch/gntrequest.h	ead4ffe0b2815bb5953e57ec5b132b0dfc23d90d
@@ -1,9 +1,10 @@
 /**
  * @file gntrequest.h GNT Request API
  * @ingroup finch
+ */
+
+/* finch
  *
- * finch
- *
  * Finch 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.
============================================================
--- finch/gntsound.c	cecd126fd56096068679eb44ff1d415b4db5d88b
+++ finch/gntsound.c	c7433e8689f8f3a92236e3c6a692df22ca734623
@@ -1,9 +1,10 @@
 /**
  * @file gntsound.c GNT Sound API
  * @ingroup finch
+ */
+
+/* finch
  *
- * finch
- *
  * Finch 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.
============================================================
--- finch/gntsound.h	a58e172e042871da51e05f72b589cf048a561140
+++ finch/gntsound.h	d0d66d0dc43b25a083dc650865ab267674b32cd7
@@ -1,9 +1,10 @@
 /**
  * @file gntsound.h GNT Sound API
  * @ingroup finch
+ */
+
+/* finch
  *
- * finch
- *
  * Finch 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.
============================================================
--- finch/gntstatus.c	8f0c83f1ee8624ea2495b6ab24d7651386faef65
+++ finch/gntstatus.c	d5c598d5a2a03f0a3b911e3a3ac3a3e7a2aa4c13
@@ -1,9 +1,10 @@
 /**
  * @file gntstatus.c GNT Status API
  * @ingroup finch
+ */
+
+/* finch
  *
- * finch
- *
  * Finch 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.
============================================================
--- finch/gntstatus.h	84f109108b23d48a46a871b5b6112f7dadc8ae26
+++ finch/gntstatus.h	f469e1d249c7a7aa483bbed8638b4c2fc8101b3a
@@ -1,9 +1,10 @@
 /**
  * @file gntstatus.h GNT Status API
  * @ingroup finch
+ */
+
+/* finch
  *
- * finch
- *
  * Finch 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.
============================================================
--- finch/libgnt/gntentry.c	9fb2a7b21b8a6786383b01b41a5bfb854a8d551f
+++ finch/libgnt/gntentry.c	5551a12c1cfb74ba91c21705c24c0ebcaca53425
@@ -100,6 +100,15 @@ complete_suggest(GntEntry *entry, const 
 	return changed;
 }
 
+static int
+max_common_prefix(const char *s, const char *t)
+{
+	const char *f = s;
+	while (*f && *t && *f == *t++)
+		f++;
+	return f - s;
+}
+
 static gboolean
 show_suggest_dropdown(GntEntry *entry)
 {
@@ -110,6 +119,7 @@ show_suggest_dropdown(GntEntry *entry)
 	GList *iter;
 	const char *text = NULL;
 	const char *sgst = NULL;
+	int max = -1;
 
 	if (entry->word)
 	{
@@ -121,14 +131,13 @@ show_suggest_dropdown(GntEntry *entry)
 	else
 		suggest = g_strdup(entry->start);
 	len = strlen(suggest);  /* Don't need to use the utf8-function here */
-	
+
 	if (entry->ddown == NULL)
 	{
 		GntWidget *box = gnt_vbox_new(FALSE);
 		entry->ddown = gnt_tree_new();
 		gnt_tree_set_compare_func(GNT_TREE(entry->ddown), (GCompareFunc)g_utf8_collate);
 		gnt_box_add_widget(GNT_BOX(box), entry->ddown);
-		/* XXX: Connect to the "activate" signal for the dropdown tree */
 
 		GNT_WIDGET_SET_FLAGS(box, GNT_WIDGET_TRANSIENT);
 
@@ -151,6 +160,10 @@ show_suggest_dropdown(GntEntry *entry)
 					gnt_tree_create_row(GNT_TREE(entry->ddown), text),
 					NULL, NULL);
 			count++;
+			if (max == -1)
+				max = strlen(text) - len;
+			else if (max)
+				max = MIN(max, max_common_prefix(sgst + len, text + len));
 			sgst = text;
 		}
 	}
@@ -163,6 +176,17 @@ show_suggest_dropdown(GntEntry *entry)
 		destroy_suggest(entry);
 		return complete_suggest(entry, sgst);
 	} else {
+		if (max > 0) {
+			GntWidget *ddown = entry->ddown;
+			char *match = g_strndup(sgst + len, max);
+			entry->ddown = NULL;
+			gnt_entry_key_pressed(GNT_WIDGET(entry), match);
+			g_free(match);
+			if (entry->ddown)
+				gnt_widget_destroy(ddown);
+			else
+				entry->ddown = ddown;
+		}
 		gnt_widget_draw(entry->ddown->parent);
 	}
 
============================================================
--- libpurple/account.c	23669c4059e134b4cbc15deb63291ec503e46618
+++ libpurple/account.c	5dc69bd980d2847a2f77599480dbeb7bd84218eb
@@ -1,9 +1,10 @@
 /**
  * @file account.c Account API
  * @ingroup core
+ */
+
+/* purple
  *
- * purple
- *
  * Purple 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.
============================================================
--- libpurple/account.h	e019236dda43bd45265acb44f7afc8d73fd19bdf
+++ libpurple/account.h	10ce3465809fca456da0c042e6e110446e1ac4d8
@@ -1,9 +1,10 @@
 /**
  * @file account.h Account API
  * @ingroup core
+ */
+
+/* purple
  *
- * purple
- *
  * Purple 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.
============================================================
--- libpurple/accountopt.c	806a3ab5f94d2e757bb247f9494e33d20515f93c
+++ libpurple/accountopt.c	14e8bf867d82dedf93964734bd4cce22ade5a4b0
@@ -1,9 +1,10 @@
 /**
  * @file accountopt.c Account Options API
  * @ingroup core
+ */
+
+/* purple
  *
- * purple
- *
  * Purple 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.
============================================================
--- libpurple/accountopt.h	347f148af40bb0ff87afdd66ec35a3a527ca86ff
+++ libpurple/accountopt.h	1cae049afd83127360824219ec4396e31eaae3b2
@@ -1,9 +1,10 @@
 /**
  * @file accountopt.h Account Options API
  * @ingroup core
+ */
+
+/* purple
  *
- * purple
- *
  * Purple 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.
============================================================
--- libpurple/blist.h	5ff1a9cd9d28fccd72fa66830a8eb1343733dd72
+++ libpurple/blist.h	7fb175af72bf3fb710f328f35ca163b2edc1e4c7
@@ -1,9 +1,10 @@
 /**
  * @file blist.h Buddy List API
  * @ingroup core
+ */
+
+/* purple
  *
- * purple
- *
  * Purple 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.
============================================================
--- libpurple/buddyicon.c	c7f727797337ea844430e8266978770aa219d9a8
+++ libpurple/buddyicon.c	63ef54c38b55e0d47c7eddb64ae98aeeac8033be
@@ -1,9 +1,10 @@
 /**
  * @file icon.c Buddy Icon API
  * @ingroup core
+ */
+
+/* purple
  *
- * purple
- *
  * Purple 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.
============================================================
--- libpurple/buddyicon.h	b65f92abc3928d85bf4ea09b677b75810fac85d0
+++ libpurple/buddyicon.h	f6669ada49c9927c080b18190f90939248bbfbfb
@@ -1,9 +1,10 @@
 /**
  * @file buddyicon.h Buddy Icon API
  * @ingroup core
+ */
+
+/* purple
  *
- * purple
- *
  * Purple 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.
============================================================
--- libpurple/cipher.h	b199b7c662ca567ce23ea0068b42ec94d882258f
+++ libpurple/cipher.h	f702a4e33b896b9bec5e05d4ee29b00d8ec87ed8
@@ -1,9 +1,10 @@
 /**
  * @file cipher.h Purple Cipher API
  * @ingroup core
+ */
+
+/* purple
  *
- * purple
- *
  * Purple 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.
============================================================
--- libpurple/circbuffer.c	3ab0b51cb3971b92e4cc4c1b4f90679d18b831d3
+++ libpurple/circbuffer.c	8209e1034930cd720e5b7b80cdc3288920343000
@@ -1,8 +1,9 @@
 /*
  * @file circbuffer.h Buffer Utility Functions
  * @ingroup core
- *
- * Purple is the legal property of its developers, whose names are too numerous
+ */
+
+/* Purple 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.
  *
============================================================
--- libpurple/circbuffer.h	3f25c3fb4d71b2db7c7522896edc3d17491db40e
+++ libpurple/circbuffer.h	423fc024a802905912c62da588be2273fa94fb89
@@ -1,8 +1,9 @@
-/*
+/**
  * @file circbuffer.h Buffer Utility Functions
  * @ingroup core
- *
- * Purple is the legal property of its developers, whose names are too numerous
+ */
+
+/* Purple 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.
  *
============================================================
--- libpurple/cmds.c	02f2afc6dbebfac1be10379e8c0b31f891ed2823
+++ libpurple/cmds.c	f001eeb47fb6e699156f6623cb0545705508b287
@@ -1,9 +1,10 @@
 /**
  * @file cmds.c Commands API
  * @ingroup core
+ */
+
+/* Copyright (C) 2003-2004 Timothy Ringenbach <omarvo at hotmail.com
  *
- * Copyright (C) 2003-2004 Timothy Ringenbach <omarvo at hotmail.com
- *
  * 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
============================================================
--- libpurple/cmds.h	fdf98d7f80b91189a69ce4185439194829c0f765
+++ libpurple/cmds.h	953c84ca8c44c8e5824209a605d5d889a96b1e0d
@@ -1,9 +1,10 @@
 /**
  * @file cmds.h Commands API
  * @ingroup core
+ */
+
+/* Copyright (C) 2003 Timothy Ringenbach <omarvo at hotmail.com>
  *
- * Copyright (C) 2003 Timothy Ringenbach <omarvo at hotmail.com>
- *
  * 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
============================================================
--- libpurple/connection.c	caee15e52956e08e6c748c0d007a9b39c5ac8564
+++ libpurple/connection.c	249acfb69b16e885e40f6030d2ebcec00643ca73
@@ -1,9 +1,10 @@
 /**
  * @file connection.c Connection API
  * @ingroup core
+ */
+
+/* purple
  *
- * purple
- *
  * Purple 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.
============================================================
--- libpurple/connection.h	3ef31b8c0f809c0f4528d57be4bfe1cf7945431e
+++ libpurple/connection.h	43d82856db7441c1391b6282a11be7b9e43fa14d
@@ -1,9 +1,10 @@
 /**
  * @file connection.h Connection API
  * @ingroup core
+ */
+
+/* purple
  *
- * purple
- *
  * Purple 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.
============================================================
--- libpurple/conversation.h	41ca1d194cc743d36951a382a372fe0812fff54f
+++ libpurple/conversation.h	71da89b093e34a0b89d65d0435b611ce98f268e0
@@ -1,9 +1,10 @@
 /**
  * @file conversation.h Conversation API
  * @ingroup core
+ */
+
+/* purple
  *
- * purple
- *
  * Purple 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.
============================================================
--- libpurple/core.c	2266d9ce6c739a79c8a706b789e2d45386cf8511
+++ libpurple/core.c	f4f5b2c6ec48ed3a5f96545d2f3049e5ea0253b2
@@ -1,9 +1,10 @@
 /**
  * @file core.c Purple Core API
  * @ingroup core
+ */
+
+/* purple
  *
- * purple
- *
  * Purple 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.
============================================================
--- libpurple/core.h	c2de1a2b989800522d02f552f7e13209ced58e20
+++ libpurple/core.h	06126d129539a6506a855c5aeb675dc734f356a4
@@ -1,8 +1,9 @@
 /**
  * @defgroup core libpurple
+ */
+
+/* purple
  *
- * purple
- *
  * Purple 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.
============================================================
--- libpurple/dbus-bindings.h	0869a28ddb0900ed72688bfeaf3c9528304dab05
+++ libpurple/dbus-bindings.h	cc6bb0134c518d2969564998ff14fe14f107401e
@@ -1,9 +1,10 @@
 /**
  * @file dbus-bindings.h Purple DBUS Bindings
  * @ingroup core
+ */
+
+/* purple
  *
- * purple
- *
  * Purple 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.
============================================================
--- libpurple/dbus-server.h	6504cd5ebcfce9628fcf0443b685e4b6d5824405
+++ libpurple/dbus-server.h	dc231a6ae2966a36fb29a73843c9f6e742b20816
@@ -1,9 +1,10 @@
 /**
  * @file dbus-server.h Purple DBUS Server
  * @ingroup core
+ */
+
+/* purple
  *
- * purple
- *
  * Purple 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.
============================================================
--- libpurple/debug.c	3e0d6afd1d4bbeb9a0dc146cef937999a93fb7fc
+++ libpurple/debug.c	ce215f5ef4e64c3f7157fc4eb3b567f8693cbe35
@@ -1,9 +1,10 @@
 /**
  * @file debug.c Debug API
  * @ingroup core
+ */
+
+/* purple
  *
- * purple
- *
  * Purple 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.
============================================================
--- libpurple/debug.h	0dd4098ce2a9dfbb3c0ce4e5c6cf87bb91b5af91
+++ libpurple/debug.h	a0fe1fb72bbd8a6bb0d101be07d9e73dcefea789
@@ -1,9 +1,10 @@
 /**
  * @file debug.h Debug API
  * @ingroup core
+ */
+
+/* purple
  *
- * purple
- *
  * Purple 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.
============================================================
--- libpurple/desktopitem.c	c30c9d6cd11997df83dc27c0a0a4794705198f8a
+++ libpurple/desktopitem.c	f4b8d61844c1fc385be6c0a10098239abe2640e6
@@ -1,8 +1,9 @@
 /**
  * @file purple-desktop-item.c Functions for managing .desktop files
  * @ingroup core
- *
- * Purple is the legal property of its developers, whose names are too numerous
+ */
+
+/* Purple 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.
  *
============================================================
--- libpurple/desktopitem.h	717be2dcda75e1932496d52ec458c0a3749f67d1
+++ libpurple/desktopitem.h	f9dbaf03e5d066fcf58b208d7fac1d44e91908b7
@@ -1,8 +1,9 @@
 /**
  * @file desktopitem.h Functions for managing .desktop files
  * @ingroup core
- *
- * Purple is the legal property of its developers, whose names are too numerous
+ */
+
+/* Purple 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.
  *
============================================================
--- libpurple/dnsquery.c	40a59303e75ada4d1dfab277ce6fd8e254dfd327
+++ libpurple/dnsquery.c	e3aec839245d62f0f23611a9e668b88dc73ff2ce
@@ -1,9 +1,10 @@
 /**
  * @file dnsquery.c DNS query API
  * @ingroup core
+ */
+
+/* purple
  *
- * purple
- *
  * Purple 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.
============================================================
--- libpurple/dnsquery.h	5f9969508ff0584bab41e7ee93d94a25acd5330a
+++ libpurple/dnsquery.h	f4974890bb7c880a4ce505c84366c2ad632e57c7
@@ -1,9 +1,10 @@
 /**
  * @file dnsquery.h DNS query API
  * @ingroup core
+ */
+
+/* purple
  *
- * purple
- *
  * Purple 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.
============================================================
--- libpurple/dnssrv.c	30f593b53ee122febdaf5894fd6fb7de79f23ede
+++ libpurple/dnssrv.c	2fd26c74fed3be685076a0478ffd07f5cf378d8c
@@ -1,8 +1,9 @@
 /**
  * @file dnssrv.c
+ */
+
+/* purple
  *
- * purple
- *
  * Copyright (C) 2005 Thomas Butter <butter at uni-mannheim.de>
  *
  * This program is free software; you can redistribute it and/or modify
============================================================
--- libpurple/dnssrv.h	a53bfa173d531a2eb8c13bda7cdfc7c46a5cf68b
+++ libpurple/dnssrv.h	db1daad5e39d9d283d15c9ea5ac72a457d75d594
@@ -1,10 +1,11 @@
 /**
  * @file dnssrv.h
+ */
+
+/* purple
  *
- * purple
- *
  * Copyright (C) 2005, Thomas Butter <butter at uni-mannheim.de>
- *i
+ *
  * 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
============================================================
--- libpurple/eventloop.c	31dfb225cd2b03a839d812938b4aecad0b62724d
+++ libpurple/eventloop.c	723fb0df5965e40f57599f32d72c5cacad6fe2d2
@@ -1,9 +1,10 @@
 /**
  * @file eventloop.c Purple Event Loop API
  * @ingroup core
+ */
+
+/* purple
  *
- * purple
- *
  * Purple 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.
============================================================
--- libpurple/eventloop.h	c00f9e871e40677ab2f7b0e31473de9f085e9030
+++ libpurple/eventloop.h	0a48465148d9e3d3c2ed48209b8d7efa18d1ee9b
@@ -1,9 +1,10 @@
 /**
  * @file eventloop.h Purple Event Loop API
  * @ingroup core
+ */
+
+/* purple
  *
- * purple
- *
  * Purple 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.
============================================================
--- libpurple/ft.c	44cd37c0ff598bcde62993233a6a494ba0b7d406
+++ libpurple/ft.c	59e9d4da28a7d81ee7a76c399c4115445cca466f
@@ -1,8 +1,9 @@
 /**
  * @file ft.c File Transfer API
+ */
+
+/* purple
  *
- * purple
- *
  * Purple 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.
============================================================
--- libpurple/ft.h	834c4e870d8a8390fb19d4940c066e0e40ce12bb
+++ libpurple/ft.h	081365ba234ffcc3a46cfe3794a9abe967df08d1
@@ -1,9 +1,10 @@
 /**
  * @file ft.h File Transfer API
  * @ingroup core
+ */
+
+/* purple
  *
- * purple
- *
  * Purple 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.
============================================================
--- libpurple/gaim-compat.h	4394229afd7c2f2f5a158871d74287e3d4dd9172
+++ libpurple/gaim-compat.h	fe641a5434f3669273fe1c489eaa7882594fb579
@@ -1,9 +1,10 @@
 /**
  * @file gaim-compat.h Gaim Compat macros
  * @ingroup core
+ */
+
+/* pidgin
  *
- * pidgin
- *
  * Pidgin 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.
============================================================
--- libpurple/idle.h	b1fa9802033dceb02361fc1611f489a9125d5224
+++ libpurple/idle.h	470fab4950a22b05c3432f574d9eb7206697bde7
@@ -1,9 +1,10 @@
 /**
  * @file idle.h Idle API
  * @ingroup core
+ */
+
+/* purple
  *
- * purple
- *
  * Purple 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.
============================================================
--- libpurple/imgstore.c	acfe5259ded5f77eb5af1bebaf508b4c9f7a42e7
+++ libpurple/imgstore.c	3aaae04427bdf9b88782c2d3b0d82c1e7f4983bc
@@ -1,9 +1,10 @@
 /**
  * @file imgstore.h IM Image Store API
  * @ingroup core
+ */
+
+/* purple
  *
- * purple
- *
  * Purple 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.
============================================================
--- libpurple/imgstore.h	fc1cd6b5ada95f208964c96f6b43960e100954f3
+++ libpurple/imgstore.h	eb7ce433e962fd4555c61af0278093f34bddc444
@@ -1,9 +1,10 @@
 /**
  * @file imgstore.h IM Image Store API
  * @ingroup core
+ */
+
+/* purple
  *
- * purple
- *
  * Purple 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.
============================================================
--- libpurple/internal.h	5c7dd59a4b44d25907a6a760f6ea23c873a34114
+++ libpurple/internal.h	2a484141a4bf8e26e4a71e95c8e42dd538df78ae
@@ -1,9 +1,10 @@
 /**
  * @file internal.h Internal definitions and includes
  * @ingroup core
+ */
+
+/* purple
  *
- * purple
- *
  * Purple 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.
============================================================
--- libpurple/log.c	25041d37190001a3c43832a1e2ad3bddb7bcebd2
+++ libpurple/log.c	8ec69bf3049d9e715183ba0ad7fd521f7d3f849e
@@ -1,9 +1,10 @@
 /**
  * @file log.c Logging API
  * @ingroup core
+ */
+
+/* purple
  *
- * purple
- *
  * Purple 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.
============================================================
--- libpurple/log.h	b8300ed92fb1bd28aade1020d47677e6366af55d
+++ libpurple/log.h	4cb2dc7b256d861cbf14f34f6a9bfafc373794af
@@ -1,9 +1,10 @@
 /**
  * @file log.h Logging API
  * @ingroup core
+ */
+
+/* purple
  *
- * purple
- *
  * Purple 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.
============================================================
--- libpurple/nat-pmp.c	15cc924c7e5b81f438da81178294600796f17cd6
+++ libpurple/nat-pmp.c	c70b83d3e4647da383dce665296f88014e8ac1ca
@@ -1,9 +1,10 @@
 /**
  * @file nat-pmp.c NAT-PMP Implementation
  * @ingroup core
+ */
+
+/* purple
  *
- * purple
- *
  * Purple 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.
============================================================
--- libpurple/nat-pmp.h	8c34700098d1f274af85f82269d55b3700fcdef1
+++ libpurple/nat-pmp.h	bdd85a3d88701be416dd3109e4776d7c8f1664c3
@@ -1,9 +1,10 @@
 /**
  * @file nat-pmp.h NAT-PMP Implementation
  * @ingroup core
+ */
+
+/* purple
  *
- * purple
- *
  * Purple 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.
============================================================
--- libpurple/network.c	f76639622e42db3fff37b35a22d783343325e537
+++ libpurple/network.c	9114e00fc20986c4f4e604f4f65ed8b34793268f
@@ -1,9 +1,10 @@
 /**
  * @file network.c Network Implementation
  * @ingroup core
+ */
+
+/* purple
  *
- * purple
- *
  * Purple 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.
============================================================
--- libpurple/network.h	502d4923374a287dda49c31bc4846abb0085bd12
+++ libpurple/network.h	689632cfc916c27dd7e060f89fc508ec9a297c97
@@ -1,9 +1,10 @@
 /**
  * @file network.h Network API
  * @ingroup core
+ */
+
+/* purple
  *
- * purple
- *
  * Purple 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.
============================================================
--- libpurple/notify.c	01ad6357a09b2268e3a645ff9057f5d06c4e050b
+++ libpurple/notify.c	1714c5f62e68e46bf5166154e713cea68d4e5cfe
@@ -1,9 +1,10 @@
 /**
  * @file notify.c Notification API
  * @ingroup core
+ */
+
+/* purple
  *
- * purple
- *
  * Purple 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.
============================================================
--- libpurple/notify.h	d37e824821800688461b663f39cd7ff45b11223b
+++ libpurple/notify.h	96d4290ea914778f278a0a6f836658ad872d8153
@@ -1,9 +1,10 @@
 /**
  * @file notify.h Notification API
  * @ingroup core
+ */
+
+/* purple
  *
- * purple
- *
  * Purple 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.
@@ -292,7 +293,17 @@ void purple_notify_searchresults_row_add
 
 /**
  * Returns a number of the rows in the search results object.
- * 
+ *
+ * @deprecated This function will be removed in Pidgin 3.0.0 unless
+ *             there is sufficient demand to keep it.  Using this
+ *             function encourages looping through the results
+ *             inefficiently.  Instead of using this function you
+ *             should iterate through the results using a loop
+ *             similar to this:
+ *                for (l = results->rows; l != NULL; l = l->next)
+ *             If you really need to get the number of rows you
+ *             can use g_list_length(results->rows).
+ *
  * @param results The search results object.
  *
  * @return Number of the result rows.
@@ -302,6 +313,16 @@ guint purple_notify_searchresults_get_ro
 /**
  * Returns a number of the columns in the search results object.
  *
+ * @deprecated This function will be removed in Pidgin 3.0.0 unless
+ *             there is sufficient demand to keep it.  Using this
+ *             function encourages looping through the columns
+ *             inefficiently.  Instead of using this function you
+ *             should iterate through the columns using a loop
+ *             similar to this:
+ *                for (l = results->columns; l != NULL; l = l->next)
+ *             If you really need to get the number of columns you
+ *             can use g_list_length(results->columns).
+ *
  * @param results The search results object.
  *
  * @return Number of the columns.
@@ -311,6 +332,16 @@ guint purple_notify_searchresults_get_co
 /**
  * Returns a row of the results from the search results object.
  *
+ * @deprecated This function will be removed in Pidgin 3.0.0 unless
+ *             there is sufficient demand to keep it.  Using this
+ *             function encourages looping through the results
+ *             inefficiently.  Instead of using this function you
+ *             should iterate through the results using a loop
+ *             similar to this:
+ *                for (l = results->rows; l != NULL; l = l->next)
+ *             If you really need to get the data for a particular
+ *             row you can use g_list_nth_data(results->rows, row_id).
+ *
  * @param results The search results object.
  * @param row_id  Index of the row to be returned.
  *
@@ -321,7 +352,15 @@ GList *purple_notify_searchresults_row_g
 
 /**
  * Returns a title of the search results object's column.
- * 
+ *
+ * @deprecated This function will be removed in Pidgin 3.0.0 unless
+ *             there is sufficient demand to keep it.  Using this
+ *             function encourages looping through the columns
+ *             inefficiently.  Instead of using this function you
+ *             should iterate through the name of a particular
+ *             column you can use
+ *             g_list_nth_data(results->columns, row_id).
+ *
  * @param results   The search results object.
  * @param column_id Index of the column.
  *
============================================================
--- libpurple/ntlm.c	b1c719bfc06d49bb352380fd00d7cad1e90476dc
+++ libpurple/ntlm.c	ee684dcd08b7d105ea82da45fe17b60c5ce5a11d
@@ -1,8 +1,9 @@
 /**
  * @file ntlm.c
+ */
+
+/* purple
  *
- * purple
- *
  * Copyright (C) 2005 Thomas Butter <butter at uni-mannheim.de>
  *
  * hashing done according to description of NTLM on
============================================================
--- libpurple/ntlm.h	4f7868876fbdac0f0bba786afa9ab65b3ba0eba9
+++ libpurple/ntlm.h	2041db604dc015656a3eb3413179e3d97cffd51d
@@ -1,8 +1,9 @@
 /**
  * @file ntlm.h
+ */
+
+/* purple
  *
- * purple
- *
  * Copyright (C) 2005, Thomas Butter <butter at uni-mannheim.de>
  *
  * ntlm structs are taken from NTLM description on
============================================================
--- libpurple/plugin.h	12d6ac08cc12b6466f0ad978112fd51f4a754ca2
+++ libpurple/plugin.h	1e5f64d96a39b6e4d185e2b074858bbb35058b81
@@ -1,9 +1,10 @@
 /**
  * @file plugin.h Plugin API
  * @ingroup core
+ */
+
+/* purple
  *
- * purple
- *
  * Purple 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.
============================================================
--- libpurple/pluginpref.h	9897c5ca65a7ca7a114fcfca29fdf51843e32c2a
+++ libpurple/pluginpref.h	02689dd1161542c8fcd6f2ad3114294b73435a90
@@ -1,9 +1,10 @@
 /**
  * @file pluginpref.h Plugin Preferences API
  * @ingroup core
+ */
+
+/* purple
  *
- * purple
- *
  * Purple 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.
============================================================
--- libpurple/plugins/debug_example.c	953105da0c7e250ada9b795a8bea786fa88e3051
+++ libpurple/plugins/debug_example.c	81ac161b529b13c7778509f04fb3ba4ad670e4ab
@@ -27,6 +27,16 @@
 /* We're including glib.h again for the gboolean type. */
 #include <glib.h>
 
+/* This will prevent compiler errors in some instances and is better explained in the
+ * how-to documents on the wiki */
+#ifndef G_GNUC_NULL_TERMINATED
+# if __GNUC__ >= 4
+#  define G_GNUC_NULL_TERMINATED __attribute__((__sentinel__))
+# else
+#  define G_GNUC_NULL_TERMINATED
+# endif
+#endif
+
 /* This is the required definition of PURPLE_PLUGINS as required for a plugin,
  * but we protect it with an #ifndef because config.h may define it for us
  * already and this would cause an unneeded compiler warning. */
============================================================
--- libpurple/plugins/helloworld.c	3510130a72f33acbedfbaa4b9bd157894777d00b
+++ libpurple/plugins/helloworld.c	dad7a3244fac95c5602df892ea2f962a8d07af3c
@@ -33,6 +33,16 @@
 
 #include <glib.h>
 
+/* This will prevent compiler errors in some instances and is better explained in the
+ * how-to documents on the wiki */
+#ifndef G_GNUC_NULL_TERMINATED
+# if __GNUC__ >= 4
+#  define G_GNUC_NULL_TERMINATED __attribute__((__sentinel__))
+# else
+#  define G_GNUC_NULL_TERMINATED
+# endif
+#endif
+
 #include <notify.h>
 #include <plugin.h>
 #include <version.h>
============================================================
--- libpurple/plugins/notify_example.c	f329a392aa6aaa90b09bd2d1cadbf6402d42936d
+++ libpurple/plugins/notify_example.c	ebc510bd5b8bbba3538112c470bec014fbb49675
@@ -26,6 +26,16 @@
 
 #include <glib.h>
 
+/* This will prevent compiler errors in some instances and is better explained in the
+ * how-to documents on the wiki */
+#ifndef G_GNUC_NULL_TERMINATED
+# if __GNUC__ >= 4
+#  define G_GNUC_NULL_TERMINATED __attribute__((__sentinel__))
+# else
+#  define G_GNUC_NULL_TERMINATED
+# endif
+#endif
+
 /* This is the required definition of PURPLE_PLUGINS as required for a plugin,
  * but we protect it with an #ifndef because config.h may define it for us
  * already and this would cause an unneeded compiler warning. */
============================================================
--- libpurple/pounce.c	584ef2fdf66b3cf823c4cdaa1836bdf912b96635
+++ libpurple/pounce.c	d0750f8226cca76d80e87e6ce2c1ff68a07cd810
@@ -1,9 +1,10 @@
 /**
  * @file pounce.c Buddy Pounce API
  * @ingroup core
+ */
+
+/* purple
  *
- * purple
- *
  * Purple 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.
============================================================
--- libpurple/pounce.h	bef3992727fd3b75ae76b4d648647c3b2a775e4f
+++ libpurple/pounce.h	9ec1bc945f69bb17008884addea48f144209219f
@@ -1,9 +1,10 @@
 /**
  * @file pounce.h Buddy Pounce API
  * @ingroup core
+ */
+
+/* purple
  *
- * purple
- *
  * Purple 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.
============================================================
--- libpurple/prefs.h	57d1c8353459217f6f5a1db9a4cf041f259dc3a2
+++ libpurple/prefs.h	8d18968f5875557b7676d91c64cb7ad8edbd2e90
@@ -1,9 +1,10 @@
 /**
  * @file prefs.h Prefs API
  * @ingroup core
+ */
+
+/* purple
  *
- * purple
- *
  * Purple 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.
============================================================
--- libpurple/privacy.h	9f708c402ca4a6e5e59d26bf54bf337058dc7079
+++ libpurple/privacy.h	4b529eeccd9a23776ce7ca52a9aae828f1873eba
@@ -1,9 +1,10 @@
 /**
  * @file privacy.h Privacy API
  * @ingroup core
+ */
+
+/* purple
  *
- * purple
- *
  * Purple 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.
============================================================
--- libpurple/protocols/jabber/jabber.c	121e708c2e28ec3ff0da92cbf9e82a89f8d1a3b1
+++ libpurple/protocols/jabber/jabber.c	9566f6a2fd23699865c6a8ba16b2315d3daa3153
@@ -141,6 +141,7 @@ static void jabber_stream_features_parse
 		if(jabber_process_starttls(js, packet))
 			return;
 	} else if(purple_account_get_bool(js->gc->account, "require_tls", FALSE) && !js->gsc) {
+		js->gc->wants_to_die = TRUE;
 		purple_connection_error(js->gc, _("You require encryption, but it is not available on this server."));
 		return;
 	}
============================================================
--- libpurple/protocols/jabber/message.c	2484754364477f8cacff4778fa87396b81924175
+++ libpurple/protocols/jabber/message.c	3bc876da8fe16d41770af8d980dce8457b3ac61a
@@ -41,7 +41,10 @@ void jabber_message_free(JabberMessage *
 	g_free(jm->body);
 	g_free(jm->xhtml);
 	g_free(jm->password);
+	g_free(jm->error);
+	g_free(jm->thread_id);
 	g_list_free(jm->etc);
+	g_list_free(jm->eventitems);
 
 	g_free(jm);
 }
============================================================
--- libpurple/protocols/msn/msn.c	4a29d25608bada92c5317ff0dcbe6d8bf9a23af9
+++ libpurple/protocols/msn/msn.c	5cf2c5495f1eee96279c1f3a22642c3397150e5b
@@ -731,7 +731,7 @@ msn_login(PurpleAccount *account)
 	http_method = purple_account_get_bool(account, "http_method", FALSE);
 
 	if (http_method)
-		host = purple_account_get_string(account, "http_method_server", MSN_SERVER);
+		host = purple_account_get_string(account, "http_method_server", MSN_HTTPCONN_SERVER);
 	else
 		host = purple_account_get_string(account, "server", MSN_SERVER);
 	port = purple_account_get_int(account, "port", MSN_PORT);
============================================================
--- libpurple/protocols/myspace/markup.c	bb43d7cc215f24551b2653d84a34824036688415
+++ libpurple/protocols/myspace/markup.c	6402c7e2143dda8ba4ab2e56d1adfd97b77b9c07
@@ -426,13 +426,14 @@ html_tag_to_msim_markup(MsimSession *ses
 html_tag_to_msim_markup(MsimSession *session, xmlnode *root, gchar **begin, 
 		gchar **end)
 {
+	if (!purple_utf8_strcasecmp(root->name, "root") ||
+	    !purple_utf8_strcasecmp(root->name, "html")) {
+		*begin = g_strdup("");
+		*end = g_strdup("");
 	/* TODO: Coalesce nested tags into one <f> tag!
 	 * Currently, the 's' value will be overwritten when b/i/u is nested
 	 * within another one, and only the inner-most formatting will be 
 	 * applied to the text. */
-	if (!purple_utf8_strcasecmp(root->name, "root")) {
-		*begin = g_strdup("");
-		*end = g_strdup("");
 	} else if (!purple_utf8_strcasecmp(root->name, "b")) {
 		*begin = g_strdup_printf("<f s='%d'>", MSIM_TEXT_BOLD);
 		*end = g_strdup("</f>");
@@ -503,8 +504,14 @@ html_tag_to_msim_markup(MsimSession *ses
 
 		/* TODO: color (bg uses <body>), emoticons */
 	} else {
+
+#ifdef MSIM_MARKUP_SHOW_UNKNOWN_TAGS
 		*begin = g_strdup_printf("[%s]", root->name);
 		*end = g_strdup_printf("[/%s]", root->name);
+#else
+		*begin = g_strdup("");
+		*end = g_strdup("");
+#endif
 	}
 }
 
============================================================
--- libpurple/protocols/myspace/myspace.h	0965dcd8337be1950b4567e9582c5da5680f96ca
+++ libpurple/protocols/myspace/myspace.h	6ac185262823551f67161cb8f3b0bba930941102
@@ -67,6 +67,9 @@
 /*#define MSIM_DEBUG_LOGIN_CHALLENGE*/
 /*#define MSIM_DEBUG_RXBUF            */
 
+/* Encode unknown HTML tags in messages in [], instead of ignoring */
+#define MSIM_MARKUP_SHOW_UNKNOWN_TAGS 
+
 /* Define to cause init_plugin() to run some tests and print
  * the results to the Purple debug log, then exit. Useful to 
  * run with 'pidgin -d' to see the output. Don't define if
============================================================
--- libpurple/proxy.c	dcb73f3b56ee37fd1b03d306be342bce5167037f
+++ libpurple/proxy.c	49258c4d7facfe350838599f27bde8b25aa470a9
@@ -1,9 +1,10 @@
 /**
  * @file proxy.c Proxy API
  * @ingroup core
+ */
+
+/* purple
  *
- * purple
- *
  * Purple 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.
============================================================
--- libpurple/proxy.h	e1c03101b64b40e03f566f5360610e33abfd8558
+++ libpurple/proxy.h	b87c38a85c1b24795812f2203b56ba301911834c
@@ -1,9 +1,10 @@
 /**
  * @file proxy.h Proxy API
  * @ingroup core
+ */
+
+/* purple
  *
- * purple
- *
  * Purple 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.
============================================================
--- libpurple/prpl.h	85a98203363c0fb068bc733b9cbcb9b54429759f
+++ libpurple/prpl.h	619fc26a7e52ef07b82536c9ba88bab5b7397de5
@@ -1,9 +1,10 @@
 /**
  * @file prpl.h Protocol Plugin functions
  * @ingroup core
+ */
+
+/* purple
  *
- * purple
- *
  * Purple 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.
============================================================
--- libpurple/request.c	f2741795ebcb193e91e0ff555f701199640086d6
+++ libpurple/request.c	87261bb476cca047e96707ecf4a022e9c53edbf3
@@ -1,9 +1,10 @@
 /**
  * @file request.c Request API
  * @ingroup core
+ */
+
+/* purple
  *
- * purple
- *
  * Purple 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.
============================================================
--- libpurple/request.h	7c0df141e5cfa24b15d5c17ee80793b987fb5d5e
+++ libpurple/request.h	832c46bcbd175225578ce07d5510340823285b2f
@@ -1,9 +1,10 @@
 /**
  * @file request.h Request API
  * @ingroup core
+ */
+
+/* purple
  *
- * purple
- *
  * Purple 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.
============================================================
--- libpurple/roomlist.c	a93859f040e5ba631ea6ab21e270a7edec2eafcf
+++ libpurple/roomlist.c	ce8e8e7a5ba9402fc1f05e420f28463420fa077a
@@ -1,9 +1,10 @@
 /**
  * @file roomlist.c Room List API
  * @ingroup core
+ */
+
+/* purple
  *
- * purple
- *
  * Purple 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.
============================================================
--- libpurple/roomlist.h	3e6646b3d76bec5b48ccf06fbd7065e3d6ca1737
+++ libpurple/roomlist.h	72e90ede8faf5999be3eae929731521721a85186
@@ -1,9 +1,10 @@
 /**
  * @file roomlist.h Room List API
  * @ingroup core
+ */
+
+/* purple
  *
- * purple
- *
  * Purple 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.
============================================================
--- libpurple/savedstatuses.c	b7b266a86b417bde0b6e9dae48c2eefaa0a8c19b
+++ libpurple/savedstatuses.c	7e5db00ae4932bf7ef7036d38edba7a07bfe5164
@@ -1,9 +1,10 @@
 /**
  * @file savedstatuses.c Saved Status API
  * @ingroup core
+ */
+
+/* purple
  *
- * purple
- *
  * Purple 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.
============================================================
--- libpurple/savedstatuses.h	ce717c5229d7eed52530115f1404d34f93010aa1
+++ libpurple/savedstatuses.h	fd2da0682d3ed24e3e0fa4d7e589553567210a92
@@ -1,9 +1,10 @@
 /**
  * @file savedstatuses.h Saved Status API
  * @ingroup core
+ */
+
+/* purple
  *
- * purple
- *
  * Purple 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.
============================================================
--- libpurple/server.h	b7f85636345b8ccb6a868bbbcc1781abce7bbce5
+++ libpurple/server.h	2b3e21036a4c50ee143021f2fd1b514ebd146f8a
@@ -1,9 +1,10 @@
 /**
  * @file server.h Server API
  * @ingroup core
+ */
+
+/* purple
  *
- * purple
- *
  * Purple 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.
============================================================
--- libpurple/signals.c	5fc02faa1aec80b8fb7dbe8ad8b5a0b301d1efac
+++ libpurple/signals.c	a786ce9fdfa513644961780bab5c2c35b993de0e
@@ -1,9 +1,10 @@
 /**
  * @file signals.c Signal API
  * @ingroup core
+ */
+
+/* purple
  *
- * purple
- *
  * Purple 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.
============================================================
--- libpurple/signals.h	aabd187cfd6cae6e8eef16d88b59a532304c6999
+++ libpurple/signals.h	471801d04914f814d75196f5ceb41d47d8473435
@@ -1,9 +1,10 @@
 /**
  * @file signals.h Signal API
  * @ingroup core
+ */
+
+/* purple
  *
- * purple
- *
  * Purple 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.
============================================================
--- libpurple/sound.h	805e240a462ca4d949ce3f61209a4fda9f3b5c1f
+++ libpurple/sound.h	155576ac7fd540899efe8d7b40f6ec5c399d17c3
@@ -1,9 +1,10 @@
 /**
  * @file sound.h Sound API
  * @ingroup core
+ */
+
+/* purple
  *
- * purple
- *
  * Purple 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.
============================================================
--- libpurple/sslconn.c	5b7c324c1f5f8b1e07859375a234716a6fc122fc
+++ libpurple/sslconn.c	aa0aadcf087d62dec198fba7973f98bc3bc365b0
@@ -1,9 +1,10 @@
 /**
  * @file sslconn.c SSL API
  * @ingroup core
+ */
+
+/* purple
  *
- * purple
- *
  * Purple 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.
============================================================
--- libpurple/sslconn.h	83322a7147f0cc228073df909002edc6302524a0
+++ libpurple/sslconn.h	9345fc0da1fe13e953208fb5a4e7ca9ba6f95b52
@@ -1,9 +1,10 @@
 /**
  * @file sslconn.h SSL API
  * @ingroup core
+ */
+
+/* purple
  *
- * purple
- *
  * Purple 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.
============================================================
--- libpurple/status.c	a0e82882e37ae83691ee52bc46682db953f7cf96
+++ libpurple/status.c	186dd554d259db6734202e08e005279fc0327dcb
@@ -1,9 +1,10 @@
 /**
  * @file status.c Status API
  * @ingroup core
+ */
+
+/* purple
  *
- * purple
- *
  * Purple 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.
============================================================
--- libpurple/stringref.c	98bb1c4a399a2bdc517dc70efd0789562b0c3ed0
+++ libpurple/stringref.c	b65fe580a300682722d56cf3397dd1b776c392e8
@@ -1,9 +1,10 @@
 /**
  * @file stringref.c Reference-counted immutable strings
  * @ingroup core
+ */
+
+/* purple
  *
- * purple
- *
  * Purple 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.
============================================================
--- libpurple/stringref.h	29eb213857b8ae3a3c18679778296f544c7d4880
+++ libpurple/stringref.h	ba5428fc886f1b6e4bc3c2d5abd9b300562f6177
@@ -1,11 +1,12 @@
 /* TODO: Can we just replace this whole thing with a GCache */
 
 /**
  * @file stringref.h Reference-counted immutable strings
  * @ingroup core
+ */
+
+/* purple
  *
- * purple
- *
  * Purple 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.
============================================================
--- libpurple/stun.c	e3a2758c7a0682b5367e87c9d5d3ad1f4f1277ab
+++ libpurple/stun.c	4a79dd2c4c4216efb4a944125b0fcb6e355121d0
@@ -1,9 +1,10 @@
 /**
  * @file stun.c STUN (RFC3489) Implementation
  * @ingroup core
+ */
+
+/* purple
  *
- * purple
- *
  * STUN implementation inspired by jstun [http://jstun.javawi.de/]
  *
  * Purple is the legal property of its developers, whose names are too numerous
============================================================
--- libpurple/stun.h	6b0ad49c9583b9fa199fd028a88a70bfa23d3bdd
+++ libpurple/stun.h	557efdb5016165d2b0146ae90a65a6d8f0228752
@@ -1,9 +1,10 @@
 /**
  * @file stun.h STUN API
  * @ingroup core
+ */
+
+/* purple
  *
- * purple
- *
  * Purple 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.
============================================================
--- libpurple/upnp.c	d253d0782086e4c7514843c7d61b15f32105c53f
+++ libpurple/upnp.c	9f7037509c784f450f1fb4ad33176d040c1579dc
@@ -1,9 +1,10 @@
 /**
  * @file upnp.c UPnP Implementation
  * @ingroup core
+ */
+
+/* purple
  *
- * purple
- *
  * Purple 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.
============================================================
--- libpurple/upnp.h	915004cf1ce02bb9346495984f07f771ad7db8fa
+++ libpurple/upnp.h	2ea60a027418eebaf076911ff392883f19ff2791
@@ -1,9 +1,10 @@
 /**
  * @file upnp.h Universal Plug N Play API
  * @ingroup core
+ */
+
+/* purple
  *
- * purple
- *
  * Purple 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.
============================================================
--- libpurple/util.c	ad02b84b45a4856809e95b8f9176615409aca489
+++ libpurple/util.c	504ff584b386911ab4c77743e8e17df9e684caf6
@@ -1,8 +1,9 @@
 /*
  * @file util.h Utility Functions
  * @ingroup core
- *
- * Purple is the legal property of its developers, whose names are too numerous
+ */
+
+/* Purple 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.
  *
@@ -67,7 +68,7 @@ static char *custom_user_dir = NULL;
 };
 
 static char *custom_user_dir = NULL;
-static char *home_dir = NULL;
+static char *user_dir = NULL;
 
 PurpleMenuAction *
 purple_menu_action_new(const char *label, PurpleCallback callback, gpointer data,
@@ -2463,10 +2464,10 @@ purple_user_dir(void)
 {
 	if (custom_user_dir != NULL)
 		return custom_user_dir;
-	else if (!home_dir)
-		home_dir = g_build_filename(purple_home_dir(), ".purple", NULL);
+	else if (!user_dir)
+		user_dir = g_build_filename(purple_home_dir(), ".purple", NULL);
 
-	return home_dir;
+	return user_dir;
 }
 
 void purple_util_set_user_dir(const char *dir)
============================================================
--- libpurple/util.h	458800c8df4249189ed833ac399e4d200e12e38a
+++ libpurple/util.h	a4c51623a9a6ccdbed65ae17f8cf9d6f73541218
@@ -1,9 +1,10 @@
 /**
  * @file util.h Utility Functions
  * @ingroup core
+ */
+
+/* purple
  *
- * purple
- *
  * Purple 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.
============================================================
--- libpurple/value.c	4e42edfbee639989b3d2cec3c2d0da8b39ac9078
+++ libpurple/value.c	38e4b961b6fb92aa8b7bb27b5d1ef0ab4eab243f
@@ -1,9 +1,10 @@
 /**
  * @file value.c Value wrapper API
  * @ingroup core
+ */
+
+/* purple
  *
- * purple
- *
  * Purple 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.
============================================================
--- libpurple/value.h	5ac524d0e1253d5ef6388e6af5da05674484ccbf
+++ libpurple/value.h	3a7b6a6dd8106466d5a438203706c2bc0c2b6cd9
@@ -1,9 +1,10 @@
 /**
  * @file value.h Value wrapper API
  * @ingroup core
+ */
+
+/* purple
  *
- * purple
- *
  * Purple 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.
============================================================
--- libpurple/version.c	1eb50a65a420156e66f193633d865128e9ea6a00
+++ libpurple/version.c	c7dababa6a05dc84c2c9b424e1d9afcfb5927915
@@ -1,8 +1,9 @@
 /*
  * @file version.c Version Functions
  * @ingroup core
- *
- * Purple is the legal property of its developers, whose names are too numerous
+ */
+
+/* Purple 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.
  *
============================================================
--- libpurple/whiteboard.h	acf1c24065d338c24b1c9bf15c718972a4d4035a
+++ libpurple/whiteboard.h	1c248a7d0309e7c03f3f27e30818ab2f2cd7c4e0
@@ -1,8 +1,9 @@
 /**
  * @file whiteboard.h The PurpleWhiteboard core object
+ */
+
+/* purple
  *
- * purple
- *
  * Purple 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.
============================================================
--- libpurple/xmlnode.c	110264cd528323a2abc9a4a8cc752882cc96dbfc
+++ libpurple/xmlnode.c	0a452bfe79ea0fea36de8bfe946cdb3097f066a5
@@ -1,8 +1,9 @@
 /**
  * @file xmlnode.c XML DOM functions
+ */
+
+/* purple
  *
- * purple
- *
  * Purple 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.
============================================================
--- libpurple/xmlnode.h	14562a146c12650d874c1ab6c51ef4f3135fc95e
+++ libpurple/xmlnode.h	e83d68f9e1a20bfd8ded256571bc87ee0fe08c47
@@ -1,9 +1,10 @@
 /**
  * @file xmlnode.h XML DOM functions
  * @ingroup core
+ */
+
+/* purple
  *
- * purple
- *
  * Purple 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.
============================================================
--- pidgin/gtkaccount.c	d16294511c7ceedf063e03058478a54fd0ff611d
+++ pidgin/gtkaccount.c	9e822f0257b7df1e83f0a128fa4e975a0ef5c5e8
@@ -1,9 +1,10 @@
 /**
  * @file gtkaccount.c GTK+ Account Editor UI
  * @ingroup pidgin
+ */
+
+/* pidgin
  *
- * pidgin
- *
  * Pidgin 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.
============================================================
--- pidgin/gtkaccount.h	8a4e2106b1e89fa4c33abad9d535eb7328d75ceb
+++ pidgin/gtkaccount.h	c35b20ac9b1ce9d754838ff66638cc0a444311a3
@@ -1,9 +1,10 @@
 /**
  * @file gtkaccount.h GTK+ Account Editor UI
  * @ingroup pidgin
+ */
+
+/* pidgin
  *
- * pidgin
- *
  * Pidgin 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.
============================================================
--- pidgin/gtkblist.c	93d566ce11a5d1ca636d549e8da29fbf3d3c6480
+++ pidgin/gtkblist.c	8816118a526207f76e3f4a077075beb70074bfa8
@@ -1,9 +1,10 @@
 /*
  * @file gtkblist.c GTK+ BuddyList API
  * @ingroup pidgin
+ */
+
+/* pidgin
  *
- * pidgin
- *
  * Pidgin 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.
@@ -87,6 +88,8 @@ typedef struct
 	GtkWidget *group_combo;
 	GtkWidget *entries_box;
 	GtkSizeGroup *sg;
+	GtkWidget *autojoin;
+	GtkWidget *persistent;
 
 	GList *entries;
 
@@ -317,8 +320,8 @@ static void gtk_blist_menu_move_to_cb(Gt
 
 static void gtk_blist_menu_move_to_cb(GtkWidget *w, PurpleBlistNode *node)
 {
-	PurpleBlistNode *group = g_object_get_data(w, "groupnode");
-	purple_blist_add_contact(node, group, NULL);
+	PurpleGroup *group = g_object_get_data(G_OBJECT(w), "groupnode");
+	purple_blist_add_contact((PurpleContact *)node, group, NULL);
 
 }
 
@@ -471,9 +474,9 @@ gtk_blist_do_personize(GList *merges)
 		if (node == contact)
 			continue;
 
-		purple_blist_merge_contact(node, contact);
+		purple_blist_merge_contact((PurpleContact *)node, contact);
 	}
-	
+
 	/* And show the expanded contact, so the people know what's going on */
 	pidgin_blist_expand_contact_cb(NULL, contact);
 	g_list_free(merges);
@@ -487,14 +490,13 @@ gtk_blist_auto_personize(PurpleBlistNode
 	GList *merges = NULL;
 	int i = 0;
 	char *a = g_utf8_casefold(alias, -1);
-	char *msg;
 
 	for (contact = group->child; contact; contact = contact->next) {
 		char *node_alias;
 		if (contact->type != PURPLE_BLIST_CONTACT_NODE)
 			continue;
-		
-		node_alias = g_utf8_casefold(purple_contact_get_alias(contact), -1);
+
+		node_alias = g_utf8_casefold(purple_contact_get_alias((PurpleContact *)contact), -1);
 		if (node_alias && !g_utf8_collate(node_alias, a)) {
 			merges = g_list_append(merges, contact);
 			i++;
@@ -506,8 +508,8 @@ gtk_blist_auto_personize(PurpleBlistNode
 		for (buddy = contact->child; buddy; buddy = buddy->next) {
 			if (buddy->type != PURPLE_BLIST_BUDDY_NODE)
 				continue;
-	
-			node_alias = g_utf8_casefold(purple_buddy_get_alias(buddy), -1);
+
+			node_alias = g_utf8_casefold(purple_buddy_get_alias((PurpleBuddy *)buddy), -1);
 			if (node_alias && !g_utf8_collate(node_alias, a)) {
 				merges = g_list_append(merges, buddy);
 				i++;
@@ -517,11 +519,15 @@ gtk_blist_auto_personize(PurpleBlistNode
 	}
 	g_free(a);
 	
-	msg = g_strdup_printf(ngettext("You can't merge one contact. That doesn't make any sense. You should never see this message ever", "You currently have %d contacts named %s. Would you like to merge them?", i), i, alias);
 	if (i > 1)
+	{
+		char *msg = g_strdup_printf(ngettext("You currently have %d contact named %s. Would you like to merge them?", "You currently have %d contacts named %s. Would you like to merge them?", i), i, alias);
 		purple_request_action(NULL, NULL, msg, _("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"), 0, NULL, NULL, NULL,
 				      merges, 2, _("_Merge"), PURPLE_CALLBACK(gtk_blist_do_personize), _("_Cancel"), PURPLE_CALLBACK(g_list_free));
+		g_free(msg);
+	} else
+		g_list_free(merges);
 }
 
 static void gtk_blist_renderer_edited_cb(GtkCellRendererText *text_rend, char *arg1,
@@ -1264,14 +1270,14 @@ pidgin_append_blist_node_move_to_menu(Gt
 	gtk_widget_show(menuitem);
 
 	submenu = gtk_menu_new();
-	gtk_menu_item_set_submenu(menuitem, submenu);
+	gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem), submenu);
 
 	for (group = purple_blist_get_root(); group; group = group->next) {
 		if (group->type != PURPLE_BLIST_GROUP_NODE)
 			continue;
 		if (group == node->parent)
 			continue;
-		menuitem = pidgin_new_item_from_stock(submenu, purple_group_get_name(group), NULL,
+		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);
 		g_object_set_data(G_OBJECT(menuitem), "groupnode", group);
 	}
@@ -1330,7 +1336,7 @@ pidgin_blist_make_buddy_menu(GtkWidget *
 	pidgin_append_blist_node_extended_menu(menu, (PurpleBlistNode *)buddy);
 
 	if (!contact_expanded)
-		pidgin_append_blist_node_move_to_menu(menu, contact);
+		pidgin_append_blist_node_move_to_menu(menu, (PurpleBlistNode *)contact);
 
 	if (((PurpleBlistNode*)buddy)->parent && ((PurpleBlistNode*)buddy)->parent->child->next && 
               !sub && !contact_expanded) {
@@ -5897,6 +5903,12 @@ add_chat_cb(GtkWidget *w, PidginAddChatD
 		purple_blist_add_chat(chat, group, NULL);
 	}
 
+	if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->autojoin)))
+		purple_blist_node_set_bool((PurpleBlistNode*)chat, "gtk-autojoin", TRUE);
+
+	if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->persistent)))
+		purple_blist_node_set_bool((PurpleBlistNode*)chat, "gtk-persistent", TRUE);
+
 	gtk_widget_destroy(data->window);
 	g_free(data->default_chat_name);
 	g_list_free(data->entries);
@@ -6191,6 +6203,11 @@ pidgin_blist_request_add_chat(PurpleAcco
 	gtk_label_set_mnemonic_widget(GTK_LABEL(label), GTK_BIN(data->group_combo)->child);
 	pidgin_set_accessible_label (data->group_combo, label);
 	gtk_box_pack_end(GTK_BOX(rowbox), data->group_combo, TRUE, TRUE, 0);
+	
+	data->autojoin = gtk_check_button_new_with_mnemonic(_("Autojoin when account becomes online."));
+	data->persistent = gtk_check_button_new_with_mnemonic(_("Hide chat when the window is closed."));
+	gtk_box_pack_start(GTK_BOX(vbox), data->autojoin, FALSE, FALSE, 0);
+	gtk_box_pack_start(GTK_BOX(vbox), data->persistent, FALSE, FALSE, 0);
 
 	g_signal_connect(G_OBJECT(data->window), "response",
 					 G_CALLBACK(add_chat_resp_cb), data);
============================================================
--- pidgin/gtkblist.h	2a64fc0a488ef2c18905cb3496673ab1e058f34f
+++ pidgin/gtkblist.h	94a2f58c1bd5f863b5fc1dc4713e8b0599a749fb
@@ -1,9 +1,10 @@
 /**
  * @file gtkblist.h GTK+ Buddy List API
  * @ingroup pidgin
+ */
+
+/* pidgin
  *
- * pidgin
- *
  * Pidgin 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.
============================================================
--- pidgin/gtkcellrendererexpander.c	819f2ef8b8fccd30339c5b4bc713390a6e2a7323
+++ pidgin/gtkcellrendererexpander.c	3dac1205d95c6007b6ebea7d33e6cd66035caa50
@@ -1,9 +1,10 @@
 /*
  * @file gtkcellrendererexpander.c GTK+ Cell Renderer Expander
  * @ingroup pidgin
+ */
+
+/* pidgin
  *
- * pidgin
- *
  * Pidgin 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.
@@ -269,7 +270,9 @@ static void pidgin_cell_renderer_expande
 			    cell_area->x + cell->xpad + (width / 2),
 			    cell_area->y + cell->ypad + (height / 2),
 			    cell->is_expanded ? GTK_EXPANDER_EXPANDED : GTK_EXPANDER_COLLAPSED);
-	gtk_paint_hline (widget->style, window, state, NULL, widget, NULL, 0, widget->allocation.width, cell_area->y + cell_area->height);
+	if (cell->is_expanded)
+		gtk_paint_hline (widget->style, window, state, NULL, widget, NULL, 0, 
+				 widget->allocation.width, cell_area->y + cell_area->height);
 }
 
 static gboolean pidgin_cell_renderer_expander_activate(GtkCellRenderer *r,
============================================================
--- pidgin/gtkcellrendererprogress.c	78974dccfea2102b2b490fedee42daf3d4640966
+++ pidgin/gtkcellrendererprogress.c	30c75dfc4e0cdcb785a31560de9b62a3455d493c
@@ -1,9 +1,10 @@
 /*
  * @file gtkcellrendererprogress.c GTK+ Cell Renderer Progress
  * @ingroup pidgin
+ */
+
+/* pidgin
  *
- * pidgin
- *
  * Pidgin 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.
============================================================
--- pidgin/gtkcertmgr.c	6c48b310d16f2615eb00c535f46267d6a3da7dac
+++ pidgin/gtkcertmgr.c	48ae857673ac5ba9f9a778ba21245d09b97bbb45
@@ -1,9 +1,10 @@
 /*
  * @file gtkcertmgr.c GTK+ Certificate Manager API
  * @ingroup pidgin
+ */
+
+/* pidgin
  *
- * pidgin
- *
  * Pidgin 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.
============================================================
--- pidgin/gtkconn.c	e4cdb3889aea89cf16f92e8e347a076b0bad2350
+++ pidgin/gtkconn.c	34977775fe5a89fe5e67762f2fc0711d0dadcdd0
@@ -1,9 +1,10 @@
 /*
  * @file gtkconn.c GTK+ Connection API
  * @ingroup pidgin
+ */
+
+/* pidgin
  *
- * pidgin
- *
  * Pidgin 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.
@@ -53,7 +54,7 @@ typedef struct {
  * The key is a pointer to the PurpleAccount and the
  * value is a pointer to a PidginAutoRecon.
  */
-static GHashTable *hash = NULL;
+static GHashTable *auto_reconns = NULL;
 
 static void
 pidgin_connection_connect_progress(PurpleConnection *gc,
@@ -80,7 +81,7 @@ pidgin_connection_connected(PurpleConnec
 		pidgin_status_box_set_connecting(PIDGIN_STATUS_BOX(gtkblist->statusbox),
 					   (purple_connections_get_connecting() != NULL));
 
-	g_hash_table_remove(hash, account);
+	g_hash_table_remove(auto_reconns, account);
 
 	pidgin_blist_update_account_error_state(account, NULL);
 }
@@ -120,7 +121,7 @@ do_signon(gpointer data)
 
 	purple_debug_info("autorecon", "do_signon called\n");
 	g_return_val_if_fail(account != NULL, FALSE);
-	info = g_hash_table_lookup(hash, account);
+	info = g_hash_table_lookup(auto_reconns, account);
 
 	if (info)
 		info->timeout = 0;
@@ -145,13 +146,13 @@ pidgin_connection_report_disconnect_reas
 	PidginAutoRecon *info;
 
 	account = purple_connection_get_account(gc);
-	info = g_hash_table_lookup(hash, account);
+	info = g_hash_table_lookup(auto_reconns, account);
 
 	pidgin_blist_update_account_error_state(account, text);
 	if (!purple_connection_reason_is_fatal (reason)) {
 		if (info == NULL) {
 			info = g_new0(PidginAutoRecon, 1);
-			g_hash_table_insert(hash, account, info);
+			g_hash_table_insert(auto_reconns, account, info);
 			info->delay = g_random_int_range(INITIAL_RECON_DELAY_MIN, INITIAL_RECON_DELAY_MAX);
 		} else {
 			info->delay = MIN(2 * info->delay, MAX_RECON_DELAY);
@@ -162,7 +163,7 @@ pidgin_connection_report_disconnect_reas
 	} else {
 		char *p, *s, *n=NULL ;
 		if (info != NULL)
-			g_hash_table_remove(hash, account);
+			g_hash_table_remove(auto_reconns, account);
 
 		if (purple_account_get_alias(account))
 		{
@@ -206,7 +207,7 @@ static void pidgin_connection_network_co
 
 	while (list) {
 		PurpleAccount *account = (PurpleAccount*)list->data;
-		g_hash_table_remove(hash, account);
+		g_hash_table_remove(auto_reconns, account);
 		if (purple_account_is_disconnected(account))
 			do_signon(account);
 		list = list->next;
@@ -267,7 +268,7 @@ account_removed_cb(PurpleAccount *accoun
 static void
 account_removed_cb(PurpleAccount *account, gpointer user_data)
 {
-	g_hash_table_remove(hash, account);
+	g_hash_table_remove(auto_reconns, account);
 
 	pidgin_blist_update_account_error_state(account, NULL);
 }
@@ -288,7 +289,7 @@ pidgin_connection_init(void)
 void
 pidgin_connection_init(void)
 {
-	hash = g_hash_table_new_full(
+	auto_reconns = g_hash_table_new_full(
 							g_direct_hash, g_direct_equal,
 							NULL, free_auto_recon);
 
@@ -302,5 +303,5 @@ pidgin_connection_uninit(void)
 {
 	purple_signals_disconnect_by_handle(pidgin_connection_get_handle());
 
-	g_hash_table_destroy(hash);
+	g_hash_table_destroy(auto_reconns);
 }
============================================================
--- pidgin/gtkconn.h	3142173a7ffaf268825f4fbada5bf0368a91cb7f
+++ pidgin/gtkconn.h	2050a0a0a6808a3d9b95c2c78dfb00d38960eb64
@@ -1,8 +1,9 @@
 /**
  * @file gtkconn.h GTK+ Connection API
+ */
+
+/* pidgin
  *
- * pidgin
- *
  * Pidgin 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.
============================================================
--- pidgin/gtkconv.c	3c2f7c44da5ae1e39a2496e8fb80d10489ed0f1b
+++ pidgin/gtkconv.c	ae2a582300ca2f4789b9f0981a2884cf2b3f39fc
@@ -1,9 +1,10 @@
 /**
  * @file gtkconv.c GTK+ Conversation API
  * @ingroup pidgin
+ */
+
+/* pidgin
  *
- * pidgin
- *
  * Pidgin 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.
@@ -219,7 +220,7 @@ static gboolean
 }
 
 static gboolean
-close_conv_cb(GtkWidget *w, GdkEventButton *event, PidginConversation *gtkconv)
+close_conv_cb(GtkWidget *w, GdkEventButton *dontuse, PidginConversation *gtkconv)
 {
 	/* We are going to destroy the conversations immediately only if the 'close immediately'
 	 * preference is selected. Otherwise, close the conversation after a reasonable timeout
@@ -1912,6 +1913,7 @@ conv_keypress_common(PidginConversation 
 				gtk_notebook_reorder_child(GTK_NOTEBOOK(win->notebook),
 						gtk_notebook_get_nth_page(GTK_NOTEBOOK(win->notebook), curconv),
 						curconv - 1);
+				return TRUE;
 				break;
 
 			case GDK_period:
@@ -1922,6 +1924,7 @@ conv_keypress_common(PidginConversation 
 #else
 						(curconv + 1) % g_list_length(GTK_NOTEBOOK(win->notebook)->children));
 #endif
+				return TRUE;
 				break;
 
 		} /* End of switch */
@@ -8833,15 +8836,10 @@ pidgin_conv_window_destroy(PidginWindow 
 
 	if (win->gtkconvs) {
 		while (win->gtkconvs) {
-			GList *nextgtk = win->gtkconvs->next;
-			PidginConversation *gtkconv = win->gtkconvs->data;
-			GList *nextcore = gtkconv->convs->next;
-			PurpleConversation *conv = gtkconv->convs->data;
-			purple_conversation_destroy(conv);
-			if (!nextgtk && !nextcore)
-			/* we'll end up invoking ourselves when we destroy our last child */
-			/* so don't destroy ourselves right now */
-				return;
+			gboolean last = (win->gtkconvs->next == NULL);
+			close_conv_cb(NULL, NULL, win->gtkconvs->data);
+			if (last)
+				break;
 		}
 		return;
 	}
============================================================
--- pidgin/gtkconv.h	42425cd5d2ef1bf7d37b0c69c608e0c17a19d1cf
+++ pidgin/gtkconv.h	87265c5e731e39278d5056098d967ccb1c013086
@@ -1,9 +1,10 @@
 /**
  * @file gtkconv.h GTK+ Conversation API
  * @ingroup pidgin
+ */
+
+/* pidgin
  *
- * pidgin
- *
  * Pidgin 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.
============================================================
--- pidgin/gtkconvwin.h	28264947c76f07b1eff56e16b487e5f7dbe49ea2
+++ pidgin/gtkconvwin.h	250c2499fcc142e466d0695dc27e203f56ff9156
@@ -1,9 +1,10 @@
 /**
  * @file gtkconvwin.h GTK+ Conversation Window API
  * @ingroup pidgin
+ */
+
+/* pidgin
  *
- * pidgin
- *
  * Pidgin 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.
============================================================
--- pidgin/gtkdebug.c	6d9839de9abec5e0b697361fabf75f014d43f8e6
+++ pidgin/gtkdebug.c	1e00b33345ef1993959ebd1063a9301ad4a2362b
@@ -1,9 +1,10 @@
 /**
  * @file gtkdebug.c GTK+ Debug API
  * @ingroup pidgin
+ */
+
+/* pidgin
  *
- * pidgin
- *
  * Pidgin 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.
============================================================
--- pidgin/gtkdebug.h	16aaf8ddff05f14a83af687f6fe1d308229d2af7
+++ pidgin/gtkdebug.h	873ac54850158078a07fdabf531f5dd23cab4d41
@@ -1,9 +1,10 @@
 /**
  * @file gtkdebug.h GTK+ Debug API
  * @ingroup pidgin
+ */
+
+/* pidgin
  *
- * pidgin
- *
  * Pidgin 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.
============================================================
--- pidgin/gtkdialogs.c	be0664b406527e722394f45123a87404c5207e36
+++ pidgin/gtkdialogs.c	355c171bb4f52e9b0d85762e9ec7099fd5d2d7fe
@@ -1,9 +1,10 @@
 /*
  * @file gtkdialogs.c GTK+ Dialogs
  * @ingroup pidgin
+ */
+
+/* pidgin
  *
- * pidgin
- *
  * Pidgin 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.
============================================================
--- pidgin/gtkdialogs.h	3c4042b1202bf65dca7ae291059afc481de58389
+++ pidgin/gtkdialogs.h	01e11df00db98161fb7b9dc9701738f6bc409ecb
@@ -1,8 +1,9 @@
 /**
  * @defgroup pidgin Pidgin (GTK+ User Interface)
+ */
+
+/* pidgin
  *
- * pidgin
- *
  * Pidgin 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.
============================================================
--- pidgin/gtkdnd-hints.c	e136afdf24d49eba3832aada425b991b7ac64460
+++ pidgin/gtkdnd-hints.c	ee83f663c4e837313644d1e2d11910fc33073e69
@@ -1,9 +1,10 @@
 /*
  * @file gtkdnd-hints.c GTK+ Drag-and-Drop arrow hints
  * @ingroup pidgin
+ */
+
+/* pidgin
  *
- * pidgin
- *
  * Pidgin 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.
============================================================
--- pidgin/gtkdnd-hints.h	bc0fe0a2bd974b9d8eb121030e9d02ebdb26f00a
+++ pidgin/gtkdnd-hints.h	f069e5db3982a7109c1c2e07d910be64d3cffacb
@@ -1,8 +1,9 @@
 /**
  * @file gtkdnd-hints.h GTK+ Drag-and-Drop arrow hints
  * @ingroup pidgin
- *
- * Pidgin is the legal property of its developers, whose names are too numerous
+ */
+
+/* Pidgin 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.
  *
============================================================
--- pidgin/gtkeventloop.c	ce6cebdf9f4bdc3ddea40c09b4515dd8f99132f3
+++ pidgin/gtkeventloop.c	561224e9acbd24518878503f743b6d7025a99e73
@@ -1,9 +1,10 @@
 /**
  * @file gtk_eventloop.c Purple Event Loop API (gtk implementation)
  * @ingroup pidgin
+ */
+
+/* pidgin
  *
- * pidgin
- *
  * Pidgin 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.
============================================================
--- pidgin/gtkeventloop.h	86373f3eb1a7685f152ada4442330585dc4197e6
+++ pidgin/gtkeventloop.h	312249027f250ed69aa05343957705a0386790a4
@@ -1,9 +1,10 @@
 /**
  * @file gtkeventloop.h Pidgin GTK+ Event Loop Implementation
  * @ingroup pidgin
+ */
+
+/* pidgin
  *
- * pidgin
- *
  * Pidgin 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.
============================================================
--- pidgin/gtkft.c	096c2562511007741f4d39f5e3c77515660ac84c
+++ pidgin/gtkft.c	2e9a12221354c627e3232be84536db4a6bd8eb69
@@ -1,9 +1,10 @@
 /**
  * @file gtkft.c GTK+ File Transfer UI
  * @ingroup pidgin
+ */
+
+/* pidgin
  *
- * pidgin
- *
  * Pidgin 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.
============================================================
--- pidgin/gtkft.h	9f74be166e5daaec280f850ee1de637469dcb327
+++ pidgin/gtkft.h	2181d97fb42436ef97608262948dfe34846e8345
@@ -1,9 +1,10 @@
 /**
  * @file gtkft.h GTK+ File Transfer UI
  * @ingroup pidgin
+ */
+
+/* pidgin
  *
- * pidgin
- *
  * Pidgin 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.
============================================================
--- pidgin/gtkgaim-compat.h	fc8db05203fb2331f93387f3148ffccc84846bf1
+++ pidgin/gtkgaim-compat.h	8d6be75b0184ff5a467a767748cfbd2c252168b1
@@ -1,8 +1,9 @@
 /**
  * @file gtkgaim-compat.h Gtk Gaim Compat macros
+ */
+
+/* pidgin
  *
- * pidgin
- *
  * Pidgin 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.
============================================================
--- pidgin/gtkidle.h	f0cb06563c9033473c7d10e9cc7542f81d47cbd5
+++ pidgin/gtkidle.h	b6a001d908b45b7cec49d4e16dd8e5004716c850
@@ -1,9 +1,10 @@
 /**
  * @file gtkidle.h GTK+ Idle API
  * @ingroup pidgin
+ */
+
+/* pidgin
  *
- * pidgin
- *
  * Pidgin 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.
============================================================
--- pidgin/gtkimhtml.c	da6f989f678ffbfcf1e93f6955770942caa0ef33
+++ pidgin/gtkimhtml.c	77589de31ac3088af69562e1ce335f93d8e3d701
@@ -1,9 +1,10 @@
 /*
  * @file gtkimhtml.c GTK+ IMHtml
  * @ingroup pidgin
+ */
+
+/* pidgin
  *
- * pidgin
- *
  * Pidgin 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.
============================================================
--- pidgin/gtkimhtml.h	c4db539c3b1ac56b8c59343482d24309847da40e
+++ pidgin/gtkimhtml.h	58ceca731d91bc31469a347551f242d47291ce0e
@@ -1,8 +1,9 @@
 /**
  * @file gtkimhtml.h GTK+ IM/HTML rendering component
  * @ingroup pidgin
- *
- * Pidgin is the legal property of its developers, whose names are too numerous
+ */
+
+/* Pidgin 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.
  *
============================================================
--- pidgin/gtkimhtmltoolbar.c	3035b538b983e371ecc9cb7bd8bf08c500f1c07a
+++ pidgin/gtkimhtmltoolbar.c	3d1bc4c6027f1e70ad7f1faa755037fc99a0ca92
@@ -1,9 +1,10 @@
 /*
  * @file gtkimhtmltoolbar.c GTK+ IMHtml Toolbar
  * @ingroup pidgin
+ */
+
+/* pidgin
  *
- * pidgin
- *
  * Pidgin 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.
@@ -1162,6 +1163,7 @@ static void gtk_imhtmltoolbar_init (GtkI
 	GtkWidget *label;
 	GtkWidget *insert_button;
 	GtkWidget *font_button;
+	GtkWidget *smiley_button;
 	GtkWidget *font_menu;
 	GtkWidget *insert_menu;
 	GtkWidget *menuitem;
@@ -1263,12 +1265,6 @@ static void gtk_imhtmltoolbar_init (GtkI
 	insert_menu = gtk_menu_new();
 	g_object_set_data(G_OBJECT(toolbar), "insert_menu", insert_menu);
 
-	menuitem = gtk_menu_item_new_with_mnemonic(_("_Smiley"));
-	g_signal_connect_swapped(G_OBJECT(menuitem), "activate", G_CALLBACK(gtk_button_clicked), toolbar->smiley);
-	gtk_menu_shell_append(GTK_MENU_SHELL(insert_menu), menuitem);
-	g_signal_connect(G_OBJECT(toolbar->smiley), "notify::sensitive",
-			G_CALLBACK(button_sensitiveness_changed), menuitem);
-
 	menuitem = gtk_menu_item_new_with_mnemonic(_("_Image"));
 	g_signal_connect_swapped(G_OBJECT(menuitem), "activate", G_CALLBACK(gtk_button_clicked), toolbar->image);
 	gtk_menu_shell_append(GTK_MENU_SHELL(insert_menu), menuitem);
@@ -1290,7 +1286,25 @@ static void gtk_imhtmltoolbar_init (GtkI
 	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;
+	
+	/* Sep */
+	sep = gtk_vseparator_new();
+	gtk_box_pack_start(GTK_BOX(box), sep, FALSE, FALSE, 0);
+	gtk_widget_show_all(sep);
 
+	/* Smiley */
+	smiley_button = gtk_button_new();
+	gtk_button_set_relief(GTK_BUTTON(smiley_button), GTK_RELIEF_NONE);
+	bbox = gtk_hbox_new(FALSE, 3);
+	gtk_container_add(GTK_CONTAINER(smiley_button), bbox);
+	image = gtk_image_new_from_stock(PIDGIN_STOCK_TOOLBAR_SMILEY, gtk_icon_size_from_name(PIDGIN_ICON_SIZE_TANGO_EXTRA_SMALL));
+	gtk_box_pack_start(GTK_BOX(bbox), image, FALSE, FALSE, 0);
+	label = gtk_label_new_with_mnemonic(_("_Smiley"));
+	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_swapped(G_OBJECT(smiley_button), "clicked", G_CALLBACK(gtk_button_clicked), toolbar->smiley);
+	gtk_widget_show_all(smiley_button);
+
 	gtk_box_pack_start(GTK_BOX(hbox), box, FALSE, FALSE, 0);
 	g_object_set_data(G_OBJECT(hbox), "lean-view", box);
 
============================================================
--- pidgin/gtklog.c	4c3b270022da0e57bba6f5144ec1330e4eeaeba6
+++ pidgin/gtklog.c	d96a7326a9b689b6dd2ad1560429ea82d93dee82
@@ -1,9 +1,10 @@
 /**
  * @file gtklog.c GTK+ Log viewer
  * @ingroup pidgin
+ */
+
+/* pidgin
  *
- * pidgin
- *
  * Pidgin 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.
============================================================
--- pidgin/gtklog.h	05ae6ff4547ec565a59147977a34a98430c22769
+++ pidgin/gtklog.h	cfaff1e18cdb94d71b21f67d50e2e4e21e34d855
@@ -1,9 +1,10 @@
 /**
  * @file gtklog.h GTK+ Log viewer
  * @ingroup pidgin
+ */
+
+/* pidgin
  *
- * pidgin
- *
  * Pidgin 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.
============================================================
--- pidgin/gtkmain.c	ca3036e2264dfdf1b45487235066557a098d7aa1
+++ pidgin/gtkmain.c	8e319cde93944ca88dc6bc246ad1bdc9096cfd6b
@@ -394,6 +394,9 @@ show_usage(const char *name, gboolean te
 		       "  -n, --nologin       don't automatically login\n"
 		       "  -l, --login[=NAME]  automatically login (optional argument NAME specifies\n"
 		       "                      account(s) to use, separated by commas)\n"
+#ifndef WIN32
+		       "  --display=DISPLAY   X display to use\n"
+#endif
 		       "  -v, --version       display the current version and exit\n"), PIDGIN_NAME, VERSION, name);
 	}
 
@@ -481,6 +484,7 @@ int main(int argc, char *argv[])
 		{"nologin",  no_argument,       NULL, 'n'},
 		{"session",  required_argument, NULL, 's'},
 		{"version",  no_argument,       NULL, 'v'},
+		{"display",  required_argument, NULL, 'D'},
 		{0, 0, 0, 0}
 	};
 
@@ -626,6 +630,9 @@ int main(int argc, char *argv[])
 		case 'm':   /* do not ensure single instance. */
 			opt_si = FALSE;
 			break;
+		case 'D':   /* --display */
+			/* handled by gtk_init_check below */
+			break;
 		case '?':	/* show terse help */
 		default:
 			show_usage(argv[0], TRUE);
============================================================
--- pidgin/gtkmenutray.h	314e879beed55a3c2c2d52739e6a07a7d129ad93
+++ pidgin/gtkmenutray.h	9618e3afc5faf68aba2acb4078951e506fb72934
@@ -1,8 +1,9 @@
 /**
  * @file gtkmenutray.h GTK+ Tray menu item
  * @ingroup pidgin
- *
- * Pidgin is the legal property of its developers, whose names are too numerous
+ */
+
+/* Pidgin 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.
  *
============================================================
--- pidgin/gtknickcolors.h	2f2cc9907d386d65d3d01d931abf72188d169d8e
+++ pidgin/gtknickcolors.h	24ffa982041917ca056b276ecf973a3464f3c5ad
@@ -1,8 +1,9 @@
 /**
  * @file gtknickcolors.h GTK+ Conversation API
  * @ingroup pidgin
- *
- * pidgin
+ */
+
+/* pidgin
  * Pidgin 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.
============================================================
--- pidgin/gtknotify.c	40e7194455f589580f6b3ddaa3f809c9a1455b46
+++ pidgin/gtknotify.c	885a2b4b39be0cc0b3443b7fd60653f08472b4d0
@@ -1,9 +1,10 @@
 /**
  * @file gtknotify.c GTK+ Notification API
  * @ingroup pidgin
+ */
+
+/* pidgin
  *
- * pidgin
- *
  * Pidgin 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.
@@ -660,30 +661,30 @@ pidgin_notify_searchresults_new_rows(Pur
 	GtkTreeIter iter;
 	GdkPixbuf *pixbuf;
 	guint col_num;
-	guint i;
-	guint j;
+	GList *row, *column;
+	guint n;
 
 	gtk_list_store_clear(data->model);
 
 	pixbuf = pidgin_create_prpl_icon(purple_connection_get_account(gc), 0.5);
 
 	/* +1 is for the automagically created Status column. */
-	col_num = purple_notify_searchresults_get_columns_count(results) + 1;
+	col_num = g_list_length(results->columns) + 1;
 
-	for (i = 0; i < purple_notify_searchresults_get_rows_count(results); i++) {
-		GList *row = purple_notify_searchresults_row_get(results, i);
+	for (row = results->rows; row != NULL; row = row->next) {
 
 		gtk_list_store_append(model, &iter);
 		gtk_list_store_set(model, &iter, 0, pixbuf, -1);
 
-		for (j = 1; j < col_num; j++) {
+		n = 1;
+		for (column = row->data; column != NULL; column = column->next) {
 			GValue v;
-			char *data = g_list_nth_data(row, j - 1);
 
 			v.g_type = 0;
 			g_value_init(&v, G_TYPE_STRING);
-			g_value_set_string(&v, data);
-			gtk_list_store_set_value(model, &iter, j, &v);
+			g_value_set_string(&v, column->data);
+			gtk_list_store_set_value(model, &iter, n, &v);
+			n++;
 		}
 	}
 
@@ -703,6 +704,7 @@ pidgin_notify_searchresults(PurpleConnec
 	GtkListStore *model;
 	GtkCellRenderer *renderer;
 	guint col_num;
+	GList *column;
 	guint i;
 
 	GtkWidget *vbox;
@@ -750,7 +752,7 @@ pidgin_notify_searchresults(PurpleConnec
 	g_free(label_text);
 
 	/* +1 is for the automagically created Status column. */
-	col_num = purple_notify_searchresults_get_columns_count(results) + 1;
+	col_num = g_list_length(results->columns) + 1;
 
 	/* Setup the list model */
 	col_types = g_new0(GType, col_num);
@@ -785,12 +787,13 @@ pidgin_notify_searchresults(PurpleConnec
 	gtk_tree_view_insert_column_with_attributes(GTK_TREE_VIEW(treeview),
 					-1, "", renderer, "pixbuf", 0, NULL);
 
-	for (i = 1; i < col_num; i++) {
+	i = 1;
+	for (column = results->columns; column != NULL; column = column->next) {
 		renderer = gtk_cell_renderer_text_new();
 
 		gtk_tree_view_insert_column_with_attributes(GTK_TREE_VIEW(treeview), -1,
-				purple_notify_searchresults_column_get_title(results, i-1),
-				renderer, "text", i, NULL);
+				column->data, renderer, "text", i, NULL);
+		i++;
 	}
 
 	for (i = 0; i < g_list_length(results->buttons); i++) {
============================================================
--- pidgin/gtknotify.h	9e3cb651a1bb706ee92e6e1c82e2714a8dfb5321
+++ pidgin/gtknotify.h	6e91c939e657d8bf323fcaf31845f27aaa960550
@@ -1,9 +1,10 @@
 /**
  * @file gtknotify.h GTK+ Notification API
  * @ingroup pidgin
+ */
+
+/* pidgin
  *
- * pidgin
- *
  * Pidgin 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.
============================================================
--- pidgin/gtkplugin.c	d9a586161b8cd0c20fd7ab8b8dd816e8fd9f9e8d
+++ pidgin/gtkplugin.c	115e27dac85c3331d65402429794e18b16649078
@@ -1,9 +1,10 @@
 /**
  * @file gtkplugin.c GTK+ Plugins support
  * @ingroup pidgin
+ */
+
+/* pidgin
  *
- * pidgin
- *
  * Pidgin 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.
============================================================
--- pidgin/gtkplugin.h	8d5b95f4624cbd82cfeb2fd5682ae778e69b6cc2
+++ pidgin/gtkplugin.h	d1073df435993f033fe502ad2ede9887e3a2b5f4
@@ -1,9 +1,10 @@
 /**
  * @file gtkplugin.h GTK+ Plugin API
  * @ingroup pidgin
+ */
+
+/* pidgin
  *
- * pidgin
- *
  * Pidgin 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.
============================================================
--- pidgin/gtkpluginpref.c	d12b9dd2a9e2556ff005e85a42e9925696de790d
+++ pidgin/gtkpluginpref.c	bfffd0a0b0b86eaa8c8b10ccd824291463cf4c8a
@@ -1,9 +1,10 @@
 /**
  * @file gtkpluginpref.c GTK+ Plugin preferences
  * @ingroup pidgin
+ */
+
+/* pidgin
  *
- * pidgin
- *
  * Pidgin 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.
============================================================
--- pidgin/gtkpluginpref.h	bee2153f62793988bd317736749b957e26f1f6aa
+++ pidgin/gtkpluginpref.h	4fdf05ffac386acb083dc38e67e8f79f7f084fbd
@@ -1,9 +1,10 @@
 /**
  * @file gtkpluginpref.h GTK+ Plugin Preferences
  * @ingroup pidgin
+ */
+
+/* pidgin
  *
- * pidgin
- *
  * Pidgin 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.
============================================================
--- pidgin/gtkpounce.c	d0b3543d1dade53d721affa3226aa56eab2a81cc
+++ pidgin/gtkpounce.c	e313eb409e685a318f27f960d36fbc7dc8572744
@@ -1,9 +1,10 @@
 /**
  * @file gtkpounce.c GTK+ Buddy Pounce API
  * @ingroup pidgin
+ */
+
+/* pidgin
  *
- * pidgin
- *
  * Pidgin 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.
============================================================
--- pidgin/gtkpounce.h	6857d9e3729bd5b43e7f4cfa15a41249419a3d47
+++ pidgin/gtkpounce.h	cd4359109194b13403c86cff71f2d899783dbf8b
@@ -1,9 +1,10 @@
 /**
  * @file gtkpounce.h GTK+ Buddy Pounce API
  * @ingroup pidgin
+ */
+
+/* pidgin
  *
- * pidgin
- *
  * Pidgin 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.
============================================================
--- pidgin/gtkprefs.c	44aff7beed302febe9574d56c00f74253ee99b6f
+++ pidgin/gtkprefs.c	d5ceef2b9099fc5e1fbc56e9b410bdc2a4e8b41c
@@ -1,9 +1,10 @@
 /**
  * @file gtkprefs.c GTK+ Preferences
  * @ingroup pidgin
+ */
+
+/* pidgin
  *
- * pidgin
- *
  * Pidgin 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.
============================================================
--- pidgin/gtkprefs.h	d8d43dcdee8ab9c0c5aa9b0ee9d9373925ffa5e5
+++ pidgin/gtkprefs.h	a94d912724df09de10791e143098d4d01591bd85
@@ -1,9 +1,10 @@
 /**
  * @file gtkprefs.h GTK+ Preferences
  * @ingroup pidgin
+ */
+
+/* pidgin
  *
- * pidgin
- *
  * Pidgin 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.
============================================================
--- pidgin/gtkprivacy.c	3f1c74bbaa2dd7824400ee4320e48da30d367750
+++ pidgin/gtkprivacy.c	b0b5193ad8500fb172e3aad0014f3da9e01a6cba
@@ -1,9 +1,10 @@
 /**
  * @file gtkprivacy.c GTK+ Privacy UI
  * @ingroup pidgin
+ */
+
+/* pidgin
  *
- * pidgin
- *
  * Pidgin 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.
============================================================
--- pidgin/gtkprivacy.h	310f1d467a7f5f6a3bd8e275a0671026442cb453
+++ pidgin/gtkprivacy.h	ee7810d43aee31107090205dc511cd5959f709ce
@@ -1,9 +1,10 @@
 /**
  * @file gtkprivacy.h GTK+ Privacy UI
  * @ingroup pidgin
+ */
+
+/* pidgin
  *
- * pidgin
- *
  * Pidgin 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.
============================================================
--- pidgin/gtkrequest.c	f4a22340d443a942922bc33edebaa41e2fb6b79b
+++ pidgin/gtkrequest.c	7af6502bb0bcdc77a8f7e8516f13754e3892ea03
@@ -1,9 +1,10 @@
 /**
  * @file gtkrequest.c GTK+ Request API
  * @ingroup pidgin
+ */
+
+/* pidgin
  *
- * pidgin
- *
  * Pidgin 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.
@@ -998,7 +999,6 @@ create_list_field(PurpleRequestField *fi
 
 	/* Create the tree view */
 	treeview = gtk_tree_view_new_with_model(GTK_TREE_MODEL(store));
-	gtk_tree_view_set_rules_hint(GTK_TREE_VIEW(treeview), TRUE);
 	gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(treeview), FALSE);
 
 	sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview));
============================================================
--- pidgin/gtkrequest.h	a0d29ed4c87ca1383e7a0d71383b2e5eb9152c13
+++ pidgin/gtkrequest.h	d03476b60abd09c8ddd17ff13b064e692490dc2d
@@ -1,9 +1,10 @@
 /**
  * @file gtkrequest.h GTK+ Request API
  * @ingroup pidgin
+ */
+
+/* pidgin
  *
- * pidgin
- *
  * Pidgin 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.
============================================================
--- pidgin/gtkroomlist.c	3edbec48684587035e04edc5ecb6aea5b72a1a41
+++ pidgin/gtkroomlist.c	c166792bfbbe579f7756dd50187c39568fd12ce1
@@ -1,9 +1,10 @@
 /**
  * @file gtkroomlist.c GTK+ Room List UI
  * @ingroup pidgin
+ */
+
+/* pidgin
  *
- * pidgin
- *
  * Pidgin 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.
============================================================
--- pidgin/gtkroomlist.h	513270e5ddd3aba96d6194caa4b558a45f2534c9
+++ pidgin/gtkroomlist.h	a7955dc12c37bb57f89d6ca169c96996d70b970a
@@ -1,9 +1,10 @@
 /**
  * @file gtkroomlist.h GTK+ Room List UI
  * @ingroup pidgin
+ */
+
+/* pidgin
  *
- * pidgin
- *
  * Pidgin 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.
============================================================
--- pidgin/gtksavedstatuses.c	1495d32994983a7263ee88dd96f03d611c6d914b
+++ pidgin/gtksavedstatuses.c	7a4f3452a620c7ec95097ec483e216a0945aa839
@@ -1,9 +1,10 @@
 /**
  * @file gtksavedstatus.c GTK+ Saved Status Editor UI
  * @ingroup pidgin
+ */
+
+/* pidgin
  *
- * pidgin
- *
  * Pidgin 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.
============================================================
--- pidgin/gtksavedstatuses.h	199163241481b91d8590076ea45b7837ad8fd1f5
+++ pidgin/gtksavedstatuses.h	53420e1f26d1cbe7278d9c56d234a513ccb6f36b
@@ -1,9 +1,10 @@
 /**
  * @file gtksavedstatuses.h GTK+ Saved Status Editor UI
  * @ingroup pidgin
+ */
+
+/* pidgin
  *
- * pidgin
- *
  * Pidgin 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.
============================================================
--- pidgin/gtkscrollbook.c	9b5e0d7634533c5a3ba972a6cfe125d6b7b6712e
+++ pidgin/gtkscrollbook.c	f9c19ef06b850114fca3c67db3a2b089503239a0
@@ -1,9 +1,10 @@
 /*
  * @file gtkscrollbook.c GTK+ Scrolling notebook widget 
  * @ingroup pidgin
+ */
+
+/* pidgin
  *
- * pidgin
- *
  * Pidgin 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.
============================================================
--- pidgin/gtkscrollbook.h	b7622468802b048423bf91bd8e9f43decd471bb6
+++ pidgin/gtkscrollbook.h	20613d163ce0b07eb6cf55d1f8eb27889d694c75
@@ -1,9 +1,10 @@
 /*
  * @file gtkscrollbook  GTK+ Scrolling notebook Widget
  * @ingroup pidgin
+ */
+
+/* pidgin
  *
- * pidgin
- *
  * Pidgin 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.
============================================================
--- pidgin/gtksession.c	8575bfddb8bcb141f0335b2f5df9b0cf224e9dfe
+++ pidgin/gtksession.c	2d2235d6bd20fb972d4366b7af06f04783ed5dd3
@@ -1,8 +1,9 @@
 /*
  * @file gtksession.c X Windows session management API
  * @ingroup pidgin
- *
- * Pidgin is the legal property of its developers, whose names are too numerous
+ */
+
+/* Pidgin 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.
  *
@@ -35,6 +36,7 @@
 #include <gdk/gdkx.h>
 #include <unistd.h>
 #include <fcntl.h>
+#include <gdk/gdk.h>
 
 #define ERROR_LENGTH 512
 
@@ -140,7 +142,7 @@ static gchar **session_make_command(gcha
 /* my magic utility function */
 
 static gchar **session_make_command(gchar *client_id, gchar *config_dir) {
-	gint i = 2;
+	gint i = 4;
 	gint j = 0;
 	gchar **ret;
 
@@ -160,6 +162,9 @@ static gchar **session_make_command(gcha
 		ret[j++] = g_strdup(config_dir);
 	}
 
+	ret[j++] = g_strdup("--display");
+	ret[j++] = g_strdup((gchar *)gdk_display_get_name(gdk_display_get_default()));
+
 	ret[j++] = NULL;
 
 	return ret;
============================================================
--- pidgin/gtksession.h	ae692bf6d6924ddaeb3f3ae58dd3cf7eb0ddaa72
+++ pidgin/gtksession.h	b7570ffab248790e7c931745a8611675c5d5ee76
@@ -1,9 +1,10 @@
 /**
  * @file gtksession.h X Windows session management API
  * @ingroup pidgin
+ */
+
+/* pidgin
  *
- * pidgin
- *
  * Pidgin 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.
============================================================
--- pidgin/gtksound.c	378bcedd3dd98882390a06af0f2ca1a00b8cdeeb
+++ pidgin/gtksound.c	633723aaaf41231761b0bfa6674668e685d56066
@@ -1,9 +1,10 @@
 /*
  * @file gtksound.c GTK+ Sound
  * @ingroup pidgin
+ */
+
+/* pidgin
  *
- * pidgin
- *
  * Pidgin 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.
============================================================
--- pidgin/gtksound.h	49571193c1c5767a1c72141de7285b2f73abaf41
+++ pidgin/gtksound.h	4006ee765aeee147347b96d135888375a3ec4aad
@@ -1,9 +1,10 @@
 /**
  * @file gtksound.h GTK+ Sound API
  * @ingroup pidgin
+ */
+
+/* pidgin
  *
- * pidgin
- *
  * Pidgin 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.
============================================================
--- pidgin/gtkstatusbox.c	546f13d002fb5290bab3ef2d39ae058c68f2b698
+++ pidgin/gtkstatusbox.c	0159519a9e593047e9a0495847b9e78f56a95c28
@@ -1,9 +1,10 @@
 /*
  * @file gtkstatusbox.c GTK+ Status Selection Widget
  * @ingroup pidgin
+ */
+
+/* pidgin
  *
- * pidgin
- *
  * Pidgin 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.
============================================================
--- pidgin/gtkstatusbox.h	908f66370575eb7ed998893f6952f089c7a20506
+++ pidgin/gtkstatusbox.h	45ad817469cd9230a169bff22f78363f1c1deb32
@@ -1,9 +1,10 @@
 /*
  * @file gtkstatusbox.c GTK+ Status Selection Widget
  * @ingroup pidgin
+ */
+
+/* pidgin
  *
- * pidgin
- *
  * Pidgin 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.
============================================================
--- pidgin/gtkthemes.h	5ce513ed60f80af928fc0b36239cfb0fa2109fbc
+++ pidgin/gtkthemes.h	af5b0d12647090de57148cf520133760e903e8b3
@@ -1,9 +1,10 @@
 /**
  * @file gtkthemes.h GTK+ Smiley Theme API
  * @ingroup pidgin
+ */
+
+/* pidgin
  *
- * pidgin
- *
  * Pidgin 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.
============================================================
--- pidgin/gtkutils.c	f2fae2a3917d9aea5130a2d70aeb653719a16465
+++ pidgin/gtkutils.c	54262f3bbd7b4bd91058bbe6cde4cca6e97156c8
@@ -1,9 +1,10 @@
 /**
  * @file gtkutils.c GTK+ utility functions
  * @ingroup pidgin
+ */
+
+/* pidgin
  *
- * pidgin
- *
  * Pidgin 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.
============================================================
--- pidgin/gtkutils.h	a12604d8571e1bf908cb2668400074d1a7733d64
+++ pidgin/gtkutils.h	ffab4ceee95e4d1eed8702e0ddf0821f1f06894a
@@ -1,9 +1,10 @@
 /**
  * @file gtkutils.h GTK+ utility functions
  * @ingroup pidgin
+ */
+
+/* pidgin
  *
- * pidgin
- *
  * Pidgin 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.
============================================================
--- pidgin/gtkwhiteboard.h	7613964fa4510244ee207af447d06490562ca6ab
+++ pidgin/gtkwhiteboard.h	6cb904c7e3deb11c432b82fa674357d2609befbb
@@ -1,8 +1,9 @@
 /**
  * @file gtkwhiteboard.h The PidginWhiteboard frontend object
+ */
+
+/* pidgin
  *
- * pidgin
- *
  * Pidgin 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.
============================================================
--- pidgin/pidgin.h	ae2a16e5bd348c435fd5a9cbc71f7ef7a086177e
+++ pidgin/pidgin.h	8ee30d5d74d894e22fa2759aedd923ac1460082f
@@ -1,9 +1,10 @@
 /**
  * @file pidgin.h UI definitions and includes
  * @ingroup pidgin
+ */
+
+/* pidgin
  *
- * pidgin
- *
  * Pidgin 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.
@@ -26,12 +27,12 @@
 #ifndef _PIDGIN_H_
 #define _PIDGIN_H_
 
+#include <gtk/gtk.h>
+
 #ifdef GDK_WINDOWING_X11
 # include <gdk/gdkx.h>
 #endif
 
-#include <gtk/gtk.h>
-
 #ifdef _WIN32
 # include "gtkwin32dep.h"
 #endif
============================================================
--- pidgin/pidginstock.c	2fd3b78a0ed71300f800b9c2c3aa3c76aa18f089
+++ pidgin/pidginstock.c	a1a460cffd8fa050434e5402f4800f561f2528c5
@@ -1,9 +1,10 @@
 /**
  * @file pidginstock.c GTK+ Stock resources
  * @ingroup pidgin
+ */
+
+/* pidgin
  *
- * pidgin
- *
  * Pidgin 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.
============================================================
--- pidgin/pidginstock.h	af5b3887c296d3ef0dc9e06ff946fe66938f125a
+++ pidgin/pidginstock.h	cebcad7166aead1bf5a44b5ad7d2f40ebda98618
@@ -1,9 +1,10 @@
 /**
  * @file pidginstock.h GTK+ Stock resources
  * @ingroup pidgin
+ */
+
+/* pidgin
  *
- * pidgin
- *
  * Pidgin 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.
============================================================
--- pidgin/plugins/history.c	b91c6020a0a398c3cf9067b76d5ee66222ae4165
+++ pidgin/plugins/history.c	9c684847cf306c078cd215d71546fefefd5642ae
@@ -45,6 +45,9 @@ static void historize(PurpleConversation
 
 	convtype = purple_conversation_get_type(c);
 	gtkconv = PIDGIN_CONVERSATION(c);
+	if (gtkconv == NULL)
+		return;
+
 	if (convtype == PURPLE_CONV_TYPE_IM && g_list_length(gtkconv->convs) < 2)
 	{
 		GSList *buddies;
@@ -163,6 +166,7 @@ plugin_load(PurplePlugin *plugin)
 	purple_signal_connect(purple_conversations_get_handle(),
 						"conversation-created",
 						plugin, PURPLE_CALLBACK(historize), NULL);
+	/* XXX: Do we want to listen to pidgin's "conversation-displayed" signal? */
 
 	purple_prefs_connect_callback(plugin, "/purple/logging/log_ims",
 								history_prefs_cb, plugin);
-------------- next part --------------
#
#
# patch "libpurple/connection.c"
#  from [a17379445ce104d6a9bf06d11a027ce977bbcd7f]
#    to [249acfb69b16e885e40f6030d2ebcec00643ca73]
# 
# patch "libpurple/connection.h"
#  from [c74ac3e93caa7aa1b1f3a9c9a94c1a1c0e2d93d5]
#    to [43d82856db7441c1391b6282a11be7b9e43fa14d]
# 
# patch "pidgin/gtkconn.c"
#  from [72562519312af27875f6cc4de957668eb9d05d79]
#    to [34977775fe5a89fe5e67762f2fc0711d0dadcdd0]
#
============================================================
--- libpurple/connection.c	a17379445ce104d6a9bf06d11a027ce977bbcd7f
+++ libpurple/connection.c	249acfb69b16e885e40f6030d2ebcec00643ca73
@@ -488,28 +488,69 @@ purple_connection_error(PurpleConnection
 void
 purple_connection_error(PurpleConnection *gc, const char *text)
 {
+	purple_connection_error_reason (gc, PURPLE_REASON_OTHER_ERROR, text);
+}
+
+void
+purple_connection_error_reason (PurpleConnection *gc,
+                                PurpleDisconnectReason reason,
+                                const char *description)
+{
 	PurpleConnectionUiOps *ops;
 
 	g_return_if_fail(gc   != NULL);
 
-	if (text == NULL) {
-		purple_debug_error("connection", "purple_connection_error: check `text != NULL' failed\n");
-		text = _("Unknown error");
+	if (description == NULL) {
+		purple_debug_error("connection", "purple_connection_error_reason: check `description != NULL' failed\n");
+		description = _("Unknown error");
 	}
 
+	g_assert (reason < PURPLE_NUM_REASONS);
+
 	/* If we've already got one error, we don't need any more */
 	if (gc->disconnect_timeout)
 		return;
 
 	ops = purple_connections_get_ui_ops();
 
-	if (ops != NULL && ops->report_disconnect != NULL)
-		ops->report_disconnect(gc, text);
+	if (ops != NULL)
+	{
+		if (ops->report_disconnect_reason != NULL)
+			ops->report_disconnect_reason (gc, reason, description);
+		if (ops->report_disconnect != NULL)
+			ops->report_disconnect (gc, description);
+	}
 
 	gc->disconnect_timeout = purple_timeout_add(0, purple_connection_disconnect_cb,
 			purple_connection_get_account(gc));
 }
 
+gboolean
+purple_connection_reason_is_fatal (PurpleDisconnectReason reason)
+{
+	switch (reason)
+	{
+		case PURPLE_REASON_NETWORK_ERROR:
+			return FALSE;
+		case PURPLE_REASON_AUTHENTICATION_FAILED:
+		case PURPLE_REASON_ENCRYPTION_ERROR:
+		case PURPLE_REASON_NAME_IN_USE:
+		case PURPLE_REASON_CERT_NOT_PROVIDED:
+		case PURPLE_REASON_CERT_UNTRUSTED:
+		case PURPLE_REASON_CERT_EXPIRED:
+		case PURPLE_REASON_CERT_NOT_ACTIVATED:
+		case PURPLE_REASON_CERT_HOSTNAME_MISMATCH:
+		case PURPLE_REASON_CERT_FINGERPRINT_MISMATCH:
+		case PURPLE_REASON_CERT_SELF_SIGNED:
+		case PURPLE_REASON_CERT_OTHER_ERROR:
+		case PURPLE_REASON_OTHER_ERROR:
+			return TRUE;
+		default:
+			g_assert_not_reached ();
+			return TRUE;
+	}
+}
+
 void
 purple_connections_disconnect_all(void)
 {
============================================================
--- libpurple/connection.h	c74ac3e93caa7aa1b1f3a9c9a94c1a1c0e2d93d5
+++ libpurple/connection.h	43d82856db7441c1391b6282a11be7b9e43fa14d
@@ -55,6 +55,52 @@ typedef enum
 
 } PurpleConnectionState;
 
+/** Possible errors that can cause a connection to be closed. */
+typedef enum
+{
+	/** There was an error sending or receiving on the network socket. */
+	PURPLE_REASON_NETWORK_ERROR = 0,
+	/** The username or password was invalid. */
+	PURPLE_REASON_AUTHENTICATION_FAILED,
+	/** There was an error negotiating SSL on this connection, or encryption
+	 *  was unavailable and an account option was set to require it.
+	 */
+	PURPLE_REASON_ENCRYPTION_ERROR,
+	/** Someone is already connected to the server using the name you are
+	 *  trying to connect with.
+	 */
+	PURPLE_REASON_NAME_IN_USE,
+
+	/** The server did not provide a SSL certificate. */
+	PURPLE_REASON_CERT_NOT_PROVIDED,
+	/** The server's SSL certificate could not be trusted. */
+	PURPLE_REASON_CERT_UNTRUSTED,
+	/** The server's SSL certificate has expired. */
+	PURPLE_REASON_CERT_EXPIRED,
+	/** The server's SSL certificate is not yet valid. */
+	PURPLE_REASON_CERT_NOT_ACTIVATED,
+	/** The server's SSL certificate did not match its hostname. */
+	PURPLE_REASON_CERT_HOSTNAME_MISMATCH,
+	/** The server's SSL certificate does not have the expected
+	 *  fingerprint.
+	 */
+	PURPLE_REASON_CERT_FINGERPRINT_MISMATCH,
+	/** The server's SSL certificate is self-signed.  */
+	PURPLE_REASON_CERT_SELF_SIGNED,
+	/** There was some other error validating the server's SSL certificate.
+	 */
+	PURPLE_REASON_CERT_OTHER_ERROR,
+
+	/** Some other error occured which fits into none of the other
+	 *  categories.
+	 */
+	PURPLE_REASON_OTHER_ERROR,
+
+	/** The number of PurpleDisconnectReason elements; not a valid reason.
+	 */
+	PURPLE_NUM_REASONS
+} PurpleDisconnectReason;
+
 #include <time.h>
 
 #include "account.h"
@@ -74,11 +120,13 @@ typedef struct
 	 *  the UI of what is happening, as well as which @a step out of @a
 	 *  step_count has been reached (which might be displayed as a progress
 	 *  bar).
+	 *  @see #purple_connection_update_progress
 	 */
 	void (*connect_progress)(PurpleConnection *gc,
 	                         const char *text,
 	                         size_t step,
 	                         size_t step_count);
+
 	/** Called when a connection is established (just before the
 	 *  @ref signed-on signal).
 	 */
@@ -87,17 +135,23 @@ typedef struct
 	 *  and @ref signed-off signals).
 	 */
 	void (*disconnected)(PurpleConnection *gc);
+
 	/** Used to display connection-specific notices.  (Pidgin's Gtk user
 	 *  interface implements this as a no-op; #purple_connection_notice(),
 	 *  which uses this operation, is not used by any of the protocols
 	 *  shipped with libpurple.)
 	 */
 	void (*notice)(PurpleConnection *gc, const char *text);
+
 	/** Called when an error causes a connection to be disconnected.
 	 *  Called before #disconnected.
 	 *  @param text  a localized error message.
+	 *  @see #purple_connection_error
+	 *  @deprecated in favour of
+	 *              #PurpleConnectionUiOps.report_disconnect_reason.
 	 */
 	void (*report_disconnect)(PurpleConnection *gc, const char *text);
+
 	/** Called when libpurple discovers that the computer's network
 	 *  connection is active.  On Linux, this uses Network Manager if
 	 *  available; on Windows, it uses Win32's network change notification
@@ -109,10 +163,21 @@ typedef struct
 	 */
 	void (*network_disconnected)();
 
+	/** Called when a connection is disconnected, whether due to an
+	 *  error or to user request.  Called before #disconnected.
+	 *  @param reason  why the connection ended, if known, or
+	 *                 PURPLE_REASON_OTHER_ERROR, if not.
+	 *  @param text  a localized message describing the disconnection
+	 *               in more detail to the user.
+	 *  @see #purple_connection_error_reason
+	 */
+	void (*report_disconnect_reason)(PurpleConnection *gc,
+	                                 PurpleDisconnectReason reason,
+	                                 const char *text);
+
 	void (*_purple_reserved1)(void);
 	void (*_purple_reserved2)(void);
 	void (*_purple_reserved3)(void);
-	void (*_purple_reserved4)(void);
 } PurpleConnectionUiOps;
 
 struct _PurpleConnection
@@ -290,9 +355,44 @@ void purple_connection_notice(PurpleConn
  *
  * @param gc     The connection.
  * @param reason The error text.
+ * @deprecated in favour of #purple_connection_error_reason.  Calling
+ *  @c purple_connection_error(gc, text) is equivalent to calling
+ *  @c purple_connection_error_reason(gc, PURPLE_REASON_OTHER_ERROR, text).
  */
 void purple_connection_error(PurpleConnection *gc, const char *reason);
 
+/**
+ * Closes a connection with an error and an optional description of the
+ * error.
+ *
+ * @param reason      why the connection is closing.
+ * @param description a localized description of the error.
+ */
+void
+purple_connection_error_reason (PurpleConnection *gc,
+                                PurpleDisconnectReason reason,
+                                const char *description);
+
+/**
+ * Reports whether a disconnection reason is fatal (in which case the account
+ * should probably not be automatically reconnected) or transient (so
+ * auto-reconnection is a good idea.
+ * For instance, #PURPLE_REASON_NETWORK_ERROR is a temporary
+ * error, which might be caused by losing the network connection, so
+ * @a purple_connection_reason_is_fatal(PURPLE_REASON_NETWORK_ERROR) is
+ * @a FALSE.  On the other hand, #PURPLE_REASON_AUTHENTICATION_FAILED probably
+ * indicates a misconfiguration of the account which needs the user to go fix
+ * it up, so @a
+ * purple_connection_reason_is_fatal(PURPLE_REASON_AUTHENTICATION_FAILED)
+ * is @a TRUE.
+ *
+ * (This function is meant to replace checking PurpleConnection.wants_to_die.)
+ *
+ * @return @a TRUE iff automatic reconnection is a bad idea.
+ */
+gboolean
+purple_connection_reason_is_fatal (PurpleDisconnectReason reason);
+
 /*@}*/
 
 /**************************************************************************/
============================================================
--- pidgin/gtkconn.c	72562519312af27875f6cc4de957668eb9d05d79
+++ pidgin/gtkconn.c	34977775fe5a89fe5e67762f2fc0711d0dadcdd0
@@ -42,6 +42,7 @@
 #define INITIAL_RECON_DELAY_MAX 60000
 
 #define MAX_RECON_DELAY 600000
+#define MAX_RACCOON_DELAY "shorter in urban areas"
 
 typedef struct {
 	int delay;
@@ -137,7 +138,9 @@ static void
 }
 
 static void
-pidgin_connection_report_disconnect(PurpleConnection *gc, const char *text)
+pidgin_connection_report_disconnect_reason (PurpleConnection *gc,
+                                            PurpleDisconnectReason reason,
+                                            const char *text)
 {
 	PurpleAccount *account = NULL;
 	PidginAutoRecon *info;
@@ -146,7 +149,7 @@ pidgin_connection_report_disconnect(Purp
 	info = g_hash_table_lookup(auto_reconns, account);
 
 	pidgin_blist_update_account_error_state(account, text);
-	if (!gc->wants_to_die) {
+	if (!purple_connection_reason_is_fatal (reason)) {
 		if (info == NULL) {
 			info = g_new0(PidginAutoRecon, 1);
 			g_hash_table_insert(auto_reconns, account, info);
@@ -247,12 +250,12 @@ static PurpleConnectionUiOps conn_ui_ops
 	pidgin_connection_connected,
 	pidgin_connection_disconnected,
 	pidgin_connection_notice,
-	pidgin_connection_report_disconnect,
+	NULL, /* report_disconnect */
 	pidgin_connection_network_connected,
 	pidgin_connection_network_disconnected,
+	pidgin_connection_report_disconnect_reason,
 	NULL,
 	NULL,
-	NULL,
 	NULL
 };
 


More information about the Commits mailing list