On 04/20/2014 04:09 AM, Lorenzo Marcantonio wrote:
> It a misconception of mine or globals can't be "split"?
> 
> I.e. if for some reason you instance two pcbnew in the same process all
> the globals (and class/function static) become shared?
> 
> Could this give problem? Is there some data/BSS trick to avoid it?
> 


Yes globals are global.  Most of them are now a problem, now that I have my 
mind set on
supporting multiple instances of the same KIWAY_PLAYER types in the same 
process.  I have
spoken to Wayne about this and it is on its way into the roadmap as a soon TODO 
item.

In some cases we actually need globals, so some percentage of them can stay 
global.  The
others will have to made instance specific.  I recommended that those be put 
into a
containing struct, and then that struct be held in the PROJECT or held in the 
wxFrame.

Those two objects, the PROJECT and the wxFrame are instance specific.  The 
wxFrame is also
purpose specific, whereas the PROJECT is cross purpose.  This provides an 
opportunity to
use both of these boxes, and sort the problem globals into the proper box.

Also note that we are talking about a handful of wxFrames, so you have a 
handful of boxes
available, not just two.  You have one PROJECT and multiple wxFrames.

This kind of sorting is really not much more than that, sorting followed by 
search and
replace.  It should not be made into a mountain of work.


Dick



_______________________________________________
Mailing list: https://launchpad.net/~kicad-developers
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp

Reply via email to