149 lines
4.9 KiB
Diff
149 lines
4.9 KiB
Diff
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
|
|
|