From b987e70045280932e50a30f89ca1161dfe2c101d Mon Sep 17 00:00:00 2001 From: Hermet Park Date: Thu, 4 Aug 2016 23:48:50 +0900 Subject: [PATCH] fix memory leaks. --- src/bin/file_mgr.c | 18 ++++++++++++++---- src/bin/file_tab.c | 4 +++- src/lib/redoundo.c | 4 +++- 3 files changed, 20 insertions(+), 6 deletions(-) diff --git a/src/bin/file_mgr.c b/src/bin/file_mgr.c index 36da7f6..3f6a911 100644 --- a/src/bin/file_mgr.c +++ b/src/bin/file_mgr.c @@ -364,12 +364,17 @@ file_mgr_file_open(const char *file_path) return EINA_FALSE; } //Ok, This selected file is already openend, let's activate the item. - if (!strcmp(ecore_file_realpath(file_path), - ecore_file_realpath(it_file_path))) + char *txt1 = ecore_file_realpath(file_path); + char *txt2 = ecore_file_realpath(it_file_path); + if (!strcmp(txt1, txt2)) { file_mgr_file_focus(eit); + free(txt1); + free(txt2); return EINA_TRUE; } + free(txt1); + free(txt2); } //Case 2. sub files. @@ -382,12 +387,17 @@ file_mgr_file_open(const char *file_path) if (!it_file_path) continue; //Ok, This selected file is already openend, let's activate the item. - if (!strcmp(ecore_file_realpath(file_path), - ecore_file_realpath(it_file_path))) + char *txt1 = ecore_file_realpath(file_path); + char *txt2 = ecore_file_realpath(it_file_path); + if (!strcmp(txt1, txt2)) { file_mgr_file_focus(eit); + free(txt1); + free(txt2); return EINA_TRUE; } + free(txt1); + free(txt2); } //This selected file hasn't been opened yet, so let's open this file newly. diff --git a/src/bin/file_tab.c b/src/bin/file_tab.c index e0cdb78..67e12a4 100644 --- a/src/bin/file_tab.c +++ b/src/bin/file_tab.c @@ -198,7 +198,9 @@ file_tab_it_add(Enventor_Item *enventor_it) fti->it = elm_list_item_append(fd->list, filename, btn, NULL, list_item_selected_cb, fti); - elm_object_item_tooltip_text_set(fti->it, ecore_file_realpath(filepath)); + char *txt = ecore_file_realpath(filepath); + elm_object_item_tooltip_text_set(fti->it, txt); + free(txt); elm_list_go(fd->list); diff --git a/src/lib/redoundo.c b/src/lib/redoundo.c index 0771d0b..3762452 100644 --- a/src/lib/redoundo.c +++ b/src/lib/redoundo.c @@ -28,13 +28,15 @@ struct redoundo_s Eina_List *current_node; diff_data *last_diff; unsigned int queue_max; //Maximum queuing data count 0: unlimited - Eina_Bool internal_change : 1; //Entry change by redoundo edit_data *ed; struct { Ecore_Timer *timer; Eina_Bool continues_input; double input_delay; } smart; + + Eina_Bool internal_change : 1; //Entry change by redoundo + }; /*****************************************************************************/