rdb
36c3d3e622
Merge branch 'release/1.10.x'
2020-05-05 18:15:57 +02:00
rdb
9159fc1029
operator delete should check for null pointer before deallocating
...
It is a pervasive belief that using "delete" with a null pointer is safe, so our custom delete operators should also handle this case correctly.
This may fix regressions introduced by #934
2020-05-05 18:13:13 +02:00
rdb
3598222977
Merge branch 'release/1.10.x'
2020-05-05 16:47:38 +02:00
rdb
e4573ef0fe
cleanup: Remove more unnecessary nullptr checks before delete
...
Follow-up to #934
2020-05-05 14:46:30 +02:00
rdb
68d094dba4
dtoolutil: fix buffer overrun on FreeBSD extracting long cmdline args
...
This happens when compiling with CMake, which passes very long command-lines.
2020-05-05 13:20:20 +02:00
rdb
798066a05b
dtool: remove outdated plugin-specific settings
2020-04-30 21:43:31 +02:00
rdb
d799a09002
cleanup: Remove support for EOL versions of Python
...
Fixes #905
2020-04-26 20:07:56 +02:00
rdb
00b81f381a
prc: give StreamWrapperBase virtual destructor (fixes compile error)
...
The compile error was observed with VS 2019 + clang-cl + Ninja + CMake in a Standard build on Windows 10.
2020-04-13 13:15:58 +02:00
rdb
d403b16249
dtoolutil: fix compile warnings on Windows
2020-04-13 12:33:02 +02:00
rdb
9d8c523dfa
putil: Assorted improvements to BitArray, SparseArray, *BitMask*:
...
* Support converting BitMask types to int
* BitArray constructor accepts a Python long of arbitrary size
* DoubleBitMask (and QuadBitMask, by extension) supports Python long in constructor
* Support for pickling (except DoubleBitMask)
* All of them now properly define __bool__()
* More unit tests
Fixes #886
2020-04-01 20:31:16 +02:00
rdb
a203ff11fc
interrogate: support __getstate__ and __setstate__
...
The latter in particular will be called instead of __init__, so must construct the object.
2020-04-01 18:59:44 +02:00
rdb
a34867ae4f
interrogate: support __int__ -> nb_int slot mapping
2020-04-01 18:59:44 +02:00
rdb
fd5ec07a47
notify: make Notify::config_initialized() static
...
This may be slightly more efficient.
2020-03-08 10:48:50 +01:00
rdb
c9520c8daf
Merge branch 'release/1.10.x'
2020-03-06 10:15:25 +01:00
rdb
0b87673747
dtoolbase: fix compilation error with musl
...
Fixes #875
2020-03-01 15:14:15 +01:00
rdb
c59b91f503
Merge branch 'release/1.10.x'
2020-02-23 14:53:16 +01:00
kamgha
c2866ea4ed
Fix includes for Windows on case-sensitive filesystems
...
Closes #866
2020-02-22 12:55:45 +01:00
rdb
4ef8e5228e
interrogate: fix ability to return ReferenceCount-like classes
...
Classes with virtual ref(), unref() and get_ref_count() methods, like RecorderBase, could not be returned by PT() from methods because they didn't inherit from ReferenceCount. However, classes do not need to inherit ReferenceCount to be able to be tracked by a PointerTo, and defining an abstract base class with pure virtual ref()/unref()/get_ref_count() is a way to avoid dual inheritance of ReferenceCount.
2020-02-22 12:10:55 +01:00
Leandro (Cerberus1746) Benedet Garcia
5f7809469c
general: removed all WIN32, WIN32_VC and friends
2020-02-05 22:45:03 -07:00
rdb
b272af8bbf
Merge branch 'cmake'
2020-01-22 11:20:51 +01:00
rdb
1bb4a032aa
Drop support for Windows XP
2020-01-13 15:06:44 +01:00
rdb
b78b7be326
Merge branch 'release/1.10.x'
2019-12-30 01:50:54 +01:00
rdb
ac85b05400
py_compat: fix _PyObject_CallNoArg in Python 3.5
2019-12-25 16:32:19 +01:00
Sam Edwards
cdc16291dd
CMake: `SKIP_COMPOSITING` -> `SKIP_UNITY_BUILD_INCLUSION`
...
The latter is what CMake (3.16+) itself uses; we should start using
CMake's own unity build capabilities if available.
2019-12-24 17:20:43 -07:00
pmp-p
8615e25a12
interrogate: use fully qualified module name in PyModule_Create
...
This is helpful when static linking and explicitly initializing the modules.
Closes #308
2019-12-11 16:49:42 +01:00
rdb
9565d99fab
Merge branch 'release/1.10.x'
2019-12-08 15:18:51 +01:00
rdb
97a19c278b
parser-inc: define __SIZE_TYPE__ and __PTRDIFF_TYPE__
...
This fixes an Interrogate parse error in termux when /usr/include gets added as -S argument
2019-12-08 10:28:50 +01:00
Leandro Benedet Garcia
71dfc51f8a
general: Changed macros and definitions for the engine to compile with MinGW ( #793 )
2019-12-02 09:21:01 -07:00
Leandro Benedet Garcia
ae33d62978
general: Update EXPCL declarations to be MinGW-friendly ( #792 )
2019-11-27 11:25:24 -07:00
Sam Edwards
4556059c90
CMake: Use find_program to detect host tools when cross-compiling
...
In the future, we should also try to do find_package(Panda3D) to use
the host tools even if Panda3D isn't in a system path.
2019-11-13 15:30:26 -07:00
rdb
1b863ead55
cppparser: fix finding types in explicitly specialized template class
2019-11-09 20:26:33 +01:00
Sam Edwards
9b7bcf2564
Merge branch 'master' into cmake
2019-11-07 21:21:04 -07:00
rdb
d2bd4181e0
interrogate: set tp_base to DTOOL_SUPER_BASE and tp_basicsize to 0
...
The tp_basicsize field, as well as a few others, seem to be inherited from whatever is set in tp_base. In absence of a tp_base, Python will set it to PyBaseObject_Type, which is not at all correct for Panda types.
2019-11-06 10:49:53 +01:00
Sam Edwards
856754a3de
general: Don't abuse PyErr_Restore
...
The intended purpose of this function is to restore an exception
that has already been raised and saved with PyErr_Fetch. It should
not be used to raise new exceptions nor should it be used to clear
the current exception.
The especially egregious example is
`PyErr_Restore(exc_type, nullptr, nullptr);`
as the null value may not be handled correctly.
2019-11-05 18:44:20 -07:00
Sam Edwards
0e0b2186c7
CMake: Add #line directives to interrogate_preamble_python_native
2019-11-04 16:43:12 -07:00
Sam Edwards
cf59d3d983
CMake: Remove p3dtoolconfig from build
...
It's just p3prc now, so instead we install some symlinks
2019-11-04 14:02:06 -07:00
rdb
a72be90f17
Merge branch 'release/1.10.x'
2019-10-29 23:13:22 +01:00
rdb
4098f55d70
dtoolutil: record stdlib (libc++ vs libstdc++) in PandaSystem
...
This is particularly relevant on macOS, for finding out which stdlib Panda was compiled with.
2019-10-25 10:21:30 +02:00
Sam Edwards
12c16eb9ff
Merge branch 'master' into cmake
2019-10-15 23:43:25 -06:00
Sam Edwards
9ecaa0056b
CMake: Break out p3interrogatedb as a first-class library
2019-10-15 23:27:03 -06:00
rdb
247f3c415a
Merge branch 'release/1.10.x'
2019-10-08 19:50:48 +02:00
rdb
c6990b9f9b
prc: fix possible stack overflow in StreamReader
...
Fixes #754
2019-10-08 19:44:23 +02:00
rdb
3c9591cfbf
interrogate: envelop function calls in parentheses
...
This reduces the risk of calling a preprocessor macro instead of a method.
2019-10-08 19:43:34 +02:00
rdb
fb5440bd07
cppparser: hack fix for method defs in parentheses
2019-10-08 19:43:34 +02:00
rdb
657af0edb5
cppparser: don't expand function-style macro if not followed by (
2019-10-07 18:38:21 +02:00
Sam Edwards
5961cc2ee0
Merge branch 'master' into cmake
2019-10-05 15:00:49 -06:00
rdb
5242b6a8b4
interrogate: remove apparently-unused definition
2019-09-16 21:22:16 +02:00
rdb
9d14117ad3
Merge branch 'release/1.10.x'
2019-09-16 21:20:20 +02:00
rdb
343c808fc4
dtoolbase: fix repeated calls to TypeRegistry::ptr() in register_type
2019-09-16 21:09:15 +02:00
rdb
f4926bff20
Fix a variety of ABI compatibility issues
...
We need third-party extensions that link with the Panda3D libraries to continue to work when shipping them with the optimized libraries that deploy-ng uses. To do this, we need the optimized build not to omit symbols that these extensions might depend on.
2019-09-16 03:33:09 +02:00