Module: wine Branch: master Commit: 1eced6053d7d277029128b9e127edf2317e9ccbd URL: http://source.winehq.org/git/wine.git/?a=commit;h=1eced6053d7d277029128b9e12...
Author: Jacek Caban jacek@codeweavers.com Date: Sat Jun 19 22:25:32 2010 +0200
mshtml: Check if event_table entry is allocated before using it in remove_event_handler.
---
dlls/mshtml/htmlevent.c | 2 +- dlls/mshtml/tests/events.c | 4 ++++ 2 files changed, 5 insertions(+), 1 deletions(-)
diff --git a/dlls/mshtml/htmlevent.c b/dlls/mshtml/htmlevent.c index 6925a0c..7cc2f39 100644 --- a/dlls/mshtml/htmlevent.c +++ b/dlls/mshtml/htmlevent.c @@ -1077,7 +1077,7 @@ static HRESULT ensure_nsevent_handler(HTMLDocumentNode *doc, event_target_t *eve
static HRESULT remove_event_handler(event_target_t **event_target, eventid_t eid) { - if(*event_target && (*event_target)->event_table[eid]->handler_prop) { + if(*event_target && (*event_target)->event_table[eid] && (*event_target)->event_table[eid]->handler_prop) { IDispatch_Release((*event_target)->event_table[eid]->handler_prop); (*event_target)->event_table[eid]->handler_prop = NULL; } diff --git a/dlls/mshtml/tests/events.c b/dlls/mshtml/tests/events.c index c9523de..deafd54 100644 --- a/dlls/mshtml/tests/events.c +++ b/dlls/mshtml/tests/events.c @@ -1172,6 +1172,10 @@ static void test_onclick(IHTMLDocument2 *doc) hres = IHTMLElement_put_onclick(div, v); ok(hres == S_OK, "put_onclick failed: %08x\n", hres);
+ V_VT(&v) = VT_NULL; + hres = IHTMLElement_put_ondblclick(div, v); + ok(hres == S_OK, "put_ondblclick failed: %08x\n", hres); + V_VT(&v) = VT_EMPTY; hres = IHTMLElement_get_onclick(div, &v); ok(hres == S_OK, "get_onclick failed: %08x\n", hres);