diff --git a/programs/regedit/regproc.c b/programs/regedit/regproc.c index 58ca5ac7122..162d0885ce3 100644 --- a/programs/regedit/regproc.c +++ b/programs/regedit/regproc.c @@ -708,6 +708,8 @@ static WCHAR *delete_key_state(struct parser *parser, WCHAR *pos) { WCHAR *p = pos; + close_key(parser); + if (*p == 'H' || *p == 'h') delete_registry_key(p); diff --git a/programs/regedit/tests/regedit.c b/programs/regedit/tests/regedit.c index 9b2f1fbaa1f..5e895ab3451 100644 --- a/programs/regedit/tests/regedit.c +++ b/programs/regedit/tests/regedit.c @@ -3016,7 +3016,7 @@ static void test_key_creation_and_deletion(void) "[-HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey4a]\n" "\"Wine1a\"=dword:12345678\n\n"); verify_key_nonexist(hkey, "Subkey4a"); - todo_wine verify_reg_nonexist(hkey, "Wine1a"); + verify_reg_nonexist(hkey, "Wine1a"); exec_import_str("REGEDIT4\n\n" "[HKEY_CURRENT_USER\\" KEY_BASE "]\n\n" @@ -3166,7 +3166,7 @@ static void test_key_creation_and_deletion_unicode(void) "[-HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey4a]\n" "\"Wine1a\"=dword:12345678\n\n"); verify_key_nonexist(hkey, "Subkey4a"); - todo_wine verify_reg_nonexist(hkey, "Wine1a"); + verify_reg_nonexist(hkey, "Wine1a"); exec_import_wstr("\xef\xbb\xbfWindows Registry Editor Version 5.00\n\n" "[HKEY_CURRENT_USER\\" KEY_BASE "]\n\n"