File 0001-Fix-build-with-GCC10.patch of Package spacefm
From 065bc0e4c7de46f7f5771ae8a535bd058dd6d1dc Mon Sep 17 00:00:00 2001
From: Christophe Giboudeaux <christophe@krop.fr>
Date: Sat, 12 Sep 2020 20:03:52 +0200
Subject: [PATCH] Fix build with GCC10
Patch from Vladimir Lomov, extracted
from https://github.com/IgnorantGuru/spacefm/pull/772
---
src/settings.c | 19 +++++++++++++++++++
src/settings.h | 34 +++++++++++++++++-----------------
2 files changed, 36 insertions(+), 17 deletions(-)
diff --git a/src/settings.c b/src/settings.c
index b8687a2..28f9ce0 100644
--- a/src/settings.c
+++ b/src/settings.c
@@ -52,6 +52,25 @@
/* Dirty hack: check whether we are under LXDE or not */
#define is_under_LXDE() (g_getenv( "_LXSESSION_PID" ) != NULL)
+/* GCC 10.1+ */
+char* settings_terminal_su = NULL;
+char* settings_graphical_su = NULL;
+GList* xset_cmd_history = NULL;
+XSet* evt_win_focus = NULL;
+XSet* evt_win_move = NULL;
+XSet* evt_win_click = NULL;
+XSet* evt_win_key = NULL;
+XSet* evt_win_close = NULL;
+XSet* evt_pnl_show = NULL;
+XSet* evt_pnl_focus = NULL;
+XSet* evt_pnl_sel = NULL;
+XSet* evt_tab_new = NULL;
+XSet* evt_tab_chdir = NULL;
+XSet* evt_tab_focus = NULL;
+XSet* evt_tab_close = NULL;
+XSet* evt_device = NULL;
+
+
AppSettings app_settings = {0};
/* const gboolean singleInstance_default = TRUE; */
const gboolean show_hidden_files_default = FALSE;
diff --git a/src/settings.h b/src/settings.h
index e25bdc3..e608ebf 100644
--- a/src/settings.h
+++ b/src/settings.h
@@ -120,7 +120,7 @@ const char* xset_get_user_tmp_dir();
///////////////////////////////////////////////////////////////////////////////
//MOD extra settings below
-GList* xsets;
+extern GList* xsets;
enum {
XSET_B_UNSET,
@@ -311,22 +311,22 @@ typedef struct
} XMenuItem;
// cache these for speed in event handlers
-XSet* evt_win_focus;
-XSet* evt_win_move;
-XSet* evt_win_click;
-XSet* evt_win_key;
-XSet* evt_win_close;
-XSet* evt_pnl_show;
-XSet* evt_pnl_focus;
-XSet* evt_pnl_sel;
-XSet* evt_tab_new;
-XSet* evt_tab_chdir;
-XSet* evt_tab_focus;
-XSet* evt_tab_close;
-XSet* evt_device;
+extern XSet* evt_win_focus;
+extern XSet* evt_win_move;
+extern XSet* evt_win_click;
+extern XSet* evt_win_key;
+extern XSet* evt_win_close;
+extern XSet* evt_pnl_show;
+extern XSet* evt_pnl_focus;
+extern XSet* evt_pnl_sel;
+extern XSet* evt_tab_new;
+extern XSet* evt_tab_chdir;
+extern XSet* evt_tab_focus;
+extern XSet* evt_tab_close;
+extern XSet* evt_device;
// instance-wide command history
-GList* xset_cmd_history;
+extern GList* xset_cmd_history;
static const char* terminal_programs[] = //for pref-dialog.c
{
@@ -374,8 +374,8 @@ static const char* gsu_commands[] = // order and contents must match prefdlg.ui
};
// These will contain the su and gsu settings from /etc/spacefm/spacefm.conf
-char* settings_terminal_su;
-char* settings_graphical_su;
+extern char* settings_terminal_su;
+extern char* settings_graphical_su;
typedef struct
{
--
2.28.0