diff --git a/direct/src/showbase/Loader.py b/direct/src/showbase/Loader.py index 0a1e60f01e..7febb9012d 100644 --- a/direct/src/showbase/Loader.py +++ b/direct/src/showbase/Loader.py @@ -134,13 +134,15 @@ class Loader(DirectObject): self.hook = "async_loader_%s" % (Loader.loaderIndex) Loader.loaderIndex += 1 - self.accept(self.hook, self.__gotAsyncObject) def destroy(self): self.ignore(self.hook) self.loader.stopThreads() del self.base - del self.loader + + def _init_base(self, base): + self.base = base + self.accept(self.hook, self.__gotAsyncObject) @classmethod def _loadPythonFileTypes(cls): diff --git a/direct/src/showbase/ShowBase.py b/direct/src/showbase/ShowBase.py index f35d7dea2a..40ebc8b8b9 100644 --- a/direct/src/showbase/ShowBase.py +++ b/direct/src/showbase/ShowBase.py @@ -437,7 +437,7 @@ class ShowBase(DirectObject.DirectObject): #: `.Loader.Loader` object. self.loader = ShowBaseGlobal.loader - self.loader.base = self + self.loader._init_base(self) self.graphicsEngine.setDefaultLoader(self.loader.loader) #: The global event manager, as imported from `.EventManagerGlobal`.