From e08089de48a2ef790e55f68045bd0d1066ac439f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jean-Andr=C3=A9=20Santoni?= <jean.andre.santoni@gmail.com>
Date: Wed, 21 Jun 2017 14:16:19 +0200
Subject: [PATCH] Fix Lakka updater

---
 menu/drivers/materialui.c |  5 +++++
 menu/drivers/xmb.c        |  5 +++++
 menu/menu_displaylist.c   | 14 ++++++--------
 menu/menu_setting.c       | 11 +++++++++++
 4 files changed, 27 insertions(+), 8 deletions(-)

diff --git a/menu/drivers/materialui.c b/menu/drivers/materialui.c
index 0e8249605c..a0278dd770 100644
--- a/menu/drivers/materialui.c
+++ b/menu/drivers/materialui.c
@@ -1845,6 +1845,10 @@ static int mui_list_push(void *data, void *userdata,
             menu_displaylist_ctl(DISPLAYLIST_SETTING_ENUM, &entry);
 
 #if defined(HAVE_NETWORKING)
+#ifdef HAVE_LAKKA
+            entry.enum_idx      = MENU_ENUM_LABEL_UPDATE_LAKKA;
+            menu_displaylist_ctl(DISPLAYLIST_SETTING_ENUM, &entry);
+#else
             {
                settings_t *settings      = config_get_ptr();
                if (settings->bools.menu_show_online_updater)
@@ -1853,6 +1857,7 @@ static int mui_list_push(void *data, void *userdata,
                   menu_displaylist_ctl(DISPLAYLIST_SETTING_ENUM, &entry);
                }
             }
+#endif
 
             entry.enum_idx      = MENU_ENUM_LABEL_NETPLAY;
             menu_displaylist_ctl(DISPLAYLIST_SETTING_ENUM, &entry);
diff --git a/menu/drivers/xmb.c b/menu/drivers/xmb.c
index 032aef83bb..22c7a88f4e 100644
--- a/menu/drivers/xmb.c
+++ b/menu/drivers/xmb.c
@@ -4066,6 +4066,10 @@ static int xmb_list_push(void *data, void *userdata,
             entry.enum_idx      = MENU_ENUM_LABEL_ADD_CONTENT_LIST;
             menu_displaylist_ctl(DISPLAYLIST_SETTING_ENUM, &entry);
 #if defined(HAVE_NETWORKING)
+#ifdef HAVE_LAKKA
+            entry.enum_idx      = MENU_ENUM_LABEL_UPDATE_LAKKA;
+            menu_displaylist_ctl(DISPLAYLIST_SETTING_ENUM, &entry);
+#else
             {
                settings_t *settings      = config_get_ptr();
                if (settings->bools.menu_show_online_updater)
@@ -4074,6 +4078,7 @@ static int xmb_list_push(void *data, void *userdata,
                   menu_displaylist_ctl(DISPLAYLIST_SETTING_ENUM, &entry);
                }
             }
+#endif
 #endif
             entry.enum_idx      = MENU_ENUM_LABEL_INFORMATION_LIST;
             menu_displaylist_ctl(DISPLAYLIST_SETTING_ENUM, &entry);
diff --git a/menu/menu_displaylist.c b/menu/menu_displaylist.c
index ecde4247d0..d42e272947 100644
--- a/menu/menu_displaylist.c
+++ b/menu/menu_displaylist.c
@@ -3156,14 +3156,6 @@ static int menu_displaylist_parse_options(
             MENU_ENUM_LABEL_CORE_UPDATER_LIST,
             MENU_SETTING_ACTION, 0, 0);
 
-#ifdef HAVE_LAKKA
-   menu_entries_append_enum(info->list,
-         msg_hash_to_str(MENU_ENUM_LABEL_VALUE_UPDATE_LAKKA),
-         msg_hash_to_str(MENU_ENUM_LABEL_UPDATE_LAKKA),
-         MENU_ENUM_LABEL_UPDATE_LAKKA,
-         MENU_SETTING_ACTION, 0, 0);
-#endif
-
    menu_entries_append_enum(info->list,
          msg_hash_to_str(MENU_ENUM_LABEL_VALUE_THUMBNAILS_UPDATER_LIST),
          msg_hash_to_str(MENU_ENUM_LABEL_THUMBNAILS_UPDATER_LIST),
@@ -6060,10 +6052,16 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data)
                   PARSE_ACTION, false);
 #endif
 #if defined(HAVE_NETWORKING)
+#ifdef HAVE_LAKKA
+            menu_displaylist_parse_settings_enum(menu, info,
+                  MENU_ENUM_LABEL_UPDATE_LAKKA,
+                  PARSE_ACTION, false);
+#else
             if (settings->bools.menu_show_online_updater)
                menu_displaylist_parse_settings_enum(menu, info,
                      MENU_ENUM_LABEL_ONLINE_UPDATER,
                      PARSE_ACTION, false);
+#endif
 #endif
             menu_displaylist_parse_settings_enum(menu, info,
                   MENU_ENUM_LABEL_SETTINGS, PARSE_ACTION, false);
diff --git a/menu/menu_setting.c b/menu/menu_setting.c
index 6e611e55f8..35ab82d1d1 100644
--- a/menu/menu_setting.c
+++ b/menu/menu_setting.c
@@ -2334,6 +2334,15 @@ static bool setting_append_list(
                &subgroup_info,
                parent_group);
 
+#ifdef HAVE_LAKKA
+         CONFIG_ACTION(
+               list, list_info,
+               MENU_ENUM_LABEL_UPDATE_LAKKA,
+               MENU_ENUM_LABEL_VALUE_UPDATE_LAKKA,
+               &group_info,
+               &subgroup_info,
+               parent_group);
+#else
          CONFIG_ACTION(
                list, list_info,
                MENU_ENUM_LABEL_ONLINE_UPDATER,
@@ -2341,6 +2350,8 @@ static bool setting_append_list(
                &group_info,
                &subgroup_info,
                parent_group);
+#endif
+
 #endif
 
          CONFIG_ACTION(