Using Python 2.5.4 and wxPython
2.8.10.1, running the Cairo demo under Windows 7 (64 bit) doesn’t draw
anything for me, and eventually produces a stream of ‘recursion depth
exceeded’ messages.
Debugging with WingIDE shows that the OnPaint event calls Render() and
in it, whenever the cairo.Context object calls any of the methods
show_text(), text_path() or text_extents(), another OnPaint event is
raised, hence the recursion. When I comment out these calls, the demo
runs and all the other graphic objects in the demo are drawn as
expected.
Running the demo on a 32 bit XP machine and also in a virtual Windows 7
(32 bit) environment inside of Windows 7 x64 both work perfectly.
The versions of cairo and pycairo I am using are the ones from wxpython.org/cairo, although I see there that cairo is version 1.8.6
while pycairo is 1.8.4. Don’t know if that’s of any significance. Also
that versions 1.8.8 of both seem to be available but the setup.py
associated with pycairo is for Python 2.6. I really don’t want to
upgrade to 2.6 yet, because of all the DLL SidebySide issues.
There’s no evidence that 1.8.8 is going to have any effect on my
original problem, so before I attempt to build a version for Python
2.5, does anyone have any thoughts on a possible cause?
I have no ideas about the problem itself, but just wanted to let you know that tweaking for building with Python 2.5 is easy. At least as of the last time I did a build the only 2.6 specific things they had are in the setup.py file, some "with" statements if I remember correctly.
···
On 4/16/10 8:33 AM, David Hughes wrote:
Using Python 2.5.4 and wxPython 2.8.10.1, running the Cairo demo under
Windows 7 (64 bit) doesn't draw anything for me, and eventually produces
a stream of 'recursion depth exceeded' messages.
Debugging with WingIDE shows that the OnPaint event calls Render() and
in it, whenever the cairo.Context object calls any of the methods
show_text(), text_path() or text_extents(), another OnPaint event is
raised, hence the recursion. When I comment out these calls, the demo
runs and all the other graphic objects in the demo are drawn as expected.
Running the demo on a 32 bit XP machine and also in a virtual Windows 7
(32 bit) environment inside of Windows 7 x64 both work perfectly.
The versions of cairo and pycairo I am using are the ones from
wxpython.org/cairo, although I see there that cairo is version 1.8.6
while pycairo is 1.8.4. Don't know if that's of any significance. Also
that versions 1.8.8 of both seem to be available but the setup.py
associated with pycairo is for Python 2.6. I really don't want to
upgrade to 2.6 yet, because of all the DLL SidebySide issues.
There's no evidence that 1.8.8 is going to have any effect on my
original problem, so before I attempt to build a version for Python 2.5,
does anyone have any thoughts on a possible cause?