diff --git a/direct/src/showbase/DirectObject.py b/direct/src/showbase/DirectObject.py index 0f94cb4867..10f5832c13 100644 --- a/direct/src/showbase/DirectObject.py +++ b/direct/src/showbase/DirectObject.py @@ -63,7 +63,11 @@ class DirectObject: def removeTask(self, taskOrName): if type(taskOrName) == type(''): - taskMgr.remove(taskOrName) + # we must use a copy, since task.remove will modify self._taskList + taskListValues = self._taskList.values() + for task in taskListValues: + if task.name == taskOrName: + task.remove() else: taskOrName.remove()