linux-capture: Silence log spam on xcomposite capture
It is expected that capture might fail, like when a window is minimized. In these cases we dont want the log to be spammed by X11 errors so install a noop error handler while we try to import.
This commit is contained in:
parent
e9076da901
commit
c6cb0838fd
@ -1,6 +1,7 @@
|
||||
#include <obs-module.h>
|
||||
#include <obs-nix-platform.h>
|
||||
#include <glad/glad.h>
|
||||
#include <X11/Xlib.h>
|
||||
#include <X11/Xutil.h>
|
||||
#include <X11/Xlib-xcb.h>
|
||||
#include <xcb/xcb.h>
|
||||
@ -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 {
|
||||
|
Loading…
x
Reference in New Issue
Block a user