annotate plugins/mono/loader/debug-glue.c @ 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 |
a3302d271199 |
| children |
|
| rev |
line source |
|
11660
|
1 #include "mono-glue.h"
|
|
|
2 #include "debug.h"
|
|
|
3
|
|
|
4 void gaim_debug_glue(int type, MonoString *cat, MonoString *str)
|
|
|
5 {
|
|
|
6 char *ccat;
|
|
|
7 char *cstr;
|
|
|
8
|
|
|
9 ccat = mono_string_to_utf8(cat);
|
|
|
10 cstr = mono_string_to_utf8(str);
|
|
|
11
|
|
|
12 gaim_debug(type, ccat, cstr);
|
|
|
13
|
|
|
14 g_free(ccat);
|
|
|
15 g_free(cstr);
|
|
|
16 }
|