Dmitry Timoshkov : mshtml: Add better stub for HTMLDocument7:: get_onmsthumbnailclick.

Alexandre Julliard julliard at winehq.org
Tue Jun 18 17:21:47 CDT 2019


Module: wine
Branch: master
Commit: 756d9cdc6f43052fca5be1cc26a8e08b70515138
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=756d9cdc6f43052fca5be1cc26a8e08b70515138

Author: Dmitry Timoshkov <dmitry at baikal.ru>
Date:   Tue Jun 18 14:09:36 2019 +0800

mshtml: Add better stub for HTMLDocument7::get_onmsthumbnailclick.

Signed-off-by: Dmitry Timoshkov <dmitry at baikal.ru>
Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/mshtml/htmldoc.c   | 6 ++++--
 dlls/mshtml/htmlevent.c | 3 +++
 dlls/mshtml/htmlevent.h | 1 +
 dlls/mshtml/tests/dom.c | 7 +++++++
 4 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/dlls/mshtml/htmldoc.c b/dlls/mshtml/htmldoc.c
index 868a9a0..54787f0 100644
--- a/dlls/mshtml/htmldoc.c
+++ b/dlls/mshtml/htmldoc.c
@@ -3339,8 +3339,10 @@ static HRESULT WINAPI HTMLDocument7_put_onmsthumbnailclick(IHTMLDocument7 *iface
 static HRESULT WINAPI HTMLDocument7_get_onmsthumbnailclick(IHTMLDocument7 *iface, VARIANT *p)
 {
     HTMLDocument *This = impl_from_IHTMLDocument7(iface);
-    FIXME("(%p)->(%p)\n", This, p);
-    return E_NOTIMPL;
+
+    TRACE("(%p)->(%p)\n", This, p);
+
+    return get_doc_event(This, EVENTID_MSTHUMBNAILCLICK, p);
 }
 
 static HRESULT WINAPI HTMLDocument7_get_characterSet(IHTMLDocument7 *iface, BSTR *p)
diff --git a/dlls/mshtml/htmlevent.c b/dlls/mshtml/htmlevent.c
index 453fe32..b090d1c 100644
--- a/dlls/mshtml/htmlevent.c
+++ b/dlls/mshtml/htmlevent.c
@@ -88,6 +88,7 @@ static const WCHAR mouseoutW[] = {'m','o','u','s','e','o','u','t',0};
 static const WCHAR mouseoverW[] = {'m','o','u','s','e','o','v','e','r',0};
 static const WCHAR mouseupW[] = {'m','o','u','s','e','u','p',0};
 static const WCHAR mousewheelW[] = {'m','o','u','s','e','w','h','e','e','l',0};
+static const WCHAR msthumbnailclickW[] = {'m','s','t','h','u','m','b','n','a','i','l','c','l','i','c','k',0};
 static const WCHAR pasteW[] = {'p','a','s','t','e',0};
 static const WCHAR readystatechangeW[] = {'r','e','a','d','y','s','t','a','t','e','c','h','a','n','g','e',0};
 static const WCHAR resizeW[] = {'r','e','s','i','z','e',0};
@@ -208,6 +209,8 @@ static const event_info_t event_info[] = {
         EVENT_DEFAULTLISTENER | EVENT_BUBBLES | EVENT_CANCELABLE},
     {mousewheelW,        EVENT_TYPE_MOUSE,     DISPID_EVMETH_ONMOUSEWHEEL,
         EVENT_FIXME},
+    {msthumbnailclickW,  EVENT_TYPE_MOUSE,     DISPID_EVPROP_ONMSTHUMBNAILCLICK,
+        EVENT_FIXME},
     {pasteW,             EVENT_TYPE_CLIPBOARD, DISPID_EVMETH_ONPASTE,
         EVENT_FIXME | EVENT_BUBBLES | EVENT_CANCELABLE},
     {readystatechangeW,  EVENT_TYPE_EVENT,     DISPID_EVMETH_ONREADYSTATECHANGE,
diff --git a/dlls/mshtml/htmlevent.h b/dlls/mshtml/htmlevent.h
index e2f45dc..c5d9753 100644
--- a/dlls/mshtml/htmlevent.h
+++ b/dlls/mshtml/htmlevent.h
@@ -46,6 +46,7 @@ typedef enum {
     EVENTID_MOUSEOVER,
     EVENTID_MOUSEUP,
     EVENTID_MOUSEWHEEL,
+    EVENTID_MSTHUMBNAILCLICK,
     EVENTID_PASTE,
     EVENTID_READYSTATECHANGE,
     EVENTID_RESIZE,
diff --git a/dlls/mshtml/tests/dom.c b/dlls/mshtml/tests/dom.c
index 01c6191..e152c4f 100644
--- a/dlls/mshtml/tests/dom.c
+++ b/dlls/mshtml/tests/dom.c
@@ -7014,6 +7014,7 @@ static void test_dom_implementation(IHTMLDocument2 *doc)
         IHTMLDocument7 *new_document;
         IHTMLLocation *location;
         IHTMLWindow2 *window;
+        VARIANT v;
         IDispatch *disp;
 
         test_disp((IUnknown*)dom_implementation, &DIID_DispHTMLDOMImplementation, NULL, "[object]");
@@ -7045,6 +7046,12 @@ static void test_dom_implementation(IHTMLDocument2 *doc)
         hres = IHTMLDocument2_get_location(new_document2, &location);
         ok(hres == E_UNEXPECTED, "get_location returned: %08x\n", hres);
 
+        memset(&v, 0xcc, sizeof(v));
+        hres = IHTMLDocument7_get_onmsthumbnailclick(new_document, &v);
+        ok(hres == S_OK, "get_onmsthumbnailclick returned: %08x\n", hres);
+        ok(V_VT(&v) == VT_NULL, "got %u\n", V_VT(&v));
+        ok((DWORD)(DWORD_PTR)V_DISPATCH(&v) == 0xcccccccc, "got %p\n", V_DISPATCH(&v));
+
         IHTMLDocument2_Release(new_document2);
         IHTMLDocument7_Release(new_document);
         IHTMLDOMImplementation2_Release(dom_implementation2);




More information about the wine-cvs mailing list