summaryrefslogtreecommitdiff
path: root/gst/debugutils/gstwatchdog.c
diff options
context:
space:
mode:
Diffstat (limited to 'gst/debugutils/gstwatchdog.c')
-rw-r--r--gst/debugutils/gstwatchdog.c6
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);
}
}