diff options
Diffstat (limited to 'plugins/QuickSearch/i_ok.inc')
-rw-r--r-- | plugins/QuickSearch/i_ok.inc | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/plugins/QuickSearch/i_ok.inc b/plugins/QuickSearch/i_ok.inc index 00918a0ffb..a5bdf7c715 100644 --- a/plugins/QuickSearch/i_ok.inc +++ b/plugins/QuickSearch/i_ok.inc @@ -262,6 +262,7 @@ procedure LoadOneItem(hContact:THANDLE;column:pcolumnitem;proto:integer; var res var
tmp:int_ptr;
lmodule,srv:PAnsiChar;
+ lwparam,llparam:TLPARAM;
DbEvent:TMEVENT;
cni:TCONTACTINFO;
dbei:TDBEVENTINFO;
@@ -278,14 +279,25 @@ begin end;
QST_SERVICE: begin
- if wparam._type=ACF_CURRENT then wparam.value:=hContact;
- if lparam._type=ACF_CURRENT then lparam.value:=hContact;
+ case wparam._type of
+ ACF_CURRENT: lwparam:=hContact;
+ ACF_NUMBER : lwparam:=NumToInt(wparam.value);
+ else
+ lwparam:=TLPARAM(wparam.value);
+ end;
+ case lparam._type of
+ ACF_CURRENT: llparam:=hContact;
+ ACF_NUMBER : llparam:=NumToInt(lparam.value);
+ else
+ llparam:=TLPARAM(lparam.value);
+ end;
if (restype and ACF_SCRIPT_SERVICE)<>0 then
srv:=ParseVarString(service,hContact,nil)
else
srv:=service;
- tmp:=int_ptr(CallService(srv,TWPARAM(wparam.value),TLPARAM(lparam.value)));
+
+ tmp:=int_ptr(CallService(srv,TWPARAM(lwparam),TLPARAM(llparam)));
if (restype and ACF_SCRIPT_SERVICE)<>0 then
mFreeMem(srv);
|