On Tue, Dec 16, 2003 at 12:42:29PM -0500, [EMAIL PROTECTED] wrote:
> > And what call causes the freeze in the Canvas, then?
> 
> Well, it happens when I click on the GnomeCanvasEllipse, but only when the 
> mouse pointer happens to be positioned so that the GnomeCanvasLine 
> (created by the callback function) falls on top of it. So I'm going to say 
> it's an interaction between the event handling for the ellipse item and 
> the gnome.canvas.add() function. It happens even if I don't connect the 
> new line to a callback function.

Perhaps a race in the events, but it's very odd.

> Imagine two circles (GnomeCanvasEllipses), one on the left, one on the 
> right. First I click on the left one, defining the left end of the line to 
> be at the ctr of the left circle. Next, I click on the right one, defining 
> the right end of the line to be at the ctr of the right circle. If I click 
> the right circle at its 12:00 position or the 3:00 position or the 6:00 
> position, everything works fine. The line is created. But if I click the 
> right circle at the 9:00 position, (the line will go through the position 
> where the mouse pointer is) the canvas freezes and the line is not drawn 
> (but the program keeps running). I can keep on clicking points, building 
> my lists of lines and points, printing them out as I go, and the status 
> label keeps changing as it should, but the canvas never changes.

I suspect it's a bug in the canvas itself, and not in the wrapper, but
it's just speculation at this point. I guess the way to go ahead here is
to produce a reduced testcase, file a bug in Bugzilla and try doing some
debugging yourself. If you can manage some gdb love, you can probably
detect sooner or later what's wrong, often enough to produce a patch.

Take care,
--
Christian Robottom Reis | http://async.com.br/~kiko/ | [+55 16] 261 2331
_______________________________________________
pygtk mailing list   [EMAIL PROTECTED]
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/

Reply via email to