From c917a9e1a1e29c3b4a9e5c827717cb348eea1380 Mon Sep 17 00:00:00 2001 From: rdb Date: Tue, 1 Mar 2022 14:44:24 +0100 Subject: [PATCH] distributed: PyDatagramIterator now retains reference to Datagram Fixes #1262 --- direct/src/distributed/PyDatagramIterator.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/direct/src/distributed/PyDatagramIterator.py b/direct/src/distributed/PyDatagramIterator.py index bd27469c41..13c810e90d 100755 --- a/direct/src/distributed/PyDatagramIterator.py +++ b/direct/src/distributed/PyDatagramIterator.py @@ -30,6 +30,21 @@ class PyDatagramIterator(DatagramIterator): getChannel = DatagramIterator.getUint64 + def __init__(self, datagram=None, offset=0): + if datagram is not None: + super().__init__(datagram, offset) + + # Retain a reference to it so that it doesn't get deleted. + self.__datagram = datagram + else: + super().__init__() + + def getDatagram(self): + return self.__datagram + + def get_datagram(self): + return self.__datagram + def getArg(self, subatomicType, divisor=1): # Import the type numbers if divisor == 1: