diff options
author | wm4 <wm4@nowhere> | 2014-05-18 22:16:53 +0200 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2014-05-18 22:16:53 +0200 |
commit | d9bd5bacc109aae0b70e879bf2c8dcc93d34bc2b (patch) | |
tree | c129fca6ac56c1e544f66e4b60f9eba30a9d8d35 /video/out/x11_common.c | |
parent | 42a51310c1a72805fe6c01438366354641d6d6ce (diff) | |
download | mpv-d9bd5bacc109aae0b70e879bf2c8dcc93d34bc2b.tar.bz2 mpv-d9bd5bacc109aae0b70e879bf2c8dcc93d34bc2b.tar.xz |
x11: never enable DPMS if we didn't disable it
Enabling DPMS even though you disabled it globally is pretty unfriendly,
so don't do it. Instead, we only disable DPMS if it was enabled, and
only enable it if we disabled it ourselves.
The other way should never happen (disabling DPMS permanently), unless
mpv crashes during playback.
Diffstat (limited to 'video/out/x11_common.c')
-rw-r--r-- | video/out/x11_common.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/video/out/x11_common.c b/video/out/x11_common.c index 89cded6b5d..911fea3ddc 100644 --- a/video/out/x11_common.c +++ b/video/out/x11_common.c @@ -1562,12 +1562,15 @@ static void set_screensaver(struct vo_x11_state *x11, bool enabled) BOOL onoff = 0; CARD16 state; DPMSInfo(mDisplay, &state, &onoff); + if (!x11->dpms_touched && enabled) + return; // enable DPMS only we we disabled it before if (enabled != !!onoff) { MP_VERBOSE(x11, "Setting DMPS: %s.\n", enabled ? "on" : "off"); if (enabled) { DPMSEnable(mDisplay); } else { DPMSDisable(mDisplay); + x11->dpms_touched = true; } DPMSInfo(mDisplay, &state, &onoff); if (enabled != !!onoff) |