On 11/03/2013 03:26 PM, Maciej Sumiński wrote: > Hi Dick, > > Sorry for all the troubles associated with the GAL, but surely soon it > will get stable. The reason is, as you suspected - an unexpected layer > in the file. I propose the patch from the attachment, I think it is > better to treat unknown layers as COMMENTS. Still I am wondering - how > does KiCad handle items with negative layer numbers by default?
I would say that a negative layer number is illegal, and any such call to "accessor" SetLayer() with a -1 is a bug, regardless of where it is happening. It is times like this that accessors come in handy, because they can serve as a bug trap by outfitting them with an assert() or print statement or breakpoint. I would even go so far as to say that accessors spend their whole lives waiting for this one moment on stage. Thanks for tracking this down. The actual bug was in EAGLE_PLUGIN, but for me to determine that was not a walk in the park since the manifestation was in the new code and it was late at night when I stumbled onto it. I chose a different solution for the fix, although the net effect for this type of circle object is the same. I just did not go with your patch because it kept all objects originating on unsupported layers, and thus made COMMENT_N into a junk yard. (Some things simply need to be thrown away.) The -1 has been changed to UNDEFINED_LAYER, but more importantly, all callers to EAGLE_PLUGIN::kicad_layer() now test the return value and make their own decisions about the appropriateness of the translated layer. In no case is UNDEFINED_LAYER stuffed into BOARD_ITEM::SetLayer(). Thanks much again for your time, Dick _______________________________________________ Mailing list: https://launchpad.net/~kicad-developers Post to : kicad-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp