Очередной баг?
От: _defrager Россия  
Дата: 12.08.02 12:38
Оценка: 30 (1)
Делаю себе браузер на движке ie и наткнулся на такой код в MFC:

(Mfc7, ViewHtml.cpp, ExecFormsCommand)

/////////////////////////////////////////
HRESULT hr = E_FAIL;

CComPtr<IHTMLDocument2> spDoc = (IHTMLDocument2*) GetHtmlDocument();
if (spDoc != NULL)
{
CComQIPtr<IOleCommandTarget> spCmdTarget = spDoc;
if (spCmdTarget != NULL)
hr = spCmdTarget->Exec(&CMDSETID_Forms3, dwCommandID,
OLECMDEXECOPT_DONTPROMPTUSER, pVarOut, pVarIn);
}

return hr;
////////////////////////////////////////

Как я понимаю, здесь теряется один Release() , потому что Release() нужно вызвать и для spDoc,
и для диспатча,возвращаемого GetHtmlDocument()

Так ведь?


ps. Любители критиковать чужие браузеры, посмотрите плз stylerbrowser.narod.ru (250kb)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.