123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150 |
- Submitted By: Pierre Labastie <pierre dot labastie at neuf dot fr>
- Date: 2020-05-19
- Initial Package Version: 1.1.0
- Upstream Status: First patch is committed, second submitted
- Origin: https://github.com/lxde/menu-cache
- Description: Fix a memory leak and multiple definitions
- From 97e5de8682c0c44fe4e6a2df864c5fdf76cd77cc Mon Sep 17 00:00:00 2001
- From: Palo Kisa <palo.kisa@gmail.com>
- Date: Thu, 30 Nov 2017 11:36:18 +0100
- Subject: [PATCH] libmenu-cache: Fix memory leaks
- ---
- libmenu-cache/menu-cache.c | 5 +++++
- 1 file changed, 5 insertions(+)
- diff --git a/libmenu-cache/menu-cache.c b/libmenu-cache/menu-cache.c
- index 5025d72..273b503 100644
- --- a/libmenu-cache/menu-cache.c
- +++ b/libmenu-cache/menu-cache.c
- @@ -379,11 +379,15 @@ static MenuCacheItem* read_item(GDataInputStream* f, MenuCache* cache,
- else /* separator */
- {
- item->type = MENU_CACHE_TYPE_SEP;
- + g_free(line);
- return item;
- }
- }
- else
- + {
- + g_free(line);
- return NULL;
- + }
-
- item->id = g_strndup( line + 1, len - 1 );
- g_free(line);
- @@ -923,6 +927,7 @@ gboolean menu_cache_item_unref(MenuCacheItem* item)
- else
- {
- MenuCacheApp* app = MENU_CACHE_APP(item);
- + g_free(app->generic_name);
- g_free( app->exec );
- g_free(app->try_exec);
- g_free(app->working_dir);
- From 1ce739649b4d66339a03fc0ec9ee7a2f7c141780 Mon Sep 17 00:00:00 2001
- From: Mamoru TASAKA <mtasaka@fedoraproject.org>
- Date: Fri, 24 Jan 2020 13:33:00 +0900
- Subject: [PATCH] Support gcc10 compilation
- gcc10 now defaults to -fno-common, and with gcc10 menu-cache compilation fails like
- /bin/ld: menu-merge.o:menu-cache-gen/menu-tags.h:167: multiple definition of `DirDirs'; main.o:menu-cache-gen/menu-tags.h:167: first defined here
- /bin/ld: menu-merge.o:menu-cache-gen/menu-tags.h:164: multiple definition of `AppDirs'; main.o:menu-cache-gen/menu-tags.h:164: first defined here
- /bin/ld: menu-merge.o:menu-cache-gen/menu-tags.h:52: multiple definition of `menuTag_Layout'; main.o:menu-cache-gen/menu-tags.h:52: first defined here
- ....
- This patch fixes compilation with gcc10: properly declaring variables in header with "extern", and also removing some unneeded variables in header files.
- ---
- menu-cache-gen/menu-tags.h | 55 ++++++++++++--------------------------
- 1 file changed, 17 insertions(+), 38 deletions(-)
- diff --git a/menu-cache-gen/menu-tags.h b/menu-cache-gen/menu-tags.h
- index f3fd7d3..f71c0bc 100644
- --- a/menu-cache-gen/menu-tags.h
- +++ b/menu-cache-gen/menu-tags.h
- @@ -22,38 +22,17 @@
- #include <libfm/fm-extra.h>
- #include <menu-cache.h>
-
- -FmXmlFileTag menuTag_Menu;
- -FmXmlFileTag menuTag_AppDir;
- -FmXmlFileTag menuTag_DefaultAppDirs;
- -FmXmlFileTag menuTag_DirectoryDir;
- -FmXmlFileTag menuTag_DefaultDirectoryDirs;
- -FmXmlFileTag menuTag_Include;
- -FmXmlFileTag menuTag_Exclude;
- -FmXmlFileTag menuTag_Filename;
- -FmXmlFileTag menuTag_Or;
- -FmXmlFileTag menuTag_And;
- -FmXmlFileTag menuTag_Not;
- -FmXmlFileTag menuTag_Category;
- -FmXmlFileTag menuTag_MergeFile;
- -FmXmlFileTag menuTag_MergeDir;
- -FmXmlFileTag menuTag_DefaultMergeDirs;
- -FmXmlFileTag menuTag_Directory;
- -FmXmlFileTag menuTag_Name;
- -FmXmlFileTag menuTag_Deleted;
- -FmXmlFileTag menuTag_NotDeleted;
- -FmXmlFileTag menuTag_OnlyUnallocated;
- -FmXmlFileTag menuTag_NotOnlyUnallocated;
- -FmXmlFileTag menuTag_All;
- -FmXmlFileTag menuTag_LegacyDir;
- -FmXmlFileTag menuTag_KDELegacyDirs;
- -FmXmlFileTag menuTag_Move;
- -FmXmlFileTag menuTag_Old;
- -FmXmlFileTag menuTag_New;
- -FmXmlFileTag menuTag_Layout;
- -FmXmlFileTag menuTag_DefaultLayout;
- -FmXmlFileTag menuTag_Menuname;
- -FmXmlFileTag menuTag_Separator;
- -FmXmlFileTag menuTag_Merge;
- +extern FmXmlFileTag menuTag_AppDir;
- +extern FmXmlFileTag menuTag_DirectoryDir;
- +extern FmXmlFileTag menuTag_Include;
- +extern FmXmlFileTag menuTag_Exclude;
- +extern FmXmlFileTag menuTag_Filename;
- +extern FmXmlFileTag menuTag_Or;
- +extern FmXmlFileTag menuTag_And;
- +extern FmXmlFileTag menuTag_Not;
- +extern FmXmlFileTag menuTag_Category;
- +extern FmXmlFileTag menuTag_All;
- +extern FmXmlFileTag menuTag_LegacyDir;
-
- typedef enum {
- MERGE_NONE, /* starting value */
- @@ -152,19 +131,19 @@ typedef struct {
- } MenuRule;
-
- /* requested language(s) */
- -char **languages;
- +extern char **languages;
-
- /* list of menu files to monitor */
- -GSList *MenuFiles;
- +extern GSList *MenuFiles;
-
- /* list of menu dirs to monitor */
- -GSList *MenuDirs;
- +extern GSList *MenuDirs;
-
- /* list of available app dirs */
- -GSList *AppDirs;
- +extern GSList *AppDirs;
-
- /* list of available dir dirs */
- -GSList *DirDirs;
- +extern GSList *DirDirs;
-
- /* parse and merge menu files */
- MenuMenu *get_merged_menu(const char *file, FmXmlFile **xmlfile, GError **error);
- @@ -177,7 +156,7 @@ gboolean save_menu_cache(MenuMenu *layout, const char *menuname, const char *fil
- void _free_layout_items(GList *data);
-
- /* verbosity level */
- -gint verbose;
- +extern gint verbose;
-
- #define DBG if (verbose) g_debug
- #define VDBG if (verbose > 1) g_debug
|