diff options
Diffstat (limited to 'apps/gui/usb_screen.c')
-rw-r--r-- | apps/gui/usb_screen.c | 35 |
1 files changed, 14 insertions, 21 deletions
diff --git a/apps/gui/usb_screen.c b/apps/gui/usb_screen.c index ff437ca10a..200abafcc4 100644 --- a/apps/gui/usb_screen.c +++ b/apps/gui/usb_screen.c | |||
@@ -134,7 +134,6 @@ struct usb_screen_vps_t | |||
134 | static void usb_screen_fix_viewports(struct screen *screen, | 134 | static void usb_screen_fix_viewports(struct screen *screen, |
135 | struct usb_screen_vps_t *usb_screen_vps) | 135 | struct usb_screen_vps_t *usb_screen_vps) |
136 | { | 136 | { |
137 | bool disable = true; | ||
138 | int logo_width, logo_height; | 137 | int logo_width, logo_height; |
139 | struct viewport *parent = &usb_screen_vps->parent; | 138 | struct viewport *parent = &usb_screen_vps->parent; |
140 | struct viewport *logo = &usb_screen_vps->logo; | 139 | struct viewport *logo = &usb_screen_vps->logo; |
@@ -154,11 +153,7 @@ static void usb_screen_fix_viewports(struct screen *screen, | |||
154 | logo_height = BMPHEIGHT_usblogo; | 153 | logo_height = BMPHEIGHT_usblogo; |
155 | } | 154 | } |
156 | 155 | ||
157 | viewport_set_defaults(parent, screen->screen_type); | 156 | viewportmanager_theme_enable(screen->screen_type, true, parent); |
158 | disable = (parent->width < logo_width || parent->height < logo_height); | ||
159 | viewportmanager_theme_enable(screen->screen_type, !disable, parent); | ||
160 | screen->clear_display(); | ||
161 | screen->scroll_stop(); | ||
162 | 157 | ||
163 | *logo = *parent; | 158 | *logo = *parent; |
164 | logo->x = parent->x + parent->width - logo_width; | 159 | logo->x = parent->x + parent->width - logo_width; |
@@ -259,19 +254,6 @@ void gui_usb_screen_run(bool early_usb) | |||
259 | usb_keypad_mode = global_settings.usb_keypad_mode; | 254 | usb_keypad_mode = global_settings.usb_keypad_mode; |
260 | #endif | 255 | #endif |
261 | 256 | ||
262 | if(!early_usb) | ||
263 | { | ||
264 | /* The font system leaves the .fnt fd's open, so we need for force close them all */ | ||
265 | #ifdef HAVE_LCD_BITMAP | ||
266 | FOR_NB_SCREENS(i) | ||
267 | { | ||
268 | font_unload(screens[i].getuifont()); | ||
269 | screens[i].setuifont(FONT_SYSFIXED); | ||
270 | } | ||
271 | skin_unload_all(); | ||
272 | #endif | ||
273 | } | ||
274 | |||
275 | FOR_NB_SCREENS(i) | 257 | FOR_NB_SCREENS(i) |
276 | { | 258 | { |
277 | struct screen *screen = &screens[i]; | 259 | struct screen *screen = &screens[i]; |
@@ -285,6 +267,17 @@ void gui_usb_screen_run(bool early_usb) | |||
285 | #endif | 267 | #endif |
286 | } | 268 | } |
287 | 269 | ||
270 | /* update the UI before disabling fonts, this maximizes the propability | ||
271 | * that font cache lookups succeed during USB */ | ||
272 | send_event(GUI_EVENT_ACTIONUPDATE, NULL); | ||
273 | #ifdef HAVE_LCD_BITMAP | ||
274 | if(!early_usb) | ||
275 | { | ||
276 | /* The font system leaves the .fnt fd's open, so we need for force close them all */ | ||
277 | font_disable_all(); | ||
278 | } | ||
279 | #endif | ||
280 | |||
288 | usb_acknowledge(SYS_USB_CONNECTED_ACK); | 281 | usb_acknowledge(SYS_USB_CONNECTED_ACK); |
289 | 282 | ||
290 | while (1) | 283 | while (1) |
@@ -327,12 +320,13 @@ void gui_usb_screen_run(bool early_usb) | |||
327 | #ifdef HAVE_LCD_CHARCELLS | 320 | #ifdef HAVE_LCD_CHARCELLS |
328 | status_set_usb(false); | 321 | status_set_usb(false); |
329 | #endif /* HAVE_LCD_CHARCELLS */ | 322 | #endif /* HAVE_LCD_CHARCELLS */ |
323 | |||
330 | #ifdef HAVE_LCD_BITMAP | 324 | #ifdef HAVE_LCD_BITMAP |
331 | if(!early_usb) | 325 | if(!early_usb) |
332 | { | 326 | { |
327 | font_enable_all(); | ||
333 | /* Not pretty, reload all settings so fonts are loaded again correctly */ | 328 | /* Not pretty, reload all settings so fonts are loaded again correctly */ |
334 | settings_apply(true); | 329 | settings_apply(true); |
335 | settings_apply_skins(); | ||
336 | /* Reload playlist */ | 330 | /* Reload playlist */ |
337 | playlist_resume(); | 331 | playlist_resume(); |
338 | } | 332 | } |
@@ -345,4 +339,3 @@ void gui_usb_screen_run(bool early_usb) | |||
345 | } | 339 | } |
346 | 340 | ||
347 | } | 341 | } |
348 | |||