mirror of
https://github.com/mpv-player/mpv
synced 2025-03-07 06:37:46 +00:00
If the mpv window is unfocus, clicking on the OSC should focus the
window (done by the window manager) and allow interaction with the OSC.
But somehow X sends a spurious LeaveNotify event, immediately followed
by an EnterNotify event. This happens at least with IceWM. The result is
that the OSC will disappear (due to receiving MOUSE_LEAVE). The OSC will
stay invisible, because EnterNotify isn't handled, and there's nothing
that could make the OSC appear again.
Solve this by handling EnterNotify. We cause a redundant MOUSE_MOVE
event to be sent, which triggers the code to make the OSC visible. We
have to remove the code from input.c, which ignores redundant mouse move
events.
Since the code ignoring redundant mouse move events is still needed on
Windows, move that code to w32_common.c. The need for this is documented
in the code, also see commit
|
||
---|---|---|
.. | ||
decode | ||
filter | ||
out | ||
csputils.c | ||
csputils.h | ||
fmt-conversion.c | ||
fmt-conversion.h | ||
image_writer.c | ||
image_writer.h | ||
img_format.c | ||
img_format.h | ||
img_fourcc.h | ||
memcpy_pic.h | ||
mp_image_pool.c | ||
mp_image_pool.h | ||
mp_image.c | ||
mp_image.h | ||
sws_utils.c | ||
sws_utils.h | ||
vaapi.h | ||
vdpau_functions.inc | ||
vdpau.c | ||
vdpau.h | ||
vfcap.h |