Alexandre Julliard : winecfg: Fix deletion of registry keys for Wow64 mode.

Alexandre Julliard julliard at winehq.org
Fri Aug 26 10:40:54 CDT 2011


Module: wine
Branch: master
Commit: fdc0d0f95f8a86b73094db15aaca2f861aab50f8
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=fdc0d0f95f8a86b73094db15aaca2f861aab50f8

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Fri Aug 26 14:28:11 2011 +0200

winecfg: Fix deletion of registry keys for Wow64 mode.

---

 programs/winecfg/winecfg.c |   12 ++++++++++--
 1 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/programs/winecfg/winecfg.c b/programs/winecfg/winecfg.c
index 1d2ec50..8a2f534 100644
--- a/programs/winecfg/winecfg.c
+++ b/programs/winecfg/winecfg.c
@@ -645,7 +645,11 @@ static void process_setting(struct setting *s)
         {
             /* NULL name means remove that path/section entirely */
             if (s->name) RegDeleteValueW( key, s->name );
-            else RegDeleteTreeW( key, NULL );
+            else
+            {
+                RegDeleteTreeW( key, NULL );
+                RegDeleteKeyW( s->root, s->path );
+            }
             RegCloseKey( key );
         }
         if (needs_wow64)
@@ -654,7 +658,11 @@ static void process_setting(struct setting *s)
             if (!RegOpenKeyExW( s->root, s->path, 0, MAXIMUM_ALLOWED | KEY_WOW64_32KEY, &key ))
             {
                 if (s->name) RegDeleteValueW( key, s->name );
-                else RegDeleteTreeW( key, NULL );
+                else
+                {
+                    RegDeleteTreeW( key, NULL );
+                    RegDeleteKeyExW( s->root, s->path, KEY_WOW64_32KEY, 0 );
+                }
                 RegCloseKey( key );
             }
         }




More information about the wine-cvs mailing list