[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: gEDA-user: Bug: Screenupdate on moving selected objects



On Sun, 2011-05-01 at 22:16 +0100, Peter Clifton wrote:
> On Sun, 2011-05-01 at 22:55 +0200, Felix Ruoff wrote:
> > Hello!
> >    Since commit e323e4636ef7b7239003a41ba305221bc6d9bab1 'hid/gtk:
> >    Invalidate the damaged region, not the whole view' there is an error on
> >    moving selected objects. If you select an element (footprint, line,
> >    ...) and move it with a second klick+drag, just a small part of the
> >    view is rendered during moving/dragging. The remain of the screen is
> >    rendered white.
> 
> Yep, I can reproduce it here.. I realised it was broken last night but
> haven't had a chance to fix the issue yet.

...

> Chances are that the underlying problem was existing, but our rather
> conservative policy of redrawing the whole screen every frame may have
> masked it.


Should be fixed in git HEAD now. There were two bugs (I counted so far),
both were my doing, and specific to the GTK/GDK rendering. One was
failing to clear the clip-region of a graphics context we then went on
to use in the expose handler (the cause of the non-painting you saw
where the majority of the screen was rendered in the default widget
colour).

The second was more subtle, and I'd swapped the X and Y coordinate
conversion macros (not their inputs) when calculating the region to
update on screen - so it was wrong for any case where the board was
flipped, or panned away from the (0,0) origin unequally in the X and Y
directions.


-- 
Peter Clifton

Electrical Engineering Division,
Engineering Department,
University of Cambridge,
9, JJ Thomson Avenue,
Cambridge
CB3 0FA

Tel: +44 (0)7729 980173 - (No signal in the lab!)
Tel: +44 (0)1223 748328 - (Shared lab phone, ask for me)

Attachment: signature.asc
Description: This is a digitally signed message part


_______________________________________________
geda-user mailing list
geda-user@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user