Mercurial > pidgin.yaz
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