"Dimitrie O. Paun" <dpaun(a)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 );
--
Alexandre Julliard
julliard(a)winehq.com