From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Ismael Luceno Date: Tue, 28 Jul 2020 23:20:16 +0000 Subject: [PATCH] Fix global definitions at headers Global definitions should be declared explicitly as extern in headers and also in some code file. Recent versions of ld (at least 2.35) complain and fail instead of merging them automatically unless explicitly told to do so with the --allow-multiple-definition flag. diff --git a/src/settings.h b/src/settings.h index e25bdc328031..2355d78d5d56 100644 --- a/src/settings.c +++ b/src/settings.c @@ -52,6 +52,24 @@ /* Dirty hack: check whether we are under LXDE or not */ #define is_under_LXDE() (g_getenv( "_LXSESSION_PID" ) != NULL) +GList* xsets; +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; +GList* xset_cmd_history; +char* settings_terminal_su; +char* settings_graphical_su; + AppSettings app_settings = {0}; /* const gboolean singleInstance_default = TRUE; */ const gboolean show_hidden_files_default = FALSE; --- a/src/settings.h +++ b/src/settings.h @@ -120,7 +120,7 @@ /////////////////////////////////////////////////////////////////////////////// //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 { .