XCB_DESTROY_NOTIFY & SIGTERM

Steven J Abner pheonix.sja at att.net
Wed Dec 4 17:00:50 UTC 2024


On Wed, Dec 4 2024 at 03:31:36 PM +0000, Peter Harris 
<pharris2 at rocketsoftware.com> wrote:
> Errors >= 128 are "extension errors", which are allocated 
> dynamically. On my server, for example, 143 would be RENDER + 3, 
> which is "BadGlyphSet"

Forgive give me for being newbie, but kinda lost me :(
I have a list of extensions. They enumerate with a name, like RENDER. 
Then can include up to 3 subsets, (opcode, base event, base error).
Looking at the linked xml/repository, I assume your RENDER is 140 for 
'opcode' and per xml you used the <error> = 3.
My returned error lists major/minor codes. How do I choose which to use?
If I use 'RENDER (opcode: 139, base error: 142)' do I get "BadGlyph" or 
use base and have "BadPicture"?
My err is:
error_code = 143, minor_code = 7, major_code = 139
and I assume major_code == opcode??
In the extension list I do have:
DAMAGE (opcode: 143, base event: 91, base error: 152)
I can + 0 for "BadDamage".
But why on XCB_DESTROY_NOTIFY would getting rid of a reference cause 
glyph or damage?
here is offending code:
  if (iface->vid_buffer != NULL) {
    cairo_surface_finish(iface->vid_buffer);
    cairo_surface_destroy(iface->vid_buffer);
  }
which was created from:
  iface->vid_buffer = cairo_xcb_surface_create(connection,
                                               window, visual,
                                               iface->draw_box.w,
                                               iface->draw_box.h);
Apologies for me being so lost :(
Steve




More information about the Xcb mailing list