diff options
author | Milan Crha <mcrha@redhat.com> | 2014-04-25 00:58:34 +0800 |
---|---|---|
committer | Milan Crha <mcrha@redhat.com> | 2014-04-25 00:59:16 +0800 |
commit | fdde33396195d6287e9b582e7ffe8a3bff453e84 (patch) | |
tree | 2349890c4111d28dd5ac4f90629d211143e08889 /e-util | |
parent | f6d59b3008cb3a41a160ec018761108d042d3159 (diff) | |
download | gsoc2013-evolution-fdde33396195d6287e9b582e7ffe8a3bff453e84.tar gsoc2013-evolution-fdde33396195d6287e9b582e7ffe8a3bff453e84.tar.gz gsoc2013-evolution-fdde33396195d6287e9b582e7ffe8a3bff453e84.tar.bz2 gsoc2013-evolution-fdde33396195d6287e9b582e7ffe8a3bff453e84.tar.lz gsoc2013-evolution-fdde33396195d6287e9b582e7ffe8a3bff453e84.tar.xz gsoc2013-evolution-fdde33396195d6287e9b582e7ffe8a3bff453e84.tar.zst gsoc2013-evolution-fdde33396195d6287e9b582e7ffe8a3bff453e84.zip |
Fix various memory leaks
Diffstat (limited to 'e-util')
-rw-r--r-- | e-util/e-cell-combo.c | 6 | ||||
-rw-r--r-- | e-util/e-cell-date-edit.c | 6 | ||||
-rw-r--r-- | e-util/e-cell-date.c | 2 | ||||
-rw-r--r-- | e-util/e-cell-number.c | 2 | ||||
-rw-r--r-- | e-util/e-cell-percent.c | 2 | ||||
-rw-r--r-- | e-util/e-cell-size.c | 2 | ||||
-rw-r--r-- | e-util/e-cell-text.c | 15 | ||||
-rw-r--r-- | e-util/e-cell-text.h | 4 | ||||
-rw-r--r-- | e-util/e-web-view.c | 1 | ||||
-rw-r--r-- | e-util/gal-view-instance.c | 5 |
10 files changed, 35 insertions, 10 deletions
diff --git a/e-util/e-cell-combo.c b/e-util/e-cell-combo.c index 34384293c7..d499026a9d 100644 --- a/e-util/e-cell-combo.c +++ b/e-util/e-cell-combo.c @@ -406,7 +406,8 @@ e_cell_combo_select_matching_item (ECellCombo *ecc) if (!found) gtk_tree_selection_unselect_all (selection); - e_cell_text_free_text (ecell_text, cell_text); + e_cell_text_free_text (ecell_text, ecv->e_table_model, + ecol->spec->model_col, cell_text); } static void @@ -819,7 +820,8 @@ e_cell_combo_update_cell (ECellCombo *ecc) ecol->spec->model_col, ecp->popup_row, text); } - e_cell_text_free_text (ecell_text, old_text); + e_cell_text_free_text (ecell_text, ecv->e_table_model, + ecol->spec->model_col, old_text); g_free (text); } diff --git a/e-util/e-cell-date-edit.c b/e-util/e-cell-date-edit.c index 6efe6f8204..5b203b494d 100644 --- a/e-util/e-cell-date-edit.c +++ b/e-util/e-cell-date-edit.c @@ -563,7 +563,8 @@ e_cell_date_edit_set_popup_values (ECellDateEdit *ecde) } } - e_cell_text_free_text (ecell_text, cell_text); + e_cell_text_free_text (ecell_text, ecv->e_table_model, + ecol->spec->model_col, cell_text); } static void @@ -963,7 +964,8 @@ e_cell_date_edit_update_cell (ECellDateEdit *ecde, ecol->spec->model_col, ecp->popup_row, NULL); } - e_cell_text_free_text (ecell_text, old_text); + e_cell_text_free_text (ecell_text, ecv->e_table_model, + ecol->spec->model_col, old_text); } static void diff --git a/e-util/e-cell-date.c b/e-util/e-cell-date.c index e6c4d33505..973ae39196 100644 --- a/e-util/e-cell-date.c +++ b/e-util/e-cell-date.c @@ -62,6 +62,8 @@ ecd_get_text (ECellText *cell, static void ecd_free_text (ECellText *cell, + ETableModel *model, + gint col, gchar *text) { g_free (text); diff --git a/e-util/e-cell-number.c b/e-util/e-cell-number.c index c83063a324..c59c4b99e2 100644 --- a/e-util/e-cell-number.c +++ b/e-util/e-cell-number.c @@ -49,6 +49,8 @@ ecn_get_text (ECellText *cell, static void ecn_free_text (ECellText *cell, + ETableModel *model, + gint col, gchar *text) { g_free (text); diff --git a/e-util/e-cell-percent.c b/e-util/e-cell-percent.c index 668899ad88..981f252617 100644 --- a/e-util/e-cell-percent.c +++ b/e-util/e-cell-percent.c @@ -62,6 +62,8 @@ ecp_get_text (ECellText *cell, static void ecp_free_text (ECellText *cell, + ETableModel *model, + gint col, gchar *text) { /* Do Nothing. */ diff --git a/e-util/e-cell-size.c b/e-util/e-cell-size.c index 19bd49177e..662443e685 100644 --- a/e-util/e-cell-size.c +++ b/e-util/e-cell-size.c @@ -54,6 +54,8 @@ ecd_get_text (ECellText *cell, static void ecd_free_text (ECellText *cell, + ETableModel *model, + gint col, gchar *text) { g_free (text); diff --git a/e-util/e-cell-text.c b/e-util/e-cell-text.c index 5a05da5128..757954b4f2 100644 --- a/e-util/e-cell-text.c +++ b/e-util/e-cell-text.c @@ -217,8 +217,11 @@ ect_real_get_text (ECellText *cell, static void ect_real_free_text (ECellText *cell, + ETableModel *model, + gint col, gchar *text) { + e_table_model_free_value (model, col, text); } /* This is the default method for setting the ETableModel value based on @@ -599,7 +602,7 @@ generate_layout (ECellTextView *text_view, if (row >= 0) { gchar *temp = e_cell_text_get_text (ect, ecell_view->e_table_model, model_col, row); layout = build_layout (text_view, row, temp ? temp : "?", width); - e_cell_text_free_text (ect, temp); + e_cell_text_free_text (ect, ecell_view->e_table_model, model_col, temp); } else layout = build_layout (text_view, row, "Mumbo Jumbo", width); @@ -1143,7 +1146,7 @@ ect_enter_edit (ECellView *ecell_view, temp = e_cell_text_get_text (ect, ecell_view->e_table_model, model_col, row); edit->old_text = g_strdup (temp); - e_cell_text_free_text (ect, temp); + e_cell_text_free_text (ect, ecell_view->e_table_model, model_col, temp); edit->text = g_strdup (edit->old_text); if (edit->im_context) { @@ -1386,7 +1389,7 @@ ect_print (ECellView *ecell_view, pango_font_description_free (font_des); g_object_unref (layout); - e_cell_text_free_text (ect, string); + e_cell_text_free_text (ect, ecell_view->e_table_model, model_col, string); } static gdouble @@ -1942,6 +1945,8 @@ e_cell_text_get_text (ECellText *cell, void e_cell_text_free_text (ECellText *cell, + ETableModel *model, + gint col, gchar *text) { ECellTextClass *class; @@ -1952,7 +1957,7 @@ e_cell_text_free_text (ECellText *cell, if (class->free_text == NULL) return; - class->free_text (cell, text); + class->free_text (cell, model, col, text); } void @@ -2800,7 +2805,7 @@ e_cell_text_get_text_by_view (ECellView *cell_view, E_CELL_TEXT (cell_view->ecell), cell_view->e_table_model, col, row); ret = g_strdup (model_text); - e_cell_text_free_text (E_CELL_TEXT (cell_view->ecell), model_text); + e_cell_text_free_text (E_CELL_TEXT (cell_view->ecell), cell_view->e_table_model, col, model_text); } return ret; diff --git a/e-util/e-cell-text.h b/e-util/e-cell-text.h index f02101ef5a..0d8a04c402 100644 --- a/e-util/e-cell-text.h +++ b/e-util/e-cell-text.h @@ -106,6 +106,8 @@ struct _ECellTextClass { gint col, gint row); void (*free_text) (ECellText *cell, + ETableModel *model, + gint col, gchar *text); void (*set_value) (ECellText *cell, ETableModel *model, @@ -145,6 +147,8 @@ gchar * e_cell_text_get_text (ECellText *cell, /* Frees the value returned by e_cell_text_get_text(). */ void e_cell_text_free_text (ECellText *cell, + ETableModel *model, + gint col, gchar *text); /* Sets the ETableModel value, based on the given string. */ diff --git a/e-util/e-web-view.c b/e-util/e-web-view.c index 5750ad9628..ac238bc2c0 100644 --- a/e-util/e-web-view.c +++ b/e-util/e-web-view.c @@ -1689,6 +1689,7 @@ e_web_view_init (EWebView *web_view) G_CALLBACK (e_web_view_update_fonts), web_view); web_view->priv->antialiasing_changed_handler_id = handler_id; g_object_unref (settings); + g_settings_schema_unref (settings_schema); } e_web_view_update_fonts (web_view); diff --git a/e-util/gal-view-instance.c b/e-util/gal-view-instance.c index d74dc8db9f..26e01c3f93 100644 --- a/e-util/gal-view-instance.c +++ b/e-util/gal-view-instance.c @@ -273,7 +273,9 @@ load_current_view (GalViewInstance *instance) } if (doc == NULL) { - instance->current_id = g_strdup (gal_view_instance_get_default_view (instance)); + gchar *view_id = g_strdup (gal_view_instance_get_default_view (instance)); + g_free (instance->current_id); + instance->current_id = view_id; if (instance->current_id) { gint index = gal_view_collection_get_view_index_by_id ( @@ -291,6 +293,7 @@ load_current_view (GalViewInstance *instance) } root = xmlDocGetRootElement (doc); + g_free (instance->current_id); instance->current_id = e_xml_get_string_prop_by_name_with_default (root, (const guchar *)"current_view", NULL); if (instance->current_id != NULL) { |