summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--video/out/wayland_common.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/video/out/wayland_common.c b/video/out/wayland_common.c
index 30c1d3bf8f..7a893e18bb 100644
--- a/video/out/wayland_common.c
+++ b/video/out/wayland_common.c
@@ -1213,11 +1213,12 @@ int vo_wayland_reconfig(struct vo *vo)
MP_VERBOSE(wl, "Reconfiguring!\n");
- /* Surface enter events happen later but we already know the outputs and we'd
- * like to know the output the surface would be on (for scaling or fullscreen),
- * so if fsscreen_id is set or there's only one possible output, use it. */
- if (((!wl->current_output) && (wl_list_length(&wl->output_list) == 1)) ||
- (vo->opts->fullscreen && (vo->opts->fsscreen_id >= 0))) {
+ /* Surface enter events happen later but certain config options require the
+ * current_output to be created in order for the video to actually render.
+ * Only skip this if --fs is specified without a fsscreen_id so the video
+ * renders on the same screen and not the one with idx 0. */
+ if ((!wl->current_output) &&
+ !(vo->opts->fullscreen && (vo->opts->fsscreen_id < 0))) {
int idx = 0;
if (vo->opts->fullscreen && (vo->opts->fsscreen_id >= 0))
idx = vo->opts->fsscreen_id;