diff --git a/src/fbd-dev-led-qcom-multicolor.c b/src/fbd-dev-led-qcom-multicolor.c index eb53bb4..ee42cff 100644 --- a/src/fbd-dev-led-qcom-multicolor.c +++ b/src/fbd-dev-led-qcom-multicolor.c @@ -49,11 +49,24 @@ fbd_dev_led_qcom_multicolor_start_periodic (FbdDevLed *led, return fbd_dev_led_start_periodic (FBD_DEV_LED (self->qcom_led), max_brightness_percentage, freq); } +static void +fbd_dev_led_qcom_multicolor_finalize (GObject *object) +{ + FbdDevLedQcomMulticolor *self = FBD_DEV_LED_QCOM_MULTICOLOR (object); + + g_clear_object (&self->qcom_led); + + G_OBJECT_CLASS (fbd_dev_led_qcom_multicolor_parent_class)->finalize (object); +} + static void fbd_dev_led_qcom_multicolor_class_init (FbdDevLedQcomMulticolorClass *klass) { + GObjectClass *object_class = G_OBJECT_CLASS (klass); FbdDevLedClass *fbd_dev_led_class = FBD_DEV_LED_CLASS (klass); + object_class->finalize = fbd_dev_led_qcom_multicolor_finalize; + fbd_dev_led_class->probe = fbd_dev_led_qcom_multicolor_probe; fbd_dev_led_class->start_periodic = fbd_dev_led_qcom_multicolor_start_periodic; }