[cairo] Problems with GTK+ CAIRO and POPPLER mingw build

Christoph Derigo derchriss82 at gmail.com
Thu Sep 2 01:55:12 PDT 2010

Hello !
I do a program in gtk+ and cairo (mostly goocanvas) which should work on 
What i have done so far was useing stable cairo and gtk and goocanvas 
together, this works quite well for my stuff.( some rendering bugs on 
win32 with text had occured )
Now i have to do some pdf stuff, with printing and poppler came to my mind.
I found out that poppler in the git version does quite a good job, i 
updated my cairo to git for it to compile.
What I did was compiled the complete gtk+ stack from git now ( i know 
gtk3 is not finished but i gave it a try just to make sure bugs are not 
fixed already )
and after seeing the problems still remain i went back to the gtk stable 
stack also seeing the same problems.
Next i did try use the precompiled gtk+ bundle from this side:
=> this seems to work. but if i replace the precompiled cairo in her 
with the git version the same problems occur here to.

for all my tries i linked against libpng14 ( from git )

to reproduce my problems:
0. have a msys mingw install with updated packages ( gcc 4.5 )
1. use the bundle from ftp.gnome.org
2. compile libpng14 from git
3. use libpng14 to link with cairo git or any other cairo version
4. compile poppler git ( not needed for the bug repro )

Here the results of my tries:
cairo git and poppler git work well, display and printing works!
cairo git and gtk+ does NOT work. some icons disappear when mouse over 
and so on
cairo git and goocanvas works perfectly.
cairo unstable version 1.9.6 and poppler work well, display and printing 
cairo unstable version 1.9.6 and gtk+ WORK.
cairo unstable version 1.9.6 and goocanvas do not work correctly ( 
offsets are wrong, png loading does not work ).

somehow each version newer than cairo 1.9.6 seems to mess with gtk+ (on 
win32, i did not test on other systems), but i saw many source changes
between 1.9.6 and 1.9.8 so someone can help me out explaining what i can 
do about this,
as the new git version of cairo seems to do a good job exept for the 
actual gtk+.

More information about the cairo mailing list