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: Eric W. <war...@us...> - 2001-10-29 06:47:52
|
Update of /cvsroot/gaim/gaim/src In directory usw-pr-cvs1:/tmp/cvs-serv23010 Modified Files: buddy_chat.c Log Message: hi. Index: buddy_chat.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/buddy_chat.c,v retrieving revision 1.127 retrieving revision 1.128 diff -u -d -r1.127 -r1.128 --- buddy_chat.c 2001/10/28 06:26:34 1.127 +++ buddy_chat.c 2001/10/29 06:47:49 1.128 @@ -934,11 +934,16 @@ g_snprintf(tmp, sizeof(tmp), "X %s", name); list_item = gtk_list_item_new_with_label(tmp); - } else if (ignored(b, new)) { - g_snprintf(tmp, sizeof(tmp), "X %s", name); - list_item = gtk_list_item_new_with_label(tmp); - } else + } else { + if ((ign = ignored(b, new)) != NULL) { + /* if they weren't ignored and change to someone who is ignored, + * assume it's someone else. that may seem a little backwards but + * it's better when it *is* actually someone else. Sorry Sean. */ + g_free(ign); + b->ignored = g_list_remove(b->ignored, ign); + } list_item = gtk_list_item_new_with_label(name); + } gtk_object_set_user_data(GTK_OBJECT(list_item), name); gtk_signal_connect(GTK_OBJECT(list_item), "button_press_event", |
From: Eric W. <war...@us...> - 2001-10-28 08:11:54
|
Update of /cvsroot/gaim/gaim/src/protocols/irc In directory usw-pr-cvs1:/tmp/cvs-serv7980/protocols/irc Modified Files: irc.c Log Message: i eat dog food.... i mean, i make dog food... i mean, i don't have a dog, but i eat its food... no wait. i tried to do a whois on an op. that was fun. Index: irc.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/protocols/irc/irc.c,v retrieving revision 1.47 retrieving revision 1.48 diff -u -d -r1.47 -r1.48 --- irc.c 2001/10/26 20:06:22 1.47 +++ irc.c 2001/10/28 09:11:51 1.48 @@ -1388,6 +1388,11 @@ struct irc_data *idata = gc->proto_data; char buf[IRC_BUF_LEN]; + if (*who == '@') + who++; + if (*who == '+') + who++; + g_snprintf(buf, sizeof(buf), "WHOIS %s\r\n", who); irc_write(idata->fd, buf, strlen(buf)); } |
From: Eric W. <war...@us...> - 2001-10-28 06:26:37
|
Update of /cvsroot/gaim/gaim/src In directory usw-pr-cvs1:/tmp/cvs-serv25301 Modified Files: buddy_chat.c Log Message: (23:26:04) Linux226: This is all odd to me. Index: buddy_chat.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/buddy_chat.c,v retrieving revision 1.126 retrieving revision 1.127 diff -u -d -r1.126 -r1.127 --- buddy_chat.c 2001/10/27 23:46:12 1.126 +++ buddy_chat.c 2001/10/28 06:26:34 1.127 @@ -53,6 +53,27 @@ GtkWidget *all_chats = NULL; GtkWidget *chat_notebook = NULL; +static char *ignored(struct conversation *b, char *who) +{ + GList *ignore = b->ignored; + while (ignore) { + char *ign = ignore->data; + if (!g_strcasecmp(who, ign)) + return ign; + if (*ign == '+' && !g_strcasecmp(who, ign + 1)) + return ign; + if (*ign == '@') { + ign++; + if (*ign == '+' && !g_strcasecmp(who, ign + 1)) + return ign; + if (*ign != '+' && !g_strcasecmp(who, ign)) + return ign; + } + ignore = ignore->next; + } + return NULL; +} + static void destroy_join_chat() { @@ -669,7 +690,6 @@ void chat_write(struct conversation *b, char *who, int flag, char *message, time_t mtime) { - GList *ignore = b->ignored; char *str; if (!b->is_chat) { @@ -677,22 +697,8 @@ return; } - while (ignore) { - char *ign = ignore->data; - if (!g_strcasecmp(who, ign)) - return; - if (*ign == '+' && !g_strcasecmp(who, ign + 1)) - return; - if (*ign == '@') { - ign++; - if (*ign == '+' && !g_strcasecmp(who, ign + 1)) - return; - if (*ign != '+' && !g_strcasecmp(who, ign)) - return; - } - ignore = ignore->next; - } - + if (ignored(b, who)) + return; if (!(flag & WFLAG_WHISPER)) { str = g_strdup(normalize (who)); @@ -817,7 +823,7 @@ gtk_menu_append(GTK_MENU(menu), button); gtk_widget_show(button); - if (g_list_find_custom(b->ignored, gtk_object_get_user_data(obj), (GCompareFunc)strcmp)) + if (ignored(b, gtk_object_get_user_data(obj))) button = gtk_menu_item_new_with_label(_("Un-Ignore")); else button = gtk_menu_item_new_with_label(_("Ignore")); @@ -847,20 +853,12 @@ char tmp[BUF_LONG]; GtkWidget *list_item; int pos; - GList *ignored; plugin_event(event_chat_buddy_join, b->gc, (void *)b->id, name, 0); b->in_room = g_list_insert_sorted(b->in_room, name, insertname); pos = g_list_index(b->in_room, name); - ignored = b->ignored; - while (ignored) { - if (!g_strcasecmp(name, ignored->data)) - break; - ignored = ignored->next; - } - - if (ignored) { + if (ignored(b, buddy)) { g_snprintf(tmp, sizeof(tmp), "X %s", name); list_item = gtk_list_item_new_with_label(tmp); } else @@ -893,8 +891,8 @@ char *name = g_strdup(new); GtkWidget *list_item; + char *ign; int pos; - GList *ignored = b->ignored; char tmp[BUF_LONG]; @@ -924,18 +922,21 @@ b->in_room = g_list_insert_sorted(b->in_room, name, insertname); pos = g_list_index(b->in_room, name); - while (ignored) { - if (!g_strcasecmp(old, ignored->data)) - break; - ignored = ignored->next; - } + ign = ignored(b, old); - if (ignored) { - g_free(ignored->data); - b->ignored = g_list_remove(b->ignored, ignored->data); - b->ignored = g_list_append(b->ignored, g_strdup(name)); + if (ign) { + g_free(ign); + b->ignored = g_list_remove(b->ignored, ign); + + /* we haven't added them yet. if we find them, don't add them again */ + if (!ignored(b, new)) + b->ignored = g_list_append(b->ignored, g_strdup(name)); + g_snprintf(tmp, sizeof(tmp), "X %s", name); list_item = gtk_list_item_new_with_label(tmp); + } else if (ignored(b, new)) { + g_snprintf(tmp, sizeof(tmp), "X %s", name); + list_item = gtk_list_item_new_with_label(tmp); } else list_item = gtk_list_item_new_with_label(name); @@ -1025,7 +1026,8 @@ void ignore_callback(GtkWidget *w, struct conversation *b) { char *name; - GList *i, *ignored; + GList *i; + char *ign; int pos; GtkWidget *list_item; char tmp[80]; @@ -1039,16 +1041,11 @@ pos = gtk_list_child_position(GTK_LIST(b->list), i->data); - ignored = b->ignored; - while (ignored) { - if (!g_strcasecmp(name, ignored->data)) - break; - ignored = ignored->next; - } + ign = ignored(b, name); - if (ignored) { - g_free(ignored->data); - b->ignored = g_list_remove(b->ignored, ignored->data); + if (ign) { + g_free(ign); + b->ignored = g_list_remove(b->ignored, ign); g_snprintf(tmp, sizeof tmp, "%s", name); } else { b->ignored = g_list_append(b->ignored, g_strdup(name)); @@ -1477,16 +1474,9 @@ while (r) { char *name = r->data; GtkWidget *list_item; - GList *ignored = c->ignored; char tmp[BUF_LONG]; - while (ignored) { - if (!g_strcasecmp(name, ignored->data)) - break; - ignored = ignored->next; - } - - if (ignored) { + if (ignored(c, name)) { g_snprintf(tmp, sizeof(tmp), "X %s", name); list_item = gtk_list_item_new_with_label(tmp); } else @@ -1526,16 +1516,9 @@ while (r) { char *name = r->data; GtkWidget *list_item; - GList *ignored = c->ignored; char tmp[BUF_LONG]; - while (ignored) { - if (!g_strcasecmp(name, ignored->data)) - break; - ignored = ignored->next; - } - - if (ignored) { + if (ignored(c, name)) { g_snprintf(tmp, sizeof(tmp), "X %s", name); list_item = gtk_list_item_new_with_label(tmp); } else |
From: Eric W. <war...@us...> - 2001-10-27 23:46:15
|
Update of /cvsroot/gaim/gaim/src In directory usw-pr-cvs1:/tmp/cvs-serv6413 Modified Files: conversation.c buddy_chat.c Log Message: bah. this is better. Index: conversation.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/conversation.c,v retrieving revision 1.287 retrieving revision 1.288 diff -u -d -r1.287 -r1.288 --- conversation.c 2001/10/27 00:12:14 1.287 +++ conversation.c 2001/10/27 23:46:12 1.288 @@ -723,8 +723,11 @@ gtk_signal_emit_stop_by_name(GTK_OBJECT(entry), "key_press_event"); } } - if (event->keyval == 'l') + if (event->keyval == 'l') { gtk_imhtml_clear(GTK_IMHTML(c->text)); + g_string_free(c->history, TRUE); + c->history = g_string_new(""); + } if ((!c->is_chat && (im_options & OPT_IM_ONE_WINDOW)) || (c->is_chat && (chat_options & OPT_CHAT_ONE_WINDOW))) { GtkWidget *notebook = (c->is_chat ? chat_notebook : convo_notebook); Index: buddy_chat.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/buddy_chat.c,v retrieving revision 1.125 retrieving revision 1.126 diff -u -d -r1.125 -r1.126 --- buddy_chat.c 2001/10/27 21:45:17 1.125 +++ buddy_chat.c 2001/10/27 23:46:12 1.126 @@ -898,15 +898,6 @@ char tmp[BUF_LONG]; - /* we need to check to see if they're ignored before we remove them from the list, - * because otherwise the name is free'd (ignored and in_room point to the same char*'s) - * and we can't search through ignored reliably anymore */ - while (ignored) { - if (!g_strcasecmp(old, ignored->data)) - break; - ignored = ignored->next; - } - while (names) { if (!g_strcasecmp((char *)names->data, old)) { char *tmp2 = names->data; @@ -933,9 +924,16 @@ b->in_room = g_list_insert_sorted(b->in_room, name, insertname); pos = g_list_index(b->in_room, name); + while (ignored) { + if (!g_strcasecmp(old, ignored->data)) + break; + ignored = ignored->next; + } + if (ignored) { + g_free(ignored->data); b->ignored = g_list_remove(b->ignored, ignored->data); - b->ignored = g_list_append(b->ignored, name); + b->ignored = g_list_append(b->ignored, g_strdup(name)); g_snprintf(tmp, sizeof(tmp), "X %s", name); list_item = gtk_list_item_new_with_label(tmp); } else @@ -984,6 +982,8 @@ if (!names) return; + /* don't remove them from ignored in case they re-enter */ + g_snprintf(tmp, sizeof(tmp), _("%d %s in room"), g_list_length(b->in_room), g_list_length(b->in_room) == 1 ? "person" : "people"); gtk_label_set_text(GTK_LABEL(b->count), tmp); @@ -1047,6 +1047,7 @@ } if (ignored) { + g_free(ignored->data); b->ignored = g_list_remove(b->ignored, ignored->data); g_snprintf(tmp, sizeof tmp, "%s", name); } else { |
From: Eric W. <war...@us...> - 2001-10-27 21:45:21
|
Update of /cvsroot/gaim/gaim/src In directory usw-pr-cvs1:/tmp/cvs-serv10093 Modified Files: buddy_chat.c Log Message: better ignoring Index: buddy_chat.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/buddy_chat.c,v retrieving revision 1.124 retrieving revision 1.125 diff -u -d -r1.124 -r1.125 --- buddy_chat.c 2001/10/27 00:12:14 1.124 +++ buddy_chat.c 2001/10/27 21:45:17 1.125 @@ -678,8 +678,18 @@ } while (ignore) { - if (!g_strcasecmp(who, ignore->data)) + char *ign = ignore->data; + if (!g_strcasecmp(who, ign)) + return; + if (*ign == '+' && !g_strcasecmp(who, ign + 1)) return; + if (*ign == '@') { + ign++; + if (*ign == '+' && !g_strcasecmp(who, ign + 1)) + return; + if (*ign != '+' && !g_strcasecmp(who, ign)) + return; + } ignore = ignore->next; } @@ -888,6 +898,15 @@ char tmp[BUF_LONG]; + /* we need to check to see if they're ignored before we remove them from the list, + * because otherwise the name is free'd (ignored and in_room point to the same char*'s) + * and we can't search through ignored reliably anymore */ + while (ignored) { + if (!g_strcasecmp(old, ignored->data)) + break; + ignored = ignored->next; + } + while (names) { if (!g_strcasecmp((char *)names->data, old)) { char *tmp2 = names->data; @@ -906,17 +925,13 @@ names = names->next; } - if (!names) + if (!names) { + g_free(name); return; + } b->in_room = g_list_insert_sorted(b->in_room, name, insertname); pos = g_list_index(b->in_room, name); - - while (ignored) { - if (!g_strcasecmp(old, ignored->data)) - break; - ignored = ignored->next; - } if (ignored) { b->ignored = g_list_remove(b->ignored, ignored->data); |
From: Eric W. <war...@us...> - 2001-10-27 08:27:43
|
Update of /cvsroot/gaim/gaim/src In directory usw-pr-cvs1:/tmp/cvs-serv985 Modified Files: applet.c Log Message: just one little detail left. if you've got the panel set up to use a pixmap, when you add the applet, it gets the back_change signal, but the file is still NULL. i'm counting this as a gnome bug but can't see a workaround yet. Index: applet.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/applet.c,v retrieving revision 1.22 retrieving revision 1.23 diff -u -d -r1.22 -r1.23 --- applet.c 2001/10/21 19:38:13 1.22 +++ applet.c 2001/10/27 08:27:40 1.23 @@ -50,15 +50,102 @@ static GtkAllocation *get_applet_pos(gboolean); static gint sizehint = 48; +static PanelBackType backtype = PANEL_BACK_NONE; +static GdkColor *backcolor = NULL; +static char *backfile = NULL; + +static void make_background(guchar *dest) +{ + guchar *p; + int r,g,b,i; + + if (backcolor && (backtype == PANEL_BACK_COLOR)) { + guchar *p; + int r,g,b,i; + + r = backcolor->red>>8; + g = backcolor->green>>8; + b = backcolor->blue>>8; + p = dest; + for (i = 0; i < sizehint * sizehint; i++) { + *p++ = r; + *p++ = g; + *p++ = b; + } + return; + } else if (backfile && (backtype == PANEL_BACK_PIXMAP)) { + GdkPixbuf *pb = gdk_pixbuf_new_from_file(backfile); + if (pb) { + int dw = sizehint; + int dh = sizehint; + int offx = applet->allocation.x; + int offy = applet->allocation.y; + int drs = dw * 3; + guchar *tile = gdk_pixbuf_get_pixels(pb); + int w = gdk_pixbuf_get_width(pb); + int h = gdk_pixbuf_get_height(pb); + int rowstride = gdk_pixbuf_get_rowstride(pb); + int has_alpha = gdk_pixbuf_get_has_alpha(pb); + + guchar *p; + int i,j,x,y,a; + guchar *imgrow; + int off; + + p = dest; + y = offy % h; + off = drs - (dw*3); /*the space after width ends until next row*/ + for(j=0;j<dh;j++) { + x = offx % w; + imgrow = tile + y * rowstride + (has_alpha?/*x*4*/x<<2:x*3); + for(i=0;i<dw;i++) { + *(p++) = *(imgrow++); + *(p++) = *(imgrow++); + *(p++) = *(imgrow++); + if(has_alpha) { + a = *(imgrow++); + if(a!=255) { + guchar *pp = p-3; + pp[0] = (pp[0]*a)>>8; + pp[1] = (pp[1]*a)>>8; + pp[2] = (pp[2]*a)>>8; + } + } + x++; + if(x>=w) { + x = 0; + imgrow = tile + y * rowstride; + } + } + p += off; + y++; + if(y>=h) + y = 0; + } + gdk_pixbuf_unref(pb); + return; + } + } + + r = applet->style->bg[GTK_WIDGET_STATE(applet)].red>>8; + g = applet->style->bg[GTK_WIDGET_STATE(applet)].green>>8; + b = applet->style->bg[GTK_WIDGET_STATE(applet)].blue>>8; + p = dest; + for (i = 0; i < sizehint * sizehint; i++) { + *p++ = r; + *p++ = g; + *p++ = b; + } +} + static GdkPixmap *get_applet_icon(const char *name) { GdkPixmap *cache; GdkGC *gc; char *path; GdkPixbuf *pb, *scale; - guchar *dst, *p; + guchar *dst; double affine[6]; - int r,g,b,i; if (!applet) return NULL; @@ -76,15 +163,7 @@ pb = gdk_pixbuf_scale_simple(scale, sizehint, sizehint, GDK_INTERP_HYPER); dst = g_new0(guchar, sizehint*sizehint*3); - r = applet->style->bg[GTK_WIDGET_STATE(applet)].red>>8; - g = applet->style->bg[GTK_WIDGET_STATE(applet)].green>>8; - b = applet->style->bg[GTK_WIDGET_STATE(applet)].blue>>8; - p = dst; - for (i = 0; i < sizehint * sizehint; i++) { - *p++ = r; - *p++ = g; - *p++ = b; - } + make_background(dst); art_affine_identity(affine); if (gdk_pixbuf_get_has_alpha(pb)) @@ -161,6 +240,24 @@ return TRUE; } +static void back_changed(AppletWidget *applet, PanelBackType type, char *file, GdkColor *clr) +{ + backtype = type; + if (backfile) + g_free(backfile); + if (file) + backfile = g_strdup(file); + else + backfile = NULL; + if (backcolor) + gdk_color_free(backcolor); + if (clr) + backcolor = gdk_color_copy(clr); + else + backcolor = NULL; + update_applet(); +} + #ifdef HAVE_PANEL_PIXEL_SIZE static void applet_change_pixel_size(GtkWidget *w, int size, gpointer data) { @@ -342,6 +439,7 @@ applet = applet_widget_new("gaim_applet"); if (!applet) g_error(_("Can't create Gaim applet!")); + gtk_signal_connect(GTK_OBJECT(applet), "back_change", GTK_SIGNAL_FUNC(back_changed), NULL); gtk_widget_set_events(applet, gtk_widget_get_events(applet) | GDK_BUTTON_PRESS_MASK); gtk_widget_realize(applet); |
From: Eric W. <war...@us...> - 2001-10-27 02:49:04
|
Update of /cvsroot/gaim/gaim/src In directory usw-pr-cvs1:/tmp/cvs-serv20711/src Modified Files: multi.c Log Message: forgot about this part. Index: multi.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/multi.c,v retrieving revision 1.99 retrieving revision 1.100 diff -u -d -r1.99 -r1.100 --- multi.c 2001/10/27 02:38:07 1.99 +++ multi.c 2001/10/27 02:49:01 1.100 @@ -247,6 +247,8 @@ a->options = u->options; a->protocol = u->protocol; + txt = gtk_entry_get_text(GTK_ENTRY(u->name)); + g_snprintf(a->username, sizeof(a->username), "%s", txt); txt = gtk_entry_get_text(GTK_ENTRY(u->pass)); if (a->options & OPT_USR_REM_PASS) g_snprintf(a->password, sizeof(a->password), "%s", txt); @@ -254,6 +256,7 @@ a->password[0] = '\0'; i = gtk_clist_find_row_from_data(GTK_CLIST(list), a); + gtk_clist_set_text(GTK_CLIST(list), i, 0, a->username); gtk_clist_set_text(GTK_CLIST(list), i, 2, (a->options & OPT_USR_AUTO) ? "True" : "False"); gtk_clist_set_text(GTK_CLIST(list), i, 3, proto_name(a->protocol)); |
From: Eric W. <war...@us...> - 2001-10-27 02:38:10
|
Update of /cvsroot/gaim/gaim/src In directory usw-pr-cvs1:/tmp/cvs-serv18354 Modified Files: multi.c Log Message: too many people have been shocked by this. this causes other problems that i won't deal with right now (mostly relating to the main login window). Index: multi.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/multi.c,v retrieving revision 1.98 retrieving revision 1.99 diff -u -d -r1.98 -r1.99 --- multi.c 2001/10/25 09:19:25 1.98 +++ multi.c 2001/10/27 02:38:07 1.99 @@ -524,7 +524,6 @@ if (u->user) { gtk_entry_set_text(GTK_ENTRY(u->name), u->user->username); gtk_entry_set_text(GTK_ENTRY(u->pass), u->user->password); - gtk_entry_set_editable(GTK_ENTRY(u->name), FALSE); } p = find_prpl(u->protocol); |
From: Eric W. <war...@us...> - 2001-10-27 01:58:15
|
Update of /cvsroot/gaim/gaim/src/protocols/oscar In directory usw-pr-cvs1:/tmp/cvs-serv9799/src/protocols/oscar Modified Files: CHANGES aim.h im.c Log Message: read CHANGES. Index: CHANGES =================================================================== RCS file: /cvsroot/gaim/gaim/src/protocols/oscar/CHANGES,v retrieving revision 1.10 retrieving revision 1.11 diff -u -d -r1.10 -r1.11 --- CHANGES 2001/10/15 03:16:01 1.10 +++ CHANGES 2001/10/27 01:58:12 1.11 @@ -1,6 +1,9 @@ No release numbers ------------------ + - Fri Oct 26 15:18:10 PDT 2001 + - Fix buddy icons. (the checksum is only 16bits. hum.) + - Sun Oct 14 19:45:54 PDT 2001 - Fix aim_icq_setstatus - Minor touchups Index: aim.h =================================================================== RCS file: /cvsroot/gaim/gaim/src/protocols/oscar/aim.h,v retrieving revision 1.10 retrieving revision 1.11 diff -u -d -r1.10 -r1.11 --- aim.h 2001/10/15 03:16:01 1.10 +++ aim.h 2001/10/27 01:58:12 1.11 @@ -738,7 +738,7 @@ /* Only provided if AIM_IMFLAGS_HASICON is set */ time_t iconstamp; fu32_t iconlen; - fu32_t iconsum; + fu16_t iconsum; /* Only provided if AIM_IMFLAGS_CUSTOMFEATURES is set */ fu8_t *features; @@ -786,8 +786,8 @@ faim_export int aim_send_im_ext(aim_session_t *sess, aim_conn_t *conn, struct aim_sendimext_args *args); faim_export int aim_send_im(aim_session_t *, aim_conn_t *, const char *destsn, unsigned short flags, const char *msg); -faim_export int aim_send_icon(aim_session_t *sess, aim_conn_t *conn, const char *sn, const fu8_t *icon, int iconlen, time_t stamp, fu32_t iconsum); -faim_export fu32_t aim_iconsum(const fu8_t *buf, int buflen); +faim_export int aim_send_icon(aim_session_t *sess, aim_conn_t *conn, const char *sn, const fu8_t *icon, int iconlen, time_t stamp, fu16_t iconsum); +faim_export fu16_t aim_iconsum(const fu8_t *buf, int buflen); faim_export int aim_send_im_direct(aim_session_t *, aim_conn_t *, const char *msg); faim_export const char *aim_directim_getsn(aim_conn_t *conn); faim_export aim_conn_t *aim_directim_initiate(aim_session_t *, aim_conn_t *, const char *destsn); Index: im.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/protocols/oscar/im.c,v retrieving revision 1.10 retrieving revision 1.11 diff -u -d -r1.10 -r1.11 --- im.c 2001/10/15 03:16:01 1.10 +++ im.c 2001/10/27 01:58:12 1.11 @@ -84,7 +84,7 @@ } /* This should be endian-safe now... but who knows... */ -faim_export fu32_t aim_iconsum(const fu8_t *buf, int buflen) +faim_export fu16_t aim_iconsum(const fu8_t *buf, int buflen) { fu32_t sum; int i; @@ -94,7 +94,7 @@ sum = ((sum & 0xffff0000) >> 16) + (sum & 0x0000ffff); - return sum; + return (fu16_t)sum; } /* @@ -314,7 +314,8 @@ aimbs_put16(&fr->data, 0x0008); aimbs_put16(&fr->data, 0x000c); aimbs_put32(&fr->data, args->iconlen); - aimbs_put32(&fr->data, args->iconsum); + aimbs_put16(&fr->data, 0x0001); + aimbs_put16(&fr->data, args->iconsum); aimbs_put32(&fr->data, args->iconstamp); } @@ -356,7 +357,7 @@ * This is also performance sensitive. (If you can believe it...) * */ -faim_export int aim_send_icon(aim_session_t *sess, aim_conn_t *conn, const char *sn, const fu8_t *icon, int iconlen, time_t stamp, fu32_t iconsum) +faim_export int aim_send_icon(aim_session_t *sess, aim_conn_t *conn, const char *sn, const fu8_t *icon, int iconlen, time_t stamp, fu16_t iconsum) { int i; fu8_t ck[8]; @@ -418,7 +419,8 @@ /* TLV t(2711) */ aimbs_put16(&fr->data, 0x2711); aimbs_put16(&fr->data, 4+4+4+iconlen+strlen(AIM_ICONIDENT)); - aimbs_put32(&fr->data, iconsum); + aimbs_put16(&fr->data, 0x0000); + aimbs_put16(&fr->data, iconsum); aimbs_put32(&fr->data, iconlen); aimbs_put32(&fr->data, stamp); aimbs_putraw(&fr->data, icon, iconlen); @@ -854,8 +856,9 @@ } else if (type == 0x0008) { /* I-HAVE-A-REALLY-PURTY-ICON Flag */ - args.iconsum = aimbs_get32(bs); args.iconlen = aimbs_get32(bs); + aimbs_get16(bs); /* 0x0001 */ + args.iconsum = aimbs_get16(bs); args.iconstamp = aimbs_get32(bs); args.icbmflags |= AIM_IMFLAGS_HASICON; |
From: Eric W. <war...@us...> - 2001-10-27 00:12:17
|
Update of /cvsroot/gaim/gaim/src In directory usw-pr-cvs1:/tmp/cvs-serv21418 Modified Files: buddy_chat.c conversation.c ui.h Log Message: runny nose and runny yolk, even if you have a cold still you can cough on my again, i still haven't had my full fill Index: buddy_chat.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/buddy_chat.c,v retrieving revision 1.123 retrieving revision 1.124 diff -u -d -r1.123 -r1.124 --- buddy_chat.c 2001/10/03 20:36:33 1.123 +++ buddy_chat.c 2001/10/27 00:12:14 1.124 @@ -1074,7 +1074,7 @@ style->font = gdk_font_ref(label->style->font); gtk_widget_set_style(label, style); gtk_style_unref(style); - b->unseen = FALSE; + b->unseen = 0; } void show_new_buddy_chat(struct conversation *b) Index: conversation.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/conversation.c,v retrieving revision 1.286 retrieving revision 1.287 diff -u -d -r1.286 -r1.287 --- conversation.c 2001/10/26 10:11:33 1.286 +++ conversation.c 2001/10/27 00:12:14 1.287 @@ -1597,17 +1597,27 @@ (notebook), g_list_index(ws, c))); - GtkStyle *style = gtk_style_new(); + GtkStyle *style; + if ((c->unseen == 2) || ((c->unseen == 1) && !(flags & WFLAG_NICK))) + return; + style = gtk_style_new(); if (!GTK_WIDGET_REALIZED(label)) gtk_widget_realize(label); gdk_font_unref(style->font); style->font = gdk_font_ref(label->style->font); - style->fg[0].red = 0xcccc; - style->fg[0].green = 0x0000; - style->fg[0].blue = 0x0000; + if (flags & WFLAG_NICK) { + style->fg[0].red = 0x0000; + style->fg[0].green = 0x0000; + style->fg[0].blue = 0xcccc; + c->unseen = 2; + } else { + style->fg[0].red = 0xcccc; + style->fg[0].green = 0x0000; + style->fg[0].blue = 0x0000; + c->unseen = 1; + } gtk_widget_set_style(label, style); gtk_style_unref(style); - c->unseen = TRUE; } } @@ -2102,7 +2112,7 @@ style->font = gdk_font_ref(label->style->font); gtk_widget_set_style(label, style); gtk_style_unref(style); - c->unseen = FALSE; + c->unseen = 0; } Index: ui.h =================================================================== RCS file: /cvsroot/gaim/gaim/src/ui.h,v retrieving revision 1.15 retrieving revision 1.16 diff -u -d -r1.15 -r1.16 --- ui.h 2001/10/24 11:07:35 1.15 +++ ui.h 2001/10/27 00:12:14 1.16 @@ -136,7 +136,7 @@ GtkWidget *sep2; GtkWidget *menu; GtkWidget *check; - gboolean unseen; + gint unseen; /* stuff used just for chat */ GList *in_room; |
From: Eric W. <war...@us...> - 2001-10-26 23:49:53
|
Update of /cvsroot/gaim/gaim/src In directory usw-pr-cvs1:/tmp/cvs-serv16471 Modified Files: buddy.c Log Message: this is good. Index: buddy.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/buddy.c,v retrieving revision 1.265 retrieving revision 1.266 diff -u -d -r1.265 -r1.266 --- buddy.c 2001/10/25 20:24:00 1.265 +++ buddy.c 2001/10/26 23:49:50 1.266 @@ -123,6 +123,7 @@ static void remove_buddy_show(struct group_show *gs, struct buddy_show *bs); static struct group_show *find_gs_by_bs(struct buddy_show *b); static void update_num_group(struct group_show *gs); +static void update_idle_time(struct buddy_show *bs); void handle_group_rename(struct group *g, char *prevname) { @@ -284,6 +285,7 @@ } } else { gtk_label_set_text(GTK_LABEL(bs->label), b->show); + update_idle_time(bs); } } |
From: Eric W. <war...@us...> - 2001-10-26 23:20:23
|
Update of /cvsroot/gaim/gaim/src In directory usw-pr-cvs1:/tmp/cvs-serv9896 Modified Files: dialogs.c Log Message: this probably shouldn't matter, but i had something *really* odd happen to me related to the name, so i'm not risking it. Index: dialogs.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/dialogs.c,v retrieving revision 1.276 retrieving revision 1.277 diff -u -d -r1.276 -r1.277 --- dialogs.c 2001/10/26 22:58:16 1.276 +++ dialogs.c 2001/10/26 23:20:20 1.277 @@ -3467,7 +3467,14 @@ g_free(view); } -void show_log(char *name) +static void des_log_win(GtkObject *win, gpointer data) +{ + char *x = gtk_object_get_user_data(win); + if (x) + g_free(x); +} + +void show_log(char *nm) { gchar filename[256]; gchar buf[BUF_LONG]; @@ -3487,6 +3494,7 @@ GtkWidget *last = NULL; GtkWidget *frame; struct view_log *view; + char *name = nm ? g_strdup(nm) : NULL; int options; guint block; @@ -3503,6 +3511,8 @@ options ^= GTK_IMHTML_NO_SIZES; window = gtk_window_new(GTK_WINDOW_TOPLEVEL); + gtk_object_set_user_data(GTK_OBJECT(window), name); + gtk_signal_connect(GTK_OBJECT(window), "destroy", GTK_SIGNAL_FUNC(des_log_win), NULL); gtk_window_set_wmclass(GTK_WINDOW(window), "log", "Gaim"); if (name) g_snprintf(buf, BUF_LONG, "Gaim - Conversations with %s", name); |
From: Eric W. <war...@us...> - 2001-10-26 23:07:10
|
Update of /cvsroot/gaim/gaim/src In directory usw-pr-cvs1:/tmp/cvs-serv6286 Modified Files: gtkimhtml.c Log Message: this is why ben and i were getting the leak but not rob. rob doesn't ignore things. Index: gtkimhtml.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/gtkimhtml.c,v retrieving revision 1.62 retrieving revision 1.63 diff -u -d -r1.62 -r1.63 --- gtkimhtml.c 2001/10/26 22:58:17 1.62 +++ gtkimhtml.c 2001/10/26 23:07:08 1.63 @@ -2972,6 +2972,7 @@ } if (!font || !(font->size || font->face || font->fore || font->back)) { + g_free (font); intag = FALSE; tpos = 0; continue; |
From: Eric W. <war...@us...> - 2001-10-26 22:58:20
|
Update of /cvsroot/gaim/gaim/src In directory usw-pr-cvs1:/tmp/cvs-serv3543 Modified Files: dialogs.c gtkimhtml.c Log Message: i *really* wish i'd gotten to look this over before it got committed. i'm getting the 16-byte leaks too. i haven't tracked it down yet but I have a pretty good idea of where they're coming from. i wish i'd been able to look this over before it got committed. Index: dialogs.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/dialogs.c,v retrieving revision 1.275 retrieving revision 1.276 diff -u -d -r1.275 -r1.276 --- dialogs.c 2001/10/25 20:24:00 1.275 +++ dialogs.c 2001/10/26 22:58:16 1.276 @@ -223,6 +223,15 @@ struct gaim_connection *gc; }; +struct view_log { + long offset; + int options; + char *name; + GtkWidget *bbox; + GtkWidget *window; + GtkWidget *layout; +}; + /*------------------------------------------------------------------------*/ /* Destroys */ /*------------------------------------------------------------------------*/ @@ -308,15 +317,8 @@ void destroy_all_dialogs() { - GList *d = dialogwindows; - - while (d) { - destroy_dialog(NULL, d->data); - d = d->next; - } - - g_list_free(dialogwindows); - dialogwindows = NULL; + while (dialogwindows) + destroy_dialog(NULL, dialogwindows->data); if (awaymessage) do_im_back(NULL, NULL); @@ -3287,7 +3289,6 @@ fclose(fp_old); fclose(fp_new); - dialogwindows = g_list_remove(dialogwindows, filesel); gtk_widget_destroy(filesel); return; @@ -3302,7 +3303,6 @@ name ? normalize(name) : "system", name ? ".log" : ""); filesel = gtk_file_selection_new(_("Gaim - Save Log File")); - dialogwindows = g_list_prepend(dialogwindows, filesel); gtk_signal_connect(GTK_OBJECT(filesel), "delete_event", GTK_SIGNAL_FUNC(destroy_dialog), filesel); @@ -3352,7 +3352,6 @@ GtkWidget *hsep; window = gtk_window_new(GTK_WINDOW_DIALOG); - dialogwindows = g_list_prepend(dialogwindows, window); gtk_window_set_wmclass(GTK_WINDOW(window), "dialog", "Gaim"); gtk_container_set_border_width(GTK_CONTAINER(window), 10); gtk_window_set_policy(GTK_WINDOW(window), TRUE, TRUE, TRUE); @@ -3390,30 +3389,20 @@ return; } -static void log_show_convo(GtkWidget *w, GtkWidget *layout) +static void log_show_convo(GtkWidget *w, struct view_log *view) { gchar buf[BUF_LONG]; - long offset; - int options; - gchar *name; - GtkWidget *bbox; - GtkWidget *window; FILE *fp; char filename[256]; int i=0; GString *string; guint block; - offset = (long)gtk_object_get_user_data(GTK_OBJECT(w)); - options = (int)gtk_object_get_data(GTK_OBJECT(w), "options"); - name = gtk_object_get_data(GTK_OBJECT(w), "name"); - bbox = gtk_object_get_data(GTK_OBJECT(w), "box"); - window = gtk_object_get_data(GTK_OBJECT(w), "window"); string = g_string_new(""); - if (name) { + if (view->name) { char *tmp = gaim_user_dir(); - g_snprintf(filename, 256, "%s/logs/%s.log", tmp, normalize(name)); + g_snprintf(filename, 256, "%s/logs/%s.log", tmp, normalize(view->name)); g_free(tmp); } else { char *tmp = gaim_user_dir(); @@ -3426,15 +3415,18 @@ return; } - gtk_widget_set_sensitive(bbox, FALSE); - gtk_signal_disconnect_by_func(GTK_OBJECT(window), GTK_SIGNAL_FUNC(destroy_dialog), window); - block = gtk_signal_connect(GTK_OBJECT(window), "delete_event", - GTK_SIGNAL_FUNC(dont_destroy), window); + gtk_widget_set_sensitive(view->bbox, FALSE); + gtk_signal_disconnect_by_func(GTK_OBJECT(view->window), + GTK_SIGNAL_FUNC(destroy_dialog), view->window); + block = gtk_signal_connect(GTK_OBJECT(view->window), "delete_event", + GTK_SIGNAL_FUNC(dont_destroy), view->window); - fseek(fp, offset, SEEK_SET); - gtk_imhtml_clear(GTK_IMHTML(layout)); + fseek(fp, view->offset, SEEK_SET); + gtk_imhtml_clear(GTK_IMHTML(view->layout)); + /* while (gtk_events_pending()) gtk_main_iteration(); + */ while (fgets(buf, BUF_LONG, fp) && !strstr(buf, "---- New C")) { i++; @@ -3443,27 +3435,38 @@ buf[strlen(buf) - 1] = '\0'; if (i == 30) { - gtk_imhtml_append_text(GTK_IMHTML(layout), string->str, options); + gtk_imhtml_append_text(GTK_IMHTML(view->layout), string->str, view->options); g_string_free(string, TRUE); string = g_string_new(""); + /* you can't have these anymore. if someone clicks on another item while one is + * drawing, it will try to move to that item, and that causes problems here. while (gtk_events_pending()) gtk_main_iteration(); + */ i = 0; } else { g_string_append(string, buf); } } - gtk_imhtml_append_text(GTK_IMHTML(layout), string->str, options); - gtk_imhtml_append_text(GTK_IMHTML(layout), "<BR>", options); + gtk_imhtml_append_text(GTK_IMHTML(view->layout), string->str, view->options); + gtk_imhtml_append_text(GTK_IMHTML(view->layout), "<BR>", view->options); - gtk_widget_set_sensitive(bbox, TRUE); - gtk_signal_disconnect(GTK_OBJECT(window), block); - gtk_signal_connect(GTK_OBJECT(window), "delete_event", GTK_SIGNAL_FUNC(destroy_dialog), window); + gtk_widget_set_sensitive(view->bbox, TRUE); + gtk_signal_disconnect(GTK_OBJECT(view->window), block); + gtk_signal_connect(GTK_OBJECT(view->window), "delete_event", + GTK_SIGNAL_FUNC(destroy_dialog), view->window); g_string_free(string, TRUE); fclose(fp); } +static void des_view_item(GtkObject *obj, struct view_log *view) +{ + if (view->name) + g_free(view->name); + g_free(view); +} + void show_log(char *name) { gchar filename[256]; @@ -3483,6 +3486,7 @@ GtkWidget *item = NULL; GtkWidget *last = NULL; GtkWidget *frame; + struct view_log *view; int options; guint block; @@ -3499,7 +3503,6 @@ options ^= GTK_IMHTML_NO_SIZES; window = gtk_window_new(GTK_WINDOW_TOPLEVEL); - dialogwindows = g_list_prepend(dialogwindows, window); gtk_window_set_wmclass(GTK_WINDOW(window), "log", "Gaim"); if (name) g_snprintf(buf, BUF_LONG, "Gaim - Conversations with %s", name); @@ -3568,13 +3571,17 @@ offset = ftell(fp); g_snprintf(convo_start, length, "%s", temp); item = gtk_list_item_new_with_label(convo_start); - gtk_object_set_user_data(GTK_OBJECT(item), (gpointer)offset); - gtk_object_set_data(GTK_OBJECT(item), "options", (gpointer)options); - gtk_object_set_data(GTK_OBJECT(item), "name", (gpointer)name); - gtk_object_set_data(GTK_OBJECT(item), "box", (gpointer)bbox); - gtk_object_set_data(GTK_OBJECT(item), "window", (gpointer)window); + view = g_new0(struct view_log, 1); + view->options = options; + view->offset = offset; + view->name = g_strdup(name); + view->bbox = bbox; + view->window = window; + view->layout = layout; gtk_signal_connect(GTK_OBJECT(item), "select", - GTK_SIGNAL_FUNC(log_show_convo), layout); + GTK_SIGNAL_FUNC(log_show_convo), view); + gtk_signal_connect(GTK_OBJECT(item), "destroy", + GTK_SIGNAL_FUNC(des_view_item), view); last = item; item_list = g_list_append(item_list, item); @@ -3626,12 +3633,14 @@ gtk_widget_show_all(window); if (!name) { - gtk_object_set_user_data(GTK_OBJECT(layout), (gpointer)0); - gtk_object_set_data(GTK_OBJECT(layout), "options", (gpointer)options); - gtk_object_set_data(GTK_OBJECT(layout), "name", (gpointer)NULL); - gtk_object_set_data(GTK_OBJECT(layout), "box", (gpointer)bbox); - gtk_object_set_data(GTK_OBJECT(layout), "window", (gpointer)window); - log_show_convo(layout, layout); + view = g_new0(struct view_log, 1); + view->options = options; + view->name = NULL; + view->bbox = bbox; + view->window = window; + view->layout = layout; + log_show_convo(layout, view); + gtk_signal_connect(GTK_OBJECT(layout), "destroy", GTK_SIGNAL_FUNC(des_view_item), view); } else { gtk_list_select_item(GTK_LIST(list), 0); } Index: gtkimhtml.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/gtkimhtml.c,v retrieving revision 1.61 retrieving revision 1.62 diff -u -d -r1.61 -r1.62 --- gtkimhtml.c 2001/10/25 22:16:16 1.61 +++ gtkimhtml.c 2001/10/26 22:58:17 1.62 @@ -353,6 +353,9 @@ g_free (bit); } + if (imhtml->line) + g_list_free (imhtml->line); + while (imhtml->urls) { g_free (imhtml->urls->data); imhtml->urls = g_list_remove (imhtml->urls, imhtml->urls->data); @@ -3448,9 +3451,13 @@ void gtk_imhtml_clear (GtkIMHtml *imhtml) { + GtkLayout *layout; + g_return_if_fail (imhtml != NULL); g_return_if_fail (GTK_IS_IMHTML (imhtml)); + layout = GTK_LAYOUT (imhtml); + while (imhtml->bits) { GtkIMHtmlBit *bit = imhtml->bits->data; imhtml->bits = g_list_remove (imhtml->bits, bit); @@ -3490,6 +3497,12 @@ imhtml->selected_text = g_string_new (""); } + imhtml->sel_startx = 0; + imhtml->sel_starty = 0; + imhtml->sel_endx = 0; + imhtml->sel_endx = 0; + imhtml->sel_endchunk = NULL; + if (imhtml->tip_timer) { gtk_timeout_remove (imhtml->tip_timer); imhtml->tip_timer = 0; @@ -3500,13 +3513,36 @@ } imhtml->tip_bit = NULL; + if (imhtml->scroll_timer) { + gtk_timeout_remove (imhtml->scroll_timer); + imhtml->scroll_timer = 0; + } + gdk_window_set_cursor (GTK_LAYOUT (imhtml)->bin_window, imhtml->arrow_cursor); imhtml->x = 0; imhtml->y = TOP_BORDER; + imhtml->xsize = 0; imhtml->llheight = 0; imhtml->llascent = 0; + if (imhtml->line) + g_list_free (imhtml->line); imhtml->line = NULL; + + layout->hadjustment->page_size = 0; + layout->hadjustment->page_increment = 0; + layout->hadjustment->lower = 0; + layout->hadjustment->upper = imhtml->x; + gtk_adjustment_set_value (layout->hadjustment, 0); + + layout->vadjustment->page_size = 0; + layout->vadjustment->page_increment = 0; + layout->vadjustment->lower = 0; + layout->vadjustment->upper = imhtml->y; + gtk_adjustment_set_value (layout->vadjustment, 0); + + gtk_signal_emit_by_name (GTK_OBJECT (layout->hadjustment), "changed"); + gtk_signal_emit_by_name (GTK_OBJECT (layout->vadjustment), "changed"); if (GTK_WIDGET_REALIZED (GTK_WIDGET (imhtml))) gdk_window_clear (GTK_LAYOUT (imhtml)->bin_window); |
From: Eric W. <war...@us...> - 2001-10-26 20:06:25
|
Update of /cvsroot/gaim/gaim/src/protocols/irc In directory usw-pr-cvs1:/tmp/cvs-serv21891/protocols/irc Modified Files: irc.c Log Message: hi Index: irc.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/protocols/irc/irc.c,v retrieving revision 1.46 retrieving revision 1.47 diff -u -d -r1.46 -r1.47 --- irc.c 2001/10/26 10:11:33 1.46 +++ irc.c 2001/10/26 20:06:22 1.47 @@ -594,7 +594,7 @@ id->whois_str = g_string_append(id->whois_str, word_eol[4]); { GString *str = decode_html(id->whois_str->str); - g_show_info_text(str->str); + g_show_info_text(str->str, NULL); g_string_free(str, TRUE); } g_string_free(id->whois_str, TRUE); |
From: Eric W. <war...@us...> - 2001-10-26 10:11:35
|
Update of /cvsroot/gaim/gaim/src In directory usw-pr-cvs1:/tmp/cvs-serv17020/src Modified Files: conversation.c Log Message: i hate you mid. i have that IM Me song stuck in my head. Index: conversation.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/conversation.c,v retrieving revision 1.285 retrieving revision 1.286 diff -u -d -r1.285 -r1.286 --- conversation.c 2001/10/23 04:54:45 1.285 +++ conversation.c 2001/10/26 10:11:33 1.286 @@ -2022,12 +2022,16 @@ void update_buttons_by_protocol(struct conversation *c) { if (!c->gc) { - gtk_widget_set_sensitive(c->info, FALSE); - gtk_widget_set_sensitive(c->send, FALSE); - gtk_widget_set_sensitive(c->warn, FALSE); - gtk_widget_set_sensitive(c->block, FALSE); - gtk_widget_set_sensitive(c->add, FALSE); - + if (c->info) + gtk_widget_set_sensitive(c->info, FALSE); + if (c->send) + gtk_widget_set_sensitive(c->send, FALSE); + if (c->warn) + gtk_widget_set_sensitive(c->warn, FALSE); + if (c->block) + gtk_widget_set_sensitive(c->block, FALSE); + if (c->add) + gtk_widget_set_sensitive(c->add, FALSE); if (c->whisper) gtk_widget_set_sensitive(c->whisper, FALSE); if (c->invite) |
From: Eric W. <war...@us...> - 2001-10-26 10:11:35
|
Update of /cvsroot/gaim/gaim/src/protocols/irc In directory usw-pr-cvs1:/tmp/cvs-serv17020/src/protocols/irc Modified Files: irc.c Log Message: i hate you mid. i have that IM Me song stuck in my head. Index: irc.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/protocols/irc/irc.c,v retrieving revision 1.45 retrieving revision 1.46 diff -u -d -r1.45 -r1.46 --- irc.c 2001/10/26 08:21:38 1.45 +++ irc.c 2001/10/26 10:11:33 1.46 @@ -59,6 +59,9 @@ char *chanmodes; char *nickmodes; gboolean six_modes; + + gboolean in_whois; + GString *whois_str; }; static char *irc_name() @@ -563,11 +566,41 @@ handle_005(gc, word, word_eol); break; case 301: - irc_got_im(gc, word[4], word_eol[5], IM_FLAG_AWAY, time(NULL)); + if (id->in_whois) { + id->whois_str = g_string_append(id->whois_str, "<BR><BR>"); + id->whois_str = g_string_append(id->whois_str, word_eol[4]); + } else + irc_got_im(gc, word[4], word_eol[5], IM_FLAG_AWAY, time(NULL)); break; case 303: handle_list(gc, &word_eol[4][1]); break; + case 311: + case 312: + case 313: + case 317: + case 319: + if (!id->in_whois) { + id->in_whois = TRUE; + id->whois_str = g_string_new(""); + } else { + id->whois_str = g_string_append(id->whois_str, "<BR><BR>"); + id->in_whois = TRUE; + } + id->whois_str = g_string_append(id->whois_str, word_eol[4]); + break; + case 318: + id->whois_str = g_string_append(id->whois_str, "<BR><BR>"); + id->whois_str = g_string_append(id->whois_str, word_eol[4]); + { + GString *str = decode_html(id->whois_str->str); + g_show_info_text(str->str); + g_string_free(str, TRUE); + } + g_string_free(id->whois_str, TRUE); + id->whois_str = NULL; + id->in_whois = FALSE; + break; case 324: handle_mode(gc, word, word_eol, TRUE); break; @@ -580,6 +613,18 @@ case 376: irc_request_buddy_update(gc); break; + case 401: + case 402: + case 431: + if (!id->in_whois) { + id->in_whois = TRUE; + id->whois_str = g_string_new(""); + } else { + id->whois_str = g_string_append(id->whois_str, "<BR><BR>"); + id->in_whois = TRUE; + } + id->whois_str = g_string_append(id->whois_str, word_eol[4]); + break; } } @@ -951,6 +996,8 @@ g_free(idata->nickmodes); g_string_free(idata->str, TRUE); + if (idata->whois_str) + g_string_free(idata->whois_str, TRUE); if (idata->timer) g_source_remove(idata->timer); @@ -1166,8 +1213,6 @@ else g_snprintf(buf, sizeof(buf), "KICK %s %s\r\n", who, word[2]); irc_write(id->fd, buf, strlen(buf)); - } else if (!g_strcasecmp(pdibuf, "BAN")) { - } else if (!g_strcasecmp(pdibuf, "KICKBAN")) { } else if (!g_strcasecmp(pdibuf, "JOIN")) { if (!*word[2]) return -EINVAL; @@ -1193,6 +1238,9 @@ g_snprintf(buf, sizeof(buf), _("You have left %s"), chan); do_error_dialog(buf, _("IRC Part")); } + } else if (!g_strcasecmp(pdibuf, "WHOIS")) { + g_snprintf(buf, sizeof(buf), "WHOIS %s\r\n", word_eol[2]); + irc_write(id->fd, buf, strlen(buf)); } else if (!g_strcasecmp(pdibuf, "HELP")) { struct conversation *c = NULL; if (is_channel(gc, who)) { @@ -1203,7 +1251,7 @@ if (!c) return -EINVAL; write_to_conv(c, "<B>Currently supported commands:<BR>" - "JOIN PART TOPIC<BR>" + "JOIN PART TOPIC WHOIS<BR>" "OP DEOP VOICE DEVOICE KICK<BR>" "NICK ME MSG QUOTE SAY</B>", WFLAG_NOLOG, NULL, time(NULL)); @@ -1335,6 +1383,29 @@ return irc_icon_xpm; } +static void irc_get_info(struct gaim_connection *gc, char *who) +{ + struct irc_data *idata = gc->proto_data; + char buf[IRC_BUF_LEN]; + + g_snprintf(buf, sizeof(buf), "WHOIS %s\r\n", who); + irc_write(idata->fd, buf, strlen(buf)); +} + +static GList *irc_buddy_menu(struct gaim_connection *gc, char *who) +{ + GList *m = NULL; + struct proto_buddy_menu *pbm; + + pbm = g_new0(struct proto_buddy_menu, 1); + pbm->label = _("Get Info"); + pbm->callback = irc_get_info; + pbm->gc = gc; + m = g_list_append(m, pbm); + + return m; +} + static struct prpl *my_protocol = NULL; void irc_init(struct prpl *ret) @@ -1355,6 +1426,8 @@ ret->chat_send = irc_chat_send; ret->away_states = irc_away_states; ret->set_away = irc_set_away; + ret->get_info = irc_get_info; + ret->buddy_menu = irc_buddy_menu; my_protocol = ret; } |
From: Eric W. <war...@us...> - 2001-10-26 10:11:35
|
Update of /cvsroot/gaim/gaim In directory usw-pr-cvs1:/tmp/cvs-serv17020 Modified Files: ChangeLog Log Message: i hate you mid. i have that IM Me song stuck in my head. Index: ChangeLog =================================================================== RCS file: /cvsroot/gaim/gaim/ChangeLog,v retrieving revision 1.345 retrieving revision 1.346 diff -u -d -r1.345 -r1.346 --- ChangeLog 2001/10/25 09:19:25 1.345 +++ ChangeLog 2001/10/26 10:11:32 1.346 @@ -24,6 +24,7 @@ * MSN Privacy Options * In MSN you can set a person's alias to their "friendly name" by right-click on their name while they're online. + * IRC can do /WHOIS version 0.46 (10/18/2001): * New applet icons (courtesy David Raeman) |
From: Eric W. <war...@us...> - 2001-10-26 09:17:16
|
Update of /cvsroot/gaim/gaim/src/protocols/irc In directory usw-pr-cvs1:/tmp/cvs-serv22476 Modified Files: Makefile.am Added Files: PROTOCOL Removed Files: rfc1459.txt Log Message: i don't know. this just seems to be standard in gaim, at least for msn and toc. --- NEW FILE: PROTOCOL --- Network Working Group J. Oikarinen Request for Comments: 1459 D. Reed May 1993 Internet Relay Chat Protocol Status of This Memo This memo defines an Experimental Protocol for the Internet community. Discussion and suggestions for improvement are requested. Please refer to the current edition of the "IAB Official Protocol Standards" for the standardization state and status of this protocol. [...3604 lines suppressed...] Oikarinen & Reed [Page 65] Index: Makefile.am =================================================================== RCS file: /cvsroot/gaim/gaim/src/protocols/irc/Makefile.am,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- Makefile.am 2001/09/21 20:47:36 1.3 +++ Makefile.am 2001/10/26 09:17:13 1.4 @@ -1,4 +1,4 @@ -EXTRA_DIST = rfc1459.txt +EXTRA_DIST = PROTOCOL pkgdir = $(libdir)/gaim --- rfc1459.txt DELETED --- |
From: Eric W. <war...@us...> - 2001-10-26 08:21:41
|
Update of /cvsroot/gaim/gaim/src/protocols/irc In directory usw-pr-cvs1:/tmp/cvs-serv14241/protocols/irc Modified Files: irc.c Log Message: wasn't this fun. Index: irc.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/protocols/irc/irc.c,v retrieving revision 1.44 retrieving revision 1.45 diff -u -d -r1.44 -r1.45 --- irc.c 2001/10/23 00:35:02 1.44 +++ irc.c 2001/10/26 08:21:38 1.45 @@ -563,7 +563,7 @@ handle_005(gc, word, word_eol); break; case 301: - irc_got_im(gc, word[4], word[5], IM_FLAG_AWAY, time(NULL)); + irc_got_im(gc, word[4], word_eol[5], IM_FLAG_AWAY, time(NULL)); break; case 303: handle_list(gc, &word_eol[4][1]); |
From: Eric W. <war...@us...> - 2001-10-26 01:48:28
|
Update of /cvsroot/gaim/gaim/src In directory usw-pr-cvs1:/tmp/cvs-serv12659/src Modified Files: browser.c Log Message: what? Index: browser.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/browser.c,v retrieving revision 1.16 retrieving revision 1.17 diff -u -d -r1.16 -r1.17 --- browser.c 2001/10/21 19:01:03 1.16 +++ browser.c 2001/10/26 01:48:25 1.17 @@ -581,7 +581,7 @@ args[0] = g_strdup("kfmclient"); args[1] = g_strdup("openURL"); - args[2] = url;; + args[2] = url; args[3] = NULL; execvp(args[0], args); |
From: Eric W. <war...@us...> - 2001-10-25 22:16:20
|
Update of /cvsroot/gaim/gaim/src In directory usw-pr-cvs1:/tmp/cvs-serv5822 Modified Files: gtkimhtml.c Log Message: yikes Index: gtkimhtml.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/gtkimhtml.c,v retrieving revision 1.60 retrieving revision 1.61 diff -u -d -r1.60 -r1.61 --- gtkimhtml.c 2001/10/25 18:22:37 1.60 +++ gtkimhtml.c 2001/10/25 22:16:16 1.61 @@ -1799,6 +1799,14 @@ return gdk_font_ref (imhtml->default_font); if (!choice) { + for (i = 0; fontnames [i]; i++) + if (!g_strcasecmp (fontnames [i], DEFAULT_FONT_NAME)) + break; + if (fontnames [i]) + choice = g_strdup (DEFAULT_FONT_NAME); + } + + if (!choice) { if (imhtml->default_font) return gdk_font_ref (imhtml->default_font); return gdk_fontset_load ("-*-*-*-*-*-*-*-*-*-*-*-*-*-*,*"); |
From: Eric W. <war...@us...> - 2001-10-25 20:58:04
|
Update of /cvsroot/gaim/gaim/src In directory usw-pr-cvs1:/tmp/cvs-serv18394 Modified Files: util.c Log Message: what kinds of drugs and alcohol were being consumed when this was written? Index: util.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/util.c,v retrieving revision 1.109 retrieving revision 1.110 diff -u -d -r1.109 -r1.110 --- util.c 2001/10/25 05:05:05 1.109 +++ util.c 2001/10/25 20:58:01 1.110 @@ -149,10 +149,8 @@ t--; strncpy(url_buf, c, t - c); url_buf[t - c] = 0; - cnt += - g_snprintf(&text[cnt++], 1024, "<A HREF=\"%s\">%s</A>", - url_buf, url_buf); - cnt--; + cnt += g_snprintf(&text[cnt], 1024, "<A HREF=\"%s\">%s</A>", + url_buf, url_buf); c = t; break; } @@ -179,11 +177,9 @@ t--; strncpy(url_buf, c, t - c); url_buf[t - c] = 0; - cnt += - g_snprintf(&text[cnt++], 1024, - "<A HREF=\"http://%s\">%s</A>", url_buf, - url_buf); - cnt--; + cnt += g_snprintf(&text[cnt], 1024, + "<A HREF=\"http://%s\">%s</A>", url_buf, + url_buf); c = t; break; } @@ -200,10 +196,8 @@ t--; strncpy(url_buf, c, t - c); url_buf[t - c] = 0; - cnt += - g_snprintf(&text[cnt++], 1024, "<A HREF=\"%s\">%s</A>", - url_buf, url_buf); - cnt--; + cnt += g_snprintf(&text[cnt], 1024, "<A HREF=\"%s\">%s</A>", + url_buf, url_buf); c = t; break; } @@ -224,11 +218,9 @@ t--; strncpy(url_buf, c, t - c); url_buf[t - c] = 0; - cnt += - g_snprintf(&text[cnt++], 1024, - "<A HREF=\"ftp://%s\">%s</A>", url_buf, - url_buf); - cnt--; + cnt += g_snprintf(&text[cnt], 1024, + "<A HREF=\"ftp://%s\">%s</A>", url_buf, + url_buf); c = t; break; } @@ -245,10 +237,8 @@ t--; strncpy(url_buf, c, t - c); url_buf[t - c] = 0; - cnt += - g_snprintf(&text[cnt++], 1024, "<A HREF=\"%s\">%s</A>", - url_buf, url_buf); - cnt--; + cnt += g_snprintf(&text[cnt], 1024, "<A HREF=\"%s\">%s</A>", + url_buf, url_buf); c = t; break; } @@ -299,13 +289,12 @@ if (badchar(*t)) { if (*(t - 1) == '.') t--; - cnt += - g_snprintf(&text[cnt++], 1024, - "<A HREF=\"mailto:%s\">%s</A>", url_buf, url_buf); + cnt += g_snprintf(&text[cnt], 1024, + "<A HREF=\"mailto:%s\">%s</A>", url_buf, + url_buf); text[cnt] = 0; - cnt--; c = t; break; |
From: Eric W. <war...@us...> - 2001-10-25 20:24:03
|
Update of /cvsroot/gaim/gaim/src In directory usw-pr-cvs1:/tmp/cvs-serv10312 Modified Files: buddy.c dialogs.c Log Message: just some style changes Index: buddy.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/buddy.c,v retrieving revision 1.264 retrieving revision 1.265 diff -u -d -r1.264 -r1.265 --- buddy.c 2001/10/25 18:22:37 1.264 +++ buddy.c 2001/10/25 20:24:00 1.265 @@ -1953,16 +1953,14 @@ if (blist_options & OPT_BLIST_SHOW_IDLETIME) gtk_widget_show(bs->idle); - style = gtk_style_new(); - gdk_font_unref(style->font); - style->font = gdk_font_ref(GTK_WIDGET(bs->label)->style->font); + style = gtk_style_copy(bs->idle->style); if ((blist_options & OPT_BLIST_GREY_IDLERS) && (b->idle)) { style->fg[GTK_STATE_NORMAL].red = - (style->fg[GTK_STATE_NORMAL].red / 2) + (style->bg[GTK_STATE_NORMAL].red / 2); + (style->fg[GTK_STATE_NORMAL].red / 2) + (style->base[GTK_STATE_NORMAL].red / 2); style->fg[GTK_STATE_NORMAL].green = - (style->fg[GTK_STATE_NORMAL].green / 2) + (style->bg[GTK_STATE_NORMAL].green / 2); + (style->fg[GTK_STATE_NORMAL].green / 2) + (style->base[GTK_STATE_NORMAL].green / 2); style->fg[GTK_STATE_NORMAL].blue = - (style->fg[GTK_STATE_NORMAL].blue / 2) + (style->bg[GTK_STATE_NORMAL].blue / 2); + (style->fg[GTK_STATE_NORMAL].blue / 2) + (style->base[GTK_STATE_NORMAL].blue / 2); } gtk_widget_set_style(bs->label, style); gtk_style_unref(style); Index: dialogs.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/dialogs.c,v retrieving revision 1.274 retrieving revision 1.275 diff -u -d -r1.274 -r1.275 --- dialogs.c 2001/10/25 20:09:36 1.274 +++ dialogs.c 2001/10/25 20:24:00 1.275 @@ -3428,7 +3428,8 @@ gtk_widget_set_sensitive(bbox, FALSE); gtk_signal_disconnect_by_func(GTK_OBJECT(window), GTK_SIGNAL_FUNC(destroy_dialog), window); - block = gtk_signal_connect(GTK_OBJECT(window), "delete_event", GTK_SIGNAL_FUNC(dont_destroy), window); + block = gtk_signal_connect(GTK_OBJECT(window), "delete_event", + GTK_SIGNAL_FUNC(dont_destroy), window); fseek(fp, offset, SEEK_SET); gtk_imhtml_clear(GTK_IMHTML(layout)); @@ -3489,7 +3490,6 @@ long offset = 0; unsigned int i = 0; - options = GTK_IMHTML_NO_COMMENTS | GTK_IMHTML_NO_TITLE | GTK_IMHTML_NO_SCROLL; if (convo_options & OPT_CONVO_IGNORE_COLOUR) options ^= GTK_IMHTML_NO_COLOURS; @@ -3516,7 +3516,6 @@ layout = gtk_imhtml_new(NULL, NULL); bbox = gtk_hbox_new(FALSE, 0); - box = gtk_vbox_new(FALSE, 5); gtk_container_add(GTK_CONTAINER(window), box); @@ -3541,7 +3540,8 @@ sw = gtk_scrolled_window_new(NULL, NULL); gtk_container_set_border_width(GTK_CONTAINER(sw), 5); gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(sw), list); - gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); + gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), + GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); gtk_widget_set_usize(sw, 220, 220); gtk_container_add(GTK_CONTAINER(frame), sw); gtk_box_pack_start(GTK_BOX(hbox), frame, TRUE, TRUE, 0); @@ -3554,13 +3554,10 @@ if (temp == NULL || strlen(temp) < 2) continue; - if (i == 1) { - if (item_list) { - item_list = g_list_remove(item_list, last); - last = NULL; - } + if (i == 1 && item_list) { + item_list = g_list_remove(item_list, last); + last = NULL; } - i = 0; @@ -3576,23 +3573,22 @@ gtk_object_set_data(GTK_OBJECT(item), "name", (gpointer)name); gtk_object_set_data(GTK_OBJECT(item), "box", (gpointer)bbox); gtk_object_set_data(GTK_OBJECT(item), "window", (gpointer)window); - gtk_signal_connect(GTK_OBJECT(item), "select", GTK_SIGNAL_FUNC(log_show_convo), layout); + gtk_signal_connect(GTK_OBJECT(item), "select", + GTK_SIGNAL_FUNC(log_show_convo), layout); last = item; item_list = g_list_append(item_list, item); - + gtk_widget_show(item); } i++; } fclose(fp); - } - - if (i == 1) { - if (item_list) + if (i == 1 && item_list) item_list = g_list_remove(item_list, item); + + if (item_list) + gtk_list_insert_items(GTK_LIST(list), item_list, 0 ); } - - gtk_list_insert_items(GTK_LIST(list), item_list, 0 ); gtk_signal_disconnect(GTK_OBJECT(window), block); gtk_signal_connect(GTK_OBJECT(window), "delete_event", GTK_SIGNAL_FUNC(destroy_dialog), window); |
From: Rob F. <rob...@us...> - 2001-10-25 20:09:39
|
Update of /cvsroot/gaim/gaim/src In directory usw-pr-cvs1:/tmp/cvs-serv5203 Modified Files: dialogs.c Log Message: I forgot about this. Don't show empty conversations. Index: dialogs.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/dialogs.c,v retrieving revision 1.273 retrieving revision 1.274 diff -u -d -r1.273 -r1.274 --- dialogs.c 2001/10/25 09:19:25 1.273 +++ dialogs.c 2001/10/25 20:09:36 1.274 @@ -3478,13 +3478,16 @@ GtkWidget *clear_button; GtkWidget *save_button; GtkWidget *list = NULL; - GtkWidget *item; + GList *item_list = NULL; + GtkWidget *item = NULL; + GtkWidget *last = NULL; GtkWidget *frame; int options; guint block; char convo_start[32]; long offset = 0; + unsigned int i = 0; options = GTK_IMHTML_NO_COMMENTS | GTK_IMHTML_NO_TITLE | GTK_IMHTML_NO_SCROLL; @@ -3547,8 +3550,20 @@ if (strstr(buf, "---- New C")) { int length; char *temp = strchr(buf, '@'); + if (temp == NULL || strlen(temp) < 2) continue; + + if (i == 1) { + if (item_list) { + item_list = g_list_remove(item_list, last); + last = NULL; + } + } + + + i = 0; + temp++; length = strcspn(temp, "-"); if (length > 31) length = 31; @@ -3562,12 +3577,22 @@ gtk_object_set_data(GTK_OBJECT(item), "box", (gpointer)bbox); gtk_object_set_data(GTK_OBJECT(item), "window", (gpointer)window); gtk_signal_connect(GTK_OBJECT(item), "select", GTK_SIGNAL_FUNC(log_show_convo), layout); - gtk_container_add(GTK_CONTAINER(list), item); + last = item; + item_list = g_list_append(item_list, item); + gtk_widget_show(item); } + i++; } fclose(fp); } + + if (i == 1) { + if (item_list) + item_list = g_list_remove(item_list, item); + } + + gtk_list_insert_items(GTK_LIST(list), item_list, 0 ); gtk_signal_disconnect(GTK_OBJECT(window), block); gtk_signal_connect(GTK_OBJECT(window), "delete_event", GTK_SIGNAL_FUNC(destroy_dialog), window); |