diff options
| author | rbuj <[email protected]> | 2021-10-21 21:34:05 +0200 | 
|---|---|---|
| committer | raveit65 <[email protected]> | 2022-01-29 15:00:59 +0100 | 
| commit | db168aad4c8c06c8a8c3c2fe712050435665f103 (patch) | |
| tree | 77dd51b245621fe6d3a04c6538fa16b3e30996ce | |
| parent | 535e01ed893f6e67f73ae6a9de03e072d86b78e3 (diff) | |
| download | engrampa-db168aad4c8c06c8a8c3c2fe712050435665f103.tar.bz2 engrampa-db168aad4c8c06c8a8c3c2fe712050435665f103.tar.xz | |
fr-window: fix memory leak
| -rw-r--r-- | src/fr-window.c | 13 | 
1 files changed, 10 insertions, 3 deletions
| diff --git a/src/fr-window.c b/src/fr-window.c index 6790985..9154f09 100644 --- a/src/fr-window.c +++ b/src/fr-window.c @@ -539,6 +539,7 @@ fr_window_free_private_data (FrWindow *window)  	g_free (window->priv->add_default_dir);  	g_free (window->priv->extract_default_dir);  	g_free (window->priv->archive_uri); +	g_free (window->priv->working_archive);  	g_free (window->priv->password);  	g_free (window->priv->password_for_paste); @@ -941,7 +942,7 @@ sort_by_type (gconstpointer  ptr1,  	FileData    *fdata1 = *((FileData **) ptr1);  	FileData    *fdata2 = *((FileData **) ptr2);  	int          result; -	const char  *desc1, *desc2; +	char        *desc1, *desc2;  	if (file_data_is_dir (fdata1) != file_data_is_dir (fdata2)) {  		if (file_data_is_dir (fdata1)) @@ -956,6 +957,9 @@ sort_by_type (gconstpointer  ptr1,  	desc2 = g_content_type_get_description (fdata2->content_type);  	result = strcasecmp (desc1, desc2); +	g_free (desc1); +	g_free (desc2); +  	if (result == 0)  		return sort_by_name (ptr1, ptr2);  	else @@ -1500,7 +1504,7 @@ fr_window_populate_file_list (FrWindow  *window,  			char       *utf8_path;  			char       *s_size;  			char       *s_time; -			const char *desc; +			char       *desc;  			utf8_path = g_filename_display_name (fdata->path); @@ -1523,6 +1527,7 @@ fr_window_populate_file_list (FrWindow  *window,  			g_free (utf8_path);  			g_free (s_size);  			g_free (s_time); +			g_free (desc);  		}  		g_free (utf8_name);  		if (icon != NULL) @@ -2331,9 +2336,10 @@ fr_window_working_archive_cb (FrCommand  *command,  			      FrWindow   *window)  {  	g_free (window->priv->working_archive); -	window->priv->working_archive = NULL;  	if (archive_filename != NULL)  		window->priv->working_archive = g_strdup (archive_filename); +	else +		window->priv->working_archive = NULL;  	progress_dialog_update_action_description (window);  	return TRUE; @@ -2780,6 +2786,7 @@ fr_window_add_to_recent_list (FrWindow *window,  		recent_data->app_exec = "engrampa";  		gtk_recent_manager_add_full (gtk_recent_manager_get_default (), uri, recent_data); +		g_free (recent_data->mime_type);  		g_free (recent_data);  	}  	else | 
