diff options
Diffstat (limited to 'gst/debugutils/gstwatchdog.c')
-rw-r--r-- | gst/debugutils/gstwatchdog.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/gst/debugutils/gstwatchdog.c b/gst/debugutils/gstwatchdog.c index e844af79f..eb77765f3 100644 --- a/gst/debugutils/gstwatchdog.c +++ b/gst/debugutils/gstwatchdog.c @@ -215,10 +215,10 @@ gst_watchdog_feed (GstWatchdog * watchdog) watchdog->source = NULL; } - if (watchdog->timeout != 0) { + if (watchdog->timeout != 0 && watchdog->main_context) { watchdog->source = g_timeout_source_new (watchdog->timeout); - g_source_set_callback (watchdog->source, gst_watchdog_trigger, watchdog, - NULL); + g_source_set_callback (watchdog->source, gst_watchdog_trigger, gst_object_ref (watchdog), + gst_object_unref); g_source_attach (watchdog->source, watchdog->main_context); } } |