rubberband
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
pcb |
Fix Released
|
Medium
|
Chad Parker |
Bug Description
On November 24th, 2016, Igor2 wrote to the geda-user mailing list:
Hi all,
I managed to separate the rubber band code and moved it all in an optional
feature plugin in pcb-rnd. After that, we started to test whether I
broke something in the cleanup and Evan found an interesting bug that
affects mainline too.
REMINDER:
we are having a test sprint on Saturday, to hunt & fix bugs like the below one.
Event summary: http://
Join us on IRC (any time): http://
BUGREPORT:
It is easy to reproduce with the attached minimal board. Grab the top 45 degree short line and move it (rubber band is on). Make sure you grab the line, not its endpoints - this can be done by clicking near the middle of the 45 degree edge of the line (zoom in!). Also make sure the line is not selected.
Once the line segment is grabbed, there's no xor-drawn attached-lines and when the operation ends, the endpoints of the attached lines are thrown 2x further than necessary.
Repeat the same with the bottom 45 degree line segment and it won't happen there.
The only difference is that the top line is short while the bottom line is long. Because of a bug in rubber_callback() this results in finding and adding the same objects twice; this cancels in the xor-draw and multiplies the endpoint moves.
The fix is commited in pcb-rnd r5265.
Regards,
Igor2
Changed in pcb: | |
status: | In Progress → Fix Committed |
Changed in pcb: | |
status: | Fix Committed → Fix Released |
Tried to apply r5265.diff to no avail ...
rubberband.c: In function ‘rubber_callback’: DIR_NOT_ FOUND’ undeclared (first use in this function)
rubberband.c:100: error: ‘rbnd’ undeclared (first use in this function)
rubberband.c:100: error: (Each undeclared identifier is reported only once
rubberband.c:100: error: for each function it appears in.)
rubberband.c:102: error: ‘PCB_R_
Kind regards,
Bert Timmerman.