From 0e69320f20092ba7020bdbdbf446da691fb2515c Mon Sep 17 00:00:00 2001 From: Basile Burg Date: Sun, 14 Jun 2020 19:32:57 +0200 Subject: [PATCH] allow to free manually D GC mem from the options/application --- src/u_inspectors.pas | 5 ++++- src/u_main.pas | 11 ++++++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/u_inspectors.pas b/src/u_inspectors.pas index 6e63788a..5966db09 100644 --- a/src/u_inspectors.pas +++ b/src/u_inspectors.pas @@ -235,9 +235,12 @@ begin end; procedure TActionInEditor.Edit; +//var + //o: TPropertyEditorHook; begin + //o := PropertyHook; SetOrdValue(not GetOrdValue); - Modified; + //PropertyHook := o; end; initialization diff --git a/src/u_main.pas b/src/u_main.pas index 6f02f96e..2b655765 100644 --- a/src/u_main.pas +++ b/src/u_main.pas @@ -15,7 +15,7 @@ uses u_search, u_miniexplorer, u_libman, u_libmaneditor, u_todolist, u_observer, u_toolseditor, u_procinput, u_optionseditor, u_symlist, u_mru, u_processes, u_infos, u_dubproject, u_dialogs, u_dubprojeditor,{$IFDEF UNIX} u_gdb,{$ENDIF} - u_dfmt, u_lcldragdrop, u_projgroup, u_projutils, u_stringrange, + u_dfmt, u_lcldragdrop, u_projgroup, u_projutils, u_stringrange, u_dexed_d, u_halstead, u_profileviewer, u_semver, u_dsgncontrols, u_term, u_newdubproj; type @@ -621,6 +621,7 @@ type fAutoKillProcThreshold: dword; fGlobalCompiler: DCompiler; fAutoCleanMRU: boolean; + fMinimizeDlangMemory: TEditEvent; function getConsoleProgram: string; procedure setConsoleProgram(const value: string); function getAdditionalPATH: string; @@ -628,6 +629,7 @@ type function getNativeProjecCompiler: DCompiler; procedure setNativeProjecCompiler(value: DCompiler); procedure setSplitterScsrollSpeed(value: byte); + procedure setMinimizeDlangMemory(value: TEditEvent); published property additionalPATH: string read getAdditionalPATH write setAdditionalPath; property autoCheckUpdates: boolean read fAutoCheckUpdates write fAutoCheckUpdates; @@ -647,6 +649,8 @@ type property splitterScrollSpeed: byte read fSplitterScrollSpeed write setSplitterScsrollSpeed; property showBuildDuration: boolean read fShowBuildDuration write fShowBuildDuration default false; property globalCompiler: DCompiler write fGlobalCompiler; deprecated; + // this only display a button that has for effect to free unused D GC mem. + property minimizeDlangMemory: TEditEvent read fMinimizeDlangMemory write setMinimizeDlangMemory stored false; // property toolBarScaling: TToolBarScaling read fToolBarScaling write fToolBarScaling stored false; // published for IEditableOptions but stored by DCD wrapper since it reloads before MainForm property dcdPort: word read fDcdPort write fDcdPort stored false; @@ -877,6 +881,11 @@ begin fSplitterScrollSpeed:=value; end; +procedure TApplicationOptionsBase.setMinimizeDlangMemory(value: TEditEvent); +begin + minimizeGcHeap(true); +end; + function TApplicationOptionsBase.getAdditionalPATH: string; begin exit(u_common.additionalPath);