From 5255d184fa07871acc19e8425b6792fc5f3f76fa Mon Sep 17 00:00:00 2001
From: FabioLolix <fabio.loli@disroot.org>
Date: Sat, 4 Jul 2020 13:10:04 +0200
Subject: [PATCH] Fix GCC 10 build

---
 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.27.0

