kicad-developers team mailing list archive
Mailing list archive
Re: Regression in eeschema
> If you can recreate the problem, then (if one of the other developers cangive you a clue where to look), it would be great if you could debug it. Because nobody else responded to this, and because the bug manifests itselfin a very obvious way, I assumed it was a build issue with my particular setup. A lot of things changed between those two subversion revisions, likethe project sucking in the required boost libraries, etc. If they missed some library files, and the boost they used is different than the boost I use, maybe that could cause a problem.
I agree it could a boost issue... anyway it's 100% reproducible for me. Also I'm actually being paid for making kicad work :D (it's better than orcad and the output is more likeable for our board making/assembly plant).
> So, if not very many people are seeing the issue, my best guess is that it is an un-caught dependency issue, and it might be invaluable for someone who can actually see the problem on his setup to try to figure it out.
For now my debug plan is this: if I got the inner workings correctly the final decision is made in dangling_ends.cpp
Label are attached correctly, pins doesn't... i see the 'squared end' on the wires, where they should join the end. So I can assume that TestLabelForDangling is OK and TestWireForDangling is not.
Apparently this source wasn't changed in the specified period; both routines work using the global list ItemList, created in the same file, doing mostly trivial coordinate comparisons.
Since label are being attached to wire but wires aren't to pins, my first idea is that pins are not being pulled in the ItemList...
My first try would be to dump the ItemList for its content... is there already such a dump routine somewhere? If there aren't pin in there I could look in RebuildEndList which seems to be responsible for the creation of ItemList, in the TYPE_SCH_COMPONENT case.
I noticed there was some modification around for the multi-part components,maybe there is some wrong condition around and it doesn't pick the pins...
Also there is no trace of BOOST usage in the module, maybe it's totally unrelated.
This is just a preliminary analysis skimming the source, if someone has comments or suggestions on how to proceed it could be useful.
PS: just add a fscking button it the library browser to open the part in the editor. It would be TOO nice for me:D