aboutsummaryrefslogtreecommitdiffstats
path: root/e-util
diff options
context:
space:
mode:
authorMilan Crha <mcrha@redhat.com>2014-04-25 00:58:34 +0800
committerMilan Crha <mcrha@redhat.com>2014-04-25 00:59:16 +0800
commitfdde33396195d6287e9b582e7ffe8a3bff453e84 (patch)
tree2349890c4111d28dd5ac4f90629d211143e08889 /e-util
parentf6d59b3008cb3a41a160ec018761108d042d3159 (diff)
downloadgsoc2013-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.c6
-rw-r--r--e-util/e-cell-date-edit.c6
-rw-r--r--e-util/e-cell-date.c2
-rw-r--r--e-util/e-cell-number.c2
-rw-r--r--e-util/e-cell-percent.c2
-rw-r--r--e-util/e-cell-size.c2
-rw-r--r--e-util/e-cell-text.c15
-rw-r--r--e-util/e-cell-text.h4
-rw-r--r--e-util/e-web-view.c1
-rw-r--r--e-util/gal-view-instance.c5
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) {