Mercurial > pidgin
annotate src/protocols/zephyr/error_table.h @ 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 | 202ce52b77a9 |
| children |
| rev | line source |
|---|---|
| 2086 | 1 /* |
| 2 * Copyright 1988 by the Student Information Processing Board of the | |
| 3 * Massachusetts Institute of Technology. | |
| 4 * | |
| 5 * For copyright info, see mit-sipb-copyright.h. | |
| 6 */ | |
| 7 | |
| 8 #ifndef _ET_H | |
| 9 struct error_table { | |
| 10 char const * const * msgs; | |
| 11 long base; | |
| 12 int n_msgs; | |
| 13 }; | |
| 14 struct et_list { | |
| 15 struct et_list *next; | |
| 16 const struct error_table *table; | |
| 17 }; | |
| 18 extern struct et_list * _et_list; | |
| 19 | |
| 20 #define ERRCODE_RANGE 8 /* # of bits to shift table number */ | |
| 21 #define BITS_PER_CHAR 6 /* # bits to shift per character in name */ | |
| 22 | |
|
12497
202ce52b77a9
[gaim-migrate @ 14809]
Richard Laager <rlaager@wiktel.com>
parents:
12323
diff
changeset
|
23 const char *error_table_name(void); |
| 2086 | 24 #define _ET_H |
| 25 #endif |
