Hi James.

I found another point where the canvas crashes, but this time I get no
segfault.  It seems a bit like the arrowhead problem we found earlier, but I
don't know.  No arrowhead is used to get the crash.  It occurs when an
antialiased canvas is used, and all the points in a line are set equal.

I modified your crashme program:

------------8<------------
from gtk import *
from gnome.ui import *

def crash_me(button, canvas, line):
        line.set(points=(1,1, 1,1))
        print "About to crash:"
        print canvas.get_item_at(0, 0)

win = GtkWindow(WINDOW_TOPLEVEL)
win.set_title("Canvas Crash")
win.connect("destroy", mainquit)

vbox = GtkVBox(spacing=5)
win.add(vbox)
vbox.show()

canvas = GnomeCanvas(aa=TRUE)
canvas.set_usize(10, 10)
canvas.set_scroll_region(-1.5, -1.5, 1.5, 1.5)
vbox.pack_start(canvas)
canvas.show()

root = canvas.root()

line = root.add('line', points=(1,1, -1,-1))

button = GtkButton("Crash Me")
button.connect("clicked", crash_me, canvas,
line)
vbox.pack_start(button, expand=FALSE)
button.show()

win.show()
mainloop()
------------8<------------

If you just remove aa=TRUE, it won't crash.


Cheers.
Jeff
-- 
J.W. Bizzaro                  mailto:[EMAIL PROTECTED]
Boston College Chemistry      http://www.uml.edu/Dept/Chem/Bizzaro/
--
To unsubscribe: echo "unsubscribe" | mail [EMAIL PROTECTED]

Reply via email to