mpv/video/out
wm4 053297b1ca vo_gpu: opengl: do not free "GL" sub-allocations
This function always expects the GL struct pointer to be a talloc
allocation. So far so bad. But the terrible thing is that _lots_ of code
in mpv didn't quite get this (including the code which introduced the
way it is used this way). For example, in context_glx.c you see this:

struct priv {
    GL gl;
    ...

GL is not a talloc allocation, but since it's at the start of a talloc
allocation, it works anyway. So far so bad. But the really terrible
thing is that mpgl_load_functions2() calls talloc_free_children() on the
GL pointer, which means that all of priv's. This would be unintentional
and could create dangling pointers. And this happens at the about 1
dozen of callers. I'm amazed it didn't broke yet anywhere.

Removing this anti-pattern with making GL "implicitly" a talloc
allocation would be too much effort at this point. So just manually free
the only allocation that the function attached to GL.
2019-11-29 20:23:27 +01:00
..
cocoa
cocoa-cb
d3d11 vo_gpu/d3d11: add support for configuring swap chain color space 2019-10-30 02:41:25 +02:00
gpu vo_gpu: fix infinite scaler reinit spam 2019-11-23 11:46:52 +01:00
hwdec vo_gpu: hwdec_cuda: Reduce message level of errors while probing 2019-11-17 09:44:32 -08:00
opengl vo_gpu: opengl: do not free "GL" sub-allocations 2019-11-29 20:23:27 +01:00
placebo
vulkan
win32
android_common.c
android_common.h
aspect.c
aspect.h
bitmap_packer.c video/out/bitmap_packer: Avoid empty initializer list 2019-11-18 16:50:21 +01:00
bitmap_packer.h
cocoa_cb_common.swift
cocoa_common.h
cocoa_common.m
d3d_shader_420p.h
d3d_shader_yuv.hlsl
dither.c
dither.h
dr_helper.c
dr_helper.h
drm_atomic.c
drm_atomic.h
drm_common.c
drm_common.h
drm_prime.c
drm_prime.h
filter_kernels.c
filter_kernels.h
libmpv.h
vo.c x11: use new option stuff to implement fullscreen 2019-11-29 13:56:58 +01:00
vo.h command: change window-minimized/window-maximized to options 2019-11-29 13:56:58 +01:00
vo_caca.c vo_caca: Implement VOCTRL_UPDATE_WINDOW_TITLE 2019-10-29 17:07:41 +01:00
vo_direct3d.c
vo_drm.c sws_utils: shuffle around some shit 2019-10-31 15:26:03 +01:00
vo_gpu.c
vo_image.c screenshot, vo_image: use global swscale/zimg parameters 2019-10-31 15:44:09 +01:00
vo_lavc.c
vo_libmpv.c
vo_mediacodec_embed.c
vo_null.c
vo_rpi.c
vo_sdl.c vo_sdl: Acknowledge when the mouse enters or leaves the window 2019-10-28 17:14:49 +01:00
vo_tct.c video/out/vo_tct: Use octal escape sequence instead of non-standard \e 2019-11-18 16:50:21 +01:00
vo_vaapi.c
vo_vdpau.c Replace uses of FFMIN/MAX with MPMIN/MAX 2019-10-31 11:24:20 +01:00
vo_wlshm.c sws_utils: shuffle around some shit 2019-10-31 15:26:03 +01:00
vo_x11.c vo_x11: accept zimg formats 2019-11-03 22:52:12 +01:00
vo_xv.c
w32_common.c
w32_common.h
wayland_common.c wayland: implement minimize and maximize related VOCTRLs 2019-11-29 16:56:20 +08:00
wayland_common.h wayland: make the edge grab zone width user configurable 2019-11-29 16:56:20 +08:00
win_state.c
win_state.h
x11_common.c x11: implement unminimization 2019-11-29 14:27:27 +01:00
x11_common.h x11: use new option stuff to implement fullscreen 2019-11-29 13:56:58 +01:00