Prechádzať zdrojové kódy

TAsyncCallQueues: init lock

mattias 1 rok pred
rodič
commit
84284bbde5

+ 13 - 0
src/base/fresnel.asynccalls.pp

@@ -37,6 +37,8 @@ Type
     Procedure Lock; inline;
     Procedure Unlock; inline;
   Public
+    constructor Create;
+    destructor Destroy; override;
     procedure ProcessQueue; // called by
     procedure QueueAsyncCall(const aMethod: TAsyncDataEvent; aData: Pointer; aFreeObject : Boolean = false);
     procedure RemoveAsyncCalls(const aObject: TObject);
@@ -58,6 +60,17 @@ begin
   System.LeaveCriticalsection(FLock);
 end;
 
+constructor TAsyncCallQueues.Create;
+begin
+  System.InitCriticalSection(FLock);
+end;
+
+destructor TAsyncCallQueues.Destroy;
+begin
+  System.DoneCriticalSection(FLock);
+  inherited Destroy;
+end;
+
 procedure TAsyncCallQueues.ProcessQueue;
 
 var

+ 2 - 6
src/lcl/fresnel.lclevents.pas

@@ -1,11 +1,11 @@
-unit fresnel.lclevents;
+unit Fresnel.LCLEvents;
 
 {$mode objfpc}{$H+}
 
 interface
 
 uses
-  Classes, SysUtils, Controls, Fresnel.DOM, Fresnel.Events, Fresnel.Classes;
+  Classes, SysUtils, Controls, Fresnel.DOM, Fresnel.Events, Fresnel.Classes, Fresnel.LCL;
 
 Type
 
@@ -37,8 +37,6 @@ Type
 
 implementation
 
-uses fresnel.lcl;
-
 Type
   THC = Class(TWinControl)
   end;
@@ -198,10 +196,8 @@ begin
   finally
     evt.Free;
   end;
-
 end;
 
-
 procedure TFresnelLCLEventControl.HandleMouseMove(Sender: TObject;   Shift: TShiftState; X, Y: Integer);
 
 Var