diff --git a/src/ce_main.pas b/src/ce_main.pas index 8700dba8..91f5f1a6 100644 --- a/src/ce_main.pas +++ b/src/ce_main.pas @@ -1744,7 +1744,7 @@ begin {$ENDIF} dmdproc.OnReadData := @asyncprocOutput; dmdproc.OnTerminate:= @asyncprocTerminate; - dmdproc.Options := [poStdErrToOutput, poUsePipes]; + dmdproc.Options := [poUsePipes, poStderrToOutPut]; dmdproc.Executable := DCompiler; dmdproc.Parameters.Add(fDoc.fileName); dmdproc.Parameters.Add('-J' + ExtractFilePath(fDoc.fileName)); diff --git a/src/ce_messages.pas b/src/ce_messages.pas index 263a2ff7..8f8c9fb7 100644 --- a/src/ce_messages.pas +++ b/src/ce_messages.pas @@ -871,6 +871,8 @@ var pos: TPoint; msg: string; begin + //TODO-cbugfix: AV the the 3rd time a same message is clicked (optin singleClick only), + // click to open matching file, back to editor, click (nothing, item is null), then click again: AV if List.Selected = nil then exit; msg := List.Selected.Text; diff --git a/src/ce_processes.pas b/src/ce_processes.pas index bc48a540..faece2da 100644 --- a/src/ce_processes.pas +++ b/src/ce_processes.pas @@ -123,9 +123,18 @@ var toread: Integer; buff: Byte = 0; str: TMemoryStream; + err: array[0..255] of Byte; begin if not Running then begin + //TODO-cbugfix: errors not displayed when a runnable crashes + //if poStderrToOutPut in Options then + //if Stderr <> nil then while (true) do + //begin + // toread := Stderr.Read(err[0], length(err)); + // if toread = 0 then break; + // fOutputStack.Write(err[0], toread); + //end; list.LoadFromStream(fOutputStack); if consume then fOutputStack.Clear;