Browse Source

* need to pass connection. Do not call disconnect event twice

Michaël Van Canneyt 3 years ago
parent
commit
7d0d909a74
1 changed files with 4 additions and 3 deletions
  1. 4 3
      packages/fcl-web/src/websocket/fpcustwsserver.pp

+ 4 - 3
packages/fcl-web/src/websocket/fpcustwsserver.pp

@@ -549,7 +549,7 @@ end;
 procedure TCustomWSServer.DoDisconnect(Sender: TObject);
 begin
   if Assigned(OnDisconnect) then
-    OnDisconnect(Self);
+    OnDisconnect(Sender);
 end;
 
 procedure TCustomWSServer.FreeConnectionHandler;
@@ -592,14 +592,15 @@ end;
 
 procedure TCustomWSServer.RemoveConnection(AConnection: TWSServerConnection;aDoDisconnect: Boolean);
 begin
-  if aDoDisconnect then
+  if not aDoDisconnect then
+    DoDisconnect(aConnection)
+  else
     try
       aConnection.Disconnect;
     except
       on E : Exception do
        HandleError(aConnection,E);
     end;
-  DoDisconnect(aConnection);
   Connections.Remove(aConnection);
   aConnection.Free;
 end;