From: <si...@us...> - 2009-04-02 00:28:29
|
Revision: 717 http://osmo-pim.svn.sourceforge.net/osmo-pim/?rev=717&view=rev Author: silloz Date: 2009-04-02 00:28:27 +0000 (Thu, 02 Apr 2009) Log Message: ----------- * fixed several memory leaks Modified Paths: -------------- trunk/src/calendar.c trunk/src/calendar_ical.c trunk/src/calendar_notes.c trunk/src/contacts_items.c trunk/src/notes_items.c trunk/src/tasks_items.c trunk/src/utils.c Modified: trunk/src/calendar.c =================================================================== --- trunk/src/calendar.c 2009-04-01 18:04:49 UTC (rev 716) +++ trunk/src/calendar.c 2009-04-02 00:28:27 UTC (rev 717) @@ -949,9 +949,9 @@ void calendar_clear_text_cb (GtkWidget *widget, gpointer user_data) { -gint response; -gchar *text; -gchar tmpbuf[BUFFER_SIZE]; + gchar *text = NULL; + gchar tmpbuf[BUFFER_SIZE]; + gint response; GUI *appGUI = (GUI *) user_data; text = calendar_get_note_text (appGUI); @@ -1141,12 +1141,14 @@ void calendar_store_note (GUI *appGUI) { -gchar *text; + gchar *text = NULL; text = calendar_get_note_text (appGUI); if (config.day_notes_visible && strlen (text)) cal_add_note (appGUI->cal->date, cal_get_note_color (appGUI->cal->date, appGUI), text, appGUI); + + g_free (text); } /*------------------------------------------------------------------------------*/ @@ -1230,20 +1232,22 @@ } /*------------------------------------------------------------------------------*/ -/* FIXME */ + void enable_disable_note_buttons (GUI *appGUI) { -gboolean state; + gboolean state = FALSE; + gchar *text = NULL; - if (strlen (calendar_get_note_text (appGUI))) { + text = calendar_get_note_text (appGUI); + + if (strlen (text)) state = TRUE; - } else { - state = FALSE; - } - gtk_widget_set_sensitive (appGUI->cal->n_clear_button, state); - gtk_widget_set_sensitive (appGUI->cal->n_select_color_button, state); + gtk_widget_set_sensitive (appGUI->cal->n_clear_button, state); + gtk_widget_set_sensitive (appGUI->cal->n_select_color_button, state); + + g_free (text); } /*------------------------------------------------------------------------------*/ @@ -1980,18 +1984,24 @@ void colors_category_selected (GUI *appGUI) { -GtkTreeIter iter; -GtkTreeModel *model; -gchar *color_val; -gint n; + GtkTreeModel *model; + GtkTreeIter iter; + gchar *color_val = NULL; + gchar *text = NULL; + gint n; if (gtk_tree_selection_get_selected (appGUI->cal->colors_category_select, &model, &iter)) { gtk_tree_model_get (GTK_TREE_MODEL (appGUI->cal->colors_category_store), &iter, 1, &color_val, 3, &n, -1); - cal_add_note (appGUI->cal->date, color_val, calendar_get_note_text (appGUI), appGUI); + + text = calendar_get_note_text (appGUI); + cal_add_note (appGUI->cal->date, color_val, text, appGUI); cal_mark_days_with_notes (appGUI->cal->date, appGUI); - if (color_val != NULL) g_free (color_val); + select_bg_color_close_cb (NULL, NULL, appGUI); update_aux_calendars (appGUI); + + g_free (color_val); + g_free (text); } } Modified: trunk/src/calendar_ical.c =================================================================== --- trunk/src/calendar_ical.c 2009-04-01 18:04:49 UTC (rev 716) +++ trunk/src/calendar_ical.c 2009-04-02 00:28:27 UTC (rev 717) @@ -356,11 +356,10 @@ ics_file_entry->filename = g_strdup(ical_filename); ics_file_entry->entries_list = NULL; - + ics_parse_file (ics_file_entry, ical_name, ical_filename, desc_flag, FALSE, appGUI); appGUI->cal->ics_files_list = g_slist_append (appGUI->cal->ics_files_list, ics_file_entry); - } } @@ -384,23 +383,16 @@ entry = g_slist_nth_data (appGUI->cal->ics_files_list, i); - if (entry->filename != NULL) { - g_free(entry->filename); - } + g_free (entry->filename); if (entry->entries_list != NULL) { - + for (j = 0, node2 = entry->entries_list; node2 != NULL; node2 = node2->next, j++) { - - item = g_slist_nth_data (entry->entries_list, j); - if (item->summary != NULL) { - g_free(item->summary); - } - if (item->description != NULL) { - g_free(item->description); - } - + item = g_slist_nth_data (entry->entries_list, j); + g_free (item->summary); + g_free (item->description); + g_free (item); } if (entry->entries_list != NULL) { @@ -409,6 +401,8 @@ } } + + g_free (entry); } if (appGUI->cal->ics_files_list != NULL) { @@ -492,6 +486,8 @@ } main_node = main_node->next; } + + xmlFreeDoc(doc); } ics_check_if_valid (appGUI); @@ -537,10 +533,11 @@ xmlNewChild(entry_node, NULL, (const xmlChar *) "use_year", (xmlChar *) tmpbuf); } - xmlSaveFormatFileEnc(prefs_get_config_filename(ICAL_ENTRIES_FILENAME, appGUI), doc, "utf-8", 1); - xmlFreeDoc(doc); + xmlSaveFormatFileEnc (prefs_get_config_filename(ICAL_ENTRIES_FILENAME, appGUI), doc, "utf-8", 1); + xmlFree (attr); + xmlFreeDoc (doc); - ics_calendar_close (appGUI); + ics_calendar_close (appGUI); } /*------------------------------------------------------------------------------*/ Modified: trunk/src/calendar_notes.c =================================================================== --- trunk/src/calendar_notes.c 2009-04-01 18:04:49 UTC (rev 716) +++ trunk/src/calendar_notes.c 2009-04-02 00:28:27 UTC (rev 717) @@ -232,9 +232,9 @@ void cal_remove_note (GDate *date, GUI *appGUI) { -GSList *lnode; -struct note *a; -gint i; + GSList *lnode; + struct note *a = NULL; + gint i; if (appGUI->cal->notes_list == NULL) return; @@ -242,9 +242,10 @@ a = g_slist_nth_data (appGUI->cal->notes_list, i); if (a->date == g_date_get_julian (date)) { - if (a->color != NULL) g_free (a->color); - if (a->note != NULL) g_free (a->note); + g_free (a->color); + g_free (a->note); appGUI->cal->notes_list = g_slist_remove (appGUI->cal->notes_list, a); + g_free (a); break; } } @@ -255,22 +256,22 @@ void cal_free_notes_list (GUI *appGUI) { -GSList *node; -struct note *a; -gint i = 0; + GSList *node; + struct note *a; + gint i = 0; - if (appGUI->cal->notes_list != NULL) { + g_return_if_fail (appGUI->cal->notes_list != NULL); - for (node = appGUI->cal->notes_list; node != NULL; node = node->next, i++) { - a = g_slist_nth_data (appGUI->cal->notes_list, i); - if (a->color != NULL) g_free (a->color); - if (a->note != NULL) g_free (a->note); - } + for (node = appGUI->cal->notes_list; node != NULL; node = node->next, i++) { + a = g_slist_nth_data (appGUI->cal->notes_list, i); + g_free (a->color); + g_free (a->note); + g_free (a); + } - g_slist_free (appGUI->cal->notes_list); - appGUI->cal->notes_list = NULL; + g_slist_free (appGUI->cal->notes_list); + appGUI->cal->notes_list = NULL; - } } /*------------------------------------------------------------------------------*/ @@ -321,6 +322,7 @@ gtk_list_store_set (appGUI->opt->calendar_category_store, &iter, 0, image, 1, prop, 2, (gchar *) key, -1); g_object_unref (image); + xmlFree (prop); xmlFree (key); } } @@ -422,6 +424,7 @@ } xmlSaveFormatFileEnc (prefs_get_config_filename (CALENDAR_NOTES_FILENAME, appGUI), doc, "utf-8", 1); + xmlFree (attr); xmlFreeDoc (doc); appGUI->save_status &= ~WRT_CALENDAR_NOTES; Modified: trunk/src/contacts_items.c =================================================================== --- trunk/src/contacts_items.c 2009-04-01 18:04:49 UTC (rev 716) +++ trunk/src/contacts_items.c 2009-04-02 00:28:27 UTC (rev 717) @@ -1227,15 +1227,16 @@ while (group_node != NULL) { if ((!xmlStrcmp(group_node->name, (const xmlChar *) "name"))) { - key = xmlNodeGetContent(group_node->xmlChildrenNode); - context = xmlCreateDocParserCtxt(key); - out = (xmlChar*) xmlStringDecodeEntities(context, key, XML_SUBSTITUTE_REF, 0, 0, 0); - xmlFreeParserCtxt (context); + key = xmlNodeGetContent (group_node->xmlChildrenNode); + context = xmlCreateDocParserCtxt (key); + out = (xmlChar*) xmlStringDecodeEntities (context, key, XML_SUBSTITUTE_REF, 0, 0, 0); + xmlFreeParserCtxt (context); if (out != NULL) { gtk_list_store_append(appGUI->opt->contacts_group_store, &iter); gtk_list_store_set(appGUI->opt->contacts_group_store, &iter, 0, (gchar *) out, -1); } - xmlFree(out); + xmlFree (out); + xmlFree (key); } group_node = group_node->next; @@ -1271,22 +1272,24 @@ if (j == COLUMN_BIRTH_DAY_DATE || j == COLUMN_NAME_DAY_DATE) { key = xmlNodeGetContent(cnode->xmlChildrenNode); context = xmlCreateDocParserCtxt(key); - out = (xmlChar*) xmlStringDecodeEntities(context, key, XML_SUBSTITUTE_REF, 0, 0, 0); - xmlFreeParserCtxt (context); + out = (xmlChar*) xmlStringDecodeEntities(context, key, XML_SUBSTITUTE_REF, 0, 0, 0); + xmlFreeParserCtxt (context); if (out != NULL) { sscanf((gchar *) out, "%d", &date); gtk_list_store_set(appGUI->cnt->contacts_list_store, &iter, j, date, -1); xmlFree(out); } + xmlFree (key); } else { key = xmlNodeGetContent(cnode->xmlChildrenNode); context = xmlCreateDocParserCtxt(key); - out = (xmlChar*) xmlStringDecodeEntities(context, key, XML_SUBSTITUTE_REF, 0, 0, 0); - xmlFreeParserCtxt (context); + out = (xmlChar*) xmlStringDecodeEntities(context, key, XML_SUBSTITUTE_REF, 0, 0, 0); + xmlFreeParserCtxt (context); if (out != NULL) { gtk_list_store_set(appGUI->cnt->contacts_list_store, &iter, j, out, -1); xmlFree(out); } + xmlFree (key); } } } @@ -1383,6 +1386,7 @@ } xmlSaveFormatFileEnc (prefs_get_config_filename(CONTACTS_ENTRIES_FILENAME, appGUI), doc, "utf-8", 1); + xmlFree (attr); xmlFreeDoc (doc); appGUI->save_status &= ~WRT_CONTACTS; Modified: trunk/src/notes_items.c =================================================================== --- trunk/src/notes_items.c 2009-04-01 18:04:49 UTC (rev 716) +++ trunk/src/notes_items.c 2009-04-02 00:28:27 UTC (rev 717) @@ -1340,25 +1340,25 @@ i = 0; - while (gtk_tree_model_iter_nth_child(GTK_TREE_MODEL(appGUI->nte->notes_list_store), &iter, NULL, i++)) { + while (gtk_tree_model_iter_nth_child (GTK_TREE_MODEL (appGUI->nte->notes_list_store), &iter, NULL, i++)) { - gtk_tree_model_get(GTK_TREE_MODEL(appGUI->nte->notes_list_store), &iter, - N_COLUMN_NAME, &name, - N_COLUMN_CATEGORY, &category, - N_COLUMN_LAST_CHANGES_DATE_JULIAN, &last_changes_date_julian, - N_COLUMN_LAST_CHANGES_TIME, &last_changes_time, - N_COLUMN_CREATE_DATE_JULIAN, &create_date_julian, - N_COLUMN_CREATE_TIME, &create_time, - N_COLUMN_REMEMBER_EDITOR_LINE, &remember_editor_line, - N_COLUMN_EDITOR_LINE, &editor_line, - N_COLUMN_FILENAME, ¬e_filename, -1); + gtk_tree_model_get (GTK_TREE_MODEL (appGUI->nte->notes_list_store), &iter, + N_COLUMN_NAME, &name, + N_COLUMN_CATEGORY, &category, + N_COLUMN_LAST_CHANGES_DATE_JULIAN, &last_changes_date_julian, + N_COLUMN_LAST_CHANGES_TIME, &last_changes_time, + N_COLUMN_CREATE_DATE_JULIAN, &create_date_julian, + N_COLUMN_CREATE_TIME, &create_time, + N_COLUMN_REMEMBER_EDITOR_LINE, &remember_editor_line, + N_COLUMN_EDITOR_LINE, &editor_line, + N_COLUMN_FILENAME, ¬e_filename, -1); - note_node = xmlNewChild(node, NULL, (const xmlChar *) "entry", (xmlChar *) NULL); + note_node = xmlNewChild (node, NULL, (const xmlChar *) "entry", (xmlChar *) NULL); utl_xml_put_str ("name", name, note_node, doc); - g_free (name); + g_free (name); utl_xml_put_str ("category", category, note_node, doc); - g_free (category); + g_free (category); utl_xml_put_uint ("last_changes_date", last_changes_date_julian, note_node); utl_xml_put_int ("last_changes_time", last_changes_time, note_node); utl_xml_put_uint ("create_date", create_date_julian, note_node); @@ -1366,13 +1366,14 @@ utl_xml_put_int ("remember_editor_line", remember_editor_line, note_node); utl_xml_put_int ("editor_line", editor_line, note_node); utl_xml_put_str ("filename", note_filename, note_node, doc); - g_free (note_filename); - } + g_free (note_filename); + } - xmlSaveFormatFileEnc(prefs_get_config_filename(NOTES_ENTRIES_FILENAME, appGUI), doc, "utf-8", 1); - xmlFreeDoc(doc); + xmlSaveFormatFileEnc (prefs_get_config_filename (NOTES_ENTRIES_FILENAME, appGUI), doc, "utf-8", 1); + xmlFree (attr); + xmlFreeDoc (doc); - appGUI->save_status &= ~WRT_NOTES; + appGUI->save_status &= ~WRT_NOTES; } /*------------------------------------------------------------------------------*/ Modified: trunk/src/tasks_items.c =================================================================== --- trunk/src/tasks_items.c 2009-04-01 18:04:49 UTC (rev 716) +++ trunk/src/tasks_items.c 2009-04-02 00:28:27 UTC (rev 717) @@ -1814,6 +1814,7 @@ } xmlSaveFormatFileEnc (prefs_get_config_filename (TASKS_ENTRIES_FILENAME, appGUI), doc, "utf-8", 1); + xmlFree (attr); xmlFreeDoc (doc); appGUI->save_status &= ~WRT_TASKS; Modified: trunk/src/utils.c =================================================================== --- trunk/src/utils.c 2009-04-01 18:04:49 UTC (rev 716) +++ trunk/src/utils.c 2009-04-02 00:28:27 UTC (rev 717) @@ -293,10 +293,10 @@ void utl_xml_get_int (gchar *name, gint *iname, xmlNodePtr node) { -xmlChar *key; + xmlChar *key; if ((xmlStrcmp (node->name, (const xmlChar *) name)) == 0) { - key = xmlNodeGetContent(node->xmlChildrenNode); + key = xmlNodeGetContent (node->xmlChildrenNode); if (key != NULL) { *iname = atoi ((gchar *) key); xmlFree (key); @@ -309,10 +309,10 @@ void utl_xml_get_uint (gchar *name, guint *uname, xmlNodePtr node) { -xmlChar *key; + xmlChar *key; if ((xmlStrcmp (node->name, (const xmlChar *) name)) == 0) { - key = xmlNodeGetContent(node->xmlChildrenNode); + key = xmlNodeGetContent (node->xmlChildrenNode); if (key != NULL) { *uname = (guint) atoi ((gchar *) key); xmlFree (key); @@ -325,10 +325,10 @@ void utl_xml_get_char (gchar *name, gchar *cname, xmlNodePtr node) { -xmlChar *key; + xmlChar *key; if ((xmlStrcmp (node->name, (const xmlChar *) name)) == 0) { - key = xmlNodeGetContent(node->xmlChildrenNode); + key = xmlNodeGetContent (node->xmlChildrenNode); if (key != NULL) { *cname = key[0]; xmlFree (key); @@ -341,15 +341,16 @@ void utl_xml_get_str (gchar *name, gchar **sname, xmlNodePtr node) { -xmlChar *key, *out; -xmlParserCtxtPtr context; + xmlParserCtxtPtr context; + xmlChar *key, *out; if ((xmlStrcmp (node->name, (const xmlChar *) name)) == 0) { - key = xmlNodeGetContent(node->xmlChildrenNode); - context = xmlCreateDocParserCtxt(key); - out = (xmlChar*)xmlStringDecodeEntities(context, key, XML_SUBSTITUTE_REF, 0, 0, 0); - xmlFreeParserCtxt (context); + key = xmlNodeGetContent (node->xmlChildrenNode); + context = xmlCreateDocParserCtxt (key); + out = (xmlChar*) xmlStringDecodeEntities (context, key, XML_SUBSTITUTE_REF, 0, 0, 0); + xmlFreeParserCtxt (context); + xmlFree (key); if (out != NULL) { *sname = g_strdup ((gchar *) out); @@ -363,15 +364,16 @@ void utl_xml_get_strn (gchar *name, gchar *sname, gint buffer_size, xmlNodePtr node) { -xmlChar *key, *out; -xmlParserCtxtPtr context; + xmlParserCtxtPtr context; + xmlChar *key, *out; if ((xmlStrcmp (node->name, (const xmlChar *) name)) == 0) { - key = xmlNodeGetContent(node->xmlChildrenNode); - context = xmlCreateDocParserCtxt(key); - out = (xmlChar*) xmlStringDecodeEntities(context, key, XML_SUBSTITUTE_REF, 0, 0, 0); - xmlFreeParserCtxt (context); + key = xmlNodeGetContent (node->xmlChildrenNode); + context = xmlCreateDocParserCtxt (key); + out = (xmlChar*) xmlStringDecodeEntities (context, key, XML_SUBSTITUTE_REF, 0, 0, 0); + xmlFreeParserCtxt (context); + xmlFree (key); if (out != NULL) { g_strlcpy (sname, (gchar *) out, buffer_size); @@ -407,13 +409,13 @@ void utl_xml_put_char (gchar *name, gchar character, xmlNodePtr node, xmlDocPtr doc) { -gchar buffer[32]; -xmlChar *escaped; + gchar buffer[32]; + xmlChar *escaped; g_snprintf (buffer, 32, "%c", character); escaped = xmlEncodeSpecialChars(doc, (const xmlChar *) buffer); xmlNewTextChild (node, NULL, (const xmlChar *) name, (xmlChar *) escaped); - xmlFree (escaped); + xmlFree (escaped); } /*------------------------------------------------------------------------------*/ @@ -421,11 +423,11 @@ void utl_xml_put_str (gchar *name, gchar *string, xmlNodePtr node, xmlDocPtr doc) { -xmlChar *escaped; + xmlChar *escaped; escaped = xmlEncodeSpecialChars(doc, (const xmlChar *) string); xmlNewTextChild (node, NULL, (const xmlChar *) name, (xmlChar *) escaped); - xmlFree (escaped); + xmlFree (escaped); } /*------------------------------------------------------------------------------*/ @@ -433,14 +435,14 @@ void utl_xml_put_strn (gchar *name, gchar *string, gint buffer_size, xmlNodePtr node, xmlDocPtr doc) { -gchar buffer[BUFFER_SIZE]; -xmlChar *escaped; + gchar buffer[BUFFER_SIZE]; + xmlChar *escaped; if (buffer_size > BUFFER_SIZE) buffer_size = BUFFER_SIZE; g_snprintf (buffer, buffer_size, "%s", string); escaped = xmlEncodeSpecialChars(doc, (const xmlChar *) buffer); xmlNewTextChild (node, NULL, (const xmlChar *) name, (xmlChar *) escaped); - xmlFree (escaped); + xmlFree (escaped); } /*------------------------------------------------------------------------------*/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |