From abdddf29c041e0ede8fccbca030b3bea1bbf3b5a Mon Sep 17 00:00:00 2001 From: Basile Burg Date: Fri, 28 Aug 2015 17:57:42 +0200 Subject: [PATCH] fix #33, piping a pre or post build process leads to AV --- src/ce_nativeproject.pas | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/ce_nativeproject.pas b/src/ce_nativeproject.pas index 7bb3860a..88eb4aad 100644 --- a/src/ce_nativeproject.pas +++ b/src/ce_nativeproject.pas @@ -744,24 +744,26 @@ end; procedure TCENativeProject.runProcOutput(sender: TObject); var - proc: TCEProcess; lst: TStringList; str: string; msgs: ICEMessagesDisplay; begin - proc := TCEProcess(sender); + lst := TStringList.Create; msgs := getMessageDisplay; try - proc.getFullLines(lst); + if (sender is TCEProcess) then + (sender as TCEProcess).getFullLines(lst) + else + processOutputToStrings(TProcess(sender), lst); for str in lst do msgs.message(str, Self, amcProj, amkBub); finally lst.Free; end; // - if not proc.Active then - getprocInputHandler.removeProcess(proc); + if not TProcess(sender).Active then + getprocInputHandler.removeProcess(TProcess(sender)); end; procedure TCENativeProject.compProcOutput(proc: TProcess);