From 156f0f7a236221c615e7b9e32741935bbe5e6644 Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Wed, 12 Mar 2014 18:07:10 +0000 Subject: Miranda API fix small actman optimization git-svn-id: http://svn.miranda-ng.org/main/trunk@8585 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/Actman30/iac_call.pas | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'plugins/Actman30/iac_call.pas') 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; -- cgit v1.2.3