25821 Commits

Author SHA1 Message Date
rdb
11c7d38ce4 tests: Remove executable permissions from test_property.py
[skip ci]
2023-02-22 18:20:39 +01:00
rdb
0a7be36be1 parser-inc: Add stub header for sys/sysctl.h for BSD (incl. macOS) 2023-02-22 17:33:49 +01:00
rdb
eefb51f510 dtoolutil: Add small_vector implementation and use it
This vector implementation does is optimized for the case of having only a small number of elements, which are stored directly on the vector object rather than being allocated from the heap.  If the capacity exceeds this small number, then a heap allocation is done.

This should improve performance in a couple of cases where vectors typically store 1 element and rarely more than that.
2023-02-22 16:48:11 +01:00
rdb
35348fd74a express: Do not rely on OpenSSL for MD5 hash support
These hashes are used in various places in the Panda codebase (for integrity checks, not for crypto), so using an internal implementation allows retaining this functionality when building Panda without OpenSSL.

Based on the following public domain implementation:
https://github.com/B-Con/crypto-algorithms
2023-02-22 16:47:14 +01:00
rdb
72d610b8ae dtoolbase: Fix compiler warnings in MemoryHook 2023-02-22 16:47:14 +01:00
rdb
4f9092d568 wxwidgets: Fix errors running Panda shell 2023-02-22 12:04:51 +01:00
rdb
37b5c9ad9e direct: More code style changes 2023-02-22 11:52:19 +01:00
rdb
9a15e9245c direct: Additional cleanup, update .pylintrc file 2023-02-22 02:44:53 +01:00
rdb
f4d394ecd8 prc: Reorder ConfigDeclaration::Word fields for better packing 2023-02-20 22:24:12 +01:00
rdb
5e24e7347c cppparser: Implement is_trivially_copyable type trait 2023-02-20 21:04:36 +01:00
rdb
88a6484ab3 PythonUtil: Remove unused "superlog" functions 2023-02-20 20:59:33 +01:00
rdb
17242e9a0a gobj: Fix compiler warnings in TexturePool 2023-02-20 20:54:16 +01:00
rdb
8b1126ba3e direct: General cleanup of Python code 2023-02-20 20:52:14 +01:00
rdb
9c4d08f589 gsgbase: Switch gsg list to use patomic instead of AtomicAdjust 2023-02-20 19:46:20 +01:00
rdb
5d63c7e898 Merge branch 'release/1.10.x' 2023-02-20 19:27:58 +01:00
rdb
2e7dc9e4f4 tests: Add unit test for GeomVertexFormat arrays list 2023-02-20 19:05:37 +01:00
rdb
818ed819f9 pgraph: Fix compiler warning for uninitialized variable 2023-02-20 19:05:05 +01:00
rdb
92bdaed4d4 linmath: Fix regression with LVecBase4 in #1453 / 87b5aa9
LVecBase4 was no longer trivially copyable as of that change
2023-02-20 19:02:54 +01:00
rdb
8ee4f8dee2 showbase: Remove dead branch in ContainerLeakDetector 2023-02-20 18:53:14 +01:00
rdb
231ba92e31 showbase: Fix missing sys import in ContainerLeakDetector 2023-02-20 18:50:04 +01:00
rdb
93670b5942 dist: Strip .abi3.so suffix from libraries 2023-02-20 18:32:04 +01:00
rdb
ccd1d4727d dist: Add hidden imports for older scipy version 2023-02-20 18:31:54 +01:00
rdb
718f72fe01 cluster: Fix typo in ClusterServer.addControlMapping 2023-02-20 18:25:28 +01:00
rdb
5ecd6249d1 directdevices: Fix typo in DirectDeviceManager.normalizeChannel 2023-02-20 18:24:15 +01:00
rdb
92e3dbbe58 dist: Remove dead code in Icon class 2023-02-20 18:04:35 +01:00
rdb
127798437f particles: Fix missing import in ParticleFloorTest 2023-02-20 18:04:22 +01:00
rdb
a3f6a62de0 showbase: Fix undefined function use in ProfileSession.py 2023-02-20 18:04:04 +01:00
rdb
afd3df8ef1 tkpanels: Fix use of removed cmp() function 2023-02-20 17:44:37 +01:00
rdb
6aef8159b1 leveleditor: Fix use of removed cmp() function 2023-02-20 17:29:00 +01:00
rdb
c20af83297 readme: Updated required GTK package to version 3
[skip ci]
2023-02-19 13:34:21 +01:00
Brian Lach
5f83882858 palettizer: don't respect srgb flag for alpha textures 2023-02-14 20:08:14 +01:00
rdb
891937193a workflow: Have clang-tidy job request changes if warnings found
[skip ci]
2023-02-14 13:42:01 +01:00
Brian Lach
52d59b2df7 add sRGB support to egg-palettize, sluminance to egg 2023-02-14 11:34:24 +01:00
rdb
7820c7a363 workflow: Attempt to fix clang-tidy reviews of PRs from forks
[skip ci]
2023-02-14 11:24:06 +01:00
rdb
b89b0f51ba workflow: Fix silent error from clang-tidy job
[skip ci]
2023-02-13 13:10:43 +01:00
rdb
0d2f6266bd Merge branch 'release/1.10.x'
[skip ci]
2023-02-13 12:05:25 +01:00
rdb
df1ef1bfaf Update BACKERS.md
[skip ci]
2023-02-13 12:04:27 +01:00
rdb
bd71541e5f readme: Update link pointing to old manual
[skip ci]
2023-02-13 11:32:46 +01:00
Timothy Paustian
50de135641
task: Fix re-adding task object removing extraArgs (#1132)
Fixes #1097
2023-02-13 10:58:02 +01:00
git2323
518d4777fa
do not prefer framebuffer configs with excessive multisamples (#1456)
Co-authored-by: user1 <user1@user1.org>
2023-02-12 23:04:46 +00:00
rdb
d2444132b2 opencv: Use correct headers for videoio C interface 2023-02-12 18:18:20 +01:00
rdb
5e26aae1ff cleanup: Fix assorted issues uncovered by clang-tidy 2023-02-12 18:17:03 +01:00
rdb
00f68fb8a5 workflow: Add clang-tidy reviews for all pull requests 2023-02-12 17:37:17 +01:00
John C. Allwein
7b7294b15d direct: fix missing import in Loader 2023-02-12 09:28:04 -07:00
WMOkiishi
c7c70bc32a
direct: Cut down on usage of import * (#1454)
* Remove most `import *`s in `direct`

* Address feedback
2023-02-12 13:16:52 +00:00
John C. Allwein
81f7a21845 openal: fix potential iterator invalidation in OpenALAudioManager::update
OpenALAudioManager::update iterates through all currently playing sounds
via a std::set / phash_set object, _sounds_playing.

If a stream queue corruption was detected during OpenALAudioSound::pull_used_buffers,
the logic added in a895890 would call cleanup() on
the sound if we could not successfully locate the target buffer and log an error.

However, the act of calling OpenALAudioSound::cleanup would lead to calling
stop() (since the sound was actively playing). In OpenALAudioSound::stop(),
we would then proceed to call _manager->stopping_sound which would erase
the current sound from _sounds_playing (while we still held an iterator
to it). Per STL standard and real-world observation, std::set::erase
will invalidate the current iterator held in update (https://en.cppreference.com/w/cpp/container/set/erase).
This leads to a segmentation fault when we attempt the next iteration on the loop.

To resolve this, let's ensure we don't hold onto invalid iterators during the updating of playing sounds.

Fixes #1452
2023-02-12 14:13:02 +01:00
rdb
1c37522026 Merge branch 'release/1.10.x' into master 2023-02-12 14:07:49 +01:00
rdb
aaabb6a652 Fix assorted issues uncovered by clang-tidy 2023-02-12 13:55:59 +01:00
rdb
914993f31b putil: Fix SimpleHashMap error reporting at static init time 2023-02-12 13:49:44 +01:00
rdb
a9e9cfae1c py_panda: Fix definition of _PyErr_OCCURRED for Python >3.12.0a5
It should not be redefined for Python versions after 3.3.3, and if it's not defined by Python, it should just map to PyErr_Occurred()

See also #1457
2023-02-12 13:22:16 +01:00