Hallo,

I traced done wine not writing out any more the registry to the
server_call( REQ_SET_REGISTRY_LEVELS )in SHELL_SaveRegistry.

Dispite the arguments obviously set up right, the call  gets know
to the server with wrong arguments:

08060478: open_key() = c0000034 { hkey=-1 }
08060478: set_registry_levels( current=1414155767, saving=983103,version=1 )
                                       ^^^^^^^^^^         ^^^^^^
08060478: set_registry_levels() = 0

Changing the #ifdef to 0 in
> cvs diff -u -7 wine/misc/registry.c
@@ -348,15 +360,20 @@
     }
 
     if (lstrcmpiA(buf,"yes")) all = 1;
 
     /* set saving level (0 for saving everything, 1 for saving only modified keys) */
     req->current = 1;
     req->saving  = !all;
-    req->version = PROFILE_GetWineIniBool( "registry", "UseNewFormat", 0 ) ? 2 : 1;
+#if 1
+    req->version = (PROFILE_GetWineIniBool( "registry", "UseNewFormat", 0 )) ? 2 : 1;
+#else
+    req->version = 1;
+#endif
+    req->version = 1;
     server_call( REQ_SET_REGISTRY_LEVELS );
 
     SHELL_SaveRegistryBranch(HKEY_CURRENT_USER);
     SHELL_SaveRegistryBranch(HKEY_LOCAL_MACHINE);
     SHELL_SaveRegistryBranch(HKEY_USERS);
 }

makes the whole thing save again.

Bye 

Uwe Bonnes                [EMAIL PROTECTED]

Free Software: If you contribute nothing, expect nothing
--

Reply via email to