Problem in scheduler/process.c

Dustin Navea speeddymon at yahoo.com
Fri May 17 12:02:00 CDT 2002


ok, so I have found the cause of the problem in
scheduler/process.c that is making ut-based installers
not work.

the problem is the code from line 450 to line 461
inclusive.

in all programs, PROCESS_InitWine is called from int
main in miscemu/main.c, then open_winelib_app is
called from PROCESS_InitWine (always) where things go
wrong...

in a normal program, 1 of 2 things (im not sure which
though) happens...

1) line 451 evaluates to false so that section is
skipped and then line 461 is also evaluated to false,
so it is also skipped, so open_winelib_app returns
either null or " " (not sure of the difference)

-or-

2) line 451 evaluates to true, and then 457 also
evaluates to true, so open_winelib_app returns NULL.

with the ut-based installer that is the case, but the
Setup.exe that is on the root of the cd acts
differently...

1) 451 evaluates to false and then 461 evaluates to
true, causing wine to attempt to load the real
installer (called by the one in the root of the cd) as
a .so, which doesn't work.

-or-

2) 451 evaluates to true and 457 evaluates to false,
so it goes on to 461, which evaluates to true...

with winelib apps the same thing happens as with the
"root-of-cd" installer except that the .so file does
exist and so it gets loaded...

so, i think what needs to be done is a check in
PROCESS_InitWine for the kind of binary (windows or
winelib).  and if it is a winelib binary, then run
call open_winelib_app, otherwise proceed with normal
loading...

probably the easiest way to do this would be like this

line 491-494

if (argv[0] != 'wine')
{
    if (open_winelib_app( app_argv )) goto found;
}

that way you could probably completely remove lines
450-459 which are in open_winelib_app, since all it
does is check to make sure argv[0] doesn't equal
wine...

i would try this method out and submit it, but i won't
be back at home until tonight, so i can't make any
diff's.  if someone wants to give it a go and let us
know if it works, please give me credit for the
_idea_.

hopefully this solves some other problems too...

comments appreciated.

-Dustin

__________________________________________________
Do You Yahoo!?
LAUNCH - Your Yahoo! Music Experience
http://launch.yahoo.com



More information about the wine-devel mailing list