diff options
Diffstat (limited to 'player/playloop.c')
-rw-r--r-- | player/playloop.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/player/playloop.c b/player/playloop.c index c2795e0d40..fc4cfe859e 100644 --- a/player/playloop.c +++ b/player/playloop.c @@ -28,6 +28,7 @@ #include "options/options.h" #include "common/common.h" #include "common/encode.h" +#include "options/m_config.h" #include "options/m_property.h" #include "common/playlist.h" #include "input/input.h" @@ -722,6 +723,14 @@ static void handle_vo_events(struct MPContext *mpctx) mp_notify(mpctx, MP_EVENT_WIN_RESIZE, NULL); if (events & VO_EVENT_WIN_STATE) mp_notify(mpctx, MP_EVENT_WIN_STATE, NULL); + if (events & VO_EVENT_FULLSCREEN_STATE) { + // The only purpose of this is to update the fullscreen flag on the + // playloop side if it changes "from outside" on the VO. + int fs = mpctx->opts->vo->fullscreen; + vo_control(vo, VOCTRL_GET_FULLSCREEN, &fs); + m_config_set_option_raw_direct(mpctx->mconfig, + m_config_get_co(mpctx->mconfig, bstr0("fullscreen")), &fs, 0); + } } static void handle_sstep(struct MPContext *mpctx) |