open_toontown_panda3d/panda/src
rdb e5bd00f91f task: Implement garbage collector support for PythonTask
This adds persistent wrapper support (introduced by the previous commit) to PythonTask, which makes it possible for reference cycles involving tasks to be found and destroyed.

The major caveat is that it always creates a reference cycle.  This can be broken automatically if there is no more Python reference to it by the time the last C++ reference is dropped, but the other way around requires the garbage collector.

For tasks, I think this it is generally the case that the last reference is in C++, since tasks are usually created and then handed off to the C++ task manager, and for applications that don't want to rely on the GC, it is easy to work around.  If this turns out to be a problem, though, we can add a special garbage collection pass to the task manager.
2024-03-29 20:51:45 +01:00
..
android android: Changes to add compatibility with pyjnius/plyer 2022-03-12 18:18:15 +01:00
androiddisplay android: Improve physical mouse and keyboard handling: 2022-01-04 20:35:17 +01:00
audio cleanup: Fix assorted issues uncovered by clang-tidy 2023-02-12 18:17:03 +01:00
audiotraits Merge branch 'release/1.10.x' 2024-03-28 01:17:52 +01:00
bullet Merge branch 'release/1.10.x' 2024-01-04 16:36:03 +01:00
chan general: Consistently name all bam factory functions make_from_bam 2024-03-18 02:38:41 +01:00
char general: Consistently name all bam factory functions make_from_bam 2024-03-18 02:38:41 +01:00
cocoadisplay cocoa: Support EDR windows with float framebuffer 2023-10-23 12:17:28 +02:00
cocoagldisplay cocoa: Support EDR windows with float framebuffer 2023-10-23 12:17:28 +02:00
collide general: Consistently name all bam factory functions make_from_bam 2024-03-18 02:38:41 +01:00
configfiles CMake: Generate consistent paths in 20_panda.prc on all platforms 2020-01-11 19:39:43 -07:00
cull Experimental InstancedNode class for hardware instancing 2020-11-22 22:01:13 +01:00
device Merge branch 'release/1.10.x' 2024-01-04 16:36:03 +01:00
dgraph CMake: Rely on GNUInstallDirs to specify install paths 2019-08-31 00:48:42 -06:00
display Merge branch 'release/1.10.x' 2024-03-12 15:39:16 +01:00
distort gobj: Add config switch for Panda not to default to packed vertex colors 2021-03-25 23:15:58 +01:00
doc doc: Improve egg syntax documentation 2021-11-28 16:12:44 +01:00
downloader Squash merge webgl-port branch into master 2024-01-25 15:37:38 +01:00
downloadertools cleanup: Fix assorted issues uncovered by clang-tidy 2023-02-12 18:17:03 +01:00
dxgsg9 shader: More efficient state-based shader input fetching 2023-09-17 17:54:17 +02:00
egg add sRGB support to egg-palettize, sluminance to egg 2023-02-14 11:34:24 +01:00
egg2pg Merge branch 'release/1.10.x' 2023-07-21 19:42:39 +02:00
egldisplay Merge branch 'release/1.10.x' 2023-05-08 20:08:48 +02:00
event task: Implement garbage collector support for PythonTask 2024-03-29 20:51:45 +01:00
express Switch use of Py_INCREF to new Py_NewRef function 2024-01-29 17:57:53 +01:00
ffmpeg Merge branch 'release/1.10.x' 2022-08-31 12:51:46 +02:00
framework Squash merge webgl-port branch into master 2024-01-25 15:37:38 +01:00
gles2gsg (multiview) texture preparation changes: 2023-06-13 13:51:19 +02:00
glesgsg CMake: Break up "GLES" component into OpenGLES1/OpenGLES2 2020-01-07 11:34:34 -07:00
glgsg CMake: Rely on GNUInstallDirs to specify install paths 2019-08-31 00:48:42 -06:00
glstuff glgsg: Fix docstring typo 2024-03-15 12:47:21 +01:00
glxdisplay Merge branch 'release/1.10.x' 2022-11-07 18:05:03 +01:00
gobj general: Consistently name all bam factory functions make_from_bam 2024-03-18 02:38:41 +01:00
grutil Merge branch 'release/1.10.x' 2024-01-04 16:36:03 +01:00
gsgbase (multiview) texture preparation changes: 2023-06-13 13:51:19 +02:00
iphone Fix assorted instances of leftover Python 3 syntax 2023-05-05 11:08:17 +02:00
iphonedisplay
linmath Fix unguarded python-specific headers. 2024-02-02 19:45:28 +01:00
mathutil general: Mark many constructors as `explicit` 2023-08-02 08:18:43 +02:00
movies general: Mark many constructors as `explicit` 2023-08-02 08:18:43 +02:00
nativenet Merge branch 'release/1.10.x' 2024-03-12 15:39:16 +01:00
net net: Prepare to split these classes out into panda3d.net module 2024-03-02 13:41:23 +01:00
ode Switch use of Py_INCREF to new Py_NewRef function 2024-01-29 17:57:53 +01:00
pandabase cocoa: Split out GL-specific code into new cocoagldisplay module 2023-03-21 23:16:36 +01:00
parametrics general: Consistently name all bam factory functions make_from_bam 2024-03-18 02:38:41 +01:00
particlesystem cleanup: Fix assorted issues uncovered by clang-tidy 2023-02-12 18:17:03 +01:00
pgraph pgraph: Disable non-working `__traverse__()` on NodePath 2024-03-29 17:15:43 +01:00
pgraphnodes general: Mark many constructors as `explicit` 2023-08-02 08:18:43 +02:00
pgui Merge branch 'release/1.10.x' 2024-03-28 01:17:52 +01:00
physics general: Mark many constructors as `explicit` 2023-08-02 08:18:43 +02:00
pipeline Remove .I files from _IGATEEXT. 2024-02-02 19:45:28 +01:00
pnmimage general: Consistently name all bam factory functions make_from_bam 2024-03-18 02:38:41 +01:00
pnmimagetypes Merge branch 'release/1.10.x' 2024-03-26 17:08:52 +01:00
pnmtext Merge branch 'release/1.10.x' 2021-04-08 12:30:35 +02:00
pstatclient Switch use of Py_INCREF to new Py_NewRef function 2024-01-29 17:57:53 +01:00
putil interrogate: Support subclassing C++ objects from Python 2024-03-29 20:51:34 +01:00
recorder interrogate: Support subclassing C++ objects from Python 2024-03-29 20:51:34 +01:00
skel general: Add constness to some methods where it is missing 2022-10-20 21:01:58 +02:00
testbed pview: Don't require a window in screenshot mode 2023-10-08 23:36:59 +02:00
text Merge branch 'release/1.10.x' 2024-03-28 01:17:52 +01:00
tform putil: Deprecated MouseData alias for PointerData 2023-08-02 08:13:02 +02:00
tinydisplay tinydisplay: Fix build when no platform display module is enabled 2023-10-23 12:18:09 +02:00
vision opencv: Use correct headers for videoio C interface 2023-02-12 18:18:20 +01:00
vrpn CMake: Add --exclude-libs flags to static thirdparty libraries 2022-03-09 16:23:37 +01:00
webgldisplay Squash merge webgl-port branch into master 2024-01-25 15:37:38 +01:00
wgldisplay wgldisplay: Fix HDR framebuffers with newer NVIDIA drivers 2023-10-21 17:14:26 +02:00
windisplay Merge branch 'release/1.10.x' 2024-01-04 16:36:03 +01:00
x11display x11: Fix error message when xf86dga extension is not found 2024-02-09 15:06:27 +01:00
PACKAGE-DESC