[cairo] freedesktop.org links in configure.in are wrong

Jamey Sharp jamey at minilop.net
Sun May 15 19:00:41 PDT 2005

I'm moving the XCB API discussions over to the XCB list. I'd love for
anyone interested to join that list; see

On Sun, 2005-05-15 at 21:01 -0400, Owen Taylor wrote:
> On Sun, 2005-05-15 at 12:14 -0700, Jamey Sharp wrote:
> > On Sun, 2005-05-15 at 11:13 -0400, Owen Taylor wrote:
> > >  - Unpredictable errors that indicate more-or-less unrecoverable
> > >    global failure modes. (connection disconnection and out-of-memory)
> > > 
> > >  - Programming errors. (Mismatched depths, or say, you don't handle one
> > >    of the errors in the first category.)
> > > 
> > > Preferably, cairo would handle all errors in the first category,
> > > set a cairo status on the second class,
> > > and die a noisy death on the third.
> > 
> > Huh. That seems reasonable, except the example of XIOError suggests to
> > me that giving the application the opportunity to not die noisy deaths
> > is a good thing.
> XIOError is the second category. I don't think apps can meaningfully
> recover from a programming error. What does that even mean? But noisily
> setting a Cairo status could work too.

I guess it seems to me that there are conditions unrecoverable in the
scope of a surface, but recoverable at application level: a window
manager using Cairo to draw window decorations, perhaps, when another
thread has noticed that the application window is gone and has destroyed
the top-level window in response. It's just not obvious to me how that
example fits in the above three cases, but I guess it's case 2, huh?
It's the word "global" that threw me. Well, this is what exceptions are
for in real programming languages.

In any case, I guess all three cases depend on XCB allowing Cairo to
intercept X errors from requests Cairo makes, so we'll sort out an API
for that on the XCB list.

> I'd really advise you to read the Xlib backend code ... it's going
> to be a clearer explanation than I can give here. But basically, 
> CopyArea to a pixmap, and GetImage from the pixmap allows you to
> get the onscreen area with the offscreen area undefined, which was
> you wanted originally.

Oh, I'm sorry. All this time when you and the comment said "retry", you
didn't actually mean "retry the original GetImage operation"? I believe
I understand the code that's in CVS right now, so I guess I'm not
confused any more.


More information about the cairo mailing list