Mercurial > pidgin
annotate doc/plugin-signals.dox @ 13905:4e44ecb866bd
[gaim-migrate @ 16394]
msn_session_sync_users() iterates over the buddy list, following the ->next pointers of the groups, contacts, and buddies. msn_show_sync_issue(), if called, removed the buddy for which it was called, in preparation for the buddy either being added to the server list or confirmed-to-be-removed. This could lead to the buddy pointer being released and ->next therefore being junk.
The buddy is now not removed until the user responds to the action dialog presented via msn_show_sync_issue(). I'm unclear why gtkgaim got away with this exercise in memory stomping but Adium/libgaim crashed every time, but it's safer in any case.
I also changed some foo->bar to gaim_foo_get_bar().
committer: Tailor Script <tailor@pidgin.im>
| author | Evan Schoenberg <evan.s@dreskin.net> |
|---|---|
| date | Sun, 02 Jul 2006 09:37:25 +0000 |
| parents | 1ec93dd2f359 |
| children | 8cf53d7a0887 |
| rev | line source |
|---|---|
| 12053 | 1 /** @page plugin-signals Plugin Signals |
| 2 | |
| 3 @signals | |
| 4 @signal plugin-load | |
| 5 @signal plugin-unload | |
| 6 @endsignals | |
| 7 | |
| 8 <hr> | |
| 9 | |
| 10 @signaldef plugin-load | |
| 11 @signalproto | |
| 12 void (*plugin_load)(GaimPlugin *plugin); | |
| 13 @endsignalproto | |
| 14 @signaldesc | |
| 15 Emitted when a plugin is loaded. | |
| 16 @param plugin The plugin that was loaded. | |
| 17 @endsignaldef | |
| 18 | |
| 19 @signaldef plugin-unload | |
| 20 @signalproto | |
| 21 void (*plugin_unload)(GaimPlugin *plugin); | |
| 22 @endsignalproto | |
| 23 @signaldesc | |
| 24 Emitted when a plugin is unloaded. | |
| 25 @param plugin The plugin that was unloaded. | |
| 26 @endsignaldef | |
| 27 | |
| 28 */ | |
| 29 // vim: syntax=c tw=75 et |
