Plug-in linking



Just a heads up for other (potential) plug-in developers.

Apparently (this is probably documented somewhere and I missed it) the
plug-in loader is set up in such a way that the dynamic linker can cause
symbols from different plug-ins to be merged (at least I think that's
what is happening, it sounds like RTLD_GLOBAL)

I suspect that this is necessary (or at least useful) in some contexts, but
because I was re-using swathes of the Excel code I got badly bitten (I
came close to filing dozens of "This XLS file doesn't work" bugs before I
realised that the XL97 loader crashed only when my BIFF loader was
installed and available.

All my problems went away through judicious use of "static" and renaming
of names.

PS Potential bug: If a plug-in is removed from the plug-in directory, and
later returns, Gnumeric disables it, no matter what setting there is for
"activate new plug-ins by default". That doesn't seem right to me.

Nick.



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]