Nikolay Sivov (@nsivov) commented about dlls/ieframe/iexplore.c:
hres = IWebBrowser2_Navigate2(&ie->IWebBrowser2_iface, &urlv, NULL, NULL, NULL, NULL); if(FAILED(hres))
{
SysFreeString(V_BSTR(&urlv));
IWebBrowser2_Release(&ie->IWebBrowser2_iface); return 0;
}
SysFreeString(V_BSTR(&urlv)); IWebBrowser2_Release(&ie->IWebBrowser2_iface); return ULongToHandle(DDE_FACK);
}
VariantClear() seems more fitting. Also, you don't need this duplication. Just use FAILED(hres) to return 0 or DDE_FACK.