From 7f8f05b74cd0f367233b0d0917fd91482e614680 Mon Sep 17 00:00:00 2001 From: Hyeongsik Min Date: Mon, 22 May 2017 20:10:43 +0900 Subject: [PATCH] Fix reference counting bug Change-Id: If8be15c2815a11cc63d477e0af7fa79729a62966 Signed-off-by: Hyeongsik Min --- src/peripheral_gdbus_gpio.c | 5 +++-- src/peripheral_gdbus_i2c.c | 5 +++-- src/peripheral_gdbus_pwm.c | 5 +++-- src/peripheral_gdbus_uart.c | 5 +++-- 4 files changed, 12 insertions(+), 8 deletions(-) diff --git a/src/peripheral_gdbus_gpio.c b/src/peripheral_gdbus_gpio.c index 2027f3d..1c0e90f 100644 --- a/src/peripheral_gdbus_gpio.c +++ b/src/peripheral_gdbus_gpio.c @@ -32,8 +32,10 @@ void gpio_proxy_init(void) { GError *error = NULL; - if (gpio_proxy != NULL) + if (gpio_proxy != NULL) { + g_object_ref(gpio_proxy); return; + } gpio_proxy = peripheral_io_gdbus_gpio_proxy_new_for_bus_sync( G_BUS_TYPE_SYSTEM, @@ -58,7 +60,6 @@ void gpio_proxy_deinit() { if (gpio_proxy) { g_object_unref(gpio_proxy); - gpio_proxy = NULL; } } diff --git a/src/peripheral_gdbus_i2c.c b/src/peripheral_gdbus_i2c.c index ce42ce5..2e176ef 100644 --- a/src/peripheral_gdbus_i2c.c +++ b/src/peripheral_gdbus_i2c.c @@ -29,8 +29,10 @@ void i2c_proxy_init(void) { GError *error = NULL; - if (i2c_proxy != NULL) + if (i2c_proxy != NULL) { + g_object_ref(i2c_proxy); return; + } i2c_proxy = peripheral_io_gdbus_i2c_proxy_new_for_bus_sync( G_BUS_TYPE_SYSTEM, @@ -45,7 +47,6 @@ void i2c_proxy_deinit() { if (i2c_proxy) { g_object_unref(i2c_proxy); - i2c_proxy = NULL; } } diff --git a/src/peripheral_gdbus_pwm.c b/src/peripheral_gdbus_pwm.c index 1467c8f..31b2a78 100644 --- a/src/peripheral_gdbus_pwm.c +++ b/src/peripheral_gdbus_pwm.c @@ -29,8 +29,10 @@ void pwm_proxy_init(void) { GError *error = NULL; - if (pwm_proxy != NULL) + if (pwm_proxy != NULL) { + g_object_ref(pwm_proxy); return; + } pwm_proxy = peripheral_io_gdbus_pwm_proxy_new_for_bus_sync( G_BUS_TYPE_SYSTEM, @@ -45,7 +47,6 @@ void pwm_proxy_deinit() { if (pwm_proxy) { g_object_unref(pwm_proxy); - pwm_proxy = NULL; } } diff --git a/src/peripheral_gdbus_uart.c b/src/peripheral_gdbus_uart.c index fc94a89..cf51b22 100644 --- a/src/peripheral_gdbus_uart.c +++ b/src/peripheral_gdbus_uart.c @@ -29,8 +29,10 @@ void uart_proxy_init(void) { GError *error = NULL; - if (uart_proxy != NULL) + if (uart_proxy != NULL) { + g_object_ref(uart_proxy); return; + } uart_proxy = peripheral_io_gdbus_uart_proxy_new_for_bus_sync( G_BUS_TYPE_SYSTEM, @@ -45,7 +47,6 @@ void uart_proxy_deinit() { if (uart_proxy) { g_object_unref(uart_proxy); - uart_proxy = NULL; } } -- 2.7.4