mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-25 19:21:06 +00:00
d3d12videosink: Disconnect window's signal on dispose
Same as the commit of 7b69d1758f
but for d3d12videosink.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6700>
This commit is contained in:
parent
e0143754ad
commit
180cf124a7
1 changed files with 13 additions and 0 deletions
|
@ -151,6 +151,7 @@ static void gst_d3d12_videosink_set_property (GObject * object, guint prop_id,
|
|||
const GValue * value, GParamSpec * pspec);
|
||||
static void gst_d3d12_videosink_get_property (GObject * object, guint prop_id,
|
||||
GValue * value, GParamSpec * pspec);
|
||||
static void gst_d3d12_video_sink_dispose (GObject * object);
|
||||
static void gst_d3d12_video_sink_finalize (GObject * object);
|
||||
static void gst_d3d12_video_sink_set_context (GstElement * element,
|
||||
GstContext * context);
|
||||
|
@ -205,6 +206,7 @@ gst_d3d12_video_sink_class_init (GstD3D12VideoSinkClass * klass)
|
|||
|
||||
object_class->set_property = gst_d3d12_videosink_set_property;
|
||||
object_class->get_property = gst_d3d12_videosink_get_property;
|
||||
object_class->finalize = gst_d3d12_video_sink_dispose;
|
||||
object_class->finalize = gst_d3d12_video_sink_finalize;
|
||||
|
||||
g_object_class_install_property (object_class, PROP_ADAPTER,
|
||||
|
@ -363,6 +365,17 @@ gst_d3d12_video_sink_init (GstD3D12VideoSink * self)
|
|||
G_CALLBACK (gst_d3d12_video_sink_on_fullscreen), self);
|
||||
}
|
||||
|
||||
static void
|
||||
gst_d3d12_video_sink_dispose (GObject * object)
|
||||
{
|
||||
auto self = GST_D3D12_VIDEO_SINK (object);
|
||||
auto priv = self->priv;
|
||||
|
||||
g_signal_handlers_disconnect_by_data (priv->window, self);
|
||||
|
||||
G_OBJECT_CLASS (parent_class)->dispose (object);
|
||||
}
|
||||
|
||||
static void
|
||||
gst_d3d12_video_sink_finalize (GObject * object)
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue