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: <the...@us...> - 2006-12-13 10:11:35
|
Revision: 17983 http://svn.sourceforge.net/gaim/?rev=17983&view=rev Author: thekingant Date: 2006-12-13 02:11:31 -0800 (Wed, 13 Dec 2006) Log Message: ----------- Move away from using MSG_PEEK when recv'ing data over oscar sockets. It's possible this was causing problems with a small number of Windows users? People seem to frown pretty heavily upon MSG_PEEK in general, for some reason. Modified Paths: -------------- trunk/libgaim/protocols/oscar/flap_connection.c trunk/libgaim/protocols/oscar/oscar.h trunk/libgaim/protocols/oscar/peer.c trunk/libgaim/protocols/oscar/peer.h trunk/libgaim/protocols/oscar/peer_proxy.c Modified: trunk/libgaim/protocols/oscar/flap_connection.c =================================================================== --- trunk/libgaim/protocols/oscar/flap_connection.c 2006-12-13 08:45:57 UTC (rev 17982) +++ trunk/libgaim/protocols/oscar/flap_connection.c 2006-12-13 10:11:31 UTC (rev 17983) @@ -770,7 +770,6 @@ { FlapConnection *conn; ssize_t read; - guint8 header[6]; conn = data; @@ -780,8 +779,9 @@ /* Start reading a new FLAP */ if (conn->buffer_incoming.data.data == NULL) { - /* Peek at the first 6 bytes to get the length */ - read = recv(conn->fd, &header, 6, MSG_PEEK); + /* Read the first 6 bytes (the FLAP header) */ + read = recv(conn->fd, conn->header + conn->header_received, + 6 - conn->header_received, 0); /* Check if the FLAP server closed the connection */ if (read == 0) @@ -805,14 +805,12 @@ } /* If we don't even have a complete FLAP header then do nothing */ - if (read < 6) + conn->header_received += read; + if (conn->header_received < 6) break; - /* Read the first 6 bytes (the FLAP header) */ - read = recv(conn->fd, &header, 6, 0); - /* All FLAP frames must start with the byte 0x2a */ - if (aimutil_get8(&header[0]) != 0x2a) + if (aimutil_get8(&conn->header[0]) != 0x2a) { flap_connection_schedule_destroy(conn, OSCAR_DISCONNECT_INVALID_DATA, NULL); @@ -822,7 +820,7 @@ /* Verify the sequence number sent by the server. */ #if 0 /* TODO: Need to initialize conn->seqnum_in somewhere before we can use this. */ - if (aimutil_get16(&header[1]) != conn->seqnum_in++) + if (aimutil_get16(&conn->header[1]) != conn->seqnum_in++) { /* Received an out-of-order FLAP! */ flap_connection_schedule_destroy(conn, @@ -832,9 +830,9 @@ #endif /* Initialize a new temporary FlapFrame for incoming data */ - conn->buffer_incoming.channel = aimutil_get8(&header[1]); - conn->buffer_incoming.seqnum = aimutil_get16(&header[2]); - conn->buffer_incoming.data.len = aimutil_get16(&header[4]); + conn->buffer_incoming.channel = aimutil_get8(&conn->header[1]); + conn->buffer_incoming.seqnum = aimutil_get16(&conn->header[2]); + conn->buffer_incoming.data.len = aimutil_get16(&conn->header[4]); conn->buffer_incoming.data.data = g_new(guint8, conn->buffer_incoming.data.len); conn->buffer_incoming.data.offset = 0; } @@ -880,6 +878,8 @@ g_free(conn->buffer_incoming.data.data); conn->buffer_incoming.data.data = NULL; + + conn->header_received = 0; } } Modified: trunk/libgaim/protocols/oscar/oscar.h =================================================================== --- trunk/libgaim/protocols/oscar/oscar.h 2006-12-13 08:45:57 UTC (rev 17982) +++ trunk/libgaim/protocols/oscar/oscar.h 2006-12-13 10:11:31 UTC (rev 17983) @@ -382,6 +382,8 @@ gpointer new_conn_data; int fd; + guint8 header[6]; + ssize_t header_received; FlapFrame buffer_incoming; GaimCircBuffer *buffer_outgoing; guint watcher_incoming; Modified: trunk/libgaim/protocols/oscar/peer.c =================================================================== --- trunk/libgaim/protocols/oscar/peer.c 2006-12-13 08:45:57 UTC (rev 17982) +++ trunk/libgaim/protocols/oscar/peer.c 2006-12-13 10:11:31 UTC (rev 17983) @@ -288,15 +288,15 @@ { PeerConnection *conn; ssize_t read; - guint8 header[6]; conn = data; /* Start reading a new ODC/OFT frame */ if (conn->buffer_incoming.data == NULL) { - /* Peek at the first 6 bytes to get the length */ - read = recv(conn->fd, &header, 6, MSG_PEEK); + /* Read the first 6 bytes (magic string and frame length) */ + read = recv(conn->fd, conn->header + conn->header_received, + 6 - conn->header_received, 0); /* Check if the remote user closed the connection */ if (read == 0) @@ -320,26 +320,25 @@ conn->lastactivity = time(NULL); /* If we don't even have the first 6 bytes then do nothing */ - if (read < 6) + conn->header_received += read; + if (conn->header_received < 6) return; - /* Read the first 6 bytes (magic string and frame length) */ - read = recv(conn->fd, &header, 6, 0); - /* All ODC/OFT frames must start with a magic string */ - if (memcmp(conn->magic, header, 4)) + if (memcmp(conn->magic, conn->header, 4)) { gaim_debug_warning("oscar", "Expecting magic string to " "be %c%c%c%c but received magic string %c%c%c%c. " "Closing connection.\n", conn->magic[0], conn->magic[1], conn->magic[2], - conn->magic[3], header[0], header[1], header[2], header[3]); + conn->magic[3], conn->header[0], conn->header[1], + conn->header[2], conn->header[3]); peer_connection_destroy(conn, OSCAR_DISCONNECT_INVALID_DATA, NULL); return; } /* Initialize a new temporary ByteStream for incoming data */ - conn->buffer_incoming.len = aimutil_get16(&header[4]) - 6; + conn->buffer_incoming.len = aimutil_get16(&conn->header[4]) - 6; conn->buffer_incoming.data = g_new(guint8, conn->buffer_incoming.len); conn->buffer_incoming.offset = 0; } @@ -384,8 +383,11 @@ { peer_oft_recv_frame(conn, &conn->buffer_incoming); } + g_free(conn->buffer_incoming.data); conn->buffer_incoming.data = NULL; + + conn->header_received = 0; } /*******************************************************************/ Modified: trunk/libgaim/protocols/oscar/peer.h =================================================================== --- trunk/libgaim/protocols/oscar/peer.h 2006-12-13 08:45:57 UTC (rev 17982) +++ trunk/libgaim/protocols/oscar/peer.h 2006-12-13 10:11:31 UTC (rev 17983) @@ -158,7 +158,7 @@ */ GaimProxyConnectData *client_connect_data; GaimProxyConnectData *verified_connect_data; - + /** * This is only used when the peer connection is being established. */ @@ -177,13 +177,15 @@ int listenerfd; int fd; - + guint8 header[6]; + ssize_t header_received; + guint8 proxy_header[12]; + ssize_t proxy_header_received; + ByteStream buffer_incoming; + GaimCircBuffer *buffer_outgoing; guint watcher_incoming; guint watcher_outgoing; - ByteStream buffer_incoming; - GaimCircBuffer *buffer_outgoing; - /** * IP address of the proxy server, if applicable. */ Modified: trunk/libgaim/protocols/oscar/peer_proxy.c =================================================================== --- trunk/libgaim/protocols/oscar/peer_proxy.c 2006-12-13 08:45:57 UTC (rev 17982) +++ trunk/libgaim/protocols/oscar/peer_proxy.c 2006-12-13 10:11:31 UTC (rev 17983) @@ -203,7 +203,6 @@ { PeerConnection *conn; ssize_t read; - guint8 header[12]; ProxyFrame *frame; conn = data; @@ -212,8 +211,9 @@ /* Start reading a new proxy frame */ if (frame == NULL) { - /* Peek at the first 12 bytes to get the length */ - read = recv(conn->fd, &header, 12, MSG_PEEK); + /* Read the first 12 bytes (frame length and header) */ + read = recv(conn->fd, conn->proxy_header + conn->proxy_header_received, + 12 - conn->proxy_header_received, 0); /* Check if the proxy server closed the connection */ if (read == 0) @@ -238,30 +238,28 @@ conn->lastactivity = time(NULL); /* If we don't even have the first 12 bytes then do nothing */ - if (read < 12) + conn->proxy_header_received += read; + if (conn->proxy_header_received < 12) return; - /* Read the first 12 bytes (frame length and header) */ - read = recv(conn->fd, &header, 12, 0); - /* We only support a specific version of the proxy protocol */ - if (aimutil_get16(&header[2]) != PEER_PROXY_PACKET_VERSION) + if (aimutil_get16(&conn->proxy_header[2]) != PEER_PROXY_PACKET_VERSION) { gaim_debug_warning("oscar", "Expected peer proxy protocol " "version %u but received version %u. Closing " "connection.\n", PEER_PROXY_PACKET_VERSION, - aimutil_get16(&header[2])); + aimutil_get16(&conn->proxy_header[2])); peer_connection_trynext(conn); return; } /* Initialize a new temporary ProxyFrame for incoming data */ frame = g_new0(ProxyFrame, 1); - frame->payload.len = aimutil_get16(&header[0]) - 10; - frame->version = aimutil_get16(&header[2]); - frame->type = aimutil_get16(&header[4]); - frame->unknown = aimutil_get16(&header[6]); - frame->flags = aimutil_get16(&header[10]); + frame->payload.len = aimutil_get16(&conn->proxy_header[0]) - 10; + frame->version = aimutil_get16(&conn->proxy_header[2]); + frame->type = aimutil_get16(&conn->proxy_header[4]); + frame->unknown = aimutil_get16(&conn->proxy_header[6]); + frame->flags = aimutil_get16(&conn->proxy_header[10]); if (frame->payload.len > 0) frame->payload.data = g_new(guint8, frame->payload.len); conn->frame = frame; @@ -313,8 +311,11 @@ conn->frame = NULL; byte_stream_rewind(&frame->payload); peer_proxy_recv_frame(conn, frame); + g_free(frame->payload.data); g_free(frame); + + conn->proxy_header_received = 0; } /** This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <the...@us...> - 2006-12-13 08:45:57
|
Revision: 17982 http://svn.sourceforge.net/gaim/?rev=17982&view=rev Author: thekingant Date: 2006-12-13 00:45:57 -0800 (Wed, 13 Dec 2006) Log Message: ----------- For oscar accounts, make sure our server-stored icon is updated correctly in the event that the local user set a new icon while this account was offline. Modified Paths: -------------- trunk/libgaim/protocols/oscar/oscar.c Modified: trunk/libgaim/protocols/oscar/oscar.c =================================================================== --- trunk/libgaim/protocols/oscar/oscar.c 2006-12-13 08:44:10 UTC (rev 17981) +++ trunk/libgaim/protocols/oscar/oscar.c 2006-12-13 08:45:57 UTC (rev 17982) @@ -4697,6 +4697,7 @@ GaimBuddy *b; struct aim_ssi_item *curitem; guint32 tmp; + const char *icon_path, *cached_icon_path; va_list ap; guint16 fmtver, numitems; guint32 timestamp; @@ -4924,6 +4925,15 @@ "ssi: activating server-stored buddy list\n"); aim_ssi_enable(od); + /* + * Make sure our server-stored icon is updated correctly in + * the event that the local user set a new icon while this + * account was offline. + */ + icon_path = gaim_account_get_buddy_icon(account); + cached_icon_path = gaim_buddy_icons_get_full_path(icon_path); + oscar_set_icon(gc, cached_icon_path); + return 1; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <the...@us...> - 2006-12-13 08:44:13
|
Revision: 17981 http://svn.sourceforge.net/gaim/?rev=17981&view=rev Author: thekingant Date: 2006-12-13 00:44:10 -0800 (Wed, 13 Dec 2006) Log Message: ----------- Fix a memleak when using gtk 2.0 and ~/.gaim/icons/ doesn't exist and it can't be created for whatever reason. Extremely minor. Modified Paths: -------------- trunk/gtk/gtkutils.c Modified: trunk/gtk/gtkutils.c =================================================================== --- trunk/gtk/gtkutils.c 2006-12-13 02:11:14 UTC (rev 17980) +++ trunk/gtk/gtkutils.c 2006-12-13 08:44:10 UTC (rev 17981) @@ -2492,9 +2492,7 @@ gaim_debug_error("buddyicon", "Unable to create directory %s: %s\n", dirname, strerror(errno)); -#if GTK_CHECK_VERSION(2,2,0) g_strfreev(prpl_formats); -#endif g_free(random); g_free(filename); return NULL; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <amc...@us...> - 2006-12-13 02:11:16
|
Revision: 17980 http://svn.sourceforge.net/gaim/?rev=17980&view=rev Author: amc_grim Date: 2006-12-12 18:11:14 -0800 (Tue, 12 Dec 2006) Log Message: ----------- make this add a newline for both incomming and outgoing im's. Note that this is only for displayed messages. We do not, repeat, do NOT, send the newline to chats and other users. Modified Paths: -------------- trunk/libgaim/plugins/newline.c Modified: trunk/libgaim/plugins/newline.c =================================================================== --- trunk/libgaim/plugins/newline.c 2006-12-13 01:42:58 UTC (rev 17979) +++ trunk/libgaim/plugins/newline.c 2006-12-13 02:11:14 UTC (rev 17980) @@ -45,14 +45,10 @@ { void *conversation = gaim_conversations_get_handle(); - gaim_signal_connect(conversation, "displaying-im-msg", + gaim_signal_connect(conversation, "writing-im-msg", plugin, GAIM_CALLBACK(addnewline_msg_cb), NULL); - gaim_signal_connect(conversation, "displaying-chat-msg", + gaim_signal_connect(conversation, "writing-chat-msg", plugin, GAIM_CALLBACK(addnewline_msg_cb), NULL); - gaim_signal_connect(conversation, "receiving-im-msg", - plugin, GAIM_CALLBACK(addnewline_msg_cb), NULL); - gaim_signal_connect(conversation, "receiving-chat-msg", - plugin, GAIM_CALLBACK(addnewline_msg_cb), NULL); return TRUE; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sa...@us...> - 2006-12-13 01:43:05
|
Revision: 17979 http://svn.sourceforge.net/gaim/?rev=17979&view=rev Author: sadrul Date: 2006-12-12 17:42:58 -0800 (Tue, 12 Dec 2006) Log Message: ----------- Show the information correctly. Modified Paths: -------------- trunk/console/gntnotify.c Modified: trunk/console/gntnotify.c =================================================================== --- trunk/console/gntnotify.c 2006-12-13 00:56:57 UTC (rev 17978) +++ trunk/console/gntnotify.c 2006-12-13 01:42:58 UTC (rev 17979) @@ -228,7 +228,7 @@ void *ui_handle; primary = g_strdup_printf(_("Info for %s"), who); - info = gaim_notify_user_info_get_text_with_newline(user_info, "\n"); + info = gaim_notify_user_info_get_text_with_newline(user_info, "<BR>"); ui_handle = gg_notify_formatted(_("Buddy Information"), primary, NULL, info); g_free(info); g_free(primary); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <amc...@us...> - 2006-12-13 00:56:57
|
Revision: 17978 http://svn.sourceforge.net/gaim/?rev=17978&view=rev Author: amc_grim Date: 2006-12-12 16:56:57 -0800 (Tue, 12 Dec 2006) Log Message: ----------- make sure genmarshall get dist'd Modified Paths: -------------- trunk/console/libgnt/Makefile.am Modified: trunk/console/libgnt/Makefile.am =================================================================== --- trunk/console/libgnt/Makefile.am 2006-12-12 23:49:00 UTC (rev 17977) +++ trunk/console/libgnt/Makefile.am 2006-12-13 00:56:57 UTC (rev 17978) @@ -1,3 +1,5 @@ +EXTRA_DIST=genmarshal + SUBDIRS = . wms pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = gnt.pc This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sa...@us...> - 2006-12-12 23:49:06
|
Revision: 17977 http://svn.sourceforge.net/gaim/?rev=17977&view=rev Author: sadrul Date: 2006-12-12 15:49:00 -0800 (Tue, 12 Dec 2006) Log Message: ----------- Make sure the typing notification shows up just once in the conversation window. Modified Paths: -------------- trunk/console/gntconv.c Modified: trunk/console/gntconv.c =================================================================== --- trunk/console/gntconv.c 2006-12-12 22:44:33 UTC (rev 17976) +++ trunk/console/gntconv.c 2006-12-12 23:49:00 UTC (rev 17977) @@ -244,8 +244,10 @@ scroll = gnt_text_view_get_lines_below(GNT_TEXT_VIEW(ggc->tv)); str = g_strdup_printf(_("\n%s is typing..."), gaim_conversation_get_name(conv)); - gnt_text_view_append_text_with_tag(GNT_TEXT_VIEW(ggc->tv), - str, GNT_TEXT_FLAG_DIM, "typing"); + /* Update an existing notification if there's one. */ + if (gnt_text_view_tag_change(GNT_TEXT_VIEW(ggc->tv), "typing", str, TRUE) == 0) + gnt_text_view_append_text_with_tag(GNT_TEXT_VIEW(ggc->tv), + str, GNT_TEXT_FLAG_DIM, "typing"); g_free(str); if (scroll <= 1) gnt_text_view_scroll(GNT_TEXT_VIEW(ggc->tv), 0); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sa...@us...> - 2006-12-12 22:44:35
|
Revision: 17976 http://svn.sourceforge.net/gaim/?rev=17976&view=rev Author: sadrul Date: 2006-12-12 14:44:33 -0800 (Tue, 12 Dec 2006) Log Message: ----------- This may or may not make typing-notifications to be sent. I'll test when I get home. Modified Paths: -------------- trunk/console/gntconv.c Modified: trunk/console/gntconv.c =================================================================== --- trunk/console/gntconv.c 2006-12-12 21:55:45 UTC (rev 17975) +++ trunk/console/gntconv.c 2006-12-12 22:44:33 UTC (rev 17976) @@ -140,7 +140,27 @@ return FALSE; return TRUE; } + else + { + gboolean first = !gnt_entry_get_text(GNT_ENTRY(ggconv->entry)); + if (gaim_prefs_get_bool("/gaim/gnt/conversations/notify_typing")) { + /* Xerox'ed */ + GaimConversation *conv = ggconv->active_conv; + GaimConvIm *im = GAIM_CONV_IM(conv); + gaim_conv_im_stop_send_typed_timeout(im); + gaim_conv_im_start_send_typed_timeout(im); + if (first || (gaim_conv_im_get_type_again(im) != 0 && + time(NULL) > gaim_conv_im_get_type_again(im))) { + unsigned int timeout; + timeout = serv_send_typing(gaim_conversation_get_gc(conv), + gaim_conversation_get_name(conv), + GAIM_TYPING); + gaim_conv_im_set_type_again(im, timeout); + } + } + } + return FALSE; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sea...@us...> - 2006-12-12 21:55:45
|
Revision: 17975 http://svn.sourceforge.net/gaim/?rev=17975&view=rev Author: seanegan Date: 2006-12-12 13:55:45 -0800 (Tue, 12 Dec 2006) Log Message: ----------- this gets asked of Google Talk alot Modified Paths: -------------- trunk/configure.ac Modified: trunk/configure.ac =================================================================== --- trunk/configure.ac 2006-12-12 16:20:43 UTC (rev 17974) +++ trunk/configure.ac 2006-12-12 21:55:45 UTC (rev 17975) @@ -1199,7 +1199,7 @@ [enable_nss="$enableval"], [enable_nss="yes"]) -msg_ssl="None (MSN will not work without SSL!)" +msg_ssl="None (MSN and Google Talk will not work without SSL!)" dnl # dnl # Check for GnuTLS if it's specified. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dat...@us...> - 2006-12-12 16:20:52
|
Revision: 17974 http://svn.sourceforge.net/gaim/?rev=17974&view=rev Author: datallah Date: 2006-12-12 08:20:43 -0800 (Tue, 12 Dec 2006) Log Message: ----------- trime noticed that dns lookups don't work if you don't HAVE_GETADDRINFO; he? also submitted a patch to fix the bug. Modified Paths: -------------- trunk/libgaim/dnsquery.c Modified: trunk/libgaim/dnsquery.c =================================================================== --- trunk/libgaim/dnsquery.c 2006-12-12 08:53:35 UTC (rev 17973) +++ trunk/libgaim/dnsquery.c 2006-12-12 16:20:43 UTC (rev 17974) @@ -252,6 +252,7 @@ sin.sin_family = AF_INET; sin.sin_port = htons(dns_params.port); + write(child_out, &zero, sizeof(zero)); write(child_out, &addrlen, sizeof(addrlen)); write(child_out, &sin, addrlen); write(child_out, &zero, sizeof(zero)); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sea...@us...> - 2006-12-12 09:01:03
|
Revision: 17973 http://svn.sourceforge.net/gaim/?rev=17973&view=rev Author: seanegan Date: 2006-12-12 00:53:35 -0800 (Tue, 12 Dec 2006) Log Message: ----------- I realized doing Gmail notifications that mail notifications spawn dialogs that are non-user-initiated. I no longer like this, so I came up with "headlines," non-critical alerts that appear at the top of the buddy list until they're clicked or a new headline is set. Now, when you get a new mail notification, a headline will appear saying "You have 60 new e-mails." When you click it, the old mail notification will show up. Also, it looks wicked awesome: http://gaim.sf.net/sean/images/headline.png Modified Paths: -------------- trunk/gtk/gtkblist.c trunk/gtk/gtkblist.h trunk/gtk/gtknotify.c trunk/gtk/gtkscrollbook.c trunk/gtk/gtkutils.c Modified: trunk/gtk/gtkblist.c =================================================================== --- trunk/gtk/gtkblist.c 2006-12-12 08:52:46 UTC (rev 17972) +++ trunk/gtk/gtkblist.c 2006-12-12 08:53:35 UTC (rev 17973) @@ -3686,9 +3686,11 @@ } static gboolean -headline_box_press_cb(GtkWidget *widget, GdkEventButton *event, GaimGtkBuddyList *box) +headline_box_press_cb(GtkWidget *widget, GdkEventButton *event, GaimGtkBuddyList *gtkblist) { gtk_widget_hide(gtkblist->headline_hbox); + if (gtkblist->headline_callback) + g_idle_add(G_CALLBACK(gtkblist->headline_callback), gtkblist->headline_data); } /***********************************/ @@ -3812,8 +3814,8 @@ static gboolean paint_headline_hbox (GtkWidget *widget, - GdkEventExpose *event, - gpointer user_data) + GdkEventExpose *event, + gpointer user_data) { gtk_paint_flat_box (widget->style, widget->window, @@ -3830,7 +3832,30 @@ return FALSE; } +static void +headline_style_set (GtkWidget *widget, + GtkStyle *prev_style) +{ + GtkTooltips *tooltips; + GtkStyle *style; + + if (gtkblist->changing_style) + return; + + tooltips = gtk_tooltips_new (); + g_object_ref_sink (tooltips); + gtk_tooltips_force_window (tooltips); + gtk_widget_ensure_style (tooltips->tip_window); + style = gtk_widget_get_style (tooltips->tip_window); + + gtkblist->changing_style = TRUE; + gtk_widget_set_style (gtkblist->headline_hbox, style); + gtkblist->changing_style = FALSE; + + g_object_unref (tooltips); +} + /******************************************/ /* End of connection error handling stuff */ /******************************************/ @@ -3988,13 +4013,23 @@ gtk_container_set_border_width(GTK_CONTAINER(gtkblist->headline_hbox), 6); gtk_container_add(GTK_CONTAINER(ebox), gtkblist->headline_hbox); gtkblist->headline_image = gtk_image_new_from_pixbuf(NULL); + gtk_misc_set_alignment(GTK_MISC(gtkblist->headline_image), 0.0, 0); gtkblist->headline_label = gtk_label_new(NULL); + gtk_widget_set_size_request(gtkblist->headline_label, + gaim_prefs_get_int("/gaim/gtk/blist/width")-25,-1); + gtk_label_set_line_wrap(GTK_LABEL(gtkblist->headline_label), TRUE); gtk_box_pack_start(GTK_BOX(gtkblist->headline_hbox), gtkblist->headline_image, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(gtkblist->headline_hbox), gtkblist->headline_label, TRUE, TRUE, 0); + g_signal_connect(gtkblist->headline_hbox, + "style-set", + G_CALLBACK(headline_style_set), + NULL); g_signal_connect (gtkblist->headline_hbox, "expose_event", G_CALLBACK (paint_headline_hbox), NULL); + gtk_widget_set_name(gtkblist->headline_hbox, "gtk-tooltips"); + gtkblist->hand_cursor = gdk_cursor_new (GDK_HAND2); gtkblist->arrow_cursor = gdk_cursor_new (GDK_LEFT_PTR); g_signal_connect(G_OBJECT(ebox), "enter-notify-event", G_CALLBACK(headline_box_enter_cb), gtkblist); @@ -4247,7 +4282,8 @@ gtkblist, GAIM_CALLBACK(conversation_deleting_cb), gtkblist); - gtk_widget_hide(gtkblist->scrollbook); +// gtk_widget_hide(gtkblist->scrollbook); + gtk_widget_hide(gtkblist->headline_hbox); /* emit our created signal */ gaim_signal_emit(handle, "gtkblist-created", list); @@ -5481,8 +5517,8 @@ void gaim_gtk_blist_set_headline(const char *text, GdkPixbuf *pixbuf, GCallback callback, gpointer user_data) { - gtk_label_set_markup(gtkblist->headline_label, text); - gtk_image_set_from_pixbuf(gtkblist->headline_image, pixbuf); + gtk_label_set_markup(GTK_LABEL(gtkblist->headline_label), text); + gtk_image_set_from_pixbuf(GTK_IMAGE(gtkblist->headline_image), pixbuf); gtkblist->headline_callback = callback; gtkblist->headline_data = user_data; Modified: trunk/gtk/gtkblist.h =================================================================== --- trunk/gtk/gtkblist.h 2006-12-12 08:52:46 UTC (rev 17972) +++ trunk/gtk/gtkblist.h 2006-12-12 08:53:35 UTC (rev 17973) @@ -105,6 +105,7 @@ GtkWidget *headline_image; /**< Image for headline notifications */ GCallback headline_callback; /**< Callback for headline notifications */ gpointer headline_data; /**< User data for headline notifications */ + gboolean changing_style; /**< True when changing GTK+ theme style */ GtkWidget *error_buttons; /**< Box containing the connection error buttons */ GtkWidget *statusbox; /**< The status selector dropdown */ Modified: trunk/gtk/gtknotify.c =================================================================== --- trunk/gtk/gtknotify.c 2006-12-12 08:52:46 UTC (rev 17972) +++ trunk/gtk/gtknotify.c 2006-12-12 08:53:35 UTC (rev 17973) @@ -83,6 +83,7 @@ GtkTreeStore *treemodel; GtkLabel *label; GtkWidget *open_button; + int total_count; }; static GaimMailDialog *mail_dialog = NULL; @@ -426,6 +427,7 @@ if (detailed) { dialog = mail_dialog->dialog; + mail_dialog->total_count += count; while (count--) { char *to_text = NULL; @@ -500,7 +502,16 @@ g_free(detail_text); gtk_window_set_resizable(GTK_WINDOW(dialog), FALSE); } - gtk_widget_show_all(dialog); + if (!GTK_WIDGET_VISIBLE(dialog)) { + GdkPixbuf *pixbuf = gtk_widget_render_icon(dialog, GAIM_STOCK_ICON_ONLINE_MSG, + GTK_ICON_SIZE_BUTTON, NULL); + char *label_text = g_strdup_printf(ngettext("<b>You have %d new e-mail.</b>", + "<b>You have %d new e-mails.</b>", + mail_dialog->total_count), mail_dialog->total_count); + gaim_gtk_blist_set_headline(label_text, + pixbuf, G_CALLBACK(gtk_widget_show_all), dialog); + g_object_unref(pixbuf); + } return data; } Modified: trunk/gtk/gtkscrollbook.c =================================================================== --- trunk/gtk/gtkscrollbook.c 2006-12-12 08:52:46 UTC (rev 17972) +++ trunk/gtk/gtkscrollbook.c 2006-12-12 08:53:35 UTC (rev 17973) @@ -203,7 +203,6 @@ g_signal_connect_swapped(G_OBJECT(scroll_book->notebook), "remove", G_CALLBACK(page_count_change_cb), scroll_book); g_signal_connect(G_OBJECT(scroll_book->notebook), "switch-page", G_CALLBACK(switch_page_cb), scroll_book); - gtk_widget_show_all(scroll_book->hbox); gtk_widget_show_all(scroll_book->notebook); } Modified: trunk/gtk/gtkutils.c =================================================================== --- trunk/gtk/gtkutils.c 2006-12-12 08:52:46 UTC (rev 17972) +++ trunk/gtk/gtkutils.c 2006-12-12 08:53:35 UTC (rev 17973) @@ -2928,8 +2928,7 @@ g_free(primary_esc); label = gtk_label_new(NULL); gtk_widget_set_size_request(label, gaim_prefs_get_int("/gaim/gtk/blist/width")-25,-1); - gtk_widget_modify_text(vbox, GTK_STATE_NORMAL, &(label->style->white)); - gtk_label_set_markup(GTK_LABEL(label), label_text); + gtk_label_set_markup(GTK_LABEL(label), label_text); gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); gtk_misc_set_alignment(GTK_MISC(label), 0, 0); gtk_box_pack_start(GTK_BOX(hbox), label, TRUE, TRUE, 0); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <the...@us...> - 2006-12-12 08:56:15
|
Revision: 17972 http://svn.sourceforge.net/gaim/?rev=17972&view=rev Author: thekingant Date: 2006-12-12 00:52:46 -0800 (Tue, 12 Dec 2006) Log Message: ----------- I left off a brace. My bad! Modified Paths: -------------- trunk/libgaim/protocols/yahoo/yahoo_picture.c Modified: trunk/libgaim/protocols/yahoo/yahoo_picture.c =================================================================== --- trunk/libgaim/protocols/yahoo/yahoo_picture.c 2006-12-12 08:46:07 UTC (rev 17971) +++ trunk/libgaim/protocols/yahoo/yahoo_picture.c 2006-12-12 08:52:46 UTC (rev 17972) @@ -569,9 +569,10 @@ yahoo_buddy_icon_upload(gc, d); - } else + } else { gaim_debug_error("yahoo", "Could not read buddy icon file '%s': %s\n", iconfile, error->message); g_error_free(error); } +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sea...@us...> - 2006-12-12 08:52:58
|
Revision: 17971 http://svn.sourceforge.net/gaim/?rev=17971&view=rev Author: seanegan Date: 2006-12-12 00:46:07 -0800 (Tue, 12 Dec 2006) Log Message: ----------- screenshot Added Paths: ----------- web/htdocs/sean/images/headline.png Added: web/htdocs/sean/images/headline.png =================================================================== (Binary files differ) Property changes on: web/htdocs/sean/images/headline.png ___________________________________________________________________ Name: svn:mime-type + image/png This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <the...@us...> - 2006-12-12 07:35:14
|
Revision: 17969 http://svn.sourceforge.net/gaim/?rev=17969&view=rev Author: thekingant Date: 2006-12-11 23:27:11 -0800 (Mon, 11 Dec 2006) Log Message: ----------- Add gntmarshal.c and .h to svn:ignore. It looks like they're auto-generated. Property Changed: ---------------- trunk/console/libgnt/ Property changes on: trunk/console/libgnt ___________________________________________________________________ Name: svn:ignore - .deps gnt.pc .libs Makefile Makefile.in *.dll *.la *.lo + .deps gnt.pc .libs Makefile Makefile.in *.dll *.la *.lo gntmarshal.c gntmarshal.h This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <the...@us...> - 2006-12-12 07:28:50
|
Revision: 17970 http://svn.sourceforge.net/gaim/?rev=17970&view=rev Author: thekingant Date: 2006-12-11 23:28:39 -0800 (Mon, 11 Dec 2006) Log Message: ----------- Get rid of a vague compile warning: gntblist.c:1948: warning: ?\226?\128?\152account_signed_on_cb?\226?\128?\153 was used with no prototype before its definition Modified Paths: -------------- trunk/console/gntblist.c Modified: trunk/console/gntblist.c =================================================================== --- trunk/console/gntblist.c 2006-12-12 07:27:11 UTC (rev 17969) +++ trunk/console/gntblist.c 2006-12-12 07:28:39 UTC (rev 17970) @@ -109,7 +109,7 @@ static void savedstatus_changed(GaimSavedStatus *now, GaimSavedStatus *old); static void blist_show(GaimBuddyList *list); static void update_buddy_display(GaimBuddy *buddy, GGBlist *ggblist); -static void account_signed_on_cb(); +static void account_signed_on_cb(void); /* Sort functions */ static int blist_node_compare_text(GaimBlistNode *n1, GaimBlistNode *n2); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sea...@us...> - 2006-12-12 04:45:12
|
Revision: 17968 http://svn.sourceforge.net/gaim/?rev=17968&view=rev Author: seanegan Date: 2006-12-11 20:45:02 -0800 (Mon, 11 Dec 2006) Log Message: ----------- incomplete. Working on this from home. You may see where it's going. Modified Paths: -------------- trunk/gtk/gtkblist.c trunk/gtk/gtkblist.h trunk/gtk/gtkscrollbook.c Modified: trunk/gtk/gtkblist.c =================================================================== --- trunk/gtk/gtkblist.c 2006-12-12 03:30:49 UTC (rev 17967) +++ trunk/gtk/gtkblist.c 2006-12-12 04:45:02 UTC (rev 17968) @@ -3671,6 +3671,26 @@ return FALSE; } +static gboolean +headline_box_enter_cb(GtkWidget *widget, GdkEventCrossing *event, GaimGtkBuddyList *gtkblist) +{ + gdk_window_set_cursor(widget->window, gtkblist->hand_cursor); + return FALSE; +} + +static gboolean +headline_box_leave_cb(GtkWidget *widget, GdkEventCrossing *event, GaimGtkBuddyList *gtkblist) +{ + gdk_window_set_cursor(widget->window, gtkblist->arrow_cursor); + return FALSE; +} + +static gboolean +headline_box_press_cb(GtkWidget *widget, GdkEventButton *event, GaimGtkBuddyList *box) +{ + gtk_widget_hide(gtkblist->headline_hbox); +} + /***********************************/ /* Connection error handling stuff */ /***********************************/ @@ -3790,7 +3810,27 @@ create_connection_error_buttons, NULL); } +static gboolean +paint_headline_hbox (GtkWidget *widget, + GdkEventExpose *event, + gpointer user_data) +{ + gtk_paint_flat_box (widget->style, + widget->window, + GTK_STATE_NORMAL, + GTK_SHADOW_OUT, + NULL, + widget, + "tooltip", + widget->allocation.x + 1, + widget->allocation.y + 1, + widget->allocation.width - 2, + widget->allocation.height - 2); + + return FALSE; +} + /******************************************/ /* End of connection error handling stuff */ /******************************************/ @@ -3848,6 +3888,7 @@ GtkCellRenderer *rend; GtkTreeViewColumn *column; GtkWidget *menu; + GtkWidget *ebox; GtkWidget *sw; GtkWidget *sep; GtkWidget *label; @@ -3941,6 +3982,25 @@ gtk_notebook_set_current_page(GTK_NOTEBOOK(gtkblist->notebook), 1); } + ebox = gtk_event_box_new(); + gtk_box_pack_start(GTK_BOX(gtkblist->vbox), ebox, FALSE, FALSE, 0); + gtkblist->headline_hbox = gtk_hbox_new(FALSE, 3); + gtk_container_set_border_width(GTK_CONTAINER(gtkblist->headline_hbox), 6); + gtk_container_add(GTK_CONTAINER(ebox), gtkblist->headline_hbox); + gtkblist->headline_image = gtk_image_new_from_pixbuf(NULL); + gtkblist->headline_label = gtk_label_new(NULL); + gtk_box_pack_start(GTK_BOX(gtkblist->headline_hbox), gtkblist->headline_image, FALSE, FALSE, 0); + gtk_box_pack_start(GTK_BOX(gtkblist->headline_hbox), gtkblist->headline_label, TRUE, TRUE, 0); + g_signal_connect (gtkblist->headline_hbox, + "expose_event", + G_CALLBACK (paint_headline_hbox), + NULL); + gtkblist->hand_cursor = gdk_cursor_new (GDK_HAND2); + gtkblist->arrow_cursor = gdk_cursor_new (GDK_LEFT_PTR); + g_signal_connect(G_OBJECT(ebox), "enter-notify-event", G_CALLBACK(headline_box_enter_cb), gtkblist); + g_signal_connect(G_OBJECT(ebox), "leave-notify-event", G_CALLBACK(headline_box_leave_cb), gtkblist); + g_signal_connect(G_OBJECT(ebox), "button-press-event", G_CALLBACK(headline_box_press_cb), gtkblist); + /****************************** GtkTreeView **********************************/ sw = gtk_scrolled_window_new(NULL,NULL); gtk_widget_show(sw); @@ -4082,11 +4142,11 @@ gtk_box_pack_start(GTK_BOX(gtkblist->vbox), sw, TRUE, TRUE, 0); gtk_container_add(GTK_CONTAINER(sw), gtkblist->treeview); + sep = gtk_hseparator_new(); + gtk_box_pack_start(GTK_BOX(gtkblist->vbox), sep, FALSE, FALSE, 0); + gtkblist->scrollbook = gtk_gaim_scroll_book_new(); gtk_box_pack_start(GTK_BOX(gtkblist->vbox), gtkblist->scrollbook, FALSE, FALSE, 0); - - sep = gtk_hseparator_new(); - gtk_box_pack_start(GTK_BOX(gtkblist->vbox), sep, FALSE, FALSE, 0); /* Create an empty vbox used for showing connection errors */ gtkblist->error_buttons = gtk_vbox_new(FALSE, 0); @@ -4745,6 +4805,11 @@ g_free(gtkblist); accountmenu = NULL; gtkblist = NULL; + + gdk_cursor_unref(gtkblist->hand_cursor); + gdk_cursor_unref(gtkblist->arrow_cursor); + gtkblist->hand_cursor = NULL; + gtkblist->arrow_cursor = NULL; gaim_prefs_disconnect_by_handle(gaim_gtk_blist_get_handle()); } @@ -5413,6 +5478,16 @@ gtk_container_add(GTK_CONTAINER(gtkblist->scrollbook), widget); } +void +gaim_gtk_blist_set_headline(const char *text, GdkPixbuf *pixbuf, GCallback callback, gpointer user_data) +{ + gtk_label_set_markup(gtkblist->headline_label, text); + gtk_image_set_from_pixbuf(gtkblist->headline_image, pixbuf); + + gtkblist->headline_callback = callback; + gtkblist->headline_data = user_data; + gtk_widget_show_all(gtkblist->headline_hbox); +} static GaimBlistUiOps blist_ui_ops = { Modified: trunk/gtk/gtkblist.h =================================================================== --- trunk/gtk/gtkblist.h 2006-12-12 03:30:49 UTC (rev 17967) +++ trunk/gtk/gtkblist.h 2006-12-12 04:45:02 UTC (rev 17968) @@ -95,9 +95,17 @@ GList *tooltipdata; /**< The data for each "chunk" of the tooltip */ GaimBlistNode *selected_node; /**< The currently selected node */ + + GdkCursor *hand_cursor; /**< Hand cursor */ + GdkCursor *arrow_cursor; /**< Arrow cursor */ GtkWidget *scrollbook; /**< Scrollbook for alerts */ - + GtkWidget *headline_hbox; /**< Hbox for headline notification */ + GtkWidget *headline_label; /**< Label for headline notifications */ + GtkWidget *headline_image; /**< Image for headline notifications */ + GCallback headline_callback; /**< Callback for headline notifications */ + gpointer headline_data; /**< User data for headline notifications */ + GtkWidget *error_buttons; /**< Box containing the connection error buttons */ GtkWidget *statusbox; /**< The status selector dropdown */ }; @@ -314,4 +322,17 @@ */ void gaim_gtk_blist_update_account_error_state(GaimAccount *account, const char *message); +/** + * Sets a headline notification + * + * This is currently used for mail notification, but could theoretically be used for anything. + * Only the most recent headline will be shown. + * + * @param text Pango Markup for the label text + * @param pixbuf The GdkPixbuf for the icon + * @param callback The callback to call when headline is clicked + * @param user_data The userdata to include in the callback + */ +void gaim_gtk_blist_set_headline(const char *text, GdkPixbuf *pixbuf, GCallback callback, gpointer user_data); + #endif /* _GAIM_GTKBLIST_H_ */ Modified: trunk/gtk/gtkscrollbook.c =================================================================== --- trunk/gtk/gtkscrollbook.c 2006-12-12 03:30:49 UTC (rev 17967) +++ trunk/gtk/gtkscrollbook.c 2006-12-12 04:45:02 UTC (rev 17968) @@ -92,7 +92,6 @@ refresh_scroll_box(GtkGaimScrollBook *scroll_book, int index, int count) { char *label; - gtk_widget_show_all(GTK_WIDGET(scroll_book)); if (count <= 1) gtk_widget_hide(GTK_WIDGET(scroll_book->hbox)); @@ -120,9 +119,10 @@ static void page_count_change_cb(GtkGaimScrollBook *scroll_book) { + int count; int index = gtk_notebook_get_current_page(GTK_NOTEBOOK(scroll_book->notebook)); #if GTK_CHECK_VERSION(2,2,0) - int count = gtk_notebook_get_n_pages(GTK_NOTEBOOK(scroll_book->notebook)); + count = gtk_notebook_get_n_pages(GTK_NOTEBOOK(scroll_book->notebook)); #else count = g_list_length(GTK_NOTEBOOK(scroll_book->notebook)->children); #endif @@ -146,6 +146,7 @@ { gtk_widget_show(widget); gtk_notebook_append_page(GTK_NOTEBOOK(GTK_GAIM_SCROLL_BOOK(container)->notebook), widget, NULL); + page_count_change_cb(GTK_GAIM_SCROLL_BOOK(container)); } static void @@ -155,9 +156,8 @@ gpointer callback_data) { GtkGaimScrollBook *scroll_book = GTK_GAIM_SCROLL_BOOK(container); - if (include_internals) { + if (include_internals) (*callback)(scroll_book->hbox, callback_data); - } (*callback)(scroll_book->notebook, callback_data); } @@ -201,9 +201,10 @@ gtk_box_pack_start(GTK_BOX(scroll_book), scroll_book->notebook, TRUE, TRUE, 0); - g_signal_connect_swapped(G_OBJECT(scroll_book->notebook), "add", G_CALLBACK(page_count_change_cb), scroll_book); g_signal_connect_swapped(G_OBJECT(scroll_book->notebook), "remove", G_CALLBACK(page_count_change_cb), scroll_book); g_signal_connect(G_OBJECT(scroll_book->notebook), "switch-page", G_CALLBACK(switch_page_cb), scroll_book); + gtk_widget_show_all(scroll_book->hbox); + gtk_widget_show_all(scroll_book->notebook); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sa...@us...> - 2006-12-12 03:34:53
|
Revision: 17967 http://svn.sourceforge.net/gaim/?rev=17967&view=rev Author: sadrul Date: 2006-12-11 19:30:49 -0800 (Mon, 11 Dec 2006) Log Message: ----------- Fix auto-joining chatrooms. You don't need to keep the buddylist open for autojoins to work. Modified Paths: -------------- trunk/console/gntblist.c Modified: trunk/console/gntblist.c =================================================================== --- trunk/console/gntblist.c 2006-12-12 01:06:42 UTC (rev 17966) +++ trunk/console/gntblist.c 2006-12-12 03:30:49 UTC (rev 17967) @@ -109,6 +109,7 @@ static void savedstatus_changed(GaimSavedStatus *now, GaimSavedStatus *old); static void blist_show(GaimBuddyList *list); static void update_buddy_display(GaimBuddy *buddy, GGBlist *ggblist); +static void account_signed_on_cb(); /* Sort functions */ static int blist_node_compare_text(GaimBlistNode *n1, GaimBlistNode *n2); @@ -515,11 +516,6 @@ node->ui_data = gnt_tree_add_row_after(GNT_TREE(ggblist->tree), chat, gnt_tree_create_row(GNT_TREE(ggblist->tree), get_display_name(node)), group, NULL); - - /* XXX: This causes problem because you can close a chat window, hide the buddylist. - * When you show the buddylist, you automatically join the chat again. */ - if (gaim_blist_node_get_bool((GaimBlistNode*)chat, "gnt-autojoin")) - serv_join_chat(gaim_account_get_connection(chat->account), chat->components); } static void @@ -1587,6 +1583,8 @@ gaim_prefs_connect_callback(gg_blist_get_handle(), PREF_ROOT "/sort_type", redraw_blist, NULL); + gaim_signal_connect(gaim_connections_get_handle(), "signed-on", gaim_blist_get_handle(), + G_CALLBACK(account_signed_on_cb), NULL); return; } @@ -1945,6 +1943,21 @@ } } +static void +account_signed_on_cb() +{ + GaimBlistNode *node; + + for (node = gaim_blist_get_root(); node; + node = gaim_blist_node_next(node, FALSE)) { + if (GAIM_BLIST_NODE_IS_CHAT(node)) { + GaimChat *chat = (GaimChat*)node; + if (gaim_blist_node_get_bool(node, "gnt-autojoin")) + serv_join_chat(gaim_account_get_connection(chat->account), chat->components); + } + } +} + static void show_offline_cb(GntMenuItem *item, gpointer n) { gaim_prefs_set_bool(PREF_ROOT "/showoffline", This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sa...@us...> - 2006-12-12 01:06:44
|
Revision: 17966 http://svn.sourceforge.net/gaim/?rev=17966&view=rev Author: sadrul Date: 2006-12-11 17:06:42 -0800 (Mon, 11 Dec 2006) Log Message: ----------- Fix the tooltip. Modified Paths: -------------- trunk/console/gntblist.c Modified: trunk/console/gntblist.c =================================================================== --- trunk/console/gntblist.c 2006-12-11 23:41:34 UTC (rev 17965) +++ trunk/console/gntblist.c 2006-12-12 01:06:42 UTC (rev 17966) @@ -1183,7 +1183,7 @@ } } - tmp = gaim_notify_user_info_get_text_with_newline(user_info, "\n"); + tmp = gaim_notify_user_info_get_text_with_newline(user_info, "<BR>"); gaim_notify_user_info_destroy(user_info); strip = gaim_markup_strip_html(tmp); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sea...@us...> - 2006-12-11 23:41:36
|
Revision: 17965 http://svn.sourceforge.net/gaim/?rev=17965&view=rev Author: seanegan Date: 2006-12-11 15:41:34 -0800 (Mon, 11 Dec 2006) Log Message: ----------- Patch from eperez: Show buddy icons in Accounts window. I also took the liberty of rearranging the columns in the list to something a little more sensible. I'm also thinking we should show the global icon for accounts that are using it Modified Paths: -------------- trunk/gtk/gtkaccount.c trunk/gtk/gtkscrollbook.c Modified: trunk/gtk/gtkaccount.c =================================================================== --- trunk/gtk/gtkaccount.c 2006-12-11 22:03:18 UTC (rev 17964) +++ trunk/gtk/gtkaccount.c 2006-12-11 23:41:34 UTC (rev 17965) @@ -49,6 +49,7 @@ enum { COLUMN_ICON, + COLUMN_BUDDYICON, COLUMN_SCREENNAME, COLUMN_ENABLED, COLUMN_PROTOCOL, @@ -1920,17 +1921,29 @@ GtkCellRenderer *renderer; GtkTreeViewColumn *column; + /* Enabled */ + renderer = gtk_cell_renderer_toggle_new(); + + g_signal_connect(G_OBJECT(renderer), "toggled", + G_CALLBACK(enabled_cb), dialog); + + column = gtk_tree_view_column_new_with_attributes(_("Enabled"), + renderer, "active", COLUMN_ENABLED, NULL); + + gtk_tree_view_insert_column(GTK_TREE_VIEW(treeview), column, -1); + gtk_tree_view_column_set_resizable(column, TRUE); + /* Screen Name column */ column = gtk_tree_view_column_new(); gtk_tree_view_column_set_title(column, _("Screen Name")); gtk_tree_view_insert_column(GTK_TREE_VIEW(treeview), column, -1); gtk_tree_view_column_set_resizable(column, TRUE); - /* Icon */ + /* Status Icon */ renderer = gtk_cell_renderer_pixbuf_new(); gtk_tree_view_column_pack_start(column, renderer, FALSE); gtk_tree_view_column_add_attribute(column, renderer, - "pixbuf", COLUMN_ICON); + "pixbuf", COLUMN_BUDDYICON); /* Screen Name */ renderer = gtk_cell_renderer_text_new(); @@ -1939,24 +1952,19 @@ "text", COLUMN_SCREENNAME); dialog->screenname_col = column; - /* Enabled */ - renderer = gtk_cell_renderer_toggle_new(); - g_signal_connect(G_OBJECT(renderer), "toggled", - G_CALLBACK(enabled_cb), dialog); - - column = gtk_tree_view_column_new_with_attributes(_("Enabled"), - renderer, "active", COLUMN_ENABLED, NULL); - - gtk_tree_view_insert_column(GTK_TREE_VIEW(treeview), column, -1); - gtk_tree_view_column_set_resizable(column, TRUE); - /* Protocol name */ column = gtk_tree_view_column_new(); gtk_tree_view_column_set_title(column, _("Protocol")); gtk_tree_view_insert_column(GTK_TREE_VIEW(treeview), column, -1); gtk_tree_view_column_set_resizable(column, TRUE); + /* Icon */ + renderer = gtk_cell_renderer_pixbuf_new(); + gtk_tree_view_column_pack_start(column, renderer, FALSE); + gtk_tree_view_column_add_attribute(column, renderer, + "pixbuf", COLUMN_ICON); + renderer = gtk_cell_renderer_text_new(); gtk_tree_view_column_pack_start(column, renderer, TRUE); gtk_tree_view_column_add_attribute(column, renderer, @@ -1967,13 +1975,23 @@ set_account(GtkListStore *store, GtkTreeIter *iter, GaimAccount *account) { GdkPixbuf *pixbuf; + GdkPixbuf *statusicon_pixbuf; + GdkPixbuf *statusicon_pixbuf_scaled; pixbuf = gaim_gtk_create_prpl_icon(account, 0.5); if ((pixbuf != NULL) && gaim_account_is_disconnected(account)) gdk_pixbuf_saturate_and_pixelate(pixbuf, pixbuf, 0.0, FALSE); + statusicon_pixbuf = gdk_pixbuf_new_from_file(gaim_account_get_ui_string(account, GAIM_GTK_UI, "non-global-buddyicon-path", NULL), NULL); + if (statusicon_pixbuf) { + statusicon_pixbuf_scaled = gdk_pixbuf_scale_simple(statusicon_pixbuf, 16, 16, GDK_INTERP_HYPER); + } else { + statusicon_pixbuf_scaled = NULL; + } + gtk_list_store_set(store, iter, COLUMN_ICON, pixbuf, + COLUMN_BUDDYICON, statusicon_pixbuf_scaled, COLUMN_SCREENNAME, gaim_account_get_username(account), COLUMN_ENABLED, gaim_account_get_enabled(account, GAIM_GTK_UI), COLUMN_PROTOCOL, gaim_account_get_protocol_name(account), @@ -1982,6 +2000,10 @@ if (pixbuf != NULL) g_object_unref(G_OBJECT(pixbuf)); + if (statusicon_pixbuf != NULL) + g_object_unref(G_OBJECT(statusicon_pixbuf)); + if (statusicon_pixbuf_scaled != NULL) + g_object_unref(G_OBJECT(statusicon_pixbuf_scaled)); } static void @@ -2128,6 +2150,7 @@ /* Create the list model. */ dialog->model = gtk_list_store_new(NUM_COLUMNS, GDK_TYPE_PIXBUF, /* COLUMN_ICON */ + GDK_TYPE_PIXBUF, /* COLUMN_BUDDYICON */ G_TYPE_STRING, /* COLUMN_SCREENNAME */ G_TYPE_BOOLEAN, /* COLUMN_ENABLED */ G_TYPE_STRING, /* COLUMN_PROTOCOL */ Modified: trunk/gtk/gtkscrollbook.c =================================================================== --- trunk/gtk/gtkscrollbook.c 2006-12-11 22:03:18 UTC (rev 17964) +++ trunk/gtk/gtkscrollbook.c 2006-12-11 23:41:34 UTC (rev 17965) @@ -28,6 +28,10 @@ static void gtk_gaim_scroll_book_init (GtkGaimScrollBook *scroll_book); static void gtk_gaim_scroll_book_class_init (GtkGaimScrollBookClass *klass); +static void gtk_gaim_scroll_book_forall (GtkContainer *c, + gboolean include_internals, + GtkCallback callback, + gpointer user_data); GType gtk_gaim_scroll_book_get_type (void) @@ -145,11 +149,25 @@ } static void +gtk_gaim_scroll_book_forall(GtkContainer *container, + gboolean include_internals, + GtkCallback callback, + gpointer callback_data) +{ + GtkGaimScrollBook *scroll_book = GTK_GAIM_SCROLL_BOOK(container); + if (include_internals) { + (*callback)(scroll_book->hbox, callback_data); + } + (*callback)(scroll_book->notebook, callback_data); +} + +static void gtk_gaim_scroll_book_class_init (GtkGaimScrollBookClass *klass) { GtkContainerClass *container_class = (GtkContainerClass*)klass; container_class->add = gtk_gaim_scroll_book_add; + container_class->forall = gtk_gaim_scroll_book_forall; } @@ -186,7 +204,6 @@ g_signal_connect_swapped(G_OBJECT(scroll_book->notebook), "add", G_CALLBACK(page_count_change_cb), scroll_book); g_signal_connect_swapped(G_OBJECT(scroll_book->notebook), "remove", G_CALLBACK(page_count_change_cb), scroll_book); g_signal_connect(G_OBJECT(scroll_book->notebook), "switch-page", G_CALLBACK(switch_page_cb), scroll_book); - gtk_widget_hide(scroll_book->hbox); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <the...@us...> - 2006-12-11 22:15:02
|
Revision: 17964 http://svn.sourceforge.net/gaim/?rev=17964&view=rev Author: thekingant Date: 2006-12-11 14:03:18 -0800 (Mon, 11 Dec 2006) Log Message: ----------- Minor cleanup. No functionality change. Someone at work asked me if I just sit around and audit code all day. Modified Paths: -------------- trunk/libgaim/protocols/yahoo/yahoo_picture.c Modified: trunk/libgaim/protocols/yahoo/yahoo_picture.c =================================================================== --- trunk/libgaim/protocols/yahoo/yahoo_picture.c 2006-12-11 19:44:35 UTC (rev 17963) +++ trunk/libgaim/protocols/yahoo/yahoo_picture.c 2006-12-11 22:03:18 UTC (rev 17964) @@ -345,7 +345,7 @@ static void yahoo_send_picture_update_foreach(gpointer key, gpointer value, gpointer data) { - char *who = key; + const char *who = key; YahooFriend *f = value; struct yspufe *d = data; @@ -438,8 +438,6 @@ GaimAccount *account; struct yahoo_data *yd; - g_return_if_fail(d != NULL); - gc = d->gc; account = gaim_connection_get_account(gc); yd = gc->proto_data; @@ -448,7 +446,7 @@ yd->buddy_icon_connect_data = NULL; if (source < 0) { - gaim_debug_error("yahoo", "Buddy icon upload failed, no file desc.\n"); + gaim_debug_error("yahoo", "Buddy icon upload failed: %s\n", error_message); yahoo_buddy_icon_upload_data_free(d); return; } @@ -500,36 +498,23 @@ { GaimAccount *account = gaim_connection_get_account(gc); struct yahoo_data *yd = gc->proto_data; - GaimProxyConnectData *connect_data = NULL; - g_return_if_fail(d != NULL); - - if (yd->buddy_icon_connect_data) { + if (yd->buddy_icon_connect_data != NULL) { /* Cancel any in-progress buddy icon upload */ gaim_proxy_connect_cancel(yd->buddy_icon_connect_data); yd->buddy_icon_connect_data = NULL; } - if (yd->jp) { - if ((connect_data = gaim_proxy_connect(NULL, account, gaim_account_get_string(account, "xferjp_host", YAHOOJP_XFER_HOST), - gaim_account_get_int(account, "xfer_port", YAHOO_XFER_PORT), - yahoo_buddy_icon_upload_connected, d)) == NULL) - { - gaim_debug_error("yahoo", "Uploading our buddy icon failed to connect.\n"); - yahoo_buddy_icon_upload_data_free(d); - } - } else { - if ((connect_data = gaim_proxy_connect(NULL, account, gaim_account_get_string(account, "xfer_host", YAHOO_XFER_HOST), - gaim_account_get_int(account, "xfer_port", YAHOO_XFER_PORT), - yahoo_buddy_icon_upload_connected, d)) == NULL) - { - gaim_debug_error("yahoo", "Uploading our buddy icon failed to connect.\n"); - yahoo_buddy_icon_upload_data_free(d); - } - } + yd->buddy_icon_connect_data = gaim_proxy_connect(NULL, account, + yd->jp ? gaim_account_get_string(account, "xferjp_host", YAHOOJP_XFER_HOST) + : gaim_account_get_string(account, "xfer_host", YAHOO_XFER_HOST), + gaim_account_get_int(account, "xfer_port", YAHOO_XFER_PORT), + yahoo_buddy_icon_upload_connected, d); - if (connect_data) { - yd->buddy_icon_connect_data = connect_data; + if (yd->buddy_icon_connect_data == NULL) + { + gaim_debug_error("yahoo", "Uploading our buddy icon failed to connect.\n"); + yahoo_buddy_icon_upload_data_free(d); } } @@ -537,61 +522,56 @@ { struct yahoo_data *yd = gc->proto_data; GaimAccount *account = gc->account; - FILE *file; - struct stat st; + gchar *icondata; + gsize len; + GError *error = NULL; if (iconfile == NULL) { - if (yd->picture_url) - g_free(yd->picture_url); + g_free(yd->picture_url); yd->picture_url = NULL; gaim_account_set_string(account, YAHOO_PICURL_SETTING, NULL); gaim_account_set_int(account, YAHOO_PICCKSUM_SETTING, 0); gaim_account_set_int(account, YAHOO_PICEXPIRE_SETTING, 0); if (yd->logged_in) + /* Tell everyone we ain't got one no more */ yahoo_send_picture_update(gc, 0); - /* TODO: check if we're connected and tell everyone we ain't not one no more */ - } else if (!g_stat(iconfile, &st)) { - file = g_fopen(iconfile, "rb"); - if (file) { - GString *s = g_string_sized_new(st.st_size); - size_t len; - struct yahoo_buddy_icon_upload_data *d; - int oldcksum = gaim_account_get_int(account, YAHOO_PICCKSUM_SETTING, 0); - int expire = gaim_account_get_int(account, YAHOO_PICEXPIRE_SETTING, 0); - const char *oldurl = gaim_account_get_string(account, YAHOO_PICURL_SETTING, NULL); - len = fread(s->str, 1, st.st_size, file); - fclose(file); - g_string_set_size(s, len); - yd->picture_checksum = g_string_hash(s); + } else if (g_file_get_contents(iconfile, &icondata, &len, &error)) { + GString *s = g_string_new_len(icondata, len); + struct yahoo_buddy_icon_upload_data *d; + int oldcksum = gaim_account_get_int(account, YAHOO_PICCKSUM_SETTING, 0); + int expire = gaim_account_get_int(account, YAHOO_PICEXPIRE_SETTING, 0); + const char *oldurl = gaim_account_get_string(account, YAHOO_PICURL_SETTING, NULL); - if ((yd->picture_checksum == oldcksum) && (expire > (time(NULL) + 60*60*24)) && - oldcksum && expire && oldurl) { - gaim_debug_misc("yahoo", "buddy icon is up to date. Not reuploading.\n"); - g_string_free(s, TRUE); - if (yd->picture_url) - g_free(yd->picture_url); - yd->picture_url = g_strdup(oldurl); - return; - } + yd->picture_checksum = g_string_hash(s); - d = g_new0(struct yahoo_buddy_icon_upload_data, 1); - d->gc = gc; - d->str = s; - d->fd = -1; - d->filename = g_strdup(iconfile); + if ((yd->picture_checksum == oldcksum) && + (expire > (time(NULL) + 60*60*24)) && oldurl) + { + gaim_debug_misc("yahoo", "buddy icon is up to date. Not reuploading.\n"); + g_string_free(s, TRUE); + g_free(yd->picture_url); + yd->picture_url = g_strdup(oldurl); + return; + } - if (!yd->logged_in) { - yd->picture_upload_todo = d; - return; - } + d = g_new0(struct yahoo_buddy_icon_upload_data, 1); + d->gc = gc; + d->str = s; + d->fd = -1; + d->filename = g_strdup(iconfile); - yahoo_buddy_icon_upload(gc, d); - } else - gaim_debug_error("yahoo", - "Can't open buddy icon file!\n"); + if (!yd->logged_in) { + yd->picture_upload_todo = d; + return; + } + + yahoo_buddy_icon_upload(gc, d); + } else gaim_debug_error("yahoo", - "Can't stat buddy icon file!\n"); -} + "Could not read buddy icon file '%s': %s\n", + iconfile, error->message); + g_error_free(error); + } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <the...@us...> - 2006-12-11 19:44:41
|
Revision: 17963 http://svn.sourceforge.net/gaim/?rev=17963&view=rev Author: thekingant Date: 2006-12-11 11:44:35 -0800 (Mon, 11 Dec 2006) Log Message: ----------- Rename namespace to xmlns because namespace is a reserved word in C++ Modified Paths: -------------- trunk/libgaim/xmlnode.c trunk/libgaim/xmlnode.h Modified: trunk/libgaim/xmlnode.c =================================================================== --- trunk/libgaim/xmlnode.c 2006-12-11 19:32:52 UTC (rev 17962) +++ trunk/libgaim/xmlnode.c 2006-12-11 19:44:35 UTC (rev 17963) @@ -181,15 +181,15 @@ { g_return_if_fail(node != NULL); - g_free(node->namespace); - node->namespace = g_strdup(xmlns); + g_free(node->xmlns); + node->xmlns = g_strdup(xmlns); } const char *xmlnode_get_namespace(xmlnode *node) { g_return_val_if_fail(node != NULL, NULL); - return node->namespace; + return node->xmlns; } void @@ -208,7 +208,7 @@ g_free(node->name); g_free(node->data); - g_free(node->namespace); + g_free(node->xmlns); GAIM_DBUS_UNREGISTER_POINTER(node); g_free(node); @@ -293,12 +293,12 @@ node_name = g_markup_escape_text(node->name, -1); g_string_append_printf(text, "<%s", node_name); - if (node->namespace) { - if(!node->parent || !node->parent->namespace || strcmp(node->namespace, node->parent->namespace)) + if (node->xmlns) { + if(!node->parent || !node->parent->xmlns || strcmp(node->xmlns, node->parent->xmlns)) { - char *namespace = g_markup_escape_text(node->namespace, -1); - g_string_append_printf(text, " xmlns='%s'", namespace); - g_free(namespace); + char *xmlns = g_markup_escape_text(node->xmlns, -1); + g_string_append_printf(text, " xmlns='%s'", xmlns); + g_free(xmlns); } } for(c = node->child; c; c = c->next) @@ -377,7 +377,7 @@ static void xmlnode_parser_element_start_libxml(void *user_data, - const xmlChar *element_name, const xmlChar *prefix, const xmlChar *namespace, + const xmlChar *element_name, const xmlChar *prefix, const xmlChar *xmlns, int nb_namespaces, const xmlChar **namespaces, int nb_attributes, int nb_defaulted, const xmlChar **attributes) { @@ -393,7 +393,7 @@ else node = xmlnode_new((const char *) element_name); - xmlnode_set_namespace(node, (const char *) namespace); + xmlnode_set_namespace(node, (const char *) xmlns); for(i=0; i < nb_attributes * 5; i+=5) { char *txt; @@ -414,7 +414,7 @@ static void xmlnode_parser_element_end_libxml(void *user_data, const xmlChar *element_name, - const xmlChar *prefix, const xmlChar *namespace) + const xmlChar *prefix, const xmlChar *xmlns) { struct _xmlnode_parser_data *xpd = user_data; Modified: trunk/libgaim/xmlnode.h =================================================================== --- trunk/libgaim/xmlnode.h 2006-12-11 19:32:52 UTC (rev 17962) +++ trunk/libgaim/xmlnode.h 2006-12-11 19:44:35 UTC (rev 17963) @@ -46,7 +46,7 @@ struct _xmlnode { char *name; /**< The name of the node. */ - char *namespace; /**< The namespace of the node */ + char *xmlns; /**< The namespace of the node */ XMLNodeType type; /**< The type of the node. */ char *data; /**< The data for the node. */ size_t data_sz; /**< The size of the data. */ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <the...@us...> - 2006-12-11 19:33:02
|
Revision: 17962 http://svn.sourceforge.net/gaim/?rev=17962&view=rev Author: thekingant Date: 2006-12-11 11:32:52 -0800 (Mon, 11 Dec 2006) Log Message: ----------- One of these links was bad Modified Paths: -------------- web/htdocs/protocol.php Modified: web/htdocs/protocol.php =================================================================== --- web/htdocs/protocol.php 2006-12-11 17:48:40 UTC (rev 17961) +++ web/htdocs/protocol.php 2006-12-11 19:32:52 UTC (rev 17962) @@ -175,9 +175,8 @@ and Jabber come to mind). </p> <p> - There is some documentation of the Oscar protocol - <a href="http://www.kingant.net/oscar/">here</a> and - <a href="http://www.stud.uni-karlsruhe.de/~uck4/ICQ/Packets">here</a>. + The <a href="http://en.wikipedia.org/wiki/OSCAR_protocol">wikipedia + article on Oscar</a> links to assorted documentation of the protocol. </p> <a name="Sametime"></a> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <the...@us...> - 2006-12-11 17:48:44
|
Revision: 17961 http://svn.sourceforge.net/gaim/?rev=17961&view=rev Author: thekingant Date: 2006-12-11 09:48:40 -0800 (Mon, 11 Dec 2006) Log Message: ----------- XEP-0084 and XEP-0153 both say, "the image height and width SHOULD be between thirty-two (32) and ninety-six (96) pixels." I realize this is a "should" and not a "must," but I think it makes sense for us to follow it. Especially if we're already imposing the upper-bound. Hey, we should add a maximum filesize to this icon_spec struct. Modified Paths: -------------- trunk/libgaim/protocols/jabber/jabber.c Modified: trunk/libgaim/protocols/jabber/jabber.c =================================================================== --- trunk/libgaim/protocols/jabber/jabber.c 2006-12-11 13:32:53 UTC (rev 17960) +++ trunk/libgaim/protocols/jabber/jabber.c 2006-12-11 17:48:40 UTC (rev 17961) @@ -1852,7 +1852,7 @@ OPT_PROTO_CHAT_TOPIC | OPT_PROTO_UNIQUE_CHATNAME | OPT_PROTO_MAIL_CHECK, NULL, /* user_splits */ NULL, /* protocol_options */ - {"png,gif,jpeg", 0, 0, 96, 96, GAIM_ICON_SCALE_SEND | GAIM_ICON_SCALE_DISPLAY}, /* icon_spec */ + {"png,gif,jpeg", 32, 32, 96, 96, GAIM_ICON_SCALE_SEND | GAIM_ICON_SCALE_DISPLAY}, /* icon_spec */ jabber_list_icon, /* list_icon */ jabber_list_emblems, /* list_emblems */ jabber_status_text, /* status_text */ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dat...@us...> - 2006-12-11 13:33:01
|
Revision: 17960 http://svn.sourceforge.net/gaim/?rev=17960&view=rev Author: datallah Date: 2006-12-11 05:32:53 -0800 (Mon, 11 Dec 2006) Log Message: ----------- Add new plugins to uninstaller. Modified Paths: -------------- trunk/gaim-installer.nsi Modified: trunk/gaim-installer.nsi =================================================================== --- trunk/gaim-installer.nsi 2006-12-11 13:32:07 UTC (rev 17959) +++ trunk/gaim-installer.nsi 2006-12-11 13:32:53 UTC (rev 17960) @@ -655,6 +655,10 @@ RMDir /r "$INSTDIR\locale" RMDir /r "$INSTDIR\pixmaps" RMDir /r "$INSTDIR\perlmod" + Delete "$INSTDIR\plugins\autoaccept.dll" + Delete "$INSTDIR\plugins\autoreply.dll" + Delete "$INSTDIR\plugins\buddynote.dll" + Delete "$INSTDIR\plugins\convcolors.dll" Delete "$INSTDIR\plugins\extplacement.dll" Delete "$INSTDIR\plugins\gaimrc.dll" Delete "$INSTDIR\plugins\history.dll" @@ -675,7 +679,10 @@ Delete "$INSTDIR\plugins\libtoc.dll" Delete "$INSTDIR\plugins\libyahoo.dll" Delete "$INSTDIR\plugins\log_reader.dll" + Delete "$INSTDIR\plugins\markerline.dll" + Delete "$INSTDIR\plugins\newline.dll" Delete "$INSTDIR\plugins\notify.dll" + Delete "$INSTDIR\plugins\offlinemsg.dll" Delete "$INSTDIR\plugins\perl.dll" Delete "$INSTDIR\plugins\psychic.dll" Delete "$INSTDIR\plugins\relnot.dll" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dat...@us...> - 2006-12-11 13:32:10
|
Revision: 17959 http://svn.sourceforge.net/gaim/?rev=17959&view=rev Author: datallah Date: 2006-12-11 05:32:07 -0800 (Mon, 11 Dec 2006) Log Message: ----------- Enable the gmail notifications on wingaim. Modified Paths: -------------- trunk/libgaim/protocols/jabber/Makefile.mingw Modified: trunk/libgaim/protocols/jabber/Makefile.mingw =================================================================== --- trunk/libgaim/protocols/jabber/Makefile.mingw 2006-12-11 13:30:30 UTC (rev 17958) +++ trunk/libgaim/protocols/jabber/Makefile.mingw 2006-12-11 13:32:07 UTC (rev 17959) @@ -44,6 +44,7 @@ buddy.c \ chat.c \ disco.c \ + google.c \ iq.c \ jabber.c \ jutil.c \ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |