From ebfb104986855e6bc972f31d3f15aae0aa395325 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Tue, 27 May 2014 03:48:08 +0200 Subject: [PATCH] (Lakka) Prevent some more segfault bugs --- frontend/menu/backend/menu_lakka_backend.c | 17 +++++++++++++---- frontend/menu/disp/lakka.c | 6 ++++++ 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/frontend/menu/backend/menu_lakka_backend.c b/frontend/menu/backend/menu_lakka_backend.c index 0a51a6f988..2beacc89e9 100644 --- a/frontend/menu/backend/menu_lakka_backend.c +++ b/frontend/menu/backend/menu_lakka_backend.c @@ -39,11 +39,20 @@ static int menu_lakka_iterate(void *data, unsigned action) { - rgui_handle_t *rgui = (rgui_handle_t*)data; - menu_category_t *active_category = (menu_category_t*)&categories[menu_active_category]; - menu_item_t *active_item = (menu_item_t*)&active_category->items[active_category->active_item]; + rgui_handle_t *rgui; + menu_category_t *active_category; + menu_item_t *active_item; - if (!active_category) + rgui = (rgui_handle_t*)data; + active_category = NULL; + active_item = NULL; + + active_category = (menu_category_t*)&categories[menu_active_category]; + + if (active_category) + active_item = (menu_item_t*)&active_category->items[active_category->active_item]; + + if (!active_category || !active_item) return 0; if (driver.video_data && driver.menu_ctx && driver.menu_ctx->set_texture) diff --git a/frontend/menu/disp/lakka.c b/frontend/menu/disp/lakka.c index 9e6a5827da..1e3465e26f 100644 --- a/frontend/menu/disp/lakka.c +++ b/frontend/menu/disp/lakka.c @@ -143,6 +143,12 @@ static void update_tween(void *data, float dt) if (!tween) return; +#if 0 + RARCH_LOG("delta: %f\n", dt); + RARCH_LOG("tween running since: %f\n", tween->running_since); + RARCH_LOG("tween duration: %f\n", tween->duration); +#endif + if (tween->running_since < tween->duration) { tween->running_since += dt;