diff --git a/src/calls-call-record-row.c b/src/calls-call-record-row.c index d71f96c..57f69c1 100644 --- a/src/calls-call-record-row.c +++ b/src/calls-call-record-row.c @@ -132,7 +132,9 @@ static gboolean date_change_cb (CallsCallRecordRow *self); static void setup_date_change_timeout (CallsCallRecordRow *self) { - GDateTime *gnow, *gnextday, *gtomorrow; + g_autoptr (GDateTime) gnow = NULL; + g_autoptr (GDateTime) gnextday = NULL; + g_autoptr (GDateTime) gtomorrow = NULL; struct timeval now, tomorrow, delta; int err; guint interval; @@ -142,7 +144,6 @@ setup_date_change_timeout (CallsCallRecordRow *self) // Get the next day gnextday = g_date_time_add_days (gnow, 1); - g_date_time_unref (gnow); // Get the start of the next day gtomorrow = @@ -153,12 +154,10 @@ setup_date_change_timeout (CallsCallRecordRow *self) 0, 0, 0.0); - g_date_time_unref (gnextday); // Convert to a timeval tomorrow.tv_sec = g_date_time_to_unix (gtomorrow); tomorrow.tv_usec = 0; - g_date_time_unref (gtomorrow); // Get the precise time now err = gettimeofday (&now, NULL); @@ -188,7 +187,7 @@ setup_date_change_timeout (CallsCallRecordRow *self) static gboolean date_change_cb (CallsCallRecordRow *self) { - GDateTime *end; + g_autoptr (GDateTime) end = NULL; gboolean final; g_object_get (self->record, @@ -197,7 +196,6 @@ date_change_cb (CallsCallRecordRow *self) g_assert (end != NULL); update_time_text (self, end, &final); - g_date_time_unref (end); if (final) self->date_change_timeout = 0; @@ -233,9 +231,9 @@ notify_time_cb (CallsCallRecordRow *self, GParamSpec *pspec, CallsCallRecord *record) { + g_autoptr (GDateTime) answered = NULL; + g_autoptr (GDateTime) end = NULL; gboolean inbound; - GDateTime *answered; - GDateTime *end; g_object_get (G_OBJECT (self->record), "inbound", &inbound, @@ -245,14 +243,11 @@ notify_time_cb (CallsCallRecordRow *self, update_time (self, inbound, answered, end); - if (answered) { - g_date_time_unref (answered); + if (answered) calls_clear_signal (record, &self->answered_notify_handler_id); - } - if (end) { - g_date_time_unref (end); + + if (end) calls_clear_signal (record, &self->end_notify_handler_id); - } } @@ -434,8 +429,8 @@ constructed (GObject *object) { CallsCallRecordRow *self = CALLS_CALL_RECORD_ROW (object); gboolean inbound; - GDateTime *answered; - GDateTime *end; + g_autoptr (GDateTime) answered = NULL; + g_autoptr (GDateTime) end = NULL; g_autofree char *protocol = NULL; g_autofree char *action_name = NULL; g_autofree char *target = NULL; @@ -466,8 +461,6 @@ constructed (GObject *object) "(ss)", target, ""); setup_time (self, inbound, answered, end); - calls_date_time_unref (answered); - calls_date_time_unref (end); setup_contact (self); }