Jacek Caban : mshtml: Added IHTMLEventObj::get_ctrKey implementation.
Alexandre Julliard
julliard at winehq.org
Tue Sep 8 08:55:00 CDT 2009
Module: wine
Branch: master
Commit: 066e0812e6ea07aeebe6a5c5b9d0d620df260320
URL: http://source.winehq.org/git/wine.git/?a=commit;h=066e0812e6ea07aeebe6a5c5b9d0d620df260320
Author: Jacek Caban <jacek at codeweavers.com>
Date: Sun Sep 6 18:55:41 2009 +0200
mshtml: Added IHTMLEventObj::get_ctrKey implementation.
---
dlls/mshtml/htmlevent.c | 27 +++++++++++++++++++++++++--
1 files changed, 25 insertions(+), 2 deletions(-)
diff --git a/dlls/mshtml/htmlevent.c b/dlls/mshtml/htmlevent.c
index 69e2bc0..180a518 100644
--- a/dlls/mshtml/htmlevent.c
+++ b/dlls/mshtml/htmlevent.c
@@ -265,8 +265,31 @@ static HRESULT WINAPI HTMLEventObj_get_altKey(IHTMLEventObj *iface, VARIANT_BOOL
static HRESULT WINAPI HTMLEventObj_get_ctrlKey(IHTMLEventObj *iface, VARIANT_BOOL *p)
{
HTMLEventObj *This = HTMLEVENTOBJ_THIS(iface);
- FIXME("(%p)->(%p)\n", This, p);
- return E_NOTIMPL;
+ PRBool ret = FALSE;
+
+ TRACE("(%p)->(%p)\n", This, p);
+
+ if(This->nsevent) {
+ nsIDOMKeyEvent *key_event;
+ nsresult nsres;
+
+ nsres = nsIDOMEvent_QueryInterface(This->nsevent, &IID_nsIDOMKeyEvent, (void**)&key_event);
+ if(NS_SUCCEEDED(nsres)) {
+ nsIDOMKeyEvent_GetCtrlKey(key_event, &ret);
+ nsIDOMKeyEvent_Release(key_event);
+ }else {
+ nsIDOMMouseEvent *mouse_event;
+
+ nsres = nsIDOMEvent_QueryInterface(This->nsevent, &IID_nsIDOMMouseEvent, (void**)&mouse_event);
+ if(NS_SUCCEEDED(nsres)) {
+ nsIDOMMouseEvent_GetCtrlKey(mouse_event, &ret);
+ nsIDOMMouseEvent_Release(mouse_event);
+ }
+ }
+ }
+
+ *p = ret ? VARIANT_TRUE : VARIANT_FALSE;
+ return S_OK;
}
static HRESULT WINAPI HTMLEventObj_get_shiftKey(IHTMLEventObj *iface, VARIANT_BOOL *p)
More information about the wine-cvs
mailing list