From 4733c1d5f8049ae05f6b214e8d908886183d7e8d Mon Sep 17 00:00:00 2001 From: Basile Burg Date: Mon, 21 Aug 2017 06:28:44 +0200 Subject: [PATCH] fix #185 - diff dialog shown twice on external modification --- src/ce_synmemo.pas | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/ce_synmemo.pas b/src/ce_synmemo.pas index a056f7df..8e6d6ec3 100644 --- a/src/ce_synmemo.pas +++ b/src/ce_synmemo.pas @@ -236,6 +236,7 @@ type fKnowsDscanner: boolean; fDscannerEnabled: boolean; fScrollPreview: boolean; + fDiffDialogWillClose: boolean; procedure showHintEvent(Sender: TObject; HintInfo: PHintInfo); procedure setGutterTransparent(value: boolean); procedure decCallTipsLvl; @@ -2893,7 +2894,7 @@ var str: TStringList; txt: string; begin - if fDisableFileDateCheck then + if fDiffDialogWillClose or fDisableFileDateCheck then exit; if fFilename.isNotEmpty and not fFilename.fileExists and (fFilename <> '') then @@ -2916,6 +2917,7 @@ begin if not MDMatch(curMd5, newMd5) then begin lines.SaveToFile(tempFilename); + fDiffDialogWillClose := true; With TCEDiffViewer.construct(fTempFileName, fFilename) do try mr := ShowModal; @@ -2930,6 +2932,7 @@ begin end; finally free; + fDiffDialogWillClose := false; end; end; finally