diff options
author | Alexey Kulakov <panda75@bk.ru> | 2014-03-12 18:07:10 +0000 |
---|---|---|
committer | Alexey Kulakov <panda75@bk.ru> | 2014-03-12 18:07:10 +0000 |
commit | 156f0f7a236221c615e7b9e32741935bbe5e6644 (patch) | |
tree | 094ff53d26620a983f1c457286761756e12e7f5d /plugins/Actman30 | |
parent | ce11751a330c954e08e2ca4bbe2285bfbc0c4fb3 (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')
-rw-r--r-- | plugins/Actman30/iac_call.pas | 12 |
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;
|