Browse Source

make AsyncTaskManager::_global_ptr an ordinary pointer to prevent static init issues with PandaFramework

rdb 13 years ago
parent
commit
33d494d0f4
2 changed files with 3 additions and 2 deletions
  1. 2 1
      panda/src/event/asyncTaskManager.cxx
  2. 1 1
      panda/src/event/asyncTaskManager.h

+ 2 - 1
panda/src/event/asyncTaskManager.cxx

@@ -23,7 +23,7 @@
 #include "config_event.h"
 #include "config_event.h"
 #include <algorithm>
 #include <algorithm>
 
 
-PT(AsyncTaskManager) AsyncTaskManager::_global_ptr;
+AsyncTaskManager *AsyncTaskManager::_global_ptr = NULL;
 
 
 TypeHandle AsyncTaskManager::_type_handle;
 TypeHandle AsyncTaskManager::_type_handle;
 
 
@@ -731,4 +731,5 @@ make_global_ptr() {
   nassertv(_global_ptr == (AsyncTaskManager *)NULL);
   nassertv(_global_ptr == (AsyncTaskManager *)NULL);
 
 
   _global_ptr = new AsyncTaskManager("TaskManager");
   _global_ptr = new AsyncTaskManager("TaskManager");
+  _global_ptr->ref();
 }
 }

+ 1 - 1
panda/src/event/asyncTaskManager.h

@@ -133,7 +133,7 @@ protected:
   
   
   ConditionVarFull _frame_cvar;  // Signalled when the clock ticks.
   ConditionVarFull _frame_cvar;  // Signalled when the clock ticks.
 
 
-  static PT(AsyncTaskManager) _global_ptr;
+  static AsyncTaskManager* _global_ptr;
 
 
 public:
 public:
   static TypeHandle get_class_type() {
   static TypeHandle get_class_type() {