Re: loader: fix loadorder

2003-02-15 Thread Tony Lambregts
Dimitrie O. Paun wrote:


Tony should give it a try, and see if it works as expected.


I just did. Wonderfull.



Thanks for the patch!

 

Ditto. Alexandre, could please apply it. (Pretty please)

--

Tony Lambregts







Re: loader: fix loadorder

2003-02-15 Thread Rein Klazes
On 14 Feb 2003 11:26:32 -0800, you wrote:

> >   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?

It fixes girotel, which has a comm.dll in its own directory that clashes
with builtin comm.drv.

Rein.
-- 
Rein Klazes
[EMAIL PROTECTED]




Re: loader: fix loadorder

2003-02-14 Thread Dimitrie O. Paun
On February 14, 2003 02:26 pm, Alexandre Julliard wrote:
> 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?

I agree. My patch worked by the virtue of the [DllOverrides], and the
hard coded defaults. But what if things change in ~/.wine/config, or
there's no such file? To be honest, I knew this is a portion of code
that you worked on a lot, so I just sent in the patch to get your
attention... :)

Tony should give it a try, and see if it works as expected.

Thanks for the patch!

-- 
Dimi.





Re: loader: fix loadorder

2003-02-14 Thread Alexandre Julliard
"Dimitrie O. Paun" <[EMAIL PROTECTED]> 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 -  1.60
+++ loader/loadorder.c  14 Feb 2003 19:24:14 -
@@ -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
[EMAIL PROTECTED]