diff --git a/plugins/linux-capture/xcomposite-input.c b/plugins/linux-capture/xcomposite-input.c index 290d786b3..819241570 100644 --- a/plugins/linux-capture/xcomposite-input.c +++ b/plugins/linux-capture/xcomposite-input.c @@ -1,6 +1,7 @@ #include #include #include +#include #include #include #include @@ -381,6 +382,11 @@ static enum gs_color_format gs_format_from_tex() } } +static int silence_x11_errors(Display *display, XErrorEvent *err) +{ + return 0; +} + void xcomp_create_pixmap(xcb_connection_t *conn, struct xcompcap *s, int log_level) { @@ -422,9 +428,11 @@ void xcomp_create_pixmap(xcb_connection_t *conn, struct xcompcap *s, return; } + XErrorHandler prev = XSetErrorHandler(silence_x11_errors); s->gltex = gs_texture_create_from_pixmap(s->width, s->height, GS_BGRA_UNORM, GL_TEXTURE_2D, (void *)s->pixmap); + XSetErrorHandler(prev); } struct reg_item {