aboutsummaryrefslogtreecommitdiff
path: root/repos/xorg/menu-cache/menu-cache-1.1.0-consolidated_fixes-1.patch
blob: 0e6709fe390e667c0e6dc5cd197082f391d27268 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
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