Jacek Caban : mshtml: Improved IDOMMouseEvent::offset[XY] stubs.

Alexandre Julliard julliard at winehq.org
Wed Feb 21 18:39:41 CST 2018


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

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Wed Feb 21 15:19:45 2018 +0100

mshtml: Improved IDOMMouseEvent::offset[XY] stubs.

Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/mshtml/htmlevent.c     | 24 ++++++++++++++++++------
 dlls/mshtml/tests/events.js |  2 ++
 2 files changed, 20 insertions(+), 6 deletions(-)

diff --git a/dlls/mshtml/htmlevent.c b/dlls/mshtml/htmlevent.c
index 685a1e3..6c75475 100644
--- a/dlls/mshtml/htmlevent.c
+++ b/dlls/mshtml/htmlevent.c
@@ -663,7 +663,10 @@ static HRESULT WINAPI HTMLEventObj_get_offsetX(IHTMLEventObj *iface, LONG *p)
 {
     HTMLEventObj *This = impl_from_IHTMLEventObj(iface);
 
-    FIXME("(%p)->(%p)\n", This, p);
+    TRACE("(%p)->(%p)\n", This, p);
+
+    if(This->event && This->event->mouse_event)
+        return IDOMMouseEvent_get_offsetX(&This->event->IDOMMouseEvent_iface, p);
 
     *p = 0;
     return S_OK;
@@ -673,7 +676,10 @@ static HRESULT WINAPI HTMLEventObj_get_offsetY(IHTMLEventObj *iface, LONG *p)
 {
     HTMLEventObj *This = impl_from_IHTMLEventObj(iface);
 
-    FIXME("(%p)->(%p)\n", This, p);
+    TRACE("(%p)->(%p)\n", This, p);
+
+    if(This->event && This->event->mouse_event)
+        return IDOMMouseEvent_get_offsetY(&This->event->IDOMMouseEvent_iface, p);
 
     *p = 0;
     return S_OK;
@@ -1598,15 +1604,21 @@ static HRESULT WINAPI DOMMouseEvent_get_y(IDOMMouseEvent *iface, LONG *p)
 static HRESULT WINAPI DOMMouseEvent_get_offsetX(IDOMMouseEvent *iface, LONG *p)
 {
     DOMEvent *This = impl_from_IDOMMouseEvent(iface);
-    FIXME("(%p)->(%p)\n", This, p);
-    return E_NOTIMPL;
+
+    FIXME("(%p)->(%p) returning 0\n", This, p);
+
+    *p = 0;
+    return S_OK;
 }
 
 static HRESULT WINAPI DOMMouseEvent_get_offsetY(IDOMMouseEvent *iface, LONG *p)
 {
     DOMEvent *This = impl_from_IDOMMouseEvent(iface);
-    FIXME("(%p)->(%p)\n", This, p);
-    return E_NOTIMPL;
+
+    FIXME("(%p)->(%p) returning 0\n", This, p);
+
+    *p = 0;
+    return S_OK;
 }
 
 static HRESULT WINAPI DOMMouseEvent_get_pageX(IDOMMouseEvent *iface, LONG *p)
diff --git a/dlls/mshtml/tests/events.js b/dlls/mshtml/tests/events.js
index a6567c9..677e8e7 100644
--- a/dlls/mshtml/tests/events.js
+++ b/dlls/mshtml/tests/events.js
@@ -620,6 +620,8 @@ function test_mouse_event() {
     ok(e.screenY === 0, "screenY = " + e.screenY);
     ok(e.clientX === 0, "clientX = " + e.clientX);
     ok(e.clientY === 0, "clientY = " + e.clientY);
+    ok(e.offsetX === 0, "offsetX = " + e.offsetX);
+    ok(e.offsetY === 0, "offsetY = " + e.offsetY);
     ok(e.ctrlKey === false, "ctrlKey = " + e.ctrlKey);
     ok(e.altKey === false, "altKey = " + e.altKey);
     ok(e.shiftKey === false, "shiftKey = " + e.shiftKey);




More information about the wine-cvs mailing list