[gnome-calendar] misc: fix various memory leaks



commit 8fadbaa760caedc9433b7cc21474cf7a9ccd6739
Author: Erick Pérez Castellanos <erick red gmail com>
Date:   Sun Feb 15 17:12:37 2015 -0500

    misc: fix various memory leaks

 src/gcal-search-view.c           |    3 +++
 src/gcal-shell-search-provider.c |    1 +
 src/gcal-window.c                |    1 +
 src/gcal-year-view.c             |    8 +++++++-
 4 files changed, 12 insertions(+), 1 deletions(-)
---
diff --git a/src/gcal-search-view.c b/src/gcal-search-view.c
index 402a156..d94cfa9 100644
--- a/src/gcal-search-view.c
+++ b/src/gcal-search-view.c
@@ -594,6 +594,9 @@ gcal_search_view_finalize (GObject       *object)
   if (priv->date != NULL)
     g_free (priv->date);
 
+  g_hash_table_destroy (priv->events);
+  g_hash_table_destroy (priv->row_to_event);
+
   /* Chain up to parent's finalize() method. */
   G_OBJECT_CLASS (gcal_search_view_parent_class)->finalize (object);
 }
diff --git a/src/gcal-shell-search-provider.c b/src/gcal-shell-search-provider.c
index 363591e..489117d 100644
--- a/src/gcal-shell-search-provider.c
+++ b/src/gcal-shell-search-provider.c
@@ -377,6 +377,7 @@ gcal_shell_search_provider_finalize (GObject *object)
 {
   GcalShellSearchProviderPrivate *priv = GCAL_SHELL_SEARCH_PROVIDER (object)->priv;
 
+  g_hash_table_destroy (priv->events);
   g_clear_object (&priv->skel);
   G_OBJECT_CLASS (gcal_shell_search_provider_parent_class)->finalize (object);
 }
diff --git a/src/gcal-window.c b/src/gcal-window.c
index 75ed5d7..7fa4d94 100644
--- a/src/gcal-window.c
+++ b/src/gcal-window.c
@@ -1399,6 +1399,7 @@ gcal_window_finalize (GObject *object)
   priv = gcal_window_get_instance_private (GCAL_WINDOW (object));
 
   g_free (priv->active_date);
+  g_free (priv->current_date);
 
   if (priv->views_switcher != NULL)
     g_object_unref (priv->views_switcher);
diff --git a/src/gcal-year-view.c b/src/gcal-year-view.c
index 67c08f9..979a678 100644
--- a/src/gcal-year-view.c
+++ b/src/gcal-year-view.c
@@ -964,6 +964,9 @@ gcal_year_view_finalize (GObject *object)
   g_free (priv->navigator_grid);
   g_free (priv->selected_data);
 
+  g_free (priv->start_selected_date);
+  g_free (priv->end_selected_date);
+
   if (priv->date != NULL)
     g_free (priv->date);
 
@@ -1162,7 +1165,10 @@ gcal_year_view_component_added (ECalDataModelSubscriber *subscriber,
         (event_start >= range_start && event_end <= range_end) ||
         (event_start >= range_start && event_start <= range_end) ||
         (event_end >= range_start && event_end <= range_end)))
-    goto out;
+    {
+      g_object_unref (data->event_component);
+      goto out;
+    }
 
   add_event_to_day_array (year_view, data, days_widgets_array, days_span);
   gtk_stack_set_visible_child_name (GTK_STACK (priv->navigator_stack), "events-list");


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]