1
0
mirror of https://github.com/mpv-player/mpv synced 2025-03-09 15:47:44 +00:00
mpv/video/out
Dudemanguy 24357cb7b5 wayland: cleanup handle_toplevel_config
The source of many geometry woes. There's some loosely related toplevel
things that should be cleaned up/fixed. First of all,
VO_EVENT_LIVE_RESIZING is actually completely useless. It might have
been useful sometime in the past, but there's no point. It doesn't
"speed up" resizing in any way and appears to be originally for cocoa.
Just remove it.

Way back in the day, toplevel_width/height was added as a workaround for
when we got uncoorperative (i.e. wrong) width/height coordinates from
the compositor in this event. Basically it could happen due to numerous
reasons but a lack of atomic commits was part of the reason and also
mpv's geometry handling then was a lot rougher. We *shouldn't* need this
workaround anymore. The width/height values are only used exactly when
we need them. If mpv sets geometry on its own, it should still be the
right dimensions.

Related to the above, mpv never actually propertly handled the case
where width or height was equal to 0. According to the xdg-shell spec,
"If the width or height arguments are zero, it means the client should
decided its own window dimension." An example of a compositor doing this
is weston. It's, unsurprisingly, broken. Getting out of fullscreen or a
maximized state does not restore the old window size like it should. The
right way to handle this is to just return near the end of the function
if we have a 0 for either argument and before any geometry is set
(wl->geometry's width or height can never be zero). Luckily, state
changes are already being detected so they just trigger the goto when
needed.

Finally, e2c24ad mistakenly removed the VO_EVENT_EXPOSE. There are edge
cases where this is needed and it's safer to just force a redraw here
when the window gets activated again. Just force wl->hidden to false
first and then trigger the expose.
2021-08-03 14:53:27 +00:00
..
cocoa
d3d11 options: Make validation and help possible for all option types 2021-03-28 19:46:27 +03:00
gpu vo_gpu: vulkan: implement a VkDisplayKHR backed context 2021-06-11 09:54:16 -07:00
hwdec vo_gpu: hwdec_vaapi: silence errors while probing 2021-05-19 04:06:52 +02:00
mac mac: add support for display-width/display-height property 2021-05-06 17:36:55 +00:00
opengl egl_helpers: fix create_context fallback behavior 2021-07-25 15:32:53 +00:00
placebo vo_gpu: placebo: keep track of texture sample mode 2021-03-21 17:18:20 +01:00
vulkan wayland: fix wl_surface_set_buffer_scale usage 2021-06-27 10:58:59 -05:00
win32
android_common.c options: simplify --android-surface-size handling 2020-09-20 12:04:25 +02:00
android_common.h
aspect.c options: add --video-scale-x/y 2020-06-03 17:26:44 +02:00
aspect.h
bitmap_packer.c
bitmap_packer.h
cocoa_cb_common.swift mac: fix traditional fullscreen on macOS 11 2021-02-27 13:12:46 +01:00
cocoa_common.h
cocoa_common.m build: change filenames of generated files 2020-06-04 16:59:05 +02:00
dither.c
dither.h
dr_helper.c
dr_helper.h
drm_atomic.c
drm_atomic.h
drm_common.c options: Make validation and help possible for all option types 2021-03-28 19:46:27 +03:00
drm_common.h
drm_prime.c drm_prime: fallback to drmModeAddFB2 2020-05-08 21:26:25 +02:00
drm_prime.h
filter_kernels.c filter_kernels: fix quadric window 2021-05-04 13:18:43 +02:00
filter_kernels.h
libmpv_sw.c client API: add software rendering API 2020-07-08 22:42:05 +02:00
libmpv.h client API: add software rendering API 2020-07-08 22:42:05 +02:00
vo_caca.c
vo_direct3d.c vo_direct3d: dumb down OSD rendering 2020-05-13 23:16:32 +02:00
vo_drm.c command: add display-width/display-height property 2021-05-06 17:36:55 +00:00
vo_gpu.c vo_gpu: fix trivial memory leak 2021-05-07 15:01:15 +02:00
vo_image.c
vo_lavc.c
vo_libmpv.c client API: add software rendering API 2020-07-08 22:42:05 +02:00
vo_mediacodec_embed.c
vo_null.c
vo_rpi.c vo_rpi: fix argument name 2021-06-08 10:28:10 -05:00
vo_sdl.c
vo_sixel.c vo_sixel: don't divide by zero on small terminal 2020-12-02 17:06:11 +02:00
vo_tct.c vo_tct: don't leak the frame reference 2020-11-29 14:15:51 +02:00
vo_vaapi.c draw_bmp: use command line options for any used scalers 2020-05-13 20:07:59 +02:00
vo_vdpau.c vo_vdpau: remove an unused variable 2020-09-10 23:25:30 +02:00
vo_wlshm.c wayland: always be sure to initially try to render 2021-06-27 10:58:42 -05:00
vo_x11.c vo_x11: partially restore operation on bad endian systems 2020-06-17 19:44:50 +02:00
vo_xv.c
vo.c video/out/vo_sixel.c: Implement sixel as a output device 2020-11-07 18:51:49 +02:00
vo.h command: add display-width/display-height property 2021-05-06 17:36:55 +00:00
w32_common.c win32: support the property 'focused' 2021-05-27 13:49:07 +03:00
w32_common.h
wayland_common.c wayland: cleanup handle_toplevel_config 2021-08-03 14:53:27 +00:00
wayland_common.h wayland: cleanup handle_toplevel_config 2021-08-03 14:53:27 +00:00
win_state.c
win_state.h
x11_common.c command: add display-width/display-height property 2021-05-06 17:36:55 +00:00
x11_common.h x11: update geometry/autofit opts on runtime 2020-12-14 22:44:05 +00:00