[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: gEDA-dev: gschem bug when copying components
On Fri, 2006-09-08 at 17:04 +0200, Carlos Nieves Ónega wrote:
> Hi Peter,
[snip]
> You are right. That's the reason why I had to start again with this
> issue, but with a different algorithm.
>
> > Since there isn't likely an easy fix for this, what are people's
> > thoughts on disabling the ability to rotate whilst copying until
> > Carlos's work is merged?
>
> No problem with this, but check first the patch against CVS.
I'd love to check the patch out at some point in the future. I scanned
the code changs it made. Both myself and Peter Brett were excited at
that glists are being used... Sad I know.
I'm currently looking to stabalise a version of geda to release on a CD
production run, so we're looking to change as little as possible from
the last release.
[snip]
> The patch makes a copy of the objects first, and then places them into
> the complex place list. This way the original aren't modified.
> In fact, the problem you describe is fixed.
I realised this is what needed to be done, but also that its easier said
than debugged :) I didn't want to start any work on doing that against
CVS gschem if your patch already included similar changes.
> Unfortunately, the patch is not (yet) perfect. Try this:
> - Place a component (e.g. resistor)
> - Use copy mode to duplicate that component (don't place it yet)
> - Press middle mouse button to rotate the new component
> - Do any pan/zoom (zoom in, for example).
> Steps 1-3 are done correctly, but when doing step 4, you will notice
> that the component to be placed is also drawn as it were rotated next to
> the original component.
(If) I get a chance, I'll try your patch and take a poke around. I spent
some time working on a _large_ patch to split the cached
screen-coorinates from gschem's data-structures. That worked, although
wasn't fully complete in removing un-necessary recalculation code. I did
end up poking about through a lot of the redraw code.
> The original components are not modified. I think the problem is in the
> redraw functions (o_redraw_all, called from a_pan_general, which is
> called from pan and zoom functions): they draw the complex place list
> without translating it to the cursor position. I haven't found a fix
> yet....
Many thanks for your input
Regards
Peter Clifton
_______________________________________________
geda-dev mailing list
geda-dev@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-dev