diff options
Diffstat (limited to 'src/core/basetypes/MCNull.cpp')
-rw-r--r-- | src/core/basetypes/MCNull.cpp | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/core/basetypes/MCNull.cpp b/src/core/basetypes/MCNull.cpp index cdb8335f..53d50622 100644 --- a/src/core/basetypes/MCNull.cpp +++ b/src/core/basetypes/MCNull.cpp @@ -10,10 +10,16 @@ using namespace mailcore; -Null * Null::null() +static Null * s_null = NULL; +static pthread_once_t s_once; + +static void init_null(void) { - Null * result = new Null(); - result->autorelease(); - return result; + s_null = new Null(); } +Null * Null::null() +{ + pthread_once(&s_once, init_null); + return s_null; +} |