regedit: Load values on startup.
authorC. Davis <cd.rattan@gmail.com>
Mon, 20 Aug 2012 01:29:06 +0000 (18:29 -0700)
committerMichael Adam <obnox@samba.org>
Mon, 29 Apr 2013 11:06:38 +0000 (13:06 +0200)
Reviewed-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
source3/utils/regedit.c

index 2b8d06b03f2df72c7b67cb51ae98a20943104108..f4139d65b24998abc8be7e30b38b8e239b28abe6 100644 (file)
@@ -185,6 +185,14 @@ static void print_heading(struct regedit *regedit)
        print_help(regedit);
 }
 
+static void load_values(struct regedit *regedit)
+{
+       struct tree_node *node;
+
+       node = item_userptr(current_item(regedit->keys->menu));
+       value_list_load(regedit->vl, node->key);
+}
+
 static void add_reg_key(struct regedit *regedit, struct tree_node *node,
                        bool subkey)
 {
@@ -246,13 +254,11 @@ static void handle_tree_input(struct regedit *regedit, int c)
        switch (c) {
        case KEY_DOWN:
                menu_driver(regedit->keys->menu, REQ_DOWN_ITEM);
-               node = item_userptr(current_item(regedit->keys->menu));
-               value_list_load(regedit->vl, node->key);
+               load_values(regedit);
                break;
        case KEY_UP:
                menu_driver(regedit->keys->menu, REQ_UP_ITEM);
-               node = item_userptr(current_item(regedit->keys->menu));
-               value_list_load(regedit->vl, node->key);
+               load_values(regedit);
                break;
        case '\n':
        case KEY_ENTER:
@@ -460,6 +466,8 @@ static void display_window(TALLOC_CTX *mem_ctx, struct registry_context *ctx)
        print_heading(regedit);
 
        tree_view_show(regedit->keys);
+       menu_driver(regedit->keys->menu, REQ_FIRST_ITEM);
+       load_values(regedit);
        value_list_show(regedit->vl);
 
        update_panels();