mutter/cogl/cogl
Sebastian Keller 61de313198 cogl: Unconditionally free pipeline shader/program state cache struct
destroy_shader_state()/destroy_program_state() are called when the qdata
pointer to the state cache structure gets overwritten, but were only
conditionally destroying it. This lead to leaks when called with a
shader/program state ref count > 1.

Fixes: 9b9e12edb ("cogl: Port Node/Pipeline/PipelineLayer away from CoglObject")
Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/3141
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3366>
2023-11-07 10:15:57 +00:00
..
deprecated cogl: Port Buffer* away from CoglObject 2023-10-29 21:16:24 +00:00
driver cogl: Unconditionally free pipeline shader/program state cache struct 2023-11-07 10:15:57 +00:00
gl-prototypes cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
winsys cogl: Reduce the usage of _COGL_GET_CONTEXT 2023-11-02 15:17:49 +00:00
cogl1-context.h cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
cogl-atlas-texture-private.h cogl: Port Texture* away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-atlas-texture.c cogl/cleanup: Use construct-only properties instead of a custom init function 2023-10-29 21:16:24 +00:00
cogl-atlas-texture.h cogl: Port Texture* away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-atlas.c cogl: Port Texture* away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-atlas.h cogl: Port Atlas away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-attribute-buffer-private.h cogl: Port Buffer* away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-attribute-buffer.c cogl/cleanup: Use construct-only properties for CoglBuffer 2023-10-29 21:16:24 +00:00
cogl-attribute-buffer.h cogl: Port Buffer* away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-attribute-private.h cogl: Port Attribute away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-attribute.c cogl: Port Node/Pipeline/PipelineLayer away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-attribute.h cogl: Port Attribute away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-bitmap-conversion.c cogl: Rename COGL_PIXEL_FORMAT_G_16 with COGL_PIXEL_FORMAT_R_16 2023-11-04 00:11:52 +00:00
cogl-bitmap-packing.h cogl: Rename COGL_PIXEL_FORMAT_G_16 with COGL_PIXEL_FORMAT_R_16 2023-11-04 00:11:52 +00:00
cogl-bitmap-private.h cogl: Port Bitmap away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-bitmap.c cogl: Port Buffer* away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-bitmap.h cogl: Port Bitmap away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-bitmask.c cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
cogl-bitmask.h cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
cogl-blend-string.c cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
cogl-blend-string.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
cogl-blit.c cogl: Port Texture* away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-blit.h cogl: Port Primitive away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-boxed-value.c cleanup: Fix various typos 2023-08-12 20:13:37 +00:00
cogl-boxed-value.h cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
cogl-buffer-private.h cogl/cleanup: Use construct-only properties for CoglBuffer 2023-10-29 21:16:24 +00:00
cogl-buffer.c cogl/cleanup: Use construct-only properties for CoglBuffer 2023-10-29 21:16:24 +00:00
cogl-buffer.h cogl: Port Buffer* away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-clip-stack.c Port to MtkRegion 2023-11-03 11:27:52 +00:00
cogl-clip-stack.h Port to MtkRegion 2023-11-03 11:27:52 +00:00
cogl-closure-list-private.h cogl: Port Primitive away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-closure-list.c cogl/cleanup: Replace CoglUserDataDestroyCallback with GDestroyNotify 2023-10-29 21:16:24 +00:00
cogl-color-private.h cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
cogl-color.c cogl: Port Color to GBoxed 2023-10-29 21:16:24 +00:00
cogl-color.h cogl: Port Color to GBoxed 2023-10-29 21:16:24 +00:00
cogl-context-private.h cogl: Port Texture* away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-context.c cogl: Reduce the usage of _COGL_GET_CONTEXT 2023-11-02 15:17:49 +00:00
cogl-context.h cogl: Port Context away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-debug-options.h cogl: Add new option COGL_DEBUG=stencilling to disable optimizations 2021-06-01 15:42:52 +08:00
cogl-debug.c cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
cogl-debug.h cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
cogl-defines.h.in cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
cogl-defines.h.meson cogl: Unify HAS_X11/HAS_XLIB build configs 2022-05-25 16:42:04 +02:00
cogl-depth-state-private.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
cogl-depth-state.c cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
cogl-depth-state.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
cogl-display-private.h cogl: Port Display away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-display.c clutter/cogl: Use more of memory management helpers 2023-10-29 21:16:24 +00:00
cogl-display.h cogl: Port Display away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-dma-buf-handle.c cogl: Port Primitive away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-dma-buf-handle.h cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
cogl-driver.h cogl/driver: Remove pixel_format_from_gl_internal 2023-10-27 16:13:37 +00:00
cogl-egl-defines.h.in cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
cogl-egl-private.h cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
cogl-egl.h cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
cogl-feature-private.c cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
cogl-feature-private.h cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
cogl-fence-private.h cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
cogl-fence.c cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
cogl-fence.h cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
cogl-flags.h cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
cogl-frame-info-private.h cogl: Port FrameInfo away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-frame-info.c cogl: Port FrameInfo away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-frame-info.h cogl: Port FrameInfo away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-framebuffer-driver.c cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
cogl-framebuffer-driver.h cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
cogl-framebuffer-private.h cogl: Port Primitive away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-framebuffer.c Port to MtkRegion 2023-11-03 11:27:52 +00:00
cogl-framebuffer.h Port to MtkRegion 2023-11-03 11:27:52 +00:00
cogl-gl-header.h.in cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
cogl-glib-source.c cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
cogl-glib-source.h cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
cogl-glsl-shader-boilerplate.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
cogl-graphene.c cogl/graphene: Fix license header 2021-01-28 20:33:01 +00:00
cogl-graphene.h cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
cogl-i18n-private.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
cogl-index-buffer-private.h cogl: Port Buffer* away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-index-buffer.c cogl/cleanup: Use construct-only properties for CoglBuffer 2023-10-29 21:16:24 +00:00
cogl-index-buffer.h cogl: Port Buffer* away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-indices-private.h cogl: Port Indices away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-indices.c cogl: Port Buffer* away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-indices.h cogl: Port Indices away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-journal-private.h cogl: Port Journal away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-journal.c cogl: Port Node/Pipeline/PipelineLayer away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-list.c cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
cogl-list.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
cogl-macros.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
cogl-magazine-private.h cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
cogl-magazine.c cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
cogl-matrix-stack-private.h cogl: Port MatrixStack away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-matrix-stack.c cogl: Port MatrixEntry from Cogl boxed type 2023-10-29 21:16:24 +00:00
cogl-matrix-stack.h cogl: Port MatrixEntry from Cogl boxed type 2023-10-29 21:16:24 +00:00
cogl-memory-stack-private.h Remove unused _cogl_memory_stack_rewind 2023-10-26 09:49:29 +00:00
cogl-memory-stack.c Remove unused _cogl_memory_stack_rewind 2023-10-26 09:49:29 +00:00
cogl-meta-texture.c cogl: Port Texture* away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-meta-texture.h cogl: Port Texture* away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-mutter.h cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
cogl-node-private.h cogl: Port Node/Pipeline/PipelineLayer away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-node.c cogl: Port Node/Pipeline/PipelineLayer away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-offscreen-private.h cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
cogl-offscreen.c cogl: Port Texture* away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-offscreen.h cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
cogl-onscreen-private.h cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
cogl-onscreen-template-private.h cogl: Port OnscreenTemplate away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-onscreen-template.c cogl: Port OnscreenTemplate away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-onscreen-template.h cogl: Port OnscreenTemplate away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-onscreen.c cogl: Port Primitive away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-onscreen.h cogl: Port Primitive away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-output-private.h cogl: Port Output away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-output.c cogl: Port Output away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-output.h cogl: Port Output away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-pipeline-cache-private.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
cogl-pipeline-cache.c cogl: Reduce the usage of _COGL_GET_CONTEXT 2023-11-02 15:17:49 +00:00
cogl-pipeline-cache.h cogl: Reduce the usage of _COGL_GET_CONTEXT 2023-11-02 15:17:49 +00:00
cogl-pipeline-debug.c cogl: Port Node/Pipeline/PipelineLayer away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-pipeline-hash-table.c cogl: Port Node/Pipeline/PipelineLayer away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-pipeline-hash-table.h cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
cogl-pipeline-layer-private.h cogl: Reduce the usage of _COGL_GET_CONTEXT 2023-11-02 15:17:49 +00:00
cogl-pipeline-layer-state-private.h Remove unused _cogl_pipeline_get_layer_min/mag_filter 2023-10-26 09:49:29 +00:00
cogl-pipeline-layer-state.c cogl: Remove unnused include macro usage 2023-11-03 11:36:07 +00:00
cogl-pipeline-layer-state.h cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
cogl-pipeline-layer.c cogl: Reduce the usage of _COGL_GET_CONTEXT 2023-11-02 15:17:49 +00:00
cogl-pipeline-private.h cogl: Reduce the usage of _COGL_GET_CONTEXT 2023-11-02 15:17:49 +00:00
cogl-pipeline-snippet-private.h cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
cogl-pipeline-snippet.c cogl: Port Snippet away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-pipeline-state-private.h cogl: Port Program away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-pipeline-state.c cogl: Port Node/Pipeline/PipelineLayer away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-pipeline-state.h cogl: Port Program away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-pipeline.c cogl: Reduce the usage of _COGL_GET_CONTEXT 2023-11-02 15:17:49 +00:00
cogl-pipeline.h cogl: Port Node/Pipeline/PipelineLayer away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-pixel-buffer-private.h cogl: Port Primitive away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-pixel-buffer.c cogl/cleanup: Use construct-only properties for CoglBuffer 2023-10-29 21:16:24 +00:00
cogl-pixel-buffer.h cogl: Port Buffer* away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-pixel-format.c cogl: Rename COGL_PIXEL_FORMAT_G_16 with COGL_PIXEL_FORMAT_R_16 2023-11-04 00:11:52 +00:00
cogl-pixel-format.h cogl: Rename COGL_PIXEL_FORMAT_G_16 with COGL_PIXEL_FORMAT_R_16 2023-11-04 00:11:52 +00:00
cogl-point-in-poly-private.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
cogl-point-in-poly.c cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
cogl-poll-private.h cogl/cleanup: Replace CoglUserDataDestroyCallback with GDestroyNotify 2023-10-29 21:16:24 +00:00
cogl-poll.c cogl/cleanup: Replace CoglUserDataDestroyCallback with GDestroyNotify 2023-10-29 21:16:24 +00:00
cogl-poll.h cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
cogl-primitive-private.h cogl: Port Primitive away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-primitive-texture.c cogl: Port Texture* away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-primitive-texture.h cogl: Port Texture* away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-primitive.c cogl: Port Primitive away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-primitive.h cogl: Port Primitive away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-primitives-private.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
cogl-primitives.c cogl: Port Node/Pipeline/PipelineLayer away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-private.h cogl: Port Primitive away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-profile.c cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
cogl-profile.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
cogl-rectangle-map.c cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
cogl-rectangle-map.h cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
cogl-renderer-private.h cogl: Port Renderer away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-renderer.c cogl: Port Renderer away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-renderer.h cogl: Port Renderer away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-sampler-cache-private.h cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
cogl-sampler-cache.c cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
cogl-scanout.c cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
cogl-scanout.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
cogl-snippet-private.h cogl: Port Snippet away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-snippet.c cogl: Port Snippet away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-snippet.h cogl: Port Snippet away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-spans.c cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
cogl-spans.h cogl: Port Primitive away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-sub-texture-private.h cogl: Port Texture* away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-sub-texture.c cogl/cleanup: Use construct-only properties instead of a custom init function 2023-10-29 21:16:24 +00:00
cogl-sub-texture.h cogl: Port Texture* away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-swap-chain-private.h cogl: Port SwapChain away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-swap-chain.c cogl: Port SwapChain away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-swap-chain.h cogl: Port SwapChain away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-texture-2d-private.h cogl: Port Texture* away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-texture-2d-sliced-private.h cogl: Port Texture* away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-texture-2d-sliced.c cogl/cleanup: Use construct-only properties instead of a custom init function 2023-10-29 21:16:24 +00:00
cogl-texture-2d-sliced.h cogl: Port Texture* away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-texture-2d.c cogl/cleanup: Use construct-only properties instead of a custom init function 2023-10-29 21:16:24 +00:00
cogl-texture-2d.h cogl: Port Texture* away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-texture-driver.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
cogl-texture-private.h cogl/cleanup: Use construct-only properties instead of a custom init function 2023-10-29 21:16:24 +00:00
cogl-texture.c cogl/cleanup: Use construct-only properties instead of a custom init function 2023-10-29 21:16:24 +00:00
cogl-texture.h cogl: Port Texture* away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-trace.c cogl: Replace HAVE_TRACING with COGL_HAS_TRACING 2023-10-06 08:38:54 +04:00
cogl-trace.h cogl/trace: Correct dummy define name 2023-10-09 11:13:10 +04:00
cogl-types.h cogl/cleanup: Stop using CoglHandle 2023-10-29 21:16:24 +00:00
cogl-util.c cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
cogl-util.h cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
cogl-x11-onscreen.c Update license access method 2023-08-30 08:48:23 +02:00
cogl-x11-onscreen.h Update license access method 2023-08-30 08:48:23 +02:00
cogl-x11-renderer-private.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
cogl-xlib-renderer-private.h cogl: Port Primitive away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-xlib-renderer.c cogl: Port Primitive away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-xlib-renderer.h cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
cogl-xlib.h cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
cogl.c cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
cogl.h cogl: Drop unnused experimental API config 2023-11-03 11:36:07 +00:00
meson.build cogl/gir: Depend explicitly on Mtk 2023-11-03 11:27:52 +00:00