Use upstream solution

OBS-URL: https://build.opensuse.org/package/show/Base:System/mc?expand=0&rev=129
This commit is contained in:
Adam Majer 2020-01-15 10:31:09 +00:00 committed by Git OBS Bridge
parent dc62b31cfc
commit 42b22e748c

View File

@ -1,26 +1,71 @@
When compiled with -fno-common
commit 093571938a6c31706f918b011335b8ab30602336
Author: Andrew Borodin <aborodin@vmail.ru>
Date: Sat Nov 23 17:41:58 2019 +0300
[ 98s] /usr/lib64/gcc/x86_64-suse-linux/9/../../../../x86_64-suse-linux/bin/ld: lt50-menu.o (symbol from plugin): in function `destroy_menu':
[ 98s] (.text+0x0): multiple definition of `menu_map'; keybind-defaults.o (symbol from plugin):(.text+0x0): first defined here
Ticket #4035: fix compile failure on OS X 10.9.
Fix duplication of menu_map definition.
Move menu_map definition to lib/widget/menu.c.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Index: mc-4.8.23/lib/widget/menu.c
===================================================================
--- mc-4.8.23.orig/lib/widget/menu.c
+++ mc-4.8.23/lib/widget/menu.c
@@ -40,14 +40,11 @@
#include "lib/skin.h"
#include "lib/tty/key.h" /* key macros */
#include "lib/keybind.h" /* global_keymap_t */
+#include "src/keybind-defaults.h"
#include "lib/strutil.h"
#include "lib/widget.h"
#include "lib/event.h" /* mc_event_raise() */
diff --git a/lib/widget/menu.c b/lib/widget/menu.c
index b7476b62b..68ae6f6ce 100644
--- a/lib/widget/menu.c
+++ b/lib/widget/menu.c
@@ -46,7 +46,7 @@
/*** global variables ****************************************************************************/
-/*** global variables ****************************************************************************/
-
-const global_keymap_t *menu_map;
-
+const global_keymap_t *menu_map = NULL;
/*** file scope macro definitions ****************************************************************/
#define MENUENTRY(x) ((menu_entry_t *)(x))
diff --git a/lib/widget/menu.h b/lib/widget/menu.h
index c522a16c8..fad6fa639 100644
--- a/lib/widget/menu.h
+++ b/lib/widget/menu.h
@@ -39,6 +39,8 @@ typedef struct WMenuBar
/*** global variables defined in .c file *********************************************************/
+extern const global_keymap_t *menu_map;
+
/*** declarations of public functions ************************************************************/
menu_entry_t *menu_entry_create (const char *name, long command);
diff --git a/src/keybind-defaults.c b/src/keybind-defaults.c
index 10ba341ee..0ba4840df 100644
--- a/src/keybind-defaults.c
+++ b/src/keybind-defaults.c
@@ -28,7 +28,7 @@
#include <config.h>
#include "lib/global.h"
-#include "lib/widget.h" /* dialog_map, input_map, listbox_map */
+#include "lib/widget.h" /* dialog_map, input_map, listbox_map, menu_map */
#include "keybind-defaults.h"
@@ -56,7 +56,6 @@ GArray *diff_keymap = NULL;
const global_keymap_t *main_map = NULL;
const global_keymap_t *main_x_map = NULL;
const global_keymap_t *panel_map = NULL;
-const global_keymap_t *menu_map = NULL;
const global_keymap_t *tree_map = NULL;
const global_keymap_t *help_map = NULL;
diff --git a/src/keybind-defaults.h b/src/keybind-defaults.h
index edb05c67f..6b7266589 100644
--- a/src/keybind-defaults.h
+++ b/src/keybind-defaults.h
@@ -35,7 +35,6 @@ extern GArray *diff_keymap;
extern const global_keymap_t *main_map;
extern const global_keymap_t *main_x_map;
extern const global_keymap_t *panel_map;
-extern const global_keymap_t *menu_map;
extern const global_keymap_t *tree_map;
extern const global_keymap_t *help_map;