"Stefan Jones" <[EMAIL PROTECTED]> wrote:

> On upgrading to Wine 20030618/20030709 I found that kazaa lite will no longer
> work

...

> The following patch reversal fixes it:
> ( it undoes Dmitry's patch )

If you could confirm that after your patch attached program while loading
native olepro32.dll and msvbvm60.dll still prints the following:

Loading: "olepro32.dll"
LoadTypeLib() = 00000000
GetLibAttr() = 00000000
ITypeLib2_Release() = 0
Loading: "msvbvm60.dll"
LoadTypeLib() = 00000000
GetLibAttr() = 00000000
ITypeLib2_Release() = 0

then your patch is OK.

-- 
Dmitry.
#define COBJMACROS

#include <windows.h>
#include <oleauto.h>
#include <stdio.h>

void load_type_lib(LPCWSTR type_lib)
{
    ITypeLib *iface;
    TLIBATTR *pTLibAttr;
    HRESULT hResult;
    ULONG ref_count;
    DWORD dwWritten;

    printf("Loading: \"%ws\"\n", type_lib);

    hResult = LoadTypeLib(type_lib, &iface);
    printf("LoadTypeLib() = %08lx\n", hResult);

    if (hResult) return;

    //hResult = iface->lpVtbl->GetLibAttr(iface, &pTLibAttr);
    hResult = ITypeLib2_GetLibAttr(iface, &pTLibAttr);
    printf("GetLibAttr() = %08lx\n", hResult);

//    fflush(stdout);
//    WriteFile(GetStdHandle(STD_OUTPUT_HANDLE), pTLibAttr, sizeof(*pTLibAttr), 
&dwWritten, NULL);
//    printf("\n\n");

    //iface->lpVtbl->ReleaseTLibAttr(iface, pTLibAttr);
    ITypeLib2_ReleaseTLibAttr(iface, pTLibAttr);

    //ref_count = iface->lpVtbl->Release(iface);
    ref_count = ITypeLib2_Release(iface);
    printf("ITypeLib2_Release() = %lu\n", ref_count);
}

int main(void)
{
    load_type_lib(L"olepro32.dll");
    load_type_lib(L"msvbvm60.dll");
    return 0;
}

Reply via email to