summaryrefslogtreecommitdiff
path: root/plugins/Actman30/iac_call.pas
diff options
context:
space:
mode:
authorAlexey Kulakov <panda75@bk.ru>2014-03-12 18:07:10 +0000
committerAlexey Kulakov <panda75@bk.ru>2014-03-12 18:07:10 +0000
commit156f0f7a236221c615e7b9e32741935bbe5e6644 (patch)
tree094ff53d26620a983f1c457286761756e12e7f5d /plugins/Actman30/iac_call.pas
parentce11751a330c954e08e2ca4bbe2285bfbc0c4fb3 (diff)
Miranda API fix
small actman optimization git-svn-id: http://svn.miranda-ng.org/main/trunk@8585 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'plugins/Actman30/iac_call.pas')
-rw-r--r--plugins/Actman30/iac_call.pas12
1 files changed, 10 insertions, 2 deletions
diff --git a/plugins/Actman30/iac_call.pas b/plugins/Actman30/iac_call.pas
index 074646f149..80a944ec0b 100644
--- a/plugins/Actman30/iac_call.pas
+++ b/plugins/Actman30/iac_call.pas
@@ -113,6 +113,7 @@ var
res:LRESULT;
largv:array [0..MaxArgCount-1] of uint_ptr;
i:integer;
+ loaded:bool;
begin
result:=0;
if (dllname =nil) or (dllname^ =#0) or
@@ -122,7 +123,13 @@ begin
exit;
end;
- hDLL:=LoadLibraryA(dllname);
+ loaded:=false;
+ hDLL:=GetModuleHandleA(dllname);
+ if hDLL=0 then
+ begin
+ loaded:=true;
+ hDLL:=LoadLibraryA(dllname);
+ end;
// hDLL:=GetDllHandle(dllname);
if hDLL<>0 then
begin
@@ -220,7 +227,8 @@ begin
end;
// FreeDllHandle(hDLL);
- FreeLibrary(hDLL);
+ if loaded then
+ FreeLibrary(hDLL);
end;
end;