diff --git a/CHANGELOG.md b/CHANGELOG.md index 279b9f15..dbac5e2f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ ## Bugs fixed - Messages: force auto scrolling to bottom once and if the messages context is modified. +- Terminal: after launcging dexed, the current directory was not constrained even when the settings to follow the current project or document path were activated. (#5) # v3.9.3 diff --git a/src/u_term.pas b/src/u_term.pas index b93a2636..f86a55d8 100644 --- a/src/u_term.pas +++ b/src/u_term.pas @@ -83,6 +83,7 @@ type fLastCheckedDirectory: string; fDisableScrollBarSync: boolean; fNeedApplyChanges: boolean; + fPaintOnce: boolean; procedure checkDirectory(const dir: string); procedure updateScrollBar(); procedure terminalTextScrolled(sender: TObject; delta: integer); @@ -311,11 +312,22 @@ begin end; procedure TTermWidget.ContentPaint(Sender: TObject); +var + s: string; begin if not fNeedApplyChanges then exit; fNeedApplyChanges:=false; fOpts.applyChanges; + // ugly fix for https://gitlab.com/basile.b/dexed/-/issues/5 + if not fPaintOnce then + begin + s := fLastCheckedDirectory; + fLastCheckedDirectory := ''; + if s.isNotEmpty then + checkDirectory(s); + end; + fPaintOnce := true; end; procedure TTermWidget.terminalTextScrolled(sender: TObject; delta: integer);