Skip to content

Commit cb982fb

Browse files
FIX: crash when disconnect without beeing connected and then connect
1 parent b6ba919 commit cb982fb

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

data_control/uuart.pas

+10-5
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
(******************************************************************************)
22
(* uuart.pas 01.02.2021 *)
33
(* *)
4-
(* Version : 0.03 *)
4+
(* Version : 0.04 *)
55
(* *)
66
(* Author : Uwe Schächterle (Corpsman) *)
77
(* *)
@@ -25,6 +25,7 @@
2525
(* History : 0.01 - Initial version *)
2626
(* 0.02 - do not kill uart connection on a error *)
2727
(* 0.03 - Add: "Purge" *)
28+
(* 0.04 - FIX crash when disconnect before connect *)
2829
(* *)
2930
(******************************************************************************)
3031

@@ -417,13 +418,17 @@
417418
Init();
418419
fIsRunning := true;
419420
While Not Terminated Do Begin
420-
If fNeedPurge And assigned(fCom) Then Begin
421-
fCom.Purge;
421+
If fNeedPurge Then Begin
422422
fNeedPurge := false;
423+
If assigned(fCom) Then Begin
424+
fCom.Purge;
425+
End;
423426
End;
424-
If fNeedDisconnect And assigned(fCom) Then Begin
427+
If fNeedDisconnect Then Begin
425428
fNeedDisconnect := false;
426-
CheckComState(true);
429+
If assigned(fCom) Then Begin
430+
CheckComState(true);
431+
End;
427432
End;
428433
If assigned(fCom) Then Begin
429434
While Not fSend.isempty Do Begin

0 commit comments

Comments
 (0)