1
0
mirror of https://github.com/mpv-player/mpv synced 2024-12-27 01:22:30 +00:00
mpv/video/out
dudemanguy 80c4aaa2a4 wayland: fix wl_proxy leak
This one is probably not terribly obvious from just the valgrind log,
but a wayland dev explained it to me just a second ago. Whenever mpv
sends events to the screen with wl_display_dispatch, wayland internally
allocates memory to a struct wl_proxy object if a new id is found. Quite
a few more things happen to that proxy object, but eventually mpv stores
the data on the client-side in a wrapper type of struct (struct
wl_data_offer). mpv's data_device_listener keeps track of those proxies
and frees the memory when appropriate. Of course, mpv is constantly
sending events to the screen and does so until the user quits the
player. What happens here is that one final wl_display_dispatch is called
right before the user quits the player and before mpv's
data_device_listener can handle that object. So the result is that you
always have one extra dangling proxy that doesn't get properly freed.
The solution is to just simply call wl_data_offer_destroy before closing
the wl_display to free that final dangling wl_proxy.
2019-09-19 00:00:19 +03:00
..
cocoa cocoa: fix drawing on macOS 10.14 2018-11-13 21:14:29 +02:00
cocoa-cb cocoa-cb: remove an unused variable 2019-09-02 00:39:36 +03:00
d3d11 vo_d3d11/context: fix crash due to ctx->ra is null pointer access 2019-09-14 21:35:49 +10:00
gpu drm: fix libmpv ABI breakage introduced in 351c083487 2019-09-18 23:59:32 +03:00
hwdec drm: fix libmpv ABI breakage introduced in 351c083487 2019-09-18 23:59:32 +03:00
opengl drm: fix libmpv ABI breakage introduced in 351c083487 2019-09-18 23:59:32 +03:00
placebo video/out/gpu: Add a storable flag to ra_format 2019-07-08 00:59:28 +02:00
vulkan vo/gpu: vulkan: Pass the device name option through to libplacebo 2019-08-24 18:38:27 +02:00
win32 vo_gpu: win: remove exclusive-fullscreen detection hack 2017-12-20 14:53:41 +11:00
aspect.c aspect: change license to LGPL 2017-06-17 17:08:51 +02:00
aspect.h aspect: change license to LGPL 2017-06-17 17:08:51 +02:00
bitmap_packer.c
bitmap_packer.h
cocoa_cb_common.swift cocoa-cb: migrate to swift 5 with swift 4 fallback 2019-07-21 18:13:07 +03:00
cocoa_common.h osx: change license of OSX and cocoa files to LGPL 2017-06-24 16:29:22 +02:00
cocoa_common.m {mac,cocoa}: trim trailing null out of macosx_icon when loading it 2018-10-02 00:20:43 +03:00
d3d_shader_420p.h
d3d_shader_yuv.hlsl
dither.c
dither.h
dr_helper.c vo: move DR helper code to a separate source file 2018-04-29 02:21:32 +03:00
dr_helper.h vo: move DR helper code to a separate source file 2018-04-29 02:21:32 +03:00
drm_atomic.c drm: rename plane options to better, invariant, names 2018-12-01 15:42:20 +02:00
drm_atomic.h drm: rename plane options to better, invariant, names 2018-12-01 15:42:20 +02:00
drm_common.c drm_common: Support --drm-mode=<preferred|highest|N|WxH[@R]> 2019-05-04 14:17:11 +02:00
drm_common.h drm_common: Don't export functions only being used internally 2019-05-04 14:17:11 +02:00
drm_prime.c Add DRM_PRIME Format Handling and Display for RockChip MPP decoders 2017-10-23 21:07:24 +02:00
drm_prime.h Add DRM_PRIME Format Handling and Display for RockChip MPP decoders 2017-10-23 21:07:24 +02:00
filter_kernels.c vo_opengl: refactor scaler LUT weight packing/loading 2017-09-04 13:53:14 +02:00
filter_kernels.h vo_opengl: refactor scaler LUT weight packing/loading 2017-09-04 13:53:14 +02:00
libmpv.h vo_libmpv: support render performance data 2018-11-13 20:43:29 +02:00
vo_caca.c Add checks for HAVE_GPL to various GPL-only source files 2017-10-10 15:51:16 +02:00
vo_direct3d.c Add checks for HAVE_GPL to various GPL-only source files 2017-10-10 15:51:16 +02:00
vo_drm.c drm_common: Add proper help option to drm-mode 2019-05-04 14:17:11 +02:00
vo_gpu.c vo: use a struct for vsync feedback stuff 2018-12-06 10:30:25 +01:00
vo_image.c image_writer, vo_image: change license to LGPL 2017-06-18 15:45:24 +02:00
vo_lavc.c encode: get rid of the output packet queue 2018-05-03 01:08:44 +03:00
vo_libmpv.c vo_libmpv: fix null pointer dereference 2019-03-11 01:55:59 +02:00
vo_mediacodec_embed.c vo_mediacodec_embed: fix forgotten VO_CAP_NOREDRAW→VO_CAP_NORETAIN 2018-02-20 01:59:20 +02:00
vo_null.c vo.c, vo.h, vo_null.c: change license to LGPL 2017-05-10 15:06:20 +02:00
vo_rpi.c vo_gpu: add internal ability to skip osd/subs for rendering 2018-02-11 17:45:51 -08:00
vo_sdl.c vo_sdl: add support for screensaver VOCTRL's 2018-06-02 23:34:38 +03:00
vo_tct.c sws_utils: don't force callers to provide option struct 2018-01-18 00:59:07 -08:00
vo_vaapi.c vo: add warning message to vo_vaapi and vo_vdpau 2019-09-14 13:50:10 +02:00
vo_vdpau.c vo: add warning message to vo_vaapi and vo_vdpau 2019-09-14 13:50:10 +02:00
vo_x11.c vo_x11: fix return value in resize() error paths 2018-11-17 00:53:56 +01:00
vo_xv.c build: remove POSIX/sysv shared memory test 2017-12-02 23:19:13 +01:00
vo.c vo, vo_gpu, glx: correct GLX_OML_sync_control usage 2018-12-06 10:32:27 +01:00
vo.h vo, vo_gpu, glx: correct GLX_OML_sync_control usage 2018-12-06 10:32:27 +01:00
w32_common.c w32_common: avoid unnecessary sprintfs 2019-05-10 20:47:05 +10:00
w32_common.h w32_common, w32_keyboard: change license to LGPL 2017-06-24 12:54:45 +02:00
wayland_common.c wayland: fix wl_proxy leak 2019-09-19 00:00:19 +03:00
wayland_common.h wayland_common: rename “shell” into “wm_base” 2019-02-17 23:44:34 +02:00
win_state.c video: change some remaining vo_opengl mentions to vo_gpu 2018-01-20 14:43:49 -08:00
win_state.h x11: pseudo HiDPI scaling 2017-01-19 16:31:54 +01:00
x11_common.c x11: fix cursor hiding initial state 2019-03-16 21:17:32 +01:00
x11_common.h x11: fix cursor hiding initial state 2019-03-16 21:17:32 +01:00