[gnome-calendar] calendar: Fix signal handler cleanup on finalize()
- From: Georges Basile Stavracas Neto <gbsneto src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-calendar] calendar: Fix signal handler cleanup on finalize()
- Date: Sat, 4 May 2019 15:08:22 +0000 (UTC)
commit ada9bcc473563f7365e18a213f6fbe0cc05f4caa
Author: Georges Basile Stavracas Neto <georges stavracas gmail com>
Date: Sat May 4 11:36:07 2019 -0300
calendar: Fix signal handler cleanup on finalize()
src/core/gcal-calendar.c | 15 +++++++--------
1 file changed, 7 insertions(+), 8 deletions(-)
---
diff --git a/src/core/gcal-calendar.c b/src/core/gcal-calendar.c
index 2cb40d4c..de5d02bb 100644
--- a/src/core/gcal-calendar.c
+++ b/src/core/gcal-calendar.c
@@ -20,8 +20,9 @@
#define G_LOG_DOMAIN "GcalCalendar"
-#include "gcal-debug.h"
#include "gcal-calendar.h"
+#include "gcal-debug.h"
+#include "gcal-utils.h"
typedef struct
{
@@ -225,15 +226,13 @@ gcal_calendar_finalize (GObject *object)
{
GcalCalendar *self = (GcalCalendar *)object;
GcalCalendarPrivate *priv = gcal_calendar_get_instance_private (self);
+ ESourceSelectable *selectable_extension;
- g_signal_handler_disconnect (priv->source, priv->color_changed_handler_id);
- priv->color_changed_handler_id = 0;
-
- g_signal_handler_disconnect (priv->source, priv->name_changed_handler_id);
- priv->name_changed_handler_id = 0;
+ selectable_extension = e_source_get_extension (priv->source, E_SOURCE_EXTENSION_CALENDAR);
- g_signal_handler_disconnect (priv->client, priv->readonly_changed_handler_id);
- priv->readonly_changed_handler_id = 0;
+ gcal_clear_signal_handler (&priv->color_changed_handler_id, selectable_extension);
+ gcal_clear_signal_handler (&priv->name_changed_handler_id, selectable_extension);
+ gcal_clear_signal_handler (&priv->readonly_changed_handler_id, priv->client);
g_clear_object (&priv->client);
g_clear_object (&priv->source);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]