- wxVariant variant = m_ie.GetProperty("Document");
- IHTMLDocument2* document = (IHTMLDocument2*)variant.GetVoidPtr();
-
- wxASSERT(document);
-
- return document;
+ IDispatch* dispatch = NULL;
+ HRESULT result = m_webBrowser->get_Document(&dispatch);
+ if(dispatch && SUCCEEDED(result))
+ {
+ IHTMLDocument2* document;
+ dispatch->QueryInterface(IID_IHTMLDocument2, (void**)&document);
+ dispatch->Release();
+ //document is set to null automatically if the interface isn't supported
+ return document;
+ }
+ else
+ {
+ return NULL;
+ }