On Thu, 13 Mar 2008 14:00:54 +0000, Nick Treleaven <[EMAIL PROTECTED]> wrote:
> On Thu, 13 Mar 2008 14:36:26 +0100 > Enrico Tröger <[EMAIL PROTECTED]> wrote: > > > On Thu, 13 Mar 2008 13:10:37 +0000, Nick Treleaven > > <[EMAIL PROTECTED]> wrote: > > > > > 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. > > Cool, I hadn't checked latest SVN ;-) > > > > 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. > > This would solve the problem of keeping modules resident in memory, but > to fix the original global variable initialization problem, we also > need to unload the module of any plugin disabled from the plugin > manager, in case it is reloaded before the plugin manager is closed. Oops, yes. And this would cause a rewrite of the already-loaded logic in the code ;-(. Regards, Enrico -- Get my GPG key from http://www.uvena.de/pub.key
pgpGMztA2qFie.pgp
Description: PGP signature
_______________________________________________ Geany mailing list [email protected] http://lists.uvena.de/cgi-bin/mailman/listinfo/geany
