Mercurial > pidgin
diff src/protocols/oscar/oscar.c @ 3044:e68e2ba82310
[gaim-migrate @ 3057]
DirectIM Image sending. Not all the kinks are worked out, and it's really hackish at parts, but it works and I think it's stable.
It's late and I have to be up early tommorow, and I want this to be somewhat tested before 0.54 is released so we don't have a repeat of 0.53 ;)
Also, Luke Schierer wins the #gaim MVP award with an inclusion in CREDITS :) Thanks, Luke.
committer: Tailor Script <tailor@pidgin.im>
author | Sean Egan <seanegan@gmail.com> |
---|---|
date | Thu, 14 Mar 2002 07:44:43 +0000 |
parents | 0f1766887ddd |
children | e729c064bc1b |
line wrap: on
line diff
--- a/src/protocols/oscar/oscar.c Thu Mar 14 03:29:03 2002 +0000 +++ b/src/protocols/oscar/oscar.c Thu Mar 14 07:44:43 2002 +0000 @@ -2436,7 +2436,11 @@ else return ret; } debug_printf("Direct IM pending, but not connected; sending through server\n"); - } + } else if (len != -1) { + /* Trying to send an IM image outside of a direct connection. */ + oscar_ask_direct_im(gc, name); + return -ENOTCONN; + } if (imflags & IM_FLAG_AWAY) { ret = aim_send_im(odata->sess, name, AIM_IMFLAGS_AWAY, message); } else { @@ -3168,6 +3172,9 @@ if (!(dim = find_direct_im(od, sn))) return 1; gaim_input_remove(dim->watcher); /* Otherwise, the callback will callback */ + while (gtk_events_pending()) + gtk_main_iteration(); + if ((c = find_conversation(sn))) update_progress(c, percent); dim->watcher = gaim_input_add(dim->conn->fd, GAIM_INPUT_READ, @@ -3554,7 +3561,7 @@ void oscar_init(struct prpl *ret) { ret->protocol = PROTO_OSCAR; - ret->options = OPT_PROTO_BUDDY_ICON; + ret->options = OPT_PROTO_BUDDY_ICON | OPT_PROTO_IM_IMAGE; ret->name = oscar_name; ret->list_icon = oscar_list_icon; ret->away_states = oscar_away_states;