[atomix/wip/kill-libxml] Plugged some memory leaks
- From: Robert Roth <robertroth src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [atomix/wip/kill-libxml] Plugged some memory leaks
- Date: Mon, 30 Mar 2015 09:49:16 +0000 (UTC)
commit ebae8a528140b8aa2b62a2969b0ebc044cd089d9
Author: Robert Roth <robert roth off gmail com>
Date: Mon Mar 30 12:48:57 2015 +0300
Plugged some memory leaks
src/level-manager.c | 34 +++++++++++++++++-----------------
src/level.c | 1 -
src/main.c | 11 +++++++----
src/theme-manager.c | 2 ++
4 files changed, 26 insertions(+), 22 deletions(-)
---
diff --git a/src/level-manager.c b/src/level-manager.c
index 4c12bd1..2e20160 100644
--- a/src/level-manager.c
+++ b/src/level-manager.c
@@ -263,21 +263,6 @@ static void search_level_in_dir (LevelManager *lm, gchar *dir_path)
}
}
-static gchar *lookup_level_name (gchar *filename)
-{
-
- gchar *name = NULL;
- Level *level = NULL;
-
- g_return_val_if_fail (filename != NULL, NULL);
- g_return_val_if_fail (g_file_test (filename, G_FILE_TEST_EXISTS), NULL);
-
- level = load_level (filename);
- name = level_get_name (level);
-
- return name;
-}
-
static void add_level (LevelManager *lm, gchar *levelname, gchar *filename)
{
gchar *search_result;
@@ -338,7 +323,7 @@ Level *level_manager_get_next_level (LevelManager *lm, Level *current_level)
{
filename = g_hash_table_lookup (lm->priv->levels, levelname);
if (filename != NULL)
- level = load_level (filename);
+ level = load_level (filename);
}
return level;
@@ -376,6 +361,21 @@ static GMarkupParser level_parser =
xml_parser_log_error
};
+static gchar *lookup_level_name (gchar *filename)
+{
+
+ gchar *name = NULL;
+ Level *level = NULL;
+
+ g_return_val_if_fail (filename != NULL, NULL);
+ g_return_val_if_fail (g_file_test (filename, G_FILE_TEST_EXISTS), NULL);
+
+ level = load_level (filename);
+ name = level_get_name (level);
+
+ return name;
+}
+
static Level *load_level (gchar *filename)
{
GFile *level_file;
@@ -396,6 +396,7 @@ static Level *load_level (gchar *filename)
level_file = g_file_new_for_path (filename);
if (g_file_load_contents (level_file, NULL, &level_contents, &level_length, NULL, NULL)) {
level = level_new ();
+ level->priv->file_name = g_path_get_basename (filename);
parse_context = g_markup_parse_context_new (&level_parser,
G_MARKUP_TREAT_CDATA_AS_TEXT,
level,
@@ -403,7 +404,6 @@ static Level *load_level (gchar *filename)
g_markup_parse_context_parse (parse_context, level_contents, level_length, NULL);
g_markup_parse_context_unref (parse_context);
g_free (level_contents);
- level->priv->file_name = g_path_get_basename (filename);
}
return level;
diff --git a/src/level.c b/src/level.c
index 46a8471..160672d 100644
--- a/src/level.c
+++ b/src/level.c
@@ -99,7 +99,6 @@ static void level_finalize (GObject *object)
{
LevelPrivate *priv;
Level* level = LEVEL (object);
-
priv = level->priv;
if (priv->name)
diff --git a/src/main.c b/src/main.c
index 51e8d40..24f9190 100644
--- a/src/main.c
+++ b/src/main.c
@@ -575,6 +575,7 @@ static AtomixApp *create_gui (void)
{
AtomixApp *app;
gchar *ui_path;
+ gchar *icon_path;
GtkBuilder *builder;
GtkWidget *stats_grid;
GtkWidget *time_label;
@@ -653,11 +654,13 @@ static AtomixApp *create_gui (void)
app->lb_formula = GTK_WIDGET (gtk_builder_get_object (builder, "formula_value"));
app->lb_score = GTK_WIDGET (gtk_builder_get_object (builder, "score_value"));
- gtk_window_set_default_icon_from_file (g_build_filename (DATADIR,
- "pixmaps",
- "atomix-icon.png",
- NULL),
+ icon_path = g_build_filename (DATADIR,
+ "pixmaps",
+ "atomix-icon.png",
+ NULL);
+ gtk_window_set_default_icon_from_file (icon_path,
NULL);
+ g_free (icon_path);
gtk_widget_show_all (GTK_WIDGET (app->mainwin));
diff --git a/src/theme-manager.c b/src/theme-manager.c
index 2ebb787..b787220 100644
--- a/src/theme-manager.c
+++ b/src/theme-manager.c
@@ -349,6 +349,8 @@ static Theme *load_theme (gchar *theme_dir)
}
theme_file = g_file_new_for_path (theme_file_path);
+ g_free (theme_file_path);
+
if (g_file_load_contents (theme_file, NULL, &theme_contents, &theme_length, NULL, NULL)) {
theme = theme_new ();
priv = theme->priv;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]