[Geany] Unloading modules (was Re: Plugin keybindings support in SVN)

Enrico Tröger enrico.troeger at xxxxx
Thu Mar 13 13:36:26 UTC 2008


On Thu, 13 Mar 2008 13:10:37 +0000, Nick Treleaven
<nick.treleaven at btinternet.com> wrote:

> On Thu, 13 Mar 2008 04:43:54 -0500
> "Jeff Pohlmeyer" <yetanothergeek at gmail.com> wrote:
> 
> > Also (slightly off topic) I noticed that the htmlchars
> > plugin behaves badly when it is unloaded/reloaded from
> > the plugin manager.
> > 
> > It needs this line at the end of cleanup()
> > +  sc_dialog = NULL;
> 
> Thanks, this might reveal some similar problems in other plugins. Since
> the plugin manager was added, it seems each GModule is loaded at
> startup, but not initialized. This means each plugin's global variables
> are only initialized at startup, not when they are enabled.
Not anymore ;-).
This morning,  I changed the code to only initialize "active" plugins.
"active" means plugins which were enabled by the user. All other
plugins are not read at all at startup of Geany but only if the plugin
manager is loaded.

> To solve this problem, it might be best to unload each module after
> reading the information for each plugin - this would be good to do
> anyway to save memory. Otherwise, the shared library must stay
> resident. Each plugin's metadata could be cached by Geany.
Hmm, since non-active plugins (now) are only initialized when opening
the plugin manager, I suggest to unload the modules (of inactive
plugins) when closing the plugin manager instead of caching the
metadata.

Regards,
Enrico

-- 
Get my GPG key from http://www.uvena.de/pub.key
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://lists.geany.org/pipermail/users/attachments/20080313/eb1c4781/attachment.pgp>


More information about the Users mailing list