Hi Werner,

El mar, 02-05-2006 a las 19:58 +0200, Werner Hoch escribió:
[snip]

On Tuesday 02 May 2006 02:26, Ales Hvezda wrote:
> > [snip]
> >
> > >It looks like the first component drawing when the mouse cursor
> > > enters the gschem drawing area is not erased. This situation also
> > > happens when you hit escape while placing.
> >
> >     Yeah, I think this is new (bad) behavior, as I don't ever
> > recall seeing this problem.
> 
> here's my guess about the problem:
> 
> The mouse motion event undraws the symbol/selection at it's last 
> position. If the last position was behind another window e.g. the 
> placing dialog or something else, the undraw (XOR-put) will fail as 
> there is nothing to undraw.

Yes, it could explain the bug... Since it didn't happen before, I guess
something changed. Could your last changes affect that part of the code?

> To reproduce:
> * place a component
> * move the mouse cursor into the placement dialog (maybe one half of the 
> symbol is still drawn inside gschem)
> * move the placement dialog away (opposite direction)
> * go back into the gschem window. The old half of the symbol is now gone 
> and the other half of the symbol is drawn.
> 
> It's a problem with the undraw function or a problem with the redraw 
> funktion if another window is moved away. Either with the mouse or with 
> the ESC key.
> 
> To reproduce, second try:
> * start drawing a box
> * change the application using <alt> <tab>
> * go on drawing
> * change back to gschem
> * move the mouse

> Mmhh. This leeds to the following question:
> How does the redraw of the allready placed objects work? Is there an 
> x_event that tells gschem that a window is not longer in front of 
> gschem?

I don't think so, but I think x_event_expose is called whenever the
gschem window get the focus again. Could it be used?

Regards,

Carlos

Reply via email to