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