From 3565aad630864ecdbe53fdaa501ea708555b3c7c Mon Sep 17 00:00:00 2001 From: Unit 193 Date: Sun, 30 Apr 2023 18:30:36 -0400 Subject: New upstream version 3.4.4+dfsg. --- SQLiteStudio3/coreSQLiteStudio/config_builder.h | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) (limited to 'SQLiteStudio3/coreSQLiteStudio/config_builder.h') diff --git a/SQLiteStudio3/coreSQLiteStudio/config_builder.h b/SQLiteStudio3/coreSQLiteStudio/config_builder.h index f4e030e..4f651e5 100644 --- a/SQLiteStudio3/coreSQLiteStudio/config_builder.h +++ b/SQLiteStudio3/coreSQLiteStudio/config_builder.h @@ -6,7 +6,7 @@ #include "config_builder/cfgentry.h" #include "config_builder/cfglazyinitializer.h" -#define CFG_CATEGORIES(Type,Body) _CFG_CATEGORIES_WITH_METANAME_AND_TITLE(Type,Body,"",QString()) +#define CFG_CATEGORIES(Type,Body) _CFG_CATEGORIES_WITH_METANAME_AND_TITLE(Type,Body,"",QString(),API_EXPORT) #define CFG_CATEGORY(Name,Body) \ _CFG_CATEGORY_WITH_TITLE(Name,Body,QString()) @@ -34,24 +34,30 @@ #define CFG_INSTANCE(Type) (*Cfg::get##Type##Instance()) +#define CFG_DELETE_INSTANCE(Type) \ + if (Cfg::cfgMainInstance##Type) \ + delete Cfg::cfgMainInstance##Type; \ + Cfg::cfgMainInstance##Type = nullptr; + + // Macros below are kind of private. You should not need to use them explicitly. // They are called from macros above. #define _CFG_CATEGORIES_WITH_METANAME(Type,Body,MetaName) \ - _CFG_CATEGORIES_WITH_METANAME_AND_TITLE(Type,Body,MetaName,QString()) + _CFG_CATEGORIES_WITH_METANAME_AND_TITLE(Type,Body,MetaName,QString(),API_EXPORT) #define _CFG_CATEGORIES_WITH_TITLE(Type,Body,Title) \ - _CFG_CATEGORIES_WITH_METANAME_AND_TITLE(Type,Body,"",Title) + _CFG_CATEGORIES_WITH_METANAME_AND_TITLE(Type,Body,"",Title,API_EXPORT) -#define _CFG_CATEGORIES_WITH_METANAME_AND_TITLE(Type,Body,MetaName,Title) \ +#define _CFG_CATEGORIES_WITH_METANAME_AND_TITLE(Type,Body,MetaName,Title,ExportType) \ namespace Cfg\ {\ - struct API_EXPORT Type : public CfgMain\ + struct ExportType Type : public CfgMain\ {\ Type(bool persistable) : CfgMain(#Type, persistable, MetaName, Title) {}\ Body\ };\ - API_EXPORT Type* get##Type##Instance();\ + ExportType Type* get##Type##Instance();\ } #define _CFG_DEFINE(Type, Persistant) \ -- cgit v1.2.3