loader: fix loadorder

Alexandre Julliard julliard at winehq.com
Fri Feb 14 13:26:32 CST 2003


"Dimitrie O. Paun" <dpaun at 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 at winehq.com



More information about the wine-devel mailing list