"Dimitrie O. Paun" dpaun@rogers.com writes:
ChangeLog Revert default loadorder to native DLLs firsts, to use the programs supplied ones if available. (Bug discovered and investigated by Tony Lambregts)
I don't think we should revert it, using builtins by default is a good idea IMO. We just need to handle dlls with an explicit path differently; how about something like this?
Index: loader/loadorder.c =================================================================== RCS file: /opt/cvs-commit/wine/loader/loadorder.c,v retrieving revision 1.60 diff -u -r1.60 loadorder.c --- loader/loadorder.c 23 Oct 2002 20:20:59 -0000 1.60 +++ loader/loadorder.c 14 Feb 2003 19:24:14 -0000 @@ -103,6 +103,12 @@ LOADORDER_BI, LOADORDER_DLL, 0, 0 };
+/* default for modules with an explicit path */ +static const enum loadorder_type default_path_loadorder[LOADORDER_NTYPES] = +{ + LOADORDER_DLL, LOADORDER_BI, 0, 0 +}; + static struct loadorder_list cmdline_list;
@@ -674,13 +680,18 @@ debugstr_loadorder(loadorder), debugstr_a(path) ); goto done; } - } - - /* and last the hard-coded default */ - memcpy( loadorder, default_loadorder, sizeof(default_loadorder) ); - TRACE( "got hardcoded default %s for %s\n", - debugstr_loadorder(loadorder), debugstr_a(path) );
+ /* and last the hard-coded default */ + memcpy( loadorder, default_loadorder, sizeof(default_loadorder) ); + TRACE( "got hardcoded default %s for %s\n", + debugstr_loadorder(loadorder), debugstr_a(path) ); + } + else /* module contains an explicit path */ + { + memcpy( loadorder, default_path_loadorder, sizeof(default_path_loadorder) ); + TRACE( "got hardcoded path default %s for %s\n", + debugstr_loadorder(loadorder), debugstr_a(path) ); + }
done: if (app_key) NtClose( app_key );