mirror of https://github.com/mpv-player/mpv
x11, wayland: do not accidentally close FD 0
Both backends have code to close each FD of their wakeup_pipe array. This array is default-initialized with 0, which means if the backends exit before the wakeup pipe is created (e.g. when probing), they would close FD 0. Initialize the FDs with -1. Then we call close(-1) in these situations, which is perfectly allowed and has no bad consequences.
This commit is contained in:
parent
b4acfcc8aa
commit
16d276308a
|
@ -1009,8 +1009,11 @@ int vo_wayland_init(struct vo *vo)
|
||||||
{
|
{
|
||||||
vo->wayland = talloc_zero(NULL, struct vo_wayland_state);
|
vo->wayland = talloc_zero(NULL, struct vo_wayland_state);
|
||||||
struct vo_wayland_state *wl = vo->wayland;
|
struct vo_wayland_state *wl = vo->wayland;
|
||||||
wl->vo = vo;
|
*wl = (struct vo_wayland_state){
|
||||||
wl->log = mp_log_new(wl, vo->log, "wayland");
|
.vo = vo,
|
||||||
|
.log = mp_log_new(wl, vo->log, "wayland"),
|
||||||
|
.wakeup_pipe = {-1, -1},
|
||||||
|
};
|
||||||
|
|
||||||
wl_list_init(&wl->display.output_list);
|
wl_list_init(&wl->display.output_list);
|
||||||
|
|
||||||
|
|
|
@ -543,6 +543,7 @@ int vo_x11_init(struct vo *vo)
|
||||||
.input_ctx = vo->input_ctx,
|
.input_ctx = vo->input_ctx,
|
||||||
.screensaver_enabled = true,
|
.screensaver_enabled = true,
|
||||||
.xrandr_event = -1,
|
.xrandr_event = -1,
|
||||||
|
.wakeup_pipe = {-1, -1},
|
||||||
};
|
};
|
||||||
vo->x11 = x11;
|
vo->x11 = x11;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue