X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/disorder/blobdiff_plain/fcc8b9f7b5575b251110171941db742d620edc9f..2d504956e1c3612ed62f16a05fd504b5998e6759:/disobedience/choose.c diff --git a/disobedience/choose.c b/disobedience/choose.c index b7f77c4..8aa11e2 100644 --- a/disobedience/choose.c +++ b/disobedience/choose.c @@ -1288,6 +1288,15 @@ static const struct tabtype tabtype_choose = { /* Public entry points ----------------------------------------------------- */ +/** @brief Called to entirely reset the choose screen */ +static void choose_reset(void) { + if(root) + undisplay_tree(root); + root = newnode(0/*parent*/, "", "All files", "", + CN_EXPANDABLE, fill_root_node); + expand_node(root, 0); /* will call redisplay_tree */ +} + /** @brief Create a track choice widget */ GtkWidget *choose_widget(void) { int n; @@ -1354,9 +1363,8 @@ GtkWidget *choose_widget(void) { * namespace */ NW(layout); chooselayout = gtk_layout_new(0, 0); - root = newnode(0/*parent*/, "", "All files", "", - CN_EXPANDABLE, fill_root_node); - expand_node(root, 0); /* will call redisplay_tree */ + choose_reset(); + register_reset(choose_reset); /* Create the popup menus */ NW(menu); track_menu = gtk_menu_new();