You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(106) |
Oct
(334) |
Nov
(246) |
Dec
(145) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(42) |
Feb
(53) |
Mar
(232) |
Apr
(109) |
May
(137) |
Jun
(63) |
Jul
(26) |
Aug
(263) |
Sep
(193) |
Oct
(507) |
Nov
(440) |
Dec
(241) |
2003 |
Jan
(567) |
Feb
(195) |
Mar
(504) |
Apr
(481) |
May
(524) |
Jun
(522) |
Jul
(594) |
Aug
(502) |
Sep
(643) |
Oct
(508) |
Nov
(430) |
Dec
(377) |
2004 |
Jan
(361) |
Feb
(251) |
Mar
(219) |
Apr
(499) |
May
(461) |
Jun
(419) |
Jul
(314) |
Aug
(519) |
Sep
(416) |
Oct
(247) |
Nov
(305) |
Dec
(382) |
2005 |
Jan
(267) |
Feb
(282) |
Mar
(327) |
Apr
(338) |
May
(189) |
Jun
(400) |
Jul
(462) |
Aug
(530) |
Sep
(316) |
Oct
(523) |
Nov
(481) |
Dec
(650) |
2006 |
Jan
(536) |
Feb
(361) |
Mar
(287) |
Apr
(146) |
May
(101) |
Jun
(169) |
Jul
(221) |
Aug
(498) |
Sep
(300) |
Oct
(236) |
Nov
(209) |
Dec
(205) |
2007 |
Jan
(30) |
Feb
(23) |
Mar
(26) |
Apr
(15) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <rl...@us...> - 2006-11-07 22:52:03
|
Revision: 17699 http://svn.sourceforge.net/gaim/?rev=17699&view=rev Author: rlaager Date: 2006-11-07 14:51:58 -0800 (Tue, 07 Nov 2006) Log Message: ----------- The documentation for g_utf8_collate_key() says to use strcmp(), so we should do that. Modified Paths: -------------- trunk/gtk/gtkconv.c Modified: trunk/gtk/gtkconv.c =================================================================== --- trunk/gtk/gtkconv.c 2006-11-07 20:40:22 UTC (rev 17698) +++ trunk/gtk/gtkconv.c 2006-11-07 22:51:58 UTC (rev 17699) @@ -3765,7 +3765,7 @@ } else if (buddy1 != buddy2) { ret = (buddy1 > buddy2) ? -1 : 1; } else { - ret = strcasecmp(user1, user2); + ret = strcmp(user1, user2); } g_free(user1); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rl...@us...> - 2006-11-07 20:41:07
|
Revision: 17698 http://svn.sourceforge.net/gaim/?rev=17698&view=rev Author: rlaager Date: 2006-11-07 12:40:22 -0800 (Tue, 07 Nov 2006) Log Message: ----------- Add extern "C" guards to header files which are missing it. This should fix problems similar to SF Bug #1592175. Also, while I was at it, I made the _GaimStringref definition private. It already had a warning to not use it directly, so it should really be safe to make private. Modified Paths: -------------- trunk/libgaim/dnssrv.h trunk/libgaim/mime.h trunk/libgaim/ntlm.h trunk/libgaim/status.h trunk/libgaim/stringref.c trunk/libgaim/stringref.h trunk/libgaim/stun.h trunk/libgaim/xmlnode.h Modified: trunk/libgaim/dnssrv.h =================================================================== --- trunk/libgaim/dnssrv.h 2006-11-07 19:54:02 UTC (rev 17697) +++ trunk/libgaim/dnssrv.h 2006-11-07 20:40:22 UTC (rev 17698) @@ -23,6 +23,10 @@ #ifndef _GAIM_DNSSRV_H #define _GAIM_DNSSRV_H +#ifdef __cplusplus +extern "C" { +#endif + typedef struct _GaimSrvResponse GaimSrvResponse; typedef struct _GaimSrvQueryData GaimSrvQueryData; @@ -53,4 +57,8 @@ */ void gaim_srv_cancel(GaimSrvQueryData *query_data); +#ifdef __cplusplus +} +#endif + #endif /* _GAIM_DNSSRV_H */ Modified: trunk/libgaim/mime.h =================================================================== --- trunk/libgaim/mime.h 2006-11-07 19:54:02 UTC (rev 17697) +++ trunk/libgaim/mime.h 2006-11-07 20:40:22 UTC (rev 17698) @@ -27,6 +27,10 @@ #include <glib.h> #include <glib/glist.h> +#ifdef __cplusplus +extern "C" { +#endif + /** * @file mime.h * @ingroup core @@ -208,4 +212,8 @@ void gaim_mime_part_set_data(GaimMimePart *part, const char *data); +#ifdef __cplusplus +} #endif + +#endif Modified: trunk/libgaim/ntlm.h =================================================================== --- trunk/libgaim/ntlm.h 2006-11-07 19:54:02 UTC (rev 17697) +++ trunk/libgaim/ntlm.h 2006-11-07 20:40:22 UTC (rev 17698) @@ -26,6 +26,10 @@ #ifndef _GAIM_NTLM_H #define _GAIM_NTLM_H +#ifdef __cplusplus +extern "C" { +#endif + /** * Generates the base64 encoded type 1 message needed for NTLM authentication * @@ -61,4 +65,8 @@ */ gchar *gaim_ntlm_gen_type3(const gchar *username, const gchar *passw, const gchar *hostname, const gchar *domain, const guint8 *nonce, guint32 *flags); +#ifdef __cplusplus +} +#endif + #endif /* _GAIM_NTLM_H */ Modified: trunk/libgaim/status.h =================================================================== --- trunk/libgaim/status.h 2006-11-07 19:54:02 UTC (rev 17697) +++ trunk/libgaim/status.h 2006-11-07 20:40:22 UTC (rev 17698) @@ -113,6 +113,10 @@ #include "conversation.h" #include "value.h" +#ifdef __cplusplus +extern "C" { +#endif + /**************************************************************************/ /** @name GaimStatusPrimitive API */ /**************************************************************************/ Modified: trunk/libgaim/stringref.c =================================================================== --- trunk/libgaim/stringref.c 2006-11-07 19:54:02 UTC (rev 17697) +++ trunk/libgaim/stringref.c 2006-11-07 20:40:22 UTC (rev 17698) @@ -32,6 +32,27 @@ #include "debug.h" #include "stringref.h" +/** + * The internal representation of a stringref. + * + * @note For this structure to be useful, the string contained within + * it must be immutable -- for this reason, do _not_ access it + * directly! + */ +struct _GaimStringref { + guint32 ref; /**< The reference count of this string. + * Note that reference counts are only + * 31 bits, and the high-order bit + * indicates whether this string is up + * for GC at the next idle handler... + * But you aren't going to touch this + * anyway, right? */ + char value[1]; /**< The string contained in this ref. + * Notice that it is simply "hanging + * off the end" of the ref ... this + * is to save an allocation. */ +}; + #define REFCOUNT(x) ((x) & 0x7fffffff) static GList *gclist = NULL; Modified: trunk/libgaim/stringref.h =================================================================== --- trunk/libgaim/stringref.h 2006-11-07 19:54:02 UTC (rev 17697) +++ trunk/libgaim/stringref.h 2006-11-07 20:40:22 UTC (rev 17698) @@ -26,27 +26,12 @@ #ifndef _GAIM_STRINGREF_H_ #define _GAIM_STRINGREF_H_ -/** - * The internal representation of a stringref. - * - * @note For this structure to be useful, the string contained within - * it must be immutable -- for this reason, do _not_ access it - * directly! - */ -typedef struct _GaimStringref { - guint32 ref; /**< The reference count of this string. - * Note that reference counts are only - * 31 bits, and the high-order bit - * indicates whether this string is up - * for GC at the next idle handler... - * But you aren't going to touch this - * anyway, right? */ - char value[1]; /**< The string contained in this ref. - * Notice that it is simply "hanging - * off the end" of the ref ... this - * is to save an allocation. */ -} GaimStringref; +#ifdef __cplusplus +extern "C" { +#endif +typedef struct _GaimStringref GaimStringref; + /** * Creates an immutable reference-counted string object. The newly * created object will have a reference count of 1. @@ -143,4 +128,8 @@ */ size_t gaim_stringref_len(const GaimStringref *stringref); +#ifdef __cplusplus +} +#endif + #endif /* _GAIM_STRINGREF_H_ */ Modified: trunk/libgaim/stun.h =================================================================== --- trunk/libgaim/stun.h 2006-11-07 19:54:02 UTC (rev 17697) +++ trunk/libgaim/stun.h 2006-11-07 20:40:22 UTC (rev 17698) @@ -25,6 +25,10 @@ #ifndef _GAIM_STUN_H_ #define _GAIM_STUN_H_ +#ifdef __cplusplus +extern "C" { +#endif + /**************************************************************************/ /** @name STUN API */ /**************************************************************************/ @@ -76,4 +80,8 @@ /*@}*/ +#ifdef __cplusplus +} +#endif + #endif /* _GAIM_STUN_H_ */ Modified: trunk/libgaim/xmlnode.h =================================================================== --- trunk/libgaim/xmlnode.h 2006-11-07 19:54:02 UTC (rev 17697) +++ trunk/libgaim/xmlnode.h 2006-11-07 20:40:22 UTC (rev 17698) @@ -25,6 +25,10 @@ #ifndef _GAIM_XMLNODE_H_ #define _GAIM_XMLNODE_H_ +#ifdef __cplusplus +extern "C" { +#endif + /** * The valid types for an xmlnode */ @@ -224,4 +228,8 @@ */ void xmlnode_free(xmlnode *node); +#ifdef __cplusplus +} +#endif + #endif /* _GAIM_XMLNODE_H_ */ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dat...@us...> - 2006-11-07 19:54:17
|
Revision: 17697 http://svn.sourceforge.net/gaim/?rev=17697&view=rev Author: datallah Date: 2006-11-07 11:54:02 -0800 (Tue, 07 Nov 2006) Log Message: ----------- wrap functions in extern "C" on when compiling using a C++ compiler Modified Paths: -------------- trunk/libgaim/savedstatuses.h Modified: trunk/libgaim/savedstatuses.h =================================================================== --- trunk/libgaim/savedstatuses.h 2006-11-07 17:52:01 UTC (rev 17696) +++ trunk/libgaim/savedstatuses.h 2006-11-07 19:54:02 UTC (rev 17697) @@ -58,6 +58,10 @@ #include "status.h" +#ifdef __cplusplus +extern "C" { +#endif + /**************************************************************************/ /** @name Saved status subsystem */ /**************************************************************************/ @@ -405,4 +409,8 @@ /*@}*/ +#ifdef __cplusplus +} +#endif + #endif /* _GAIM_SAVEDSTATUSES_H_ */ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <the...@us...> - 2006-11-07 17:52:29
|
Revision: 17696 http://svn.sourceforge.net/gaim/?rev=17696&view=rev Author: thekingant Date: 2006-11-07 09:52:01 -0800 (Tue, 07 Nov 2006) Log Message: ----------- sf patch #1592081, from Stanislav Brabec "fix of possible crash (access memory after g_slist_remove())" Modified Paths: -------------- trunk/libgaim/protocols/novell/nmuser.c Modified: trunk/libgaim/protocols/novell/nmuser.c =================================================================== --- trunk/libgaim/protocols/novell/nmuser.c 2006-11-07 07:21:27 UTC (rev 17695) +++ trunk/libgaim/protocols/novell/nmuser.c 2006-11-07 17:52:01 UTC (rev 17696) @@ -1526,9 +1526,9 @@ for (node = list; node; node = node->next) { if (nm_utf8_str_equal(nm_user_record_get_dn(user_record), (const char *) node->data)) { + g_free(node->data); list = g_slist_remove(list, node->data); nm_request_set_user_define(request, list); - g_free(node->data); break; } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <the...@us...> - 2006-11-07 07:21:39
|
Revision: 17695 http://svn.sourceforge.net/gaim/?rev=17695&view=rev Author: thekingant Date: 2006-11-06 23:21:27 -0800 (Mon, 06 Nov 2006) Log Message: ----------- Get rid of an assertion failure when quiting Gaim when hidden. The docklet needs to be uninit before the blist Modified Paths: -------------- trunk/gtk/gtkmain.c Modified: trunk/gtk/gtkmain.c =================================================================== --- trunk/gtk/gtkmain.c 2006-11-07 07:13:34 UTC (rev 17694) +++ trunk/gtk/gtkmain.c 2006-11-07 07:21:27 UTC (rev 17695) @@ -310,8 +310,8 @@ /* Uninit */ gaim_gtk_conversations_uninit(); gaim_gtk_status_uninit(); + gaim_gtk_docklet_uninit(); gaim_gtk_blist_uninit(); - gaim_gtk_docklet_uninit(); gaim_gtk_connection_uninit(); gaim_gtk_account_uninit(); gaim_gtk_xfers_uninit(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <the...@us...> - 2006-11-07 07:13:42
|
Revision: 17694 http://svn.sourceforge.net/gaim/?rev=17694&view=rev Author: thekingant Date: 2006-11-06 23:13:34 -0800 (Mon, 06 Nov 2006) Log Message: ----------- A note! Modified Paths: -------------- trunk/libgaim/protocols/irc/parse.c Modified: trunk/libgaim/protocols/irc/parse.c =================================================================== --- trunk/libgaim/protocols/irc/parse.c 2006-11-07 07:04:41 UTC (rev 17693) +++ trunk/libgaim/protocols/irc/parse.c 2006-11-07 07:13:34 UTC (rev 17694) @@ -536,6 +536,13 @@ guint i; irc->recv_time = time(NULL); + + /* + * ari seems to think that we should convert input to UTF8 before + * emitting it with the signal. Mark Doliner doesn't know if that + * would be an improvement or not, so he decided to put this + * comment here so that people in the future can decide. + */ gaim_signal_emit(_irc_plugin, "irc-receiving-text", gaim_account_get_connection(irc->account), &input); if (!strncmp(input, "PING ", 5)) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <the...@us...> - 2006-11-07 07:05:15
|
Revision: 17693 http://svn.sourceforge.net/gaim/?rev=17693&view=rev Author: thekingant Date: 2006-11-06 23:04:41 -0800 (Mon, 06 Nov 2006) Log Message: ----------- Make sure we send the "starting to edit your buddylist" snac. I thought this would make it so we wouldn't need to re-request authorization when moving someone between groups, but it doesn't. I don't know what the deal is with that. Modified Paths: -------------- trunk/libgaim/protocols/oscar/family_feedbag.c trunk/libgaim/protocols/oscar/oscar.h Modified: trunk/libgaim/protocols/oscar/family_feedbag.c =================================================================== --- trunk/libgaim/protocols/oscar/family_feedbag.c 2006-11-07 05:52:41 UTC (rev 17692) +++ trunk/libgaim/protocols/oscar/family_feedbag.c 2006-11-07 07:04:41 UTC (rev 17693) @@ -565,9 +565,18 @@ /* We're out of stuff to do, so tell the AIM servers we're done and exit */ if (!od->ssi.pending) { aim_ssi_modend(od); + od->ssi.in_transaction = FALSE; return 0; } + /* If this is the first in a series of add/mod/del + * requests then send the "begin transaction" message. */ + if (!od->ssi.in_transaction) + { + aim_ssi_modbegin(od); + od->ssi.in_transaction = TRUE; + } + /* Make sure we don't send anything else between now * and when we receive the ack for the following operation */ od->ssi.waiting_for_ack = TRUE; Modified: trunk/libgaim/protocols/oscar/oscar.h =================================================================== --- trunk/libgaim/protocols/oscar/oscar.h 2006-11-07 05:52:41 UTC (rev 17692) +++ trunk/libgaim/protocols/oscar/oscar.h 2006-11-07 07:04:41 UTC (rev 17693) @@ -490,6 +490,7 @@ struct aim_ssi_tmp *pending; time_t timestamp; gboolean waiting_for_ack; + gboolean in_transaction; } ssi; /* TODO: Implement this as a HashTable for HUGE speed improvement! */ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rl...@us...> - 2006-11-07 05:52:52
|
Revision: 17692 http://svn.sourceforge.net/gaim/?rev=17692&view=rev Author: rlaager Date: 2006-11-06 21:52:41 -0800 (Mon, 06 Nov 2006) Log Message: ----------- Change a couple of protocols to use the more common "Incorrect password." string. The Novell prpl has an "Invalid password" string, which probably means the same thing, but I'm not 100% sure. Ideally, we'd get that changed, too. Modified Paths: -------------- trunk/libgaim/protocols/qq/login_logout.c trunk/libgaim/protocols/simple/simple.c Modified: trunk/libgaim/protocols/qq/login_logout.c =================================================================== --- trunk/libgaim/protocols/qq/login_logout.c 2006-11-07 02:59:24 UTC (rev 17691) +++ trunk/libgaim/protocols/qq/login_logout.c 2006-11-07 05:52:41 UTC (rev 17692) @@ -476,7 +476,7 @@ switch (ret) { case QQ_LOGIN_REPLY_PWD_ERROR: gc->wants_to_die = TRUE; - gaim_connection_error(gc, _("Wrong password!")); + gaim_connection_error(gc, _("Incorrect password.")); break; case QQ_LOGIN_REPLY_MISC_ERROR: gaim_connection_error(gc, _("Unable to login, check debug log")); Modified: trunk/libgaim/protocols/simple/simple.c =================================================================== --- trunk/libgaim/protocols/simple/simple.c 2006-11-07 02:59:24 UTC (rev 17691) +++ trunk/libgaim/protocols/simple/simple.c 2006-11-07 05:52:41 UTC (rev 17692) @@ -1032,7 +1032,7 @@ gaim_debug_info("simple", "REGISTER retries %d\n", sip->registrar.retries); if(sip->registrar.retries > 3) { sip->gc->wants_to_die = TRUE; - gaim_connection_error(sip->gc, _("Wrong Password")); + gaim_connection_error(sip->gc, _("Incorrect password.")); return TRUE; } tmp = sipmsg_find_header(msg, "WWW-Authenticate"); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sa...@us...> - 2006-11-07 02:59:40
|
Revision: 17691 http://svn.sourceforge.net/gaim/?rev=17691&view=rev Author: sadrul Date: 2006-11-06 18:59:24 -0800 (Mon, 06 Nov 2006) Log Message: ----------- Change some minor stuff. This should get rid of the blinking in the buddylist (and the tooltip) when a new account signs on. This just might get rid of some crashes too. Modified Paths: -------------- trunk/console/gntblist.c trunk/console/libgnt/gntwidget.c Modified: trunk/console/gntblist.c =================================================================== --- trunk/console/gntblist.c 2006-11-07 02:53:42 UTC (rev 17690) +++ trunk/console/gntblist.c 2006-11-07 02:59:24 UTC (rev 17691) @@ -1163,7 +1163,8 @@ widget = ggblist->tree; tree = GNT_TREE(widget); - if (!gnt_widget_has_focus(ggblist->tree)) + if (!gnt_widget_has_focus(ggblist->tree) || + (ggblist->context && !GNT_WIDGET_IS_FLAG_SET(ggblist->context, GNT_WIDGET_INVISIBLE))) return; if (ggblist->tooltip) @@ -1183,8 +1184,12 @@ GaimBuddy *pr = gaim_contact_get_priority_buddy((GaimContact*)node); gboolean offline = !GAIM_BUDDY_IS_ONLINE(pr); gboolean showoffline = gaim_prefs_get_bool(PREF_ROOT "/showoffline"); + const char *alias = gaim_contact_get_alias((GaimContact*)node); + const char *name = gaim_buddy_get_name(pr); - title = g_strdup(gaim_contact_get_alias((GaimContact*)node)); + title = g_strdup(alias); + if (g_utf8_collate(alias, name)) + g_string_append_printf(str, _("Nickname: %s\n"), gaim_buddy_get_name(pr)); tooltip_for_buddy(pr, str); for (node = node->child; node; node = node->next) { if (offline) { @@ -1887,7 +1892,7 @@ } static void -send_im_select(void) +send_im_select(GntMenuItem *item, gpointer n) { GaimRequestFields *fields; GaimRequestFieldGroup *group; Modified: trunk/console/libgnt/gntwidget.c =================================================================== --- trunk/console/libgnt/gntwidget.c 2006-11-07 02:53:42 UTC (rev 17690) +++ trunk/console/libgnt/gntwidget.c 2006-11-07 02:59:24 UTC (rev 17691) @@ -303,11 +303,8 @@ void gnt_widget_show(GntWidget *widget) { - /* Draw the widget and take focus */ - /*if (GNT_WIDGET_FLAGS(widget) & GNT_WIDGET_CAN_TAKE_FOCUS) {*/ - /*gnt_widget_take_focus(widget);*/ - /*}*/ gnt_widget_draw(widget); + gnt_screen_occupy(widget); } void @@ -324,39 +321,38 @@ if (widget->window == NULL) { + int x, y, maxx, maxy, w, h; gboolean shadow = TRUE; if (!gnt_widget_has_shadow(widget)) shadow = FALSE; - widget->window = newwin(widget->priv.height + shadow, widget->priv.width + shadow, - widget->priv.y, widget->priv.x); - if (widget->window == NULL) /* The size is probably too large for the screen */ - { - int x = widget->priv.x, y = widget->priv.y; - int w = widget->priv.width + shadow, h = widget->priv.height + shadow; - int maxx, maxy; /* Max-X is cool */ + x = widget->priv.x; + y = widget->priv.y; + w = widget->priv.width + shadow; + h = widget->priv.height + shadow; - getmaxyx(stdscr, maxy, maxx); + getmaxyx(stdscr, maxy, maxx); + maxy -= 1; /* room for the taskbar */ - if (x + w >= maxx) - x = MAX(0, maxx - w); - if (y + h >= maxy) - y = MAX(0, maxy - h); + x = MAX(0, x); + y = MAX(0, y); + if (x + w >= maxx) + x = MAX(0, maxx - w); + if (y + h >= maxy) + y = MAX(0, maxy - h); - w = MIN(w, maxx); - h = MIN(h, maxy); + w = MIN(w, maxx); + h = MIN(h, maxy); - widget->priv.x = x; - widget->priv.y = y; - widget->priv.width = w - shadow; - widget->priv.height = h - shadow; + widget->priv.x = x; + widget->priv.y = y; + widget->priv.width = w - shadow; + widget->priv.height = h - shadow; - widget->window = newwin(widget->priv.height + shadow, widget->priv.width + shadow, - widget->priv.y, widget->priv.x); - } + widget->window = newwin(widget->priv.height + shadow, widget->priv.width + shadow, + widget->priv.y, widget->priv.x); init_widget(widget); - gnt_screen_occupy(widget); } g_signal_emit(widget, signals[SIG_DRAW], 0); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <the...@us...> - 2006-11-07 02:53:46
|
Revision: 17690 http://svn.sourceforge.net/gaim/?rev=17690&view=rev Author: thekingant Date: 2006-11-06 18:53:42 -0800 (Mon, 06 Nov 2006) Log Message: ----------- gbooleanize some things. No functionality change. Modified Paths: -------------- trunk/libgaim/protocols/oscar/family_feedbag.c trunk/libgaim/protocols/oscar/oscar.h Modified: trunk/libgaim/protocols/oscar/family_feedbag.c =================================================================== --- trunk/libgaim/protocols/oscar/family_feedbag.c 2006-11-07 02:50:09 UTC (rev 17689) +++ trunk/libgaim/protocols/oscar/family_feedbag.c 2006-11-07 02:53:42 UTC (rev 17690) @@ -570,7 +570,7 @@ /* Make sure we don't send anything else between now * and when we receive the ack for the following operation */ - od->ssi.waiting_for_ack = 1; + od->ssi.waiting_for_ack = TRUE; /* Now go mail off our data and wait 4 to 6 weeks */ aim_ssi_addmoddel(od); @@ -1316,7 +1316,7 @@ for (cur=od->ssi.official; cur; cur=cur->next) aim_ssi_itemlist_add(&od->ssi.local, cur->name, cur->gid, cur->bid, cur->type, cur->data); - od->ssi.received_data = 1; + od->ssi.received_data = TRUE; if ((userfunc = aim_callhandler(od, snac->family, snac->subtype))) ret = userfunc(od, conn, frame, fmtver, od->ssi.numitems, od->ssi.timestamp); @@ -1645,7 +1645,7 @@ /* If we're not waiting for any more acks, then send more SNACs */ if (!od->ssi.pending) { - od->ssi.waiting_for_ack = 0; + od->ssi.waiting_for_ack = FALSE; aim_ssi_sync(od); } @@ -1664,7 +1664,7 @@ int ret = 0; aim_rxcallback_t userfunc; - od->ssi.received_data = 1; + od->ssi.received_data = TRUE; if ((userfunc = aim_callhandler(od, snac->family, snac->subtype))) ret = userfunc(od, conn, frame); Modified: trunk/libgaim/protocols/oscar/oscar.h =================================================================== --- trunk/libgaim/protocols/oscar/oscar.h 2006-11-07 02:50:09 UTC (rev 17689) +++ trunk/libgaim/protocols/oscar/oscar.h 2006-11-07 02:53:42 UTC (rev 17690) @@ -478,18 +478,18 @@ struct aim_userinfo_s *userinfo; struct userinfo_node *torequest; struct userinfo_node *requested; - int waiting_for_response; + gboolean waiting_for_response; } locate; /* Server-stored information (ssi) */ struct { - int received_data; + gboolean received_data; guint16 numitems; struct aim_ssi_item *official; struct aim_ssi_item *local; struct aim_ssi_tmp *pending; time_t timestamp; - int waiting_for_ack; + gboolean waiting_for_ack; } ssi; /* TODO: Implement this as a HashTable for HUGE speed improvement! */ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <the...@us...> - 2006-11-07 02:50:23
|
Revision: 17689 http://svn.sourceforge.net/gaim/?rev=17689&view=rev Author: thekingant Date: 2006-11-06 18:50:09 -0800 (Mon, 06 Nov 2006) Log Message: ----------- Remove an unnecessary lion. I mean line, not lion. Silly me. Modified Paths: -------------- trunk/libgaim/protocols/oscar/family_feedbag.c Modified: trunk/libgaim/protocols/oscar/family_feedbag.c =================================================================== --- trunk/libgaim/protocols/oscar/family_feedbag.c 2006-11-07 02:41:01 UTC (rev 17688) +++ trunk/libgaim/protocols/oscar/family_feedbag.c 2006-11-07 02:50:09 UTC (rev 17689) @@ -1645,7 +1645,6 @@ /* If we're not waiting for any more acks, then send more SNACs */ if (!od->ssi.pending) { - od->ssi.pending = NULL; od->ssi.waiting_for_ack = 0; aim_ssi_sync(od); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <the...@us...> - 2006-11-07 02:41:22
|
Revision: 17688 http://svn.sourceforge.net/gaim/?rev=17688&view=rev Author: thekingant Date: 2006-11-06 18:41:01 -0800 (Mon, 06 Nov 2006) Log Message: ----------- Documentation changes Modified Paths: -------------- trunk/libgaim/protocols/oscar/family_feedbag.c Modified: trunk/libgaim/protocols/oscar/family_feedbag.c =================================================================== --- trunk/libgaim/protocols/oscar/family_feedbag.c 2006-11-06 23:01:44 UTC (rev 17687) +++ trunk/libgaim/protocols/oscar/family_feedbag.c 2006-11-07 02:41:01 UTC (rev 17688) @@ -934,7 +934,7 @@ } /** - * Move a buddy from one group to another group. This basically just deletes the + * Move a buddy from one group to another group. This basically just deletes the * buddy and re-adds it. * * @param od The oscar odion. @@ -965,7 +965,7 @@ * @param od The oscar odion. * @param gn The group that the buddy is currently in. * @param sn The screen name of the buddy. - * @param alias The new alias for the buddy, or NULL if you want to remove + * @param alias The new alias for the buddy, or NULL if you want to remove * a buddy's comment. * @return Return 0 if no errors, otherwise return the error number. */ @@ -997,7 +997,7 @@ * @param od The oscar odion. * @param gn The group that the buddy is currently in. * @param sn The screen name of the buddy. - * @param alias The new comment for the buddy, or NULL if you want to remove + * @param alias The new comment for the buddy, or NULL if you want to remove * a buddy's comment. * @return Return 0 if no errors, otherwise return the error number. */ @@ -1142,7 +1142,7 @@ } /** - * Stores your setting for various SSI settings. Whether you + * Stores your setting for various SSI settings. Whether you * should show up as idle or not, etc. * * @param od The oscar odion. @@ -1676,7 +1676,8 @@ /* * Subtype 0x0011 - SSI Begin Data Modification. * - * Tell the server you're going to start modifying data. + * Tell the server you're going to start modifying data. This marks + * the beginning of a transaction. */ int aim_ssi_modbegin(OscarData *od) { @@ -1691,8 +1692,8 @@ /* * Subtype 0x0012 - SSI End Data Modification. * - * Tell the server you're finished modifying data. - * + * Tell the server you're finished modifying data. The marks the end + * of a transaction. */ int aim_ssi_modend(OscarData *od) { @@ -1854,7 +1855,7 @@ /* * Subtype 0x001a - Send authorization reply * - * Sends a reply to a request for authorization. The reply can either + * Sends a reply to a request for authorization. The reply can either * grant authorization or deny authorization. * * if reply=0x00 then deny @@ -1899,7 +1900,8 @@ /* * Subtype 0x001b - Receive an authorization reply - * You get this bad boy when other people respond to the authorization + * + * You get this bad boy when other people respond to the authorization * request that you have previously sent them. */ static int receiveauthreply(OscarData *od, FlapConnection *conn, aim_module_t *mod, FlapFrame *frame, aim_modsnac_t *snac, ByteStream *bs) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tal...@us...> - 2006-11-06 23:01:52
|
Revision: 17687 http://svn.sourceforge.net/gaim/?rev=17687&view=rev Author: taliesein Date: 2006-11-06 15:01:44 -0800 (Mon, 06 Nov 2006) Log Message: ----------- closing feature request 1487779, bug 1465187, with patch 1540877. This is all related to the psychic plugin, so ignore as befitting. Modified Paths: -------------- trunk/COPYRIGHT trunk/libgaim/plugins/psychic.c Modified: trunk/COPYRIGHT =================================================================== --- trunk/COPYRIGHT 2006-11-06 22:32:49 UTC (rev 17686) +++ trunk/COPYRIGHT 2006-11-06 23:01:44 UTC (rev 17687) @@ -149,6 +149,7 @@ Kevin Hunter Rian Hunter Thomas Huriaux +Scott Jackson Hans Petter Jansson Henry Jen Benjamin Kahn Modified: trunk/libgaim/plugins/psychic.c =================================================================== --- trunk/libgaim/plugins/psychic.c 2006-11-06 22:32:49 UTC (rev 17686) +++ trunk/libgaim/plugins/psychic.c 2006-11-06 23:01:44 UTC (rev 17687) @@ -28,6 +28,7 @@ #define PREF_BUDDIES PREFS_BASE "/buddies_only" #define PREF_NOTICE PREFS_BASE "/show_notice" #define PREF_STATUS PREFS_BASE "/activate_online" +#define PREF_RAISE PREFS_BASE "/raise_conv" static void @@ -50,16 +51,18 @@ if(! gconv) { gaim_debug_info("psychic", "no previous conversation exists\n"); gconv = gaim_conversation_new(GAIM_CONV_TYPE_IM, acct, name); - gaim_conversation_present(gconv); + if(gaim_prefs_get_bool(PREF_RAISE)) { + gaim_conversation_present(gconv); + } + if(gaim_prefs_get_bool(PREF_NOTICE)) { + + /* This is a quote from Star Wars. You should probably not + translate it literally. If you can't find a fitting cultural + reference in your language, consider translating something + like this instead: "You feel a new message coming." */ gaim_conversation_write(gconv, NULL, - /* This is a quote from Star Wars. You should - probably not translate it literally. If - you can't find a fitting cultural reference - in your language, consider translating - something like this instead: - "You feel a new message coming." */ _("You feel a disturbance in the force..."), GAIM_MESSAGE_SYSTEM | GAIM_MESSAGE_NO_LOG | GAIM_MESSAGE_ACTIVE_ONLY, time(NULL)); @@ -92,6 +95,10 @@ " conversations")); gaim_plugin_pref_frame_add(frame, pref); + pref = gaim_plugin_pref_new_with_name(PREF_RAISE); + gaim_plugin_pref_set_label(pref, _("Raise psychic conversations")); + gaim_plugin_pref_frame_add(frame, pref); + return frame; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tal...@us...> - 2006-11-06 22:33:07
|
Revision: 17686 http://svn.sourceforge.net/gaim/?rev=17686&view=rev Author: taliesein Date: 2006-11-06 14:32:49 -0800 (Mon, 06 Nov 2006) Log Message: ----------- fixing bug 1437328, and keeping the sametime plugin from wresting control of the buddy list away from the user Modified Paths: -------------- trunk/libgaim/protocols/sametime/sametime.c Modified: trunk/libgaim/protocols/sametime/sametime.c =================================================================== --- trunk/libgaim/protocols/sametime/sametime.c 2006-11-06 22:22:52 UTC (rev 17685) +++ trunk/libgaim/protocols/sametime/sametime.c 2006-11-06 22:32:49 UTC (rev 17686) @@ -4410,10 +4410,17 @@ return; } +#if 0 /* fall-through indicates that we couldn't find a matching user in the resolve service (ether error or zero results), so we remove this buddy */ + /* note: I can't really think of a good reason to alter the buddy + list in any way. There has been at least one report where the + resolve service isn't returning correct results anyway, so let's + just leave them in the list. I'm just going to if0 this section + out unless I can think of a very good reason to do this. -siege */ + DEBUG_INFO("no such buddy in community\n"); gaim_blist_remove_buddy(buddy); blist_schedule(pd); @@ -4435,6 +4442,7 @@ g_free(msg); } +#endif } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tal...@us...> - 2006-11-06 22:25:11
|
Revision: 17685 http://svn.sourceforge.net/gaim/?rev=17685&view=rev Author: taliesein Date: 2006-11-06 14:22:52 -0800 (Mon, 06 Nov 2006) Log Message: ----------- fixing bugs 1570090, 1426401, applying patch 1526274. Starting to add support for ways to get around version-blocked sametime servers. Added fix to prevent login redirects from entering an eternal loop. Removing an unnecessary (and problematic) LDFLAG. I've been really slack for a while, so this is me getting caught up. Modified Paths: -------------- trunk/libgaim/protocols/sametime/Makefile.am trunk/libgaim/protocols/sametime/sametime.c Modified: trunk/libgaim/protocols/sametime/Makefile.am =================================================================== --- trunk/libgaim/protocols/sametime/Makefile.am 2006-11-06 20:29:24 UTC (rev 17684) +++ trunk/libgaim/protocols/sametime/Makefile.am 2006-11-06 22:22:52 UTC (rev 17685) @@ -27,7 +27,7 @@ endif -libsametime_la_LDFLAGS = -module -avoid-version -no-undefined +libsametime_la_LDFLAGS = -module -avoid-version libsametime_la_LIBADD = $(GLIB_LIBS) $(MEANWHILE_LIBS) Modified: trunk/libgaim/protocols/sametime/sametime.c =================================================================== --- trunk/libgaim/protocols/sametime/sametime.c 2006-11-06 20:29:24 UTC (rev 17684) +++ trunk/libgaim/protocols/sametime/sametime.c 2006-11-06 22:22:52 UTC (rev 17685) @@ -141,14 +141,11 @@ /* keys to get/set gaim plugin information */ #define MW_KEY_HOST "server" #define MW_KEY_PORT "port" -#define MW_KEY_ACTIVE_MSG "active_msg" -#define MW_KEY_AWAY_MSG "away_msg" -#define MW_KEY_BUSY_MSG "busy_msg" -#define MW_KEY_MSG_PROMPT "msg_prompt" -#define MW_KEY_INVITE "conf_invite" -#define MW_KEY_ENCODING "encoding" #define MW_KEY_FORCE "force_login" #define MW_KEY_FAKE_IT "fake_client_id" +#define MW_KEY_CLIENT "client_id_val" +#define MW_KEY_MAJOR "client_major" +#define MW_KEY_MINOR "client_minor" /** number of seconds from the first blist change before a save to the @@ -233,6 +230,12 @@ }; +typedef struct { + GaimBuddy *buddy; + GaimGroup *group; +} BuddyAddData; + + /* blist and aware functions */ static void blist_export(GaimConnection *gc, struct mwSametimeList *stlist); @@ -486,7 +489,7 @@ GaimAccount *acct; struct mwGaimPluginData *pd; - time_t idle; + guint32 idle; guint stat; const char *id; const char *status = MW_STATE_ACTIVE; @@ -500,12 +503,39 @@ id = aware->id.user; if(idle) { + guint32 idle_len; /*< how long a client has been idle */ + guint32 ugly_idle_len; /*< how long a broken client has been idle */ + DEBUG_INFO("%s has idle value 0x%x\n", NSTR(id), idle); + idle_len = time(NULL) - idle; + ugly_idle_len = ((time(NULL) * 1000) - idle) / 1000; + + /* + what's the deal here? Well, good clients are smart enough to + publish their idle time by using an attribute to indicate that + they went idle at some time UTC, in seconds since epoch. Bad + clients use milliseconds since epoch. So we're going to compute + the idle time for either method, then figure out the lower of + the two and use that. Blame the ST 7.5 development team for + this. + */ + + DEBUG_INFO("idle time: %u, ugly idle time: %u\n", idle_len, ugly_idle_len); + +#if 1 + if(idle_len <= ugly_idle_len) { + ; /* DEBUG_INFO("sane idle value, let's use it\n"); */ + } else { + idle = time(NULL) - ugly_idle_len; + } + +#else if(idle < 0 || idle > time(NULL)) { DEBUG_INFO("hiding a messy idle value 0x%x\n", NSTR(id), idle); idle = -1; } +#endif } switch(stat) { @@ -559,7 +589,7 @@ if(aware->online) { gaim_prpl_got_user_status(acct, id, status, NULL); - gaim_prpl_got_user_idle(acct, id, !!idle, idle); + gaim_prpl_got_user_idle(acct, id, !!idle, (time_t) idle); } else { gaim_prpl_got_user_status(acct, id, MW_STATE_OFFLINE, NULL); @@ -1401,15 +1431,23 @@ GaimConnection *gc; GaimAccount *account; guint port; + const char *current_host; pd = mwSession_getClientData(session); gc = pd->gc; account = gaim_connection_get_account(gc); port = gaim_account_get_int(account, MW_KEY_PORT, MW_PLUGIN_DEFAULT_PORT); + current_host = gaim_account_get_string(account, MW_KEY_HOST, + MW_PLUGIN_DEFAULT_HOST); if(gaim_account_get_bool(account, MW_KEY_FORCE, FALSE) || + (! strcmp(current_host, host)) || (gaim_proxy_connect(NULL, account, host, port, connect_cb, pd) == NULL)) { + /* if we're configured to force logins, or if we're being + redirected to the already configured host, or if we couldn't + connect to the new host, we'll force the login instead */ + mwSession_forceLogin(session); } } @@ -3625,7 +3663,7 @@ struct mwGaimPluginData *pd; char *user, *pass, *host; - guint port, client; + guint port; gc = gaim_account_get_connection(account); pd = mwGaimPluginData_new(gc); @@ -3666,15 +3704,30 @@ mwSession_setProperty(pd->session, mwSession_AUTH_USER_ID, user, g_free); mwSession_setProperty(pd->session, mwSession_AUTH_PASSWORD, pass, g_free); - client = mwLogin_MEANWHILE; - if(gaim_account_get_bool(account, MW_KEY_FAKE_IT, FALSE)) - client = mwLogin_BINARY; + if(gaim_account_get_bool(account, MW_KEY_FAKE_IT, FALSE)) { + guint client, major, minor; - DEBUG_INFO("client id: 0x%04x\n", client); + /* if we're faking the login, let's also fake the version we're + reporting. Let's also allow the actual values to be specified */ - mwSession_setProperty(pd->session, mwSession_CLIENT_TYPE_ID, - GUINT_TO_POINTER(client), NULL); + client = gaim_account_get_int(account, MW_KEY_CLIENT, mwLogin_BINARY); + major = gaim_account_get_int(account, MW_KEY_MAJOR, 0x001e); + minor = gaim_account_get_int(account, MW_KEY_MINOR, 0x001d); + DEBUG_INFO("client id: 0x%04x\n", client); + DEBUG_INFO("client major: 0x%04x\n", major); + DEBUG_INFO("client minor: 0x%04x\n", minor); + + mwSession_setProperty(pd->session, mwSession_CLIENT_TYPE_ID, + GUINT_TO_POINTER(client), NULL); + + mwSession_setProperty(pd->session, mwSession_CLIENT_VER_MAJOR, + GUINT_TO_POINTER(major), NULL); + + mwSession_setProperty(pd->session, mwSession_CLIENT_VER_MINOR, + GUINT_TO_POINTER(minor), NULL); + } + gaim_connection_update_progress(gc, _("Connecting"), 1, MW_CONNECT_STEPS); if (gaim_proxy_connect(gc, account, host, port, connect_cb, pd) == NULL) { @@ -3958,8 +4011,9 @@ } -static unsigned int mw_prpl_send_typing(GaimConnection *gc, const char *name, - GaimTypingState state) { +static unsigned int mw_prpl_send_typing(GaimConnection *gc, + const char *name, + GaimTypingState state) { struct mwGaimPluginData *pd; struct mwIdBlock who = { (char *) name, NULL }; @@ -3974,27 +4028,22 @@ conv = mwServiceIm_getConversation(pd->srvc_im, &who); - if(mwConversation_isOpen(conv)) - return ! mwConversation_send(conv, mwImSend_TYPING, t); - - if ((state == GAIM_TYPING) || (state == GAIM_TYPED)) { - /* let's only open a channel for typing, not for not-typing. - Otherwise two users in psychic mode will continually open - conversations to each other, never able to get rid of them, as - when the other person closes, it psychicaly opens again */ - + if(mwConversation_isOpen(conv)) { + mwConversation_send(conv, mwImSend_TYPING, t); + + } else if((state == GAIM_TYPING) || (state == GAIM_TYPED)) { + /* only open a channel for sending typing notification, not for + when typing has stopped. There's no point in re-opening a + channel just to tell someone that this side isn't typing. */ + convo_queue(conv, mwImSend_TYPING, t); - - if(! mwConversation_isPending(conv)) + + if(! mwConversation_isPending(conv)) { mwConversation_open(conv); + } } - /* - * TODO: This should probably be "0." When it's set to 1, the Gaim - * core will call serv_send_typing(gc, who, GAIM_TYPING) once - * every second until the Gaim user stops typing. --KingAnt - */ - return 1; + return 0; } @@ -4031,6 +4080,11 @@ case mwLogin_NOTESBUDDY_4_16: return "Alphaworks NotesBuddy"; + case 0x1305: + case 0x1306: + case 0x1307: + return "Lotus Sametime Connect 7.5"; + case mwLogin_SANITY: return "Sanity"; @@ -4228,19 +4282,28 @@ static void notify_add(GaimConnection *gc, GList *row, void *user_data) { + BuddyAddData *data = user_data; + char *group_name = NULL; + + if (data && data->group) { + group_name = data->group->name; + } + gaim_blist_request_add_buddy(gaim_connection_get_account(gc), - g_list_nth_data(row, 1), NULL, + g_list_nth_data(row, 1), group_name, g_list_nth_data(row, 0)); } static void notify_close(gpointer data) { - ; + if (data) { + g_free(data); + } } static void multi_resolved_query(struct mwResolveResult *result, - GaimConnection *gc) { + GaimConnection *gc, gpointer data) { GList *l; const char *msgA; const char *msgB; @@ -4285,7 +4348,7 @@ msg = g_strdup_printf(msgB, result->name); gaim_notify_searchresults(gc, _("Select User"), - msgA, msg, sres, notify_close, NULL); + msgA, msg, sres, notify_close, data); g_free(msg); } @@ -4296,10 +4359,15 @@ gpointer b) { struct mwResolveResult *res = NULL; - GaimBuddy *buddy = b; + BuddyAddData *data = b; + GaimBuddy *buddy = NULL; GaimConnection *gc; struct mwGaimPluginData *pd; + if (data) { + buddy = data->buddy; + } + gc = gaim_account_get_connection(buddy->account); pd = gc->proto_data; @@ -4316,7 +4384,7 @@ term, better safe then sorry, so let's make sure it's who the user meant to add */ gaim_blist_remove_buddy(buddy); - multi_resolved_query(res, gc); + multi_resolved_query(res, gc, data); } else { @@ -4329,12 +4397,14 @@ buddy_add(pd, buddy); blist_schedule(pd); + + g_free(data); } } else { /* prompt user if more than one match was returned */ gaim_blist_remove_buddy(buddy); - multi_resolved_query(res, gc); + multi_resolved_query(res, gc, data); } return; @@ -4378,6 +4448,12 @@ enum mwResolveFlag flags; guint32 req; + BuddyAddData *data; + + data = g_new0(BuddyAddData, 1); + data->buddy = buddy; + data->group = group; + pd = gc->proto_data; srvc = pd->srvc_resolve; @@ -4391,7 +4467,7 @@ flags = mwResolveFlag_FIRST | mwResolveFlag_USERS; req = mwServiceResolve_resolve(srvc, query, flags, add_buddy_resolved, - buddy, NULL); + data, NULL); g_list_free(query); if(req == SEARCH_ERROR) { @@ -4728,25 +4804,32 @@ static int mw_prpl_chat_send(GaimConnection *gc, int id, const char *message, - GaimMessageFlags flags) { + GaimMessageFlags flags) { struct mwGaimPluginData *pd; struct mwConference *conf; + char *msg; + int ret; pd = gc->proto_data; g_return_val_if_fail(pd != NULL, 0); conf = ID_TO_CONF(pd, id); + msg = gaim_markup_strip_html(message); + if(conf) { - return ! mwConference_sendText(conf, message); + ret = ! mwConference_sendText(conf, message); } else { struct mwPlace *place = ID_TO_PLACE(pd, id); g_return_val_if_fail(place != NULL, 0); - return ! mwPlace_sendText(place, message); + ret = ! mwPlace_sendText(place, message); } + + g_free(msg); + return ret; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dat...@us...> - 2006-11-06 20:29:51
|
Revision: 17684 http://svn.sourceforge.net/gaim/?rev=17684&view=rev Author: datallah Date: 2006-11-06 12:29:24 -0800 (Mon, 06 Nov 2006) Log Message: ----------- g_access() is GTK >= 2.8 - add a wrapper (for wingaim I included the code from glib to deal with filename encoding issues) Add inet_ntop() implementation for wingaim. Modified Paths: -------------- trunk/libgaim/internal.h trunk/libgaim/win32/libc_interface.c trunk/libgaim/win32/libc_interface.h Modified: trunk/libgaim/internal.h =================================================================== --- trunk/libgaim/internal.h 2006-11-06 07:52:17 UTC (rev 17683) +++ trunk/libgaim/internal.h 2006-11-06 20:29:24 UTC (rev 17684) @@ -129,10 +129,6 @@ # include <glib/gstdio.h> #endif -#ifdef _WIN32 -#include "win32dep.h" -#endif - #if !GLIB_CHECK_VERSION(2,6,0) # define g_freopen freopen # define g_fopen fopen @@ -146,12 +142,20 @@ # define g_open open #endif +#if !GLIB_CHECK_VERSION(2,8,0) +# define g_access access +#endif + #if !GLIB_CHECK_VERSION(2,10,0) # define g_slice_new(type) g_new(type, 1) # define g_slice_new0(type) g_new0(type, 1) # define g_slice_free(type, mem) g_free(mem) #endif +#ifdef _WIN32 +#include "win32dep.h" +#endif + /* ugly ugly ugly */ /* This is a workaround for the fact that G_GINT64_MODIFIER and G_GSIZE_FORMAT * are only defined in Glib >= 2.4 */ Modified: trunk/libgaim/win32/libc_interface.c =================================================================== --- trunk/libgaim/win32/libc_interface.c 2006-11-06 07:52:17 UTC (rev 17683) +++ trunk/libgaim/win32/libc_interface.c 2006-11-06 20:29:24 UTC (rev 17684) @@ -232,6 +232,44 @@ return 1; } +/* Thanks to GNU wget for this inet_ntop() implementation */ +const char * +wgaim_inet_ntop (int af, const void *src, char *dst, socklen_t cnt) +{ + /* struct sockaddr can't accomodate struct sockaddr_in6. */ + union { + struct sockaddr_in6 sin6; + struct sockaddr_in sin; + } sa; + DWORD dstlen = cnt; + size_t srcsize; + + ZeroMemory(&sa, sizeof(sa)); + switch (af) + { + case AF_INET: + sa.sin.sin_family = AF_INET; + sa.sin.sin_addr = *(struct in_addr *) src; + srcsize = sizeof (sa.sin); + break; + case AF_INET6: + sa.sin6.sin6_family = AF_INET6; + sa.sin6.sin6_addr = *(struct in6_addr *) src; + srcsize = sizeof (sa.sin6); + break; + default: + abort (); + } + + if (WSAAddressToString ((struct sockaddr *) &sa, srcsize, NULL, dst, &dstlen) != 0) + { + errno = WSAGetLastError(); + return NULL; + } + return (const char *) dst; +} + + /* netdb.h */ struct hostent* wgaim_gethostbyname(const char *name) { struct hostent *hp; @@ -988,3 +1026,72 @@ return ""; } +#if !GLIB_CHECK_VERSION(2,8,0) +/** + * g_access: + * @filename: a pathname in the GLib file name encoding (UTF-8 on Windows) + * @mode: as in access() + * + * A wrapper for the POSIX access() function. This function is used to + * test a pathname for one or several of read, write or execute + * permissions, or just existence. On Windows, the underlying access() + * function in the C library only checks the READONLY attribute, and + * does not look at the ACL at all. Software that needs to handle file + * permissions on Windows more exactly should use the Win32 API. + * + * See the C library manual for more details about access(). + * + * Returns: zero if the pathname refers to an existing file system + * object that has all the tested permissions, or -1 otherwise or on + * error. + * + * Since: 2.8 + */ +int +wgaim_g_access (const gchar *filename, + int mode) +{ + if (G_WIN32_HAVE_WIDECHAR_API ()) + { + wchar_t *wfilename = g_utf8_to_utf16 (filename, -1, NULL, NULL, NULL); + int retval; + int save_errno; + + if (wfilename == NULL) + { + errno = EINVAL; + return -1; + } + + retval = _waccess (wfilename, mode); + save_errno = errno; + + g_free (wfilename); + + errno = save_errno; + return retval; + } + else + { + gchar *cp_filename = g_locale_from_utf8 (filename, -1, NULL, NULL, NULL); + int retval; + int save_errno; + + if (cp_filename == NULL) + { + errno = EINVAL; + return -1; + } + + retval = access (cp_filename, mode); + save_errno = errno; + + g_free (cp_filename); + + errno = save_errno; + return retval; + } +} +#endif + + Modified: trunk/libgaim/win32/libc_interface.h =================================================================== --- trunk/libgaim/win32/libc_interface.h 2006-11-06 07:52:17 UTC (rev 17683) +++ trunk/libgaim/win32/libc_interface.h 2006-11-06 20:29:24 UTC (rev 17684) @@ -72,15 +72,16 @@ #define fcntl( fd, command, val ) \ wgaim_fcntl( fd, command, val ) -#if !GLIB_CHECK_VERSION(2,6,0) -# define open( args... ) _open( args ) -#endif - /* arpa/inet.h */ int wgaim_inet_aton(const char *name, struct in_addr *addr); #define inet_aton( name, addr ) \ wgaim_inet_aton( name, addr ) +const char * +wgaim_inet_ntop (int af, const void *src, char *dst, socklen_t cnt); +#define inet_ntop( af, src, dst, cnt ) \ +wgaim_inet_ntop( af, src, dst, cnt ) + /* netdb.h */ struct hostent* wgaim_gethostbyname(const char *name); #define gethostbyname( name ) \ @@ -120,6 +121,13 @@ #define close( fd ) \ wgaim_close( fd ) +#if !GLIB_CHECK_VERSION(2,8,0) +int wgaim_g_access(const gchar *filename, int mode); +#undef g_access +#define g_access( filename, mode) \ +wgaim_g_access( filename, mode ) +#endif + #ifndef sleep #define sleep(x) Sleep((x)*1000) #endif @@ -153,9 +161,6 @@ /* sys/stat.h */ -#if !GLIB_CHECK_VERSION(2,6,0) -#define mkdir(a,b) _mkdir((a)) -#endif #define fchmod(a,b) /* time.h */ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <the...@us...> - 2006-11-06 07:52:45
|
Revision: 17683 http://svn.sourceforge.net/gaim/?rev=17683&view=rev Author: thekingant Date: 2006-11-05 23:52:17 -0800 (Sun, 05 Nov 2006) Log Message: ----------- I meant to remove this a revision or three ago Modified Paths: -------------- trunk/libgaim/account.c Modified: trunk/libgaim/account.c =================================================================== --- trunk/libgaim/account.c 2006-11-06 07:38:05 UTC (rev 17682) +++ trunk/libgaim/account.c 2006-11-06 07:52:17 UTC (rev 17683) @@ -2112,9 +2112,6 @@ */ gaim_account_set_enabled(account, gaim_core_get_ui(), FALSE); - if (gaim_account_is_connected(account)) - gaim_account_disconnect(account); - gaim_notify_close_with_handle(account); gaim_request_close_with_handle(account); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <the...@us...> - 2006-11-06 07:38:26
|
Revision: 17682 http://svn.sourceforge.net/gaim/?rev=17682&view=rev Author: thekingant Date: 2006-11-05 23:38:05 -0800 (Sun, 05 Nov 2006) Log Message: ----------- sf patch #1591071, from Ari Pollak "This patch disables the seemingly obsolete NAS and arts sound options since they're not provided in gstreamer 0.10. It also falls back more gracefully if we can't get a proper GStreamer audiosink." We're currently only using gconfaudiosink if the user is running within Gnome. Do we want to keep doing that? Modified Paths: -------------- trunk/gtk/gtkprefs.c trunk/gtk/gtksound.c Modified: trunk/gtk/gtkprefs.c =================================================================== --- trunk/gtk/gtkprefs.c 2006-11-06 07:25:05 UTC (rev 17681) +++ trunk/gtk/gtkprefs.c 2006-11-06 07:38:05 UTC (rev 17682) @@ -1403,10 +1403,8 @@ const char *method = value; gtk_widget_set_sensitive(hbox, - !strcmp(method, "automatic") || - !strcmp(method, "arts") || - !strcmp(method, "esd") || - !strcmp(method, "nas")); + !strcmp(method, "automatic") || + !strcmp(method, "esd")); } #endif /* USE_GSTREAMER */ #endif /* !_WIN32 */ @@ -1595,9 +1593,7 @@ _("Console beep"), "beep", #ifdef USE_GSTREAMER _("Automatic"), "automatic", - "Arts", "arts", "ESD", "esd", - "NAS", "nas", #endif _("Command"), "custom", _("No sounds"), "none", Modified: trunk/gtk/gtksound.c =================================================================== --- trunk/gtk/gtksound.c 2006-11-06 07:25:05 UTC (rev 17681) +++ trunk/gtk/gtksound.c 2006-11-06 07:38:05 UTC (rev 17682) @@ -451,12 +451,10 @@ if (gaim_running_gnome()) { sink = gst_element_factory_make("gconfaudiosink", "sink"); } + if (!sink) + sink = gst_element_factory_make("autoaudiosink", "sink"); } else if (!strcmp(method, "esd")) { sink = gst_element_factory_make("esdsink", "sink"); - } else if (!strcmp(method, "arts")) { - sink = gst_element_factory_make("artssink", "sink"); - } else if (!strcmp(method, "nas")) { - sink = gst_element_factory_make("nassink", "sink"); } uri = g_strdup_printf("file://%s", filename); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <the...@us...> - 2006-11-06 07:25:27
|
Revision: 17681 http://svn.sourceforge.net/gaim/?rev=17681&view=rev Author: thekingant Date: 2006-11-05 23:25:05 -0800 (Sun, 05 Nov 2006) Log Message: ----------- Modified sf patch #1590052, from Ari Pollak Fixes two possible crashes that can happen after deleting an account Modified Paths: -------------- trunk/libgaim/account.c trunk/libgaim/savedstatuses.c Modified: trunk/libgaim/account.c =================================================================== --- trunk/libgaim/account.c 2006-11-06 06:54:14 UTC (rev 17680) +++ trunk/libgaim/account.c 2006-11-06 07:25:05 UTC (rev 17681) @@ -2104,6 +2104,14 @@ g_return_if_fail(account != NULL); + /* + * Disable the account before blowing it out of the water. + * Conceptually it probably makes more sense to disable the + * account for all UIs rather than the just the current UI, + * but it doesn't really matter. + */ + gaim_account_set_enabled(account, gaim_core_get_ui(), FALSE); + if (gaim_account_is_connected(account)) gaim_account_disconnect(account); Modified: trunk/libgaim/savedstatuses.c =================================================================== --- trunk/libgaim/savedstatuses.c 2006-11-06 06:54:14 UTC (rev 17680) +++ trunk/libgaim/savedstatuses.c 2006-11-06 07:25:05 UTC (rev 17681) @@ -655,6 +655,27 @@ } } +/* + * This gets called when an account is deleted. We iterate through + * all of our saved statuses and delete any substatuses that may + * exist for this account. + */ +static void +gaim_savedstatus_unset_all_substatuses(const GaimAccount *account, + gpointer user_data) +{ + GList *iter; + GaimSavedStatus *status; + + g_return_if_fail(account != NULL); + + for (iter = saved_statuses; iter != NULL; iter = iter->next) + { + status = (GaimSavedStatus *)iter->data; + gaim_savedstatus_unset_substatus(status, account); + } +} + gboolean gaim_savedstatus_delete(const char *title) { @@ -1142,6 +1163,11 @@ GAIM_SUBTYPE_SAVEDSTATUS), gaim_value_new(GAIM_TYPE_SUBTYPE, GAIM_SUBTYPE_SAVEDSTATUS)); + + gaim_signal_connect(gaim_accounts_get_handle(), "account-removed", + handle, + GAIM_CALLBACK(gaim_savedstatus_unset_all_substatuses), + NULL); } void This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <the...@us...> - 2006-11-06 06:54:29
|
Revision: 17680 http://svn.sourceforge.net/gaim/?rev=17680&view=rev Author: thekingant Date: 2006-11-05 22:54:14 -0800 (Sun, 05 Nov 2006) Log Message: ----------- Something I noticed a little while ago Modified Paths: -------------- trunk/gtk/gtkimhtml.c Modified: trunk/gtk/gtkimhtml.c =================================================================== --- trunk/gtk/gtkimhtml.c 2006-11-06 06:53:34 UTC (rev 17679) +++ trunk/gtk/gtkimhtml.c 2006-11-06 06:54:14 UTC (rev 17680) @@ -813,6 +813,11 @@ menuitem = gtk_menu_item_new_with_mnemonic(_("Paste as Plain _Text")); gtk_widget_show(menuitem); + /* + * TODO: gtk_clipboard_wait_is_text_available() iterates the glib + * mainloop, which tends to be a source of bugs. It would + * be good to audit this or change it to not wait. + */ gtk_widget_set_sensitive(menuitem, (imhtml->editable && gtk_clipboard_wait_is_text_available( This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <the...@us...> - 2006-11-06 06:53:53
|
Revision: 17679 http://svn.sourceforge.net/gaim/?rev=17679&view=rev Author: thekingant Date: 2006-11-05 22:53:34 -0800 (Sun, 05 Nov 2006) Log Message: ----------- This error message seemed a little redundant to me. I think the actual error stands out a bit more, now. Modified Paths: -------------- trunk/gtk/gtkconn.c Modified: trunk/gtk/gtkconn.c =================================================================== --- trunk/gtk/gtkconn.c 2006-11-06 01:11:19 UTC (rev 17678) +++ trunk/gtk/gtkconn.c 2006-11-06 06:53:34 UTC (rev 17679) @@ -176,9 +176,9 @@ } p = g_strdup_printf(_("%s disconnected"), n); - s = g_strdup_printf(_("%s was disconnected due to an error: %s\n" + s = g_strdup_printf(_("%s\n\n" "Gaim will not attempt to reconnect the account until you " - "correct the error and re-enable the account."), n, text); + "correct the error and re-enable the account."), text); gaim_notify_error(NULL, NULL, p, s); g_free(p); g_free(s); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sa...@us...> - 2006-11-06 01:20:11
|
Revision: 17678 http://svn.sourceforge.net/gaim/?rev=17678&view=rev Author: sadrul Date: 2006-11-05 17:11:19 -0800 (Sun, 05 Nov 2006) Log Message: ----------- Make sure the menus show up correctly. Modified Paths: -------------- trunk/console/libgnt/gntmain.c trunk/console/libgnt/gntmenu.c Modified: trunk/console/libgnt/gntmain.c =================================================================== --- trunk/console/libgnt/gntmain.c 2006-11-06 00:14:30 UTC (rev 17677) +++ trunk/console/libgnt/gntmain.c 2006-11-06 01:11:19 UTC (rev 17678) @@ -466,6 +466,7 @@ } wm->menu = newmenu; + GNT_WIDGET_UNSET_FLAGS(GNT_WIDGET(wm->menu), GNT_WIDGET_INVISIBLE); gnt_widget_draw(GNT_WIDGET(wm->menu)); g_signal_connect(G_OBJECT(wm->menu), "hide", G_CALLBACK(reset_menu), NULL); Modified: trunk/console/libgnt/gntmenu.c =================================================================== --- trunk/console/libgnt/gntmenu.c 2006-11-06 00:14:30 UTC (rev 17677) +++ trunk/console/libgnt/gntmenu.c 2006-11-06 01:11:19 UTC (rev 17678) @@ -115,6 +115,7 @@ item->priv.y = widget->priv.y + gnt_tree_get_selection_visible_line(GNT_TREE(menu)); } gnt_widget_set_position(GNT_WIDGET(sub), item->priv.x, item->priv.y); + GNT_WIDGET_UNSET_FLAGS(GNT_WIDGET(sub), GNT_WIDGET_INVISIBLE); gnt_widget_draw(GNT_WIDGET(sub)); } else if (item->callback) { item->callback(item, item->callbackdata); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <the...@us...> - 2006-11-06 00:14:39
|
Revision: 17677 http://svn.sourceforge.net/gaim/?rev=17677&view=rev Author: thekingant Date: 2006-11-05 16:14:30 -0800 (Sun, 05 Nov 2006) Log Message: ----------- sf patch #1588433, from Ka-Hing Cheung "prompt again if non-writable dir selected for FT" Modified Paths: -------------- trunk/libgaim/ft.c Modified: trunk/libgaim/ft.c =================================================================== --- trunk/libgaim/ft.c 2006-11-06 00:08:00 UTC (rev 17676) +++ trunk/libgaim/ft.c 2006-11-06 00:14:30 UTC (rev 17677) @@ -33,6 +33,8 @@ static GaimXferUiOps *xfer_ui_ops = NULL; +static int gaim_xfer_choose_file(GaimXfer *xfer); + GaimXfer * gaim_xfer_new(GaimAccount *account, GaimXferType type, const char *who) { @@ -210,13 +212,26 @@ { GaimXfer *xfer; struct stat st; + gchar *dir; xfer = (GaimXfer *)user_data; if (g_stat(filename, &st) != 0) { /* File not found. */ if (gaim_xfer_get_type(xfer) == GAIM_XFER_RECEIVE) { - gaim_xfer_request_accepted(xfer, filename); + dir = g_path_get_dirname(filename); + + if (g_access(dir, W_OK) == 0) { + gaim_xfer_request_accepted(xfer, filename); + } else { + gaim_xfer_ref(xfer); + gaim_notify_message( + NULL, GAIM_NOTIFY_MSG_ERROR, NULL, + _("Directory is not writable."), NULL, + (GaimNotifyCloseCallback)gaim_xfer_choose_file, xfer); + } + + g_free(dir); } else { gaim_xfer_show_file_error(xfer, filename); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sa...@us...> - 2006-11-06 00:08:15
|
Revision: 17676 http://svn.sourceforge.net/gaim/?rev=17676&view=rev Author: sadrul Date: 2006-11-05 16:08:00 -0800 (Sun, 05 Nov 2006) Log Message: ----------- This should fix the compile errors. Modified Paths: -------------- trunk/console/libgnt/gntwm.c Modified: trunk/console/libgnt/gntwm.c =================================================================== --- trunk/console/libgnt/gntwm.c 2006-11-05 23:32:44 UTC (rev 17675) +++ trunk/console/libgnt/gntwm.c 2006-11-06 00:08:00 UTC (rev 17676) @@ -3,6 +3,8 @@ #define _XOPEN_SOURCE_EXTENDED #endif +#include "config.h" + #include "gntwm.h" #include "gntstyle.h" #include "gntmarshal.h" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <the...@us...> - 2006-11-05 23:40:32
|
Revision: 17675 http://svn.sourceforge.net/gaim/?rev=17675&view=rev Author: thekingant Date: 2006-11-05 15:32:44 -0800 (Sun, 05 Nov 2006) Log Message: ----------- Fix this error message. Hopefully this compiles everywhere. Modified Paths: -------------- trunk/libgaim/proxy.c Modified: trunk/libgaim/proxy.c =================================================================== --- trunk/libgaim/proxy.c 2006-11-05 23:22:41 UTC (rev 17674) +++ trunk/libgaim/proxy.c 2006-11-05 23:32:44 UTC (rev 17675) @@ -1617,13 +1617,16 @@ { size_t addrlen; struct sockaddr *addr; + char ipaddr[INET6_ADDRSTRLEN]; addrlen = GPOINTER_TO_INT(connect_data->hosts->data); connect_data->hosts = g_slist_remove(connect_data->hosts, connect_data->hosts->data); addr = connect_data->hosts->data; connect_data->hosts = g_slist_remove(connect_data->hosts, connect_data->hosts->data); - gaim_debug_info("proxy", "Attempting connection to %s\n", "TODO"); + inet_ntop(addr->sa_family, &((struct sockaddr_in *)addr)->sin_addr, + ipaddr, sizeof(ipaddr)); + gaim_debug_info("proxy", "Attempting connection to %s\n", ipaddr); switch (gaim_proxy_info_get_type(connect_data->gpi)) { case GAIM_PROXY_NONE: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |