Hi,
I don't remember a whole lot about how this code works, but the
XGetImage function at image.c:160 is kind of a way to fake out
some of the other image code which was originally written around
X-windows to work under NS. It appears that w32 does not take
this approach here, and maybe NS shouldn't be either, since it
looks like what has happened in this case is that somehow the
linking has caused cairo's attempt to call the real X function to
enter into our code instead of the X library which is doubtless
also linked.
On the Mac there won't be any external libraries trying to make X
calls so it couldn't happen, but I'm not sure why it never
occurred in my original testing on GNUstep either.