Commit 0be56d27 authored by Jacek Caban's avatar Jacek Caban Committed by Alexandre Julliard

mshtml: Wine Gecko 2.24 release.

parent a449b2d5
...@@ -52,14 +52,14 @@ ...@@ -52,14 +52,14 @@
WINE_DEFAULT_DEBUG_CHANNEL(appwizcpl); WINE_DEFAULT_DEBUG_CHANNEL(appwizcpl);
#define GECKO_VERSION "2.21" #define GECKO_VERSION "2.24"
#ifdef __i386__ #ifdef __i386__
#define ARCH_STRING "x86" #define ARCH_STRING "x86"
#define GECKO_SHA "a514fc4d53783a586c7880a676c415695fe934a3" #define GECKO_SHA "b4923c0565e6cbd20075a0d4119ce3b48424f962"
#elif defined(__x86_64__) #elif defined(__x86_64__)
#define ARCH_STRING "x86_64" #define ARCH_STRING "x86_64"
#define GECKO_SHA "c6f249ff2c6eb7dfe423ef246aba54e1a3b26934" #define GECKO_SHA "da65fb99a53d87c831030ec8787e31d797f60e60"
#else #else
#define ARCH_STRING "" #define ARCH_STRING ""
#define GECKO_SHA "???" #define GECKO_SHA "???"
......
...@@ -1728,8 +1728,8 @@ static HRESULT HTMLElement_invoke(DispatchEx *dispex, DISPID id, LCID lcid, ...@@ -1728,8 +1728,8 @@ static HRESULT HTMLElement_invoke(DispatchEx *dispex, DISPID id, LCID lcid,
static HRESULT HTMLElement_populate_props(DispatchEx *dispex) static HRESULT HTMLElement_populate_props(DispatchEx *dispex)
{ {
HTMLElement *This = impl_from_DispatchEx(dispex); HTMLElement *This = impl_from_DispatchEx(dispex);
nsIDOMNamedNodeMap *attrs; nsIDOMMozNamedAttrMap *attrs;
nsIDOMNode *node; nsIDOMAttr *attr;
nsAString nsstr; nsAString nsstr;
const PRUnichar *str; const PRUnichar *str;
BSTR name; BSTR name;
...@@ -1747,40 +1747,40 @@ static HRESULT HTMLElement_populate_props(DispatchEx *dispex) ...@@ -1747,40 +1747,40 @@ static HRESULT HTMLElement_populate_props(DispatchEx *dispex)
if(NS_FAILED(nsres)) if(NS_FAILED(nsres))
return E_FAIL; return E_FAIL;
nsres = nsIDOMNamedNodeMap_GetLength(attrs, &len); nsres = nsIDOMMozNamedAttrMap_GetLength(attrs, &len);
if(NS_FAILED(nsres)) { if(NS_FAILED(nsres)) {
nsIDOMNamedNodeMap_Release(attrs); nsIDOMMozNamedAttrMap_Release(attrs);
return E_FAIL; return E_FAIL;
} }
nsAString_Init(&nsstr, NULL); nsAString_Init(&nsstr, NULL);
for(i=0; i<len; i++) { for(i=0; i<len; i++) {
nsres = nsIDOMNamedNodeMap_Item(attrs, i, &node); nsres = nsIDOMMozNamedAttrMap_Item(attrs, i, &attr);
if(NS_FAILED(nsres)) if(NS_FAILED(nsres))
continue; continue;
nsres = nsIDOMNode_GetNodeName(node, &nsstr); nsres = nsIDOMAttr_GetNodeName(attr, &nsstr);
if(NS_FAILED(nsres)) { if(NS_FAILED(nsres)) {
nsIDOMNode_Release(node); nsIDOMAttr_Release(attr);
continue; continue;
} }
nsAString_GetData(&nsstr, &str); nsAString_GetData(&nsstr, &str);
name = SysAllocString(str); name = SysAllocString(str);
if(!name) { if(!name) {
nsIDOMNode_Release(node); nsIDOMAttr_Release(attr);
continue; continue;
} }
hres = IDispatchEx_GetDispID(&dispex->IDispatchEx_iface, name, fdexNameCaseInsensitive, &id); hres = IDispatchEx_GetDispID(&dispex->IDispatchEx_iface, name, fdexNameCaseInsensitive, &id);
if(hres != DISP_E_UNKNOWNNAME) { if(hres != DISP_E_UNKNOWNNAME) {
nsIDOMNode_Release(node); nsIDOMAttr_Release(attr);
SysFreeString(name); SysFreeString(name);
continue; continue;
} }
nsres = nsIDOMNode_GetNodeValue(node, &nsstr); nsres = nsIDOMAttr_GetNodeValue(attr, &nsstr);
nsIDOMNode_Release(node); nsIDOMAttr_Release(attr);
if(NS_FAILED(nsres)) { if(NS_FAILED(nsres)) {
SysFreeString(name); SysFreeString(name);
continue; continue;
...@@ -1803,7 +1803,7 @@ static HRESULT HTMLElement_populate_props(DispatchEx *dispex) ...@@ -1803,7 +1803,7 @@ static HRESULT HTMLElement_populate_props(DispatchEx *dispex)
} }
nsAString_Finish(&nsstr); nsAString_Finish(&nsstr);
nsIDOMNamedNodeMap_Release(attrs); nsIDOMMozNamedAttrMap_Release(attrs);
return S_OK; return S_OK;
} }
......
...@@ -38,6 +38,7 @@ ...@@ -38,6 +38,7 @@
#include "mshtml_private.h" #include "mshtml_private.h"
#include "htmlevent.h" #include "htmlevent.h"
#include "htmlscript.h" #include "htmlscript.h"
#include "pluginhost.h"
#include "binding.h" #include "binding.h"
#include "resource.h" #include "resource.h"
...@@ -114,8 +115,12 @@ static void detach_inner_window(HTMLInnerWindow *window) ...@@ -114,8 +115,12 @@ static void detach_inner_window(HTMLInnerWindow *window)
if(outer_window && outer_window->doc_obj && outer_window == outer_window->doc_obj->basedoc.window) if(outer_window && outer_window->doc_obj && outer_window == outer_window->doc_obj->basedoc.window)
window->doc->basedoc.cp_container.forward_container = NULL; window->doc->basedoc.cp_container.forward_container = NULL;
if(window->doc) if(window->doc) {
detach_events(window->doc); detach_events(window->doc);
while(!list_empty(&window->doc->plugin_hosts))
detach_plugin_host(LIST_ENTRY(list_head(&window->doc->plugin_hosts), PluginHost, entry));
}
abort_window_bindings(window); abort_window_bindings(window);
remove_target_tasks(window->task_magic); remove_target_tasks(window->task_magic);
release_script_hosts(window); release_script_hosts(window);
......
...@@ -488,7 +488,7 @@ static BOOL load_xul(const PRUnichar *gre_path) ...@@ -488,7 +488,7 @@ static BOOL load_xul(const PRUnichar *gre_path)
} }
#define NS_DLSYM(func) \ #define NS_DLSYM(func) \
func = (void *)GetProcAddress(xul_handle, #func "_P"); \ func = (void *)GetProcAddress(xul_handle, #func); \
if(!func) \ if(!func) \
ERR("Could not GetProcAddress(" #func ") failed\n") ERR("Could not GetProcAddress(" #func ") failed\n")
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment