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));