Shell32: Reimplement SHGetFolder functions

Juan Lang juan_lang at yahoo.com
Wed Sep 15 11:09:08 CDT 2004


--- Alexandre Julliard <julliard at winehq.org> wrote:
> > +static void loadShell32(void)
> > +{
> > +    if (hShell32)
> > +    {
> > +        if (pMalloc)
> > +        {
> > +            pMalloc->lpVtbl->Release(pMalloc);
> > +            pMalloc = NULL;
> > +        }
> > +        /* until it's really unloaded: */
> > +        while (FreeLibrary(hShell32))
> > +            ;
> 
> I'm not sure what you are trying to do here, but
> this causes an
> infinite loop on XP (and it probably should under
> Wine too, since the
> test binary imports shell32).

I'm unable to reproduce the infinite loop under XP. 
As far as I can tell this shouldn't produce one,
either: since I don't modify the value of hShell32,
FreeLibrary should eventually fail when the refcount
on the library reaches 0 and the library is actually
unloaded.

There are other problems in WinXP that I'm working on
(ILFindLastID doesn't appear to be exported by name,
for example).  If you're sure an infinite loop is the
symptom, though, I'll resubmit without this test. 
(Pity, it was probably the most interesting test.)

--Juan


		
__________________________________
Do you Yahoo!?
Yahoo! Mail Address AutoComplete - You start. We finish.
http://promotions.yahoo.com/new_mail 



More information about the wine-devel mailing list