summaryrefslogtreecommitdiffstats
path: root/player/playloop.c
diff options
context:
space:
mode:
Diffstat (limited to 'player/playloop.c')
-rw-r--r--player/playloop.c9
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)