···6161 GUI_EVENT_STATUSBAR_TOGGLE = (EVENT_CLASS_GUI|1),
6262 GUI_EVENT_ACTIONUPDATE,
6363 GUI_EVENT_THEME_CHANGED,
6464- /* Called when the UI viewport is cleared in the skin engine to
6565- * notify the current screen that it needs to do an update */
6666- GUI_EVENT_NEED_UI_UPDATE,
6764};
68656966/** Recording events **/
-22
apps/gui/list.c
···596596}
597597#endif
598598599599-/*
600600- * Magic to make sure the list gets updated correctly if the skin does
601601- * something naughty like a full screen update when we are in a button
602602- * loop.
603603- *
604604- * The GUI_EVENT_NEED_UI_UPDATE event is registered for in list_do_action_timeout()
605605- * and unregistered in gui_synclict_do_button(). This is done because
606606- * if something is using the list UI they *must* be calling those
607607- * two functions in the correct order or the list wont work.
608608- */
609609-static struct gui_synclist *current_lists;
610610-void _lists_uiviewport_update_callback(void *data)
611611-{
612612- (void)data;
613613- gui_synclist_draw(current_lists);
614614-}
615615-616599bool gui_synclist_do_button(struct gui_synclist * lists,
617600 int *actionptr, enum list_wrap wrap)
618601{
···626609#else
627610 static int next_item_modifier = 1;
628611 static int last_accel_tick = 0;
629629-630630- remove_event(GUI_EVENT_NEED_UI_UPDATE, _lists_uiviewport_update_callback);
631612632613 if (action != ACTION_TOUCHSCREEN)
633614 {
···791772/* Returns the lowest of timeout or the delay until a postponed
792773 scheduled announcement is due (if any). */
793774{
794794- current_lists = lists;
795795- add_event(GUI_EVENT_NEED_UI_UPDATE, false,
796796- _lists_uiviewport_update_callback);
797775 if(lists->scheduled_talk_tick)
798776 {
799777 long delay = lists->scheduled_talk_tick -current_tick +1;
-8
apps/gui/skin_engine/skin_render.c
···2929#include "config.h"
3030#include "core_alloc.h"
3131#include "kernel.h"
3232-#include "appevents.h"
3332#ifdef HAVE_ALBUMART
3433#include "albumart.h"
3534#endif
···860859 display->set_framebuffer(NULL);
861860 skin_backdrop_show(data->backdrop_id);
862861#endif
863863-864864- if (((refresh_mode&SKIN_REFRESH_ALL) == SKIN_REFRESH_ALL))
865865- {
866866- /* If this is the UI viewport then let the UI know
867867- * to redraw itself */
868868- send_event(GUI_EVENT_NEED_UI_UPDATE, NULL);
869869- }
870862 /* Restore the default viewport */
871863 display->set_viewport(NULL);
872864 display->update();