Mercurial > pidgin
annotate plugins/mono/api/Debug.cs @ 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 using System; |
| 2 using System.Runtime.CompilerServices; | |
| 3 | |
| 4 namespace Gaim | |
| 5 { | |
| 6 public class Debug | |
| 7 { | |
| 8 public static int ALL = 0; | |
| 9 public static int MISC = 1; | |
| 10 public static int INFO = 2; | |
| 11 public static int WARNING = 3; | |
| 12 public static int ERROR = 4; | |
| 13 public static int FATAL = 5; | |
| 14 | |
| 15 [MethodImplAttribute(MethodImplOptions.InternalCall)] | |
| 16 extern private static void _debug(int type, string cat, string str); | |
| 17 | |
| 18 public static void debug(int type, string cat, string format) | |
| 19 { | |
| 20 _debug(type, cat, format); | |
| 21 } | |
| 22 | |
| 23 public static void debug(int type, string cat, string format, params object[] args) | |
| 24 { | |
| 25 _debug(type, cat, String.Format(format, args)); | |
| 26 } | |
| 27 } | |
| 28 } |
