Mercurial > pidgin
annotate plugins/perl/common/Stringref.xs @ 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 | 96f9b4798012 |
| children |
| rev | line source |
|---|---|
| 11118 | 1 #include "module.h" |
| 2 | |
| 3 MODULE = Gaim::Stringref PACKAGE = Gaim::Stringref PREFIX = gaim_stringref_ | |
| 4 PROTOTYPES: ENABLE | |
| 5 | |
|
12773
96f9b4798012
[gaim-migrate @ 15120]
Etan Reisner <pidgin@unreliablesource.net>
parents:
12364
diff
changeset
|
6 int |
| 11118 | 7 gaim_stringref_cmp(s1, s2) |
| 8 Gaim::Stringref s1 | |
| 9 Gaim::Stringref s2 | |
| 10 | |
|
12773
96f9b4798012
[gaim-migrate @ 15120]
Etan Reisner <pidgin@unreliablesource.net>
parents:
12364
diff
changeset
|
11 size_t |
| 11118 | 12 gaim_stringref_len(stringref) |
| 13 Gaim::Stringref stringref | |
| 14 | |
| 15 Gaim::Stringref | |
| 12364 | 16 gaim_stringref_new(class, value) |
| 11118 | 17 const char *value |
| 12364 | 18 C_ARGS: |
| 19 value | |
| 11118 | 20 |
| 21 Gaim::Stringref | |
| 12364 | 22 gaim_stringref_new_noref(class, value) |
| 11118 | 23 const char *value |
| 12364 | 24 C_ARGS: |
| 25 value | |
| 11118 | 26 |
| 27 Gaim::Stringref | |
| 28 gaim_stringref_ref(stringref) | |
| 29 Gaim::Stringref stringref | |
| 30 | |
|
12773
96f9b4798012
[gaim-migrate @ 15120]
Etan Reisner <pidgin@unreliablesource.net>
parents:
12364
diff
changeset
|
31 void |
| 11118 | 32 gaim_stringref_unref(stringref) |
| 33 Gaim::Stringref stringref | |
| 34 | |
| 35 const char * | |
| 36 gaim_stringref_value(stringref) | |
| 37 Gaim::Stringref stringref |
