I had a look at the image magick bug and I'm afraid that I don't understand what is going on, but it seems like it has nothing to do with cairo.

This is what I have found.

My guess is that either something went wrong with the creation of the ximg or it was released before XCopyArea() was called.

I'd be happy to hear if someone has any idea of what is going on and how to debug this.

(Btw, how do you print a Lisp_Object in gdb? Probably a FAQ...)

Regards,

Dov



On Sun, Oct 23, 2016 at 9:23 AM, Dov Grobgeld <dov.grobgeld@gmail.com> wrote:
Yes, 22691.

And I was indeed able to reproduce the png display bug with ImageMagick. I'll try to look in to it.

And regarding cairo, from a top level view it is quite simple. It receives a memory buffer and draws pixels in the buffer. The memory buffer may be either a "normal" memory area, or together with gdk an GdkWindow. Its painting model is PostScript (or svg) like, e.g. moveto, lineto, curveto, stroke, fill, and draw glyphs. It is simpler than than the X11 drawing model as there are e.g. no XOR modes nor 8-bit index modes, etc. The rest is details. :-)

Regards,
Dov



On Fri, Oct 21, 2016 at 10:43 PM, Paul Eggert <eggert@cs.ucla.edu> wrote:
On 10/21/2016 12:31 AM, Dov Grobgeld wrote:
My feeling is that the only issue in the bug tracker that you may need an "cairo expert" for, is the memory leak in #22961. The rest of the bugs are more related to exposure triggered redraws and interaction with the window manager. These are certainly related to the cairo branch, but have nothing to do with cairo per se.

I assume you meant Bug#22691, not Bug#22961.

Did you build the origin/old-branches/cairo branch with ImageMagick as well? The master-branch Cairo problems I ran into involved interaction with ImageMagick (Bug#21110, Bug#22442). Or is that interaction also a refresh issue? (Please bear with me, as I know little about Cairo.)