view doc/blist-signals.dox @ 9798:255596f41014

[gaim-migrate @ 10666] This is patch number 1002252 by Joe Shaw. He writes: If you start a file transfer with a yahoo user and then unplug the network, wait a couple minutes, and plug it back in, a minute or so later the gaim UI will completely freeze, eventually consume all your memory and crash. This is because ft.c:transfer_cb() does not correctly handle the case in which both READ and WRITE conditions are coming in, and because the yahoo_xfer_read() and yahoo_xfer_write() functions are incorrectly returning 0 on errors instead of -1. Since transfer_cb() is getting both conditions, it only checks READ first and gets back 0 bytes (because the connection has been hung up). 0 is not explicitly handled, so nothing is done and we get ourselves into an infinite loop. committer: Tailor Script <tailor@pidgin.im>
author Tim Ringenbach <marv@pidgin.im>
date Sat, 21 Aug 2004 02:02:25 +0000
parents 2583056be3a4
children 201617d49573
line wrap: on
line source

/** @page blist-signals Buddy List Signals

 @signals
  @signal buddy-away
  @signal buddy-back
  @signal buddy-idle
  @signal buddy-unidle
  @signal buddy-signed-on
  @signal buddy-signed-off
  @signal update-idle
  @signal blist-node-extended-menu
 @endsignals

 <hr>

 @signaldef buddy-away
  @signalproto
void (*buddy_away)(struct buddy *buddy);
  @endsignalproto
  @signaldesc
   Emitted when a buddy on your buddy list goes away.
  @param buddy The buddy that went away.
 @endsignaldef

 @signaldef buddy-back
  @signalproto
void (*buddy_back)(struct buddy *buddy);
  @endsignalproto
  @signaldesc
   Emitted when a buddy on your buddy list comes back from being away.
  @param buddy The buddy that came back from being away.
 @endsignaldef

 @signaldef buddy-idle
  @signalproto
void (*buddy_idle)(struct buddy *buddy);
  @endsignalproto
  @signaldesc
   Emitted when a buddy on your buddy list becomes idle.
  @param buddy The buddy that became idle.
 @endsignaldef

 @signaldef buddy-unidle
  @signalproto
void (*buddy_unidle)(struct buddy *buddy);
  @endsignalproto
  @signaldesc
   Emitted when a buddy on your buddy list returns from being idle.
  @param buddy The buddy that returned from being idle.
 @endsignaldef

 @signaldef buddy-idle-updated
  @signalproto
void (*buddy_idle_updated)(struct buddy *buddy);
  @endsignalproto
  @signaldesc
   Emitted when a buddy's idle time changes. The exceptions are when the
   buddy goes from being idle to being unidle, or from unidle to idle.
  @param buddy The buddy whose idle time changed.
 @endsignaldef

 @signaldef buddy-signed-on
  @signalproto
void (*buddy_signed_on)(struct buddy *buddy);
  @endsignalproto
  @signaldesc
   Emitted when a buddy on your buddy list signs on.
  @param buddy The buddy that signed on.
 @endsignaldef

 @signaldef buddy-signed-off
  @signalproto
void (*buddy_signed_off)(struct buddy *buddy);
  @endsignalproto
  @signaldesc
   Emitted when a buddy on your buddy list signs off.
  @param buddy The buddy that signed off.
 @endsignaldef

 @signaldef update-idle
  @signalproto
void (*update_idle)();
  @endsignalproto
  @signaldesc
   Emitted when the buddy list is refreshed and the idle times are updated.
 @endsignaldef

 @signaldef blist-node-extended-menu
  @signalproto
void (*blist_node_extended_menu)(GaimBlistNode *node, GList **menu)
  @endsignalproto
  @signaldesc
   Emitted when a buddlist menu is being constructed @a menu is a pointer to
   a GList of GaimBlistNodeAction's allowing a plugin to add menu items
 @endsignaldef

 */
// vim: syntax=c tw=75 et