view doc/account-signals.dox @ 16577:99bf55ec6ca4

Fix an invalid read that occurs because we were accessing IM data when the conversation was a chat. Here's the relevant valgrind output. ==18344== Invalid read of size 4 ==18344== at 0x8089DA1: update_typing_icon (gtkconv.c:3138) ==18344== by 0x8090742: pidgin_conv_update_fields (gtkconv.c:6081) ... ==18344== Address 0x107EADD0 is 12 bytes after a block of size 12 alloc'd ==18344== at 0x40056D5: calloc (vg_replace_malloc.c:279) ==18344== by 0x4D48EC4D: g_malloc0 (in /usr/lib/libglib-2.0.so.0.1200.4) ==18344== by 0x809149B: private_gtkconv_new (gtkconv.c:4608) ==18344== by 0x4056637: purple_conversation_new (conversation.c:324) ==18344== by 0x40785EB: serv_got_joined_chat (server.c:699) ==18344== by 0x493C813: irc_msg_join (msgs.c:722) ...
author Richard Laager <rlaager@wiktel.com>
date Sat, 28 Apr 2007 05:37:56 +0000
parents 8cf53d7a0887
children 8e3ef71c4362 e0613cf8c493
line wrap: on
line source

/** @page account-signals Account Signals

 @signals
  @signal account-added
  @signal account-connecting
  @signal account-removed
  @signal account-disabled
  @signal account-enabled
  @signal account-setting-info
  @signal account-set-info
  @signal account-status-changed
 @endsignals

 <hr>

 @signaldef account-added
  @signalproto
void (*account_added)(PurpleAccount *account);
  @endsignalproto
  @signaldesc
   Emitted when an account is added.
  @param account The account that was added.
 @endsignaldef

 @signaldef account-connecting
  @signalproto
void (*account_connecting)(PurpleAccount *account);
  @endsignalproto
  @signaldesc
   This is called when an account is in the process of connecting.
  @param account The account in the process of connecting.
 @endsignaldef

 @signaldef account-removed
  @signalproto
void (*account_removed)(PurpleAccount *account);
  @endsignalproto
  @signaldesc
   Emitted when an account is removed.
  @param account The account that was removed.
 @endsignaldef

 @signaldef account-disabled
  @signalproto
void (*account_disabled)(PurpleAccount *account);
  @endsignalproto
  @signaldesc
   Emitted when an account is disabled.
  @param account The account that was disabled.
 @endsignaldef

 @signaldef account-enabled
  @signalproto
void (*account_enabled)(PurpleAccount *account);
  @endsignalproto
  @signaldesc
   Emitted when an account is enabled.
  @param account The account that was enabled.
 @endsignaldef

 @signaldef account-setting-info
  @signalproto
void (*account_setting_info)(PurpleAccount *account, const char *new_info);
  @endsignalproto
  @signaldesc
   Emitted when a user is about to send his new user info, or
   profile, to the server.
  @param account  The account that the info will be set on.
  @param new_info The new information to set.
 @endsignaldef

 @signaldef account-set-info
  @signalproto
void (*account_set_info)(PurpleAccount *account, const char *new_info);
  @endsignalproto
  @signaldesc
   Emitted when a user sent his new user info, or profile, to the server.
  @param account  The account that the info was set on.
  @param new_info The new information set.
 @endsignaldef

 @signaldef account-status-changed
  @signalproto
void (*account_status_changed)(PurpleAccount *account, PurpleStatus *old, PurpleStatus *new);
  @endsignalproto
  @signaldesc
   Emitted when the status of an account changes (after the change).
  @param account The account that changed status.
  @param old     The status before change.
  @param new     The status after change.
 @endsignaldef

 @signaldef account-alias-changed
  @signalproto
void (*account_alias_changed)(PurpleAccount *account, const char *old);
  @endsignalproto
  @signaldesc
   Emitted when the alias of an account changes (after the change).
  @param account The account for which the alias was changed.
  @param old     The alias before change.
 @endsignaldef

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