summaryrefslogtreecommitdiffstats
path: root/video
diff options
context:
space:
mode:
authorMartin Herkt <lachs0r@srsfckn.biz>2015-11-13 06:16:01 +0100
committerMartin Herkt <lachs0r@srsfckn.biz>2015-11-13 12:41:59 +0100
commitdef87f1e5f693ed24b5c8f62e8e86dbaebe4d993 (patch)
tree261a60c6a3f715d6a8fd2e04b0aef0d68af71dc2 /video
parentb726fefe5dce46ac0bf0b7d09155ba1a0760dca9 (diff)
downloadmpv-def87f1e5f693ed24b5c8f62e8e86dbaebe4d993.tar.bz2
mpv-def87f1e5f693ed24b5c8f62e8e86dbaebe4d993.tar.xz
win32: avoid detection as exclusive fullscreen window
Apparently Windows treats windows that use OpenGL, cover an entire screen and have the WS_POPUP style set or are topmost windows as exclusive fullscreen windows that bypass DWM and cannot be covered by other windows. This means we can’t use dwmflush in fullscreen mode, and it also means that no other window can cover mpv, and it makes the screen flicker when switching to fullscreen mode. This can be avoided by not setting the WS_POPUP flag. Users can still access the old behavior by enabling stay-on-top (which IMO at least makes sense—now we just need to get dwmflush autodetection right to avoid nasty surprises). fixes #2177
Diffstat (limited to 'video')
-rw-r--r--video/out/w32_common.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/video/out/w32_common.c b/video/out/w32_common.c
index 667d7b425a..37e0057162 100644
--- a/video/out/w32_common.c
+++ b/video/out/w32_common.c
@@ -951,7 +951,7 @@ static void update_screen_rect(struct vo_w32_state *w32)
static DWORD update_style(struct vo_w32_state *w32, DWORD style)
{
- const DWORD NO_FRAME = WS_POPUP;
+ const DWORD NO_FRAME = WS_OVERLAPPED;
const DWORD FRAME = WS_OVERLAPPEDWINDOW | WS_SIZEBOX;
style &= ~(NO_FRAME | FRAME);
style |= (w32->opts->border && !w32->current_fs) ? FRAME : NO_FRAME;