diff options
Diffstat (limited to 'apps/debug_menu.c')
| -rw-r--r-- | apps/debug_menu.c | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/apps/debug_menu.c b/apps/debug_menu.c index 7c2e6c7..e96b8c5 100644 --- a/apps/debug_menu.c +++ b/apps/debug_menu.c @@ -429,14 +429,21 @@ static int bf_action_cb(int action, struct gui_synclist* list) { if (action == ACTION_STD_OK) { - splash(HZ/1, "Attempting a 64k allocation"); - int handle = core_alloc("test", 64<<10); - splash(HZ/2, (handle > 0) ? "Success":"Fail"); - /* for some reason simplelist doesn't allow adding items here if - * info.get_name is given, so use normal list api */ - gui_synclist_set_nb_items(list, core_get_num_blocks()); - if (handle > 0) - core_free(handle); + if (gui_synclist_get_sel_pos(list) == 0 && core_test_free()) + { + splash(HZ, "Freed test handle. New alloc should trigger compact"); + } + else + { + splash(HZ/1, "Attempting a 64k allocation"); + int handle = core_alloc("test", 64<<10); + splash(HZ/2, (handle > 0) ? "Success":"Fail"); + /* for some reason simplelist doesn't allow adding items here if + * info.get_name is given, so use normal list api */ + gui_synclist_set_nb_items(list, core_get_num_blocks()); + if (handle > 0) + core_free(handle); + } action = ACTION_REDRAW; } else if (action == ACTION_NONE) |