Commit Graph

2287 Commits

Author SHA1 Message Date
rdb 867f1747e9 dtoolbase: Fix out-of-bounds access in pdtoa.cxx 2025-10-15 21:22:03 +02:00
rdb 5f9bb65505 make-prc-key: Update deprecated API use for OpenSSL v3 2025-10-15 11:42:10 +02:00
rdb f40e611eed parser-inc: Add some missing headers
[skip ci]
2025-10-14 15:20:14 +02:00
rdb 6ac2164c25 notify: Print out C++ backtrace on assert-abort 2025-10-10 17:51:30 +02:00
rdb cd791ca7fc pstats: Add new feature to count Python objects by type
This is useful for profiling cases where the number of Python objects is growing more than expected

Requires Python 3.14a6 and can be enabled with pstats-python-ref-tracer true
2025-09-04 16:29:15 +02:00
rdb 3f45a8e367 dtool: Improve memory usage tracking without USE_DELETED_CHAIN
Now all classes that use ALLOC_DELETED_CHAIN participate in memory usage tracking even when USE_DELETED_CHAIN is not set (as long as DO_MEMORY_USAGE is set)
2025-09-04 14:35:56 +02:00
rdb 9427f2b590 dtool: Track DeletedChain memory use even without USE_DELETED_CHAIN 2025-09-04 14:04:48 +02:00
rdb 212ad7486c prc: Fix recursion reading notify-timestamp config.prc variable 2025-09-04 13:31:24 +02:00
rdb 32d2a13751 dtoolutil: Fix missing std:: prefix 2025-09-04 00:57:37 +02:00
rdb 05a610fadf build: Update to interrogate 0.7.0 2025-09-04 00:44:12 +02:00
rdb 2ab3ea39c4 interrogatedb: Name interrogate_request structs
This allows them to be forward-declared
2025-09-03 23:36:43 +02:00
rdb f5713d1240 cleanup: Fix missing `std::` prefixes 2025-09-03 23:36:04 +02:00
rdb d1f4be7305 py_compat: Add PyUnstable_Object_IsUniquelyReferenced 2025-08-26 14:19:27 +02:00
rdb 535105c373 build: Update to interrogate 0.6.0
Fixes #1743
2025-07-28 15:18:03 +02:00
Olivier Roussel cbb313d732
Use Win32 native calls for atomic also with clang-cl (#1746) 2025-05-11 09:15:12 +02:00
rdb 6452907b64 Improvements for env handling with node.js and emscripten
- Initializes the environment so that getenv et al works properly
- No longer calls JS functions at static init time; the JS preamble will
  pass the right env vars to ExecutionEnvironment
- Sets the binary name to the path of the .js file
2025-02-03 18:06:30 +01:00
rdb 79d6727077 Move MAIN_DIR initialization code from interrogate to panda3d
Using the new -init flag, see panda3d/interrogate#3
2025-02-02 20:11:32 +01:00
rdb fa25c51d30 notify: Fix compile error on Android 2024-11-26 16:40:18 +01:00
rdb b51dd4d7bc Merge branch 'release/1.10.x' 2024-11-06 22:52:54 +01:00
rdb 72b9dd9a70 parser-inc: add emscripten/heap.h to squelch interrogate warning 2024-11-04 18:40:33 +01:00
rdb 7c74060035 dtoolutil: Read environment variables in emscripten under node.js 2024-11-04 18:40:26 +01:00
rdb 94c63fe9da dtoolutil: Remove silly unused variable 2024-11-04 13:25:22 +01:00
rdb 50b984cffd dtoolbase: Fix test failure on 32-bit Windows with pftoa 2024-10-31 23:50:27 +01:00
rdb ff91f127bf py_compat: Fix Python 2.7 compilation error
This code never actually gets compiled in Python 3

[skip ci]
2024-10-30 21:52:23 +01:00
rdb 6d54aee0c7 Remove runtime dependency on interrogatedb 2024-10-30 17:46:26 +01:00
rdb 0c1a0799b1 Fix faulty auto-merge 2024-10-30 14:41:06 +01:00
rdb e58449cde7 dtoolutil: Let Python do Filename conversion to UTF-8 2024-10-30 13:42:33 +01:00
rdb 7560a1edd1 Merge branch 'release/1.10.x' 2024-10-30 13:42:21 +01:00
rdb f47b34d2a1 Fix remaining uses of ._PyType member in extension code
This should be replaced with Dtool_GetPyTypeObject, hiding the implementation details a bit so that we can more easily change the underlying structure if we need later

Also adds Py_NewRef to py_compat.h, backporting from master
2024-10-30 13:26:34 +01:00
rdb 0ba2aadcd6 Introduce Py_IS_TYPE, use for Py_TYPE comparisons 2024-10-30 13:17:11 +01:00
rdb 64454b1c9f Replace direct uses of ob_type, which gives problems in nogil build 2024-10-30 13:17:11 +01:00
rdb f50fef3744 Switch over to C++14, drop support for MSVC 2015
The main reason is that the current development version of Eigen requires C++14 to be enabled, so otherwise we can't compile with the latest Eigen.

If really needed, we can keep support for MSVC 2015 (please make your voice heard) but that would lock us out of a few features of C++14.
2024-10-19 13:16:36 +02:00
rdb beff684af3 Further thread safety changes for Python 3.13 free threading
See #1683
2024-09-19 20:43:06 +02:00
rdb 4b2fa45578 Make use of PyImport_GetModule function 2024-09-19 20:42:31 +02:00
rdb 5106fc879f Changes for compatibility with Python 3.13
Includes some preliminary work to make free-threading safe, see also #1683
2024-09-19 16:01:10 +02:00
rdb b32459ffa1 Merge branch 'release/1.10.x' 2024-09-19 15:51:25 +02:00
rdb cdafd81764 Fix compilation issues with Python 3.13 2024-09-19 15:47:50 +02:00
rdb f5401b19fa Merge branch 'release/1.10.x' 2024-09-16 13:54:22 +02:00
rdb 78ace53dbe dtoolutil: Fix typo in pfstream causing compiler warning 2024-08-14 19:08:49 +02:00
rdb ddaeb05367 Fix compilation when building without bison 2024-08-14 19:08:16 +02:00
rdb 8d2407d553 Delete cppparser and interrogate from tree
These tools now live in https://github.com/panda3d/interrogate/

See also #1074
2024-08-10 16:55:03 +02:00
rdb c9cddb8d92 CMake: Stop building interrogate from tree
Instead, either build it externally (BUILD_INTERROGATE) or accept INTERROGATE_EXECUTABLE / INTERROGATE_MODULE_EXECUTABLE settings
2024-08-10 16:54:12 +02:00
rdb fc1d95ae1d dtoolbase: Add missing includes to pstrtod.cxx 2024-08-08 21:36:21 +02:00
rdb abf0b38705 dtoolutil: Use string compare instead of strcmp in filename.I 2024-08-08 21:36:00 +02:00
rdb ad57762e9f Merge branch 'release/1.10.x' 2024-08-07 22:34:08 +02:00
rdb 8c8cbeea98 linmath: For repr, use as much precision as needed for roundtrip
Will use as few digits as is necessary to ensure that round-tripping the same number with pstrtod will result in the same vector.  This prevents eg. 3.3 formatting as 3.29999995 while still ensuring that two floats that are not equal (other than nan) are guaranteed to have a different string representation.

Uses a hacky pftoa function that can be abandoned as soon as we adopt C++17, which has to_chars that does what we need

Fixes #1671
2024-08-07 17:24:11 +02:00
rdb ca7ba4eab3 py_panda: Add Dtool_GetPyTypeObject macro
This is a cleaner, future-proof way of accessing a Panda type as PyTypeObject pointer
2024-08-07 15:53:27 +02:00
rdb 1cc0676e41 dtoolutil: Fix misnamed include guard 2024-08-04 17:08:45 +02:00
rdb 58ea174eb2 interrogate: Use the limited Python API for simple Python back-end 2024-08-03 21:50:19 +02:00
rdb 0215b02985 interrogate: Replace a use of std::cerr with nout 2024-08-03 16:36:55 +02:00