mshtml: Fixed unsafe cast in CreateChromeWindow2 implementation.
This commit is contained in:
parent
f52e0a776f
commit
a131886a86
@ -705,6 +705,7 @@ void ConnectionPointContainer_Destroy(ConnectionPointContainer*);
|
|||||||
|
|
||||||
NSContainer *NSContainer_Create(HTMLDocumentObj*,NSContainer*);
|
NSContainer *NSContainer_Create(HTMLDocumentObj*,NSContainer*);
|
||||||
void NSContainer_Release(NSContainer*);
|
void NSContainer_Release(NSContainer*);
|
||||||
|
nsresult create_chrome_window(nsIWebBrowserChrome*,nsIWebBrowserChrome**);
|
||||||
|
|
||||||
void init_mutation(HTMLDocumentNode*);
|
void init_mutation(HTMLDocumentNode*);
|
||||||
void release_mutation(HTMLDocumentNode*);
|
void release_mutation(HTMLDocumentNode*);
|
||||||
|
@ -1150,8 +1150,6 @@ static nsresult NSAPI nsWebBrowserChrome_ExitModalEventLoop(nsIWebBrowserChrome
|
|||||||
return NS_ERROR_NOT_IMPLEMENTED;
|
return NS_ERROR_NOT_IMPLEMENTED;
|
||||||
}
|
}
|
||||||
|
|
||||||
#undef NSWBCHROME_THIS
|
|
||||||
|
|
||||||
static const nsIWebBrowserChromeVtbl nsWebBrowserChromeVtbl = {
|
static const nsIWebBrowserChromeVtbl nsWebBrowserChromeVtbl = {
|
||||||
nsWebBrowserChrome_QueryInterface,
|
nsWebBrowserChrome_QueryInterface,
|
||||||
nsWebBrowserChrome_AddRef,
|
nsWebBrowserChrome_AddRef,
|
||||||
@ -1711,6 +1709,17 @@ static const nsISupportsWeakReferenceVtbl nsSupportsWeakReferenceVtbl = {
|
|||||||
nsSupportsWeakReference_GetWeakReference
|
nsSupportsWeakReference_GetWeakReference
|
||||||
};
|
};
|
||||||
|
|
||||||
|
nsresult create_chrome_window(nsIWebBrowserChrome *parent, nsIWebBrowserChrome **ret)
|
||||||
|
{
|
||||||
|
NSContainer *new_container;
|
||||||
|
|
||||||
|
if(parent->lpVtbl != &nsWebBrowserChromeVtbl)
|
||||||
|
return NS_ERROR_UNEXPECTED;
|
||||||
|
|
||||||
|
new_container = NSContainer_Create(NULL, NSWBCHROME_THIS(parent));
|
||||||
|
*ret = NSWBCHROME(new_container);
|
||||||
|
return NS_OK;
|
||||||
|
}
|
||||||
|
|
||||||
NSContainer *NSContainer_Create(HTMLDocumentObj *doc, NSContainer *parent)
|
NSContainer *NSContainer_Create(HTMLDocumentObj *doc, NSContainer *parent)
|
||||||
{
|
{
|
||||||
|
@ -99,8 +99,7 @@ static nsresult NSAPI nsWindowCreator_CreateChromeWindow2(nsIWindowCreator2 *ifa
|
|||||||
if(cancel)
|
if(cancel)
|
||||||
*cancel = FALSE;
|
*cancel = FALSE;
|
||||||
|
|
||||||
*_retval = NSWBCHROME(NSContainer_Create(NULL, (NSContainer*)parent));
|
return create_chrome_window(parent, _retval);
|
||||||
return NS_OK;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static const nsIWindowCreator2Vtbl nsWindowCreatorVtbl = {
|
static const nsIWindowCreator2Vtbl nsWindowCreatorVtbl = {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user