Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2016-02-17 17:00:12 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2016-02-17 17:01:40 +0300
commitd81dd2da0fc6c6a02c5484f800345b4af97dbb9f (patch)
treecece55d9a8cbf4643952339de13b8250eaf13b67 /extern/gflags
parent157bc3dbbfa2da76ed212a6b8b6be45a87bb0f56 (diff)
Fix/workaround static object initialization in gflags
Diffstat (limited to 'extern/gflags')
-rw-r--r--extern/gflags/src/gflags.cc12
1 files changed, 9 insertions, 3 deletions
diff --git a/extern/gflags/src/gflags.cc b/extern/gflags/src/gflags.cc
index a35bbfe6664..7abe1f70da3 100644
--- a/extern/gflags/src/gflags.cc
+++ b/extern/gflags/src/gflags.cc
@@ -881,9 +881,15 @@ FlagRegistry* FlagRegistry::global_registry_ = NULL;
Mutex FlagRegistry::global_registry_lock_(Mutex::LINKER_INITIALIZED);
FlagRegistry* FlagRegistry::GlobalRegistry() {
- MutexLock acquire_lock(&global_registry_lock_);
- if (!global_registry_) {
- global_registry_ = new FlagRegistry;
+ if (GetArgvSum() != 0) {
+ MutexLock acquire_lock(&global_registry_lock_);
+ if (!global_registry_) {
+ global_registry_ = new FlagRegistry;
+ }
+ } else {
+ if (!global_registry_) {
+ global_registry_ = new FlagRegistry;
+ }
}
return global_registry_;
}