annotate PROGRAMMING_NOTES @ 4249:9c7fcb211886

[gaim-migrate @ 4499] If anyone is curious, the commit before this fixed a bug which didn't allow you to delete AIM or ICQ people from a deny list. They'll show up when you sign back online, and will be deleteable now. This is a patch from the good Mr. McQueen. "Twofold attack: 1) Make sure all the callback functions don't throw a mental if the gc the dialog was asking about has disappeared. Make sure the functions still free up the data structs as necessary in this case. 2) When setting up a ask dialog, plugins (including prpls) pass in their handle. The ask dialog struct gets kept in a slist. When unloading a plugin or prpl, Gaim checks the handle against the list, and sends a cancel-type message for any outstanding dialogs. Should avoid crashes from non-modal ask dialogs lying around." Yeah, so that's a nice lil' improvement. I also fixed a think where SSI "authorization denied" messages would be gibberish. That was a bug from just a few hours ago. Whoops. Also, since this is like a grown up version of show and tell, I thought this was funny: * Robot101 fixes idiocy <KingAnt> Does that mean I'm going to be nuetered? committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Wed, 08 Jan 2003 08:18:49 +0000
parents e074172f4a41
children 59ff9d0b7b85
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3630
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1 Notes on keeping GAIM OS independant
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2 ------------------------------------
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
3
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
4 General
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
5 -------
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
6 - Use G_DIR_SEPARATOR_S and G_DIR_SEPARATOR for paths
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
7
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
8 - Use g_getenv, g_snprintf, g_vsnprintf
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
9
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
10 - Use gaim_home_dir instead of g_get_home_dir or g_getenv("HOME")
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
11
3713
e3a8baffcc24 [gaim-migrate @ 3846]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3630
diff changeset
12 - Make sure when including win32dep.h that it is the last header to
e3a8baffcc24 [gaim-migrate @ 3846]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3630
diff changeset
13 be included.
3630
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
14
4062
e074172f4a41 [gaim-migrate @ 4272]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3713
diff changeset
15 Paths
e074172f4a41 [gaim-migrate @ 4272]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3713
diff changeset
16 -----
e074172f4a41 [gaim-migrate @ 4272]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3713
diff changeset
17
e074172f4a41 [gaim-migrate @ 4272]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3713
diff changeset
18 - DATADIR, LOCALEDIR & LIBDIR are defined in wingaim as functions.
e074172f4a41 [gaim-migrate @ 4272]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3713
diff changeset
19 Doing the following will therefore break the windows build:
e074172f4a41 [gaim-migrate @ 4272]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3713
diff changeset
20
e074172f4a41 [gaim-migrate @ 4272]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3713
diff changeset
21 printf("File in DATADIR is: %s\n", DATADIR G_DIR_SEPARATOR_S "pic.png");
e074172f4a41 [gaim-migrate @ 4272]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3713
diff changeset
22
e074172f4a41 [gaim-migrate @ 4272]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3713
diff changeset
23 it should be:
e074172f4a41 [gaim-migrate @ 4272]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3713
diff changeset
24
e074172f4a41 [gaim-migrate @ 4272]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3713
diff changeset
25 printf("File in DATADIR is: %s%s%s\n", DATADIR, G_DIR_SEPARATOR_S, "pic.png");
e074172f4a41 [gaim-migrate @ 4272]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3713
diff changeset
26
3630
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
27 PLUGINS & PROTOS
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
28 ----------------
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
29
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
30 - G_MODULE_EXPORT all functions which are to be accessed from outside the
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
31 scope of its "dll" or "so". (E.G. gaim_plugin_init)
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
32
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
33 - G_MODULE_IMPORT all global variables which are located outside your
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
34 dynamic library. (E.G. connections)
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
35
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
36 (Not doing this will cause "Memory Access Violations" in Win32)