From 293e89f4e5f0211f49c88839435f3e04d70433d5 Mon Sep 17 00:00:00 2001 From: Basile Burg Date: Sat, 16 May 2020 04:38:32 +0200 Subject: [PATCH] fix #5 - terminal, the current directory is not constrained on startup --- CHANGELOG.md | 1 + src/u_term.pas | 12 ++++++++++++ 2 files changed, 13 insertions(+) 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);