From 8fc973dd99138f6c876aa5553d5ed7fcea6a89a7 Mon Sep 17 00:00:00 2001 From: Basile Burg Date: Tue, 9 Dec 2014 11:32:28 +0100 Subject: [PATCH] made clearer the reason why TCEOption force EntitiesConnector to update --- src/ce_main.pas | 2 +- src/ce_options.pas | 12 +++++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/ce_main.pas b/src/ce_main.pas index e19ed28a..7f831020 100644 --- a/src/ce_main.pas +++ b/src/ce_main.pas @@ -316,8 +316,8 @@ begin checkCompilo; getCMdParams; // - EntitiesConnector.endUpdate; updateMainMenuProviders; + EntitiesConnector.forceUpdate; fInitialized := true; end; diff --git a/src/ce_options.pas b/src/ce_options.pas index 009f41e3..a7b1cc1f 100644 --- a/src/ce_options.pas +++ b/src/ce_options.pas @@ -14,6 +14,7 @@ type fSubjPersObservers: TCECustomSubject; protected procedure defineProperties(Filer: TFiler); override; + procedure beforeLoad; override; procedure beforeSave; override; procedure afterLoad; override; public @@ -32,7 +33,6 @@ begin fSubjPersObservers := TCESessionOptionsSubject.create; // EntitiesConnector.addSubject(fSubjPersObservers); - EntitiesConnector.endUpdate; end; destructor TCEOptions.destroy; @@ -49,6 +49,16 @@ begin subjSesOptsDeclareProperties(TCESessionOptionsSubject(fSubjPersObservers), Filer); end; +procedure TCEOptions.beforeLoad; +begin + // ensure that the observers will be know: + // during the app init a bulk update operation is happening, + // cf. ce_observer.pas, initialization section. + if EntitiesConnector.isUpdating then + EntitiesConnector.forceUpdate; + inherited; +end; + procedure TCEOptions.beforeSave; begin subjSesOptsBeforeSave(TCESessionOptionsSubject(fSubjPersObservers));