1
0
mirror of https://github.com/mpv-player/mpv synced 2025-02-02 21:21:33 +00:00
mpv/video/out
Kacper Michajłow 6c56a413ab win32: unregister window class on dll detach
Window classes are global per process, but they are associated with the
module that registered them. Documentation is clear that it is the DLL's
responsibility to unregister its own classes:

No window classes registered by a DLL are unregistered when the DLL is
unloaded. A DLL must explicitly unregister its classes when it is
unloaded.

See: https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-registerclassw

Using a window class after the DLL is unloaded would result in access
violation errors. This is not that important for libmpv, where it is
unlikely someone would use the "mpv" window class externally. The real
issue comes from the fact that reloading libmpv would fail to register
the class (as it still exists) and consequently fail to create a window.

This commit fixes the operability of libmpv after reloading it.

Fixes: #11638
2024-07-11 21:55:21 +02:00
..
d3d11 d3d11: return minimum bitdepth for display output and swapchain 2024-06-15 01:18:44 +02:00
gpu video/out/gpu/context: convert --gpu-api to object settings list 2024-07-04 22:23:17 +00:00
gpu_next
hwdec hwdec_vaapi: suppress comparision warning 2024-06-07 21:12:38 +02:00
mac
opengl vo/opengl/context_win: fix crash on init failure 2024-07-11 21:55:21 +02:00
placebo
vulkan options: remove various OPT_REMOVED usage 2024-06-25 02:18:58 +00:00
win32
wldmabuf
android_common.c
android_common.h
aspect.c
aspect.h
bitmap_packer.c
bitmap_packer.h
cocoa_cb_common.swift cocoa-cb: guard color spaces that are only available on 10.15.4 upwards 2024-06-18 19:30:07 +02:00
dither.c
dither.h
dr_helper.c
dr_helper.h
drm_atomic.c
drm_atomic.h
drm_common.c options: remove some options with .deprecation_message 2024-06-25 02:18:58 +00:00
drm_common.h
drm_prime.c
drm_prime.h
filter_kernels.c
filter_kernels.h
libmpv_sw.c
libmpv.h
mac_common.swift
meson.build wayland: bump wayland-protocol requirement to 1.31 2024-07-08 13:33:32 +00:00
present_sync.c
present_sync.h
vo_caca.c
vo_direct3d.c
vo_dmabuf_wayland.c vo_dmabuf_wayland: don't use -ve margins in window size calculation 2024-07-10 19:22:24 +00:00
vo_drm.c
vo_gpu_next.c
vo_gpu.c
vo_image.c
vo_kitty.c
vo_lavc.c
vo_libmpv.c
vo_mediacodec_embed.c
vo_null.c
vo_sdl.c
vo_sixel.c options: remove some deprecated OPT_REPLACED option mapping 2024-06-25 02:18:58 +00:00
vo_tct.c vo_tct: clear backbuffer on reconfig 2024-06-22 00:50:38 +02:00
vo_vaapi.c vo_vaapi: remove redundant function call 2024-05-28 21:29:07 +02:00
vo_vdpau.c
vo_wlshm.c
vo_x11.c
vo_xv.c
vo.c
vo.h win32: quantize taskbar playback position into uint8 range 2024-06-03 19:16:35 +02:00
w32_common.c win32: unregister window class on dll detach 2024-07-11 21:55:21 +02:00
w32_common.h
wayland_common.c wayland: use wl_list_empty instead of wl_list_length 2024-07-08 13:33:32 +00:00
wayland_common.h wayland: bump wayland-protocol requirement to 1.31 2024-07-08 13:33:32 +00:00
win_state.c
win_state.h
x11_common.c input: map Num 5 to distinct value when numlock is off 2024-06-13 20:42:24 +02:00
x11_common.h x11: correct position coordinates if mpv was launched with --fs 2024-05-29 13:39:20 +00:00