annotate PLUGIN_HOWTO @ 14988:41ced1c9ba29

[gaim-migrate @ 17767] Ari Pollak traced down a memory leak to the account menuitems not being cleaned up by gtk_container_remove(). It turns out that there is an additional reference somewhere which is preventing the menuitem from being destroyed - deryni tracked it down to gtk_accel_label_set_accel_widget() in gtk_image_menu_item_new_with_label() - we will be reporting the bug to the GTK folks tomorrow. This fixes the leakage; gtk_widget_destroy() is what really should be used in this situation anyway. committer: Tailor Script <tailor@pidgin.im>
author Daniel Atallah <daniel.atallah@gmail.com>
date Fri, 17 Nov 2006 06:12:17 +0000
parents 7acebc9d043f
children cc3c50816cc9
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
14505
7acebc9d043f [gaim-migrate @ 17225]
Mark Doliner <mark@kingant.net>
parents:
diff changeset
1 For information on writing a plugin for Gaim, go
7acebc9d043f [gaim-migrate @ 17225]
Mark Doliner <mark@kingant.net>
parents:
diff changeset
2 http://gaim.sourceforge.net/api/ and see the HOWTOs in the
7acebc9d043f [gaim-migrate @ 17225]
Mark Doliner <mark@kingant.net>
parents:
diff changeset
3 "Related Pages" section.
7acebc9d043f [gaim-migrate @ 17225]
Mark Doliner <mark@kingant.net>
parents:
diff changeset
4
7acebc9d043f [gaim-migrate @ 17225]
Mark Doliner <mark@kingant.net>
parents:
diff changeset
5 You can also generate this documentation locally by installing
7acebc9d043f [gaim-migrate @ 17225]
Mark Doliner <mark@kingant.net>
parents:
diff changeset
6 doxygen and graphviz dot, then running "make docs" in the Gaim
7acebc9d043f [gaim-migrate @ 17225]
Mark Doliner <mark@kingant.net>
parents:
diff changeset
7 source tree. The documentation will be in the docs/html directory.
7acebc9d043f [gaim-migrate @ 17225]
Mark Doliner <mark@kingant.net>
parents:
diff changeset
8
7acebc9d043f [gaim-migrate @ 17225]
Mark Doliner <mark@kingant.net>
parents:
diff changeset
9 This next paragraph is old and possibly out of date:
7acebc9d043f [gaim-migrate @ 17225]
Mark Doliner <mark@kingant.net>
parents:
diff changeset
10 Compilation of the plugins is fairly straight-forward; there is a
7acebc9d043f [gaim-migrate @ 17225]
Mark Doliner <mark@kingant.net>
parents:
diff changeset
11 Makefile in this directory that has a rule for making the .so file
7acebc9d043f [gaim-migrate @ 17225]
Mark Doliner <mark@kingant.net>
parents:
diff changeset
12 from a .c file. No modification of the Makefile should be necessary,
7acebc9d043f [gaim-migrate @ 17225]
Mark Doliner <mark@kingant.net>
parents:
diff changeset
13 unless if you simply want to type 'make' to have it made; otherwise,
7acebc9d043f [gaim-migrate @ 17225]
Mark Doliner <mark@kingant.net>
parents:
diff changeset
14 'make filename.so' will take filename.c and make the .so plugin from
7acebc9d043f [gaim-migrate @ 17225]
Mark Doliner <mark@kingant.net>
parents:
diff changeset
15 it. If you need to link in with extra libraries, you can set the
7acebc9d043f [gaim-migrate @ 17225]
Mark Doliner <mark@kingant.net>
parents:
diff changeset
16 environment variable PLUGIN_LIBS to be the libraries you want to link
7acebc9d043f [gaim-migrate @ 17225]
Mark Doliner <mark@kingant.net>
parents:
diff changeset
17 with.
7acebc9d043f [gaim-migrate @ 17225]
Mark Doliner <mark@kingant.net>
parents:
diff changeset
18
7acebc9d043f [gaim-migrate @ 17225]
Mark Doliner <mark@kingant.net>
parents:
diff changeset
19 It should be possible to compile plugins outside of the Gaim source
7acebc9d043f [gaim-migrate @ 17225]
Mark Doliner <mark@kingant.net>
parents:
diff changeset
20 tree, which is a much cleaner solution.