From 900cc46683d74f848c730654110446f73b6f7c4a Mon Sep 17 00:00:00 2001 From: David Rose Date: Wed, 8 Oct 2008 22:14:21 +0000 Subject: [PATCH] asyncLoad task --- direct/src/showbase/ShowBase.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) 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