diff --git a/direct/src/showbase/ShowBase.py b/direct/src/showbase/ShowBase.py index c67fd92292..be7ab3bc96 100644 --- a/direct/src/showbase/ShowBase.py +++ b/direct/src/showbase/ShowBase.py @@ -1572,6 +1572,17 @@ class ShowBase(DirectObject.DirectObject): self.taskMgr.add(self.__audioLoop, 'audioLoop', priority = 60) self.eventMgr.restart() + if not hasattr(taskMgr, 'mgr'): + # If we're using the old task manager, we need to have an + # explicit task to manage the async load requests. (On + # the new task manager, this is built-in.) + def asyncLoad(task): + task.mgr.poll() + return task.cont + task = Task.Task(asyncLoad) + task.mgr = AsyncTaskManager.getGlobalPtr() + taskMgr.add(task, 'asyncLoad') + def shutdown(self): self.taskMgr.remove('audioLoop') self.taskMgr.remove('igLoop') @@ -1582,6 +1593,12 @@ class ShowBase(DirectObject.DirectObject): self.taskMgr.remove('ivalLoop') self.eventMgr.shutdown() + if not hasattr(taskMgr, 'mgr'): + # If we're using the old task manager, we need to have an + # explicit task to manage the async load requests. (On + # the new task manager, this is built-in.) + taskMgr.remove('asyncLoad') + def getBackgroundColor(self, win = None): """ Returns the current window background color. This assumes