Hi Andrew,

Andrew Eikum wrote:
---
 dlls/mshtml/htmlimg.c |   46
+++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 45 insertions(+), 1 deletions(-)




+    if(params->cArgs >= 2) {
+        width = params->rgvarg;
+        height = params->rgvarg + 1;
+    }else if(params->cArgs == 1) {
+        width = params->rgvarg;
+        height = ∅
+    }else {
+        width = ∅
+        height = ∅
+    }


Note that DISPPARAMS stores arguments in right to left order so you swap 
arguments here. Also you have to skip named args that are stored in first 
cNamedArgs of rgvarg table. How about:

argc = params->cArgs - params->cNamedArgs;
width = argc >= 2 ? params->rgvarg+argc-1 : ∅
height = argc >= 1 ? params->rgvarg+argc-2 : ∅

Also:

+    IHTMLImgElement_QueryInterface(img, &IID_IDispatch, (void**)&disp);

IHTMLImgElement is a child interface of IDispatch, so you can use C cast here 
instead of QueryInterface here.


Jacek




Reply via email to