Regularize the camera constant store singleton to use a function local static like most other singletons.
This commit is contained in:
parent
ebe85388a3
commit
68271b9279
@ -683,29 +683,22 @@ CameraConstantsStore::CameraConstantsStore()
|
||||
{
|
||||
}
|
||||
|
||||
static CameraConstantsStore *global_instance;
|
||||
|
||||
void CameraConstantsStore::initCameraConstants(Glib::ustring baseDir, Glib::ustring userSettingsDir)
|
||||
void CameraConstantsStore::init(Glib::ustring baseDir, Glib::ustring userSettingsDir)
|
||||
{
|
||||
if (global_instance) {
|
||||
// should only be called once during init.
|
||||
abort();
|
||||
}
|
||||
|
||||
global_instance = new CameraConstantsStore();
|
||||
global_instance->parse_camera_constants_file(Glib::build_filename(baseDir, "camconst.json"));
|
||||
parse_camera_constants_file(Glib::build_filename(baseDir, "camconst.json"));
|
||||
|
||||
Glib::ustring userFile(Glib::build_filename(userSettingsDir, "camconst.json"));
|
||||
|
||||
if (safe_file_test(userFile, Glib::FILE_TEST_EXISTS)) {
|
||||
global_instance->parse_camera_constants_file(userFile);
|
||||
parse_camera_constants_file(userFile);
|
||||
}
|
||||
}
|
||||
|
||||
CameraConstantsStore *
|
||||
CameraConstantsStore::getInstance(void)
|
||||
{
|
||||
return global_instance;
|
||||
static CameraConstantsStore instance_;
|
||||
return &instance_;
|
||||
}
|
||||
|
||||
CameraConst *
|
||||
|
@ -54,7 +54,7 @@ private:
|
||||
bool parse_camera_constants_file(Glib::ustring filename);
|
||||
|
||||
public:
|
||||
static void initCameraConstants(Glib::ustring baseDir, Glib::ustring userSettingsDir);
|
||||
void init(Glib::ustring baseDir, Glib::ustring userSettingsDir);
|
||||
static CameraConstantsStore *getInstance(void);
|
||||
CameraConst *get(const char make[], const char model[]);
|
||||
};
|
||||
|
@ -46,7 +46,7 @@ int init (const Settings* s, Glib::ustring baseDir, Glib::ustring userSettingsDi
|
||||
|
||||
dcpStore->init (baseDir + "/dcpprofiles");
|
||||
|
||||
CameraConstantsStore::initCameraConstants (baseDir, userSettingsDir);
|
||||
CameraConstantsStore::getInstance ()->init (baseDir, userSettingsDir);
|
||||
profileStore.init ();
|
||||
ProcParams::init ();
|
||||
Color::init ();
|
||||
|
Loading…
x
Reference in New Issue
Block a user