From 38b651f4040820400701a1e592507fcf215bfe46 Mon Sep 17 00:00:00 2001 From: Basile Burg Date: Sat, 28 Oct 2017 09:36:22 +0200 Subject: [PATCH] fix #196 - breakpoint always inserted if BP registry contains... ...a ref to an unsaved document --- src/ce_gdb.pas | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/src/ce_gdb.pas b/src/ce_gdb.pas index 7b8cdbde..211cccb0 100644 --- a/src/ce_gdb.pas +++ b/src/ce_gdb.pas @@ -1416,15 +1416,21 @@ begin fDoc := document; if fGdbState = gsNone then updateDebugeeOptionsEditor; - fSynchronizingBreakpoints:= true; - if fSynchronizedDocuments.IndexOf(document.fileName) = -1 then - for i:= 0 to fBreakPoints.count-1 do + if (fDoc.fileName <> '') then begin - b := fBreakPoints.item[i]; - if b.filename = fDoc.fileName then - fDoc.addBreakpoint(b.line); + fSynchronizingBreakpoints:= true; + if fSynchronizedDocuments.IndexOf(document.fileName) = -1 then + begin + fSynchronizedDocuments.Add(document.fileName); + for i:= 0 to fBreakPoints.count-1 do + begin + b := fBreakPoints.item[i]; + if b.filename = fDoc.fileName then + fDoc.addBreakpoint(b.line); + end; + end; + fSynchronizingBreakpoints:= false; end; - fSynchronizingBreakpoints:= false; end; procedure TCEGdbWidget.docChanged(document: TCESynMemo);