gltestsrc: fix shaders ref counting
authorGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>
Thu, 19 May 2016 14:05:33 +0000 (17:05 +0300)
committerTim-Philipp Müller <tim@centricular.com>
Sat, 9 Dec 2017 19:32:20 +0000 (19:32 +0000)
commita12ce7a1507835cd4c85fc85ae5075b092981e67
treea9535dc4a00e62a5ea40b87d4c8b58a911206d98
parent8cf9e94c639183c49399e418e8ed32926f539351
gltestsrc: fix shaders ref counting

The gltestsrc element uses two shaders: color_shader and snow_shader.
Those are alternatively assigned to the SrcShader->shader pointer and
their reference was transferred to it. Only the SrcShader->shader was
unreffed (in _src_shader_deinit()) so only one shader was properly
freed, the other one was leaked.

Fixed this by giving an extra ref to SrcShader->shader and unreffing the
2 shaders in _src_smpte_free().

https://bugzilla.gnome.org/show_bug.cgi?id=766661
ext/gl/gltestsrc.c