Revert "Fix FS#12606 - next track can cause the screen to be cleared"

This reverts commit cb9bc3bbc8a66c3d5296bfbc68f4487c39c6ac68.
diff --git a/apps/appevents.h b/apps/appevents.h
index 5cb0ee5..36e19b0 100644
--- a/apps/appevents.h
+++ b/apps/appevents.h
@@ -61,9 +61,6 @@
     GUI_EVENT_STATUSBAR_TOGGLE = (EVENT_CLASS_GUI|1),
     GUI_EVENT_ACTIONUPDATE,
     GUI_EVENT_THEME_CHANGED,
-    /* Called when the UI viewport is cleared in the skin engine to
-     * notify the current screen that it needs to do an update */
-    GUI_EVENT_NEED_UI_UPDATE,
 };
 
 /** Recording events **/
diff --git a/apps/gui/list.c b/apps/gui/list.c
index 96b3447..d1b2748 100644
--- a/apps/gui/list.c
+++ b/apps/gui/list.c
@@ -596,23 +596,6 @@
 }
 #endif
 
-/*
- * Magic to make sure the list gets updated correctly if the skin does
- * something naughty like a full screen update when we are in a button
- * loop.
- *
- * The GUI_EVENT_NEED_UI_UPDATE event is registered for in list_do_action_timeout()
- * and unregistered in gui_synclict_do_button(). This is done because
- * if something is using the list UI they *must* be calling those
- * two functions in the correct order or the list wont work.
- */
-static struct gui_synclist *current_lists;
-void _lists_uiviewport_update_callback(void *data)
-{
-    (void)data;
-    gui_synclist_draw(current_lists);
-}
-
 bool gui_synclist_do_button(struct gui_synclist * lists,
                             int *actionptr, enum list_wrap wrap)
 {
@@ -627,8 +610,6 @@
     static int next_item_modifier = 1;
     static int last_accel_tick = 0;
 
-    remove_event(GUI_EVENT_NEED_UI_UPDATE, _lists_uiviewport_update_callback);
-
     if (action != ACTION_TOUCHSCREEN)
     {
         if (global_settings.list_accel_start_delay)
@@ -791,9 +772,6 @@
 /* Returns the lowest of timeout or the delay until a postponed
    scheduled announcement is due (if any). */
 {
-    current_lists = lists;
-    add_event(GUI_EVENT_NEED_UI_UPDATE, false,
-            _lists_uiviewport_update_callback);
     if(lists->scheduled_talk_tick)
     {
         long delay = lists->scheduled_talk_tick -current_tick +1;
diff --git a/apps/gui/skin_engine/skin_render.c b/apps/gui/skin_engine/skin_render.c
index 965d785..80d8c83 100644
--- a/apps/gui/skin_engine/skin_render.c
+++ b/apps/gui/skin_engine/skin_render.c
@@ -29,7 +29,6 @@
 #include "config.h"
 #include "core_alloc.h"
 #include "kernel.h"
-#include "appevents.h"
 #ifdef HAVE_ALBUMART
 #include "albumart.h"
 #endif
@@ -860,13 +859,6 @@
     display->set_framebuffer(NULL);
     skin_backdrop_show(data->backdrop_id);
 #endif
-
-    if (((refresh_mode&SKIN_REFRESH_ALL) == SKIN_REFRESH_ALL))
-    {
-        /* If this is the UI viewport then let the UI know
-         * to redraw itself */
-        send_event(GUI_EVENT_NEED_UI_UPDATE, NULL);
-    }
     /* Restore the default viewport */
     display->set_viewport(NULL);
     display->update();