Alexandre Julliard : server: Only require REG_OPTION_VOLATILE when creating a new key.

Alexandre Julliard julliard at winehq.org
Fri Nov 20 10:48:02 CST 2009


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

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Fri Nov 20 11:39:55 2009 +0100

server: Only require REG_OPTION_VOLATILE when creating a new key.

---

 server/registry.c |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/server/registry.c b/server/registry.c
index d83486b..1fa2c67 100644
--- a/server/registry.c
+++ b/server/registry.c
@@ -612,11 +612,6 @@ static struct key *create_key( struct key *key, const struct unicode_str *name,
         set_error( STATUS_KEY_DELETED );
         return NULL;
     }
-    if (!(flags & KEY_VOLATILE) && (key->flags & KEY_VOLATILE))
-    {
-        set_error( STATUS_CHILD_MUST_BE_VOLATILE );
-        return NULL;
-    }
 
     token.str = NULL;
     if (!get_path_token( name, &token )) return NULL;
@@ -632,6 +627,11 @@ static struct key *create_key( struct key *key, const struct unicode_str *name,
     /* create the remaining part */
 
     if (!token.len) goto done;
+    if (!(flags & KEY_VOLATILE) && (key->flags & KEY_VOLATILE))
+    {
+        set_error( STATUS_CHILD_MUST_BE_VOLATILE );
+        return NULL;
+    }
     *created = 1;
     if (flags & KEY_DIRTY) make_dirty( key );
     if (!(key = alloc_subkey( key, &token, index, modif ))) return NULL;




More information about the wine-cvs mailing list