rdb
1b1d80cd27
More thoroughly fix issues with pickling Panda objects in Python 3
...
This also adds DatagramBuffer, a class for writing datagrams to memory and reading them from there again.
2017-11-08 00:02:35 +01:00
rdb
08629ef1a0
Fix a few compiler warnings
2017-11-07 15:38:40 +01:00
rdb
96d237377b
interrogate: add various sequence/mapping methods to seq/map property
2017-11-05 18:01:39 +01:00
rdb
0c0f9adab9
Support coroutines and async/await in the task manager and loader
2017-10-31 18:56:41 +01:00
rdb
464cd5fc8b
Replace __builtin_expect macros with LIKELY/UNLIKELY
2017-10-09 00:22:28 +02:00
rdb
bf190f7306
interrogate: support MAKE_MAP_PROPERTY
2017-10-09 00:02:46 +02:00
rdb
7ff8b62fb8
interrogate: various fixes:
...
* handle static methods with explicit self
* fix len() and __setitem__ of mapping types
* fix inheritance of __getattr__ and __setattr__
* fix overload resolution error with nullptr_t arguments
* bool overloads now come after float/double overloads
* record whether class is final in interrogatedb
* add Dtool_EmptyTuple
* optimization for final classes: no need for downcast
2017-09-19 18:46:21 +02:00
rdb
3e6dc3b046
Fix Python 3.2 compilation error
2017-08-07 23:32:45 +02:00
rdb
d1c34c3360
interrogate: support static properties
2017-08-07 22:04:56 +02:00
rdb
65a705217e
Compile fixes for older Python 3 versions
2017-05-14 23:14:37 +02:00
rdb
a387fb9f35
interrogate: nullptr handling, faster kwargs handling in some cases
2017-05-14 22:19:25 +02:00
rdb
e1c916cdc3
interrogate: handle implicit destructors correctly
2017-04-02 14:44:51 +02:00
Sam Edwards
4d59ad4014
interrogatedb: Build even when _PyErr_OCCURRED is undefined
2017-03-08 01:59:02 -07:00
rdb
8381118a97
Assorted tweaks and compile warning fixes
2016-07-14 12:54:39 +02:00
rdb
5dcaac9c75
Map size_t to int if possible. Fixes regression with __len__().
2016-07-03 09:17:43 +02:00
rdb
b3bb19180e
Fix LNK4217 linker warnings on Windows
2016-06-29 19:10:50 +02:00
rdb
733456cb41
Merge branch 'release/1.9.x'
2016-06-28 02:58:47 +02:00
rdb
99f7fb6fcd
Show error instead of crash when using method or property before C++ object is constructed
2016-06-28 02:58:06 +02:00
rdb
9963fe2c3c
Fix a couple of compile warnings, reduce unnecessary includes
2016-06-23 22:59:50 +02:00
rdb
8d05ef3022
Assorted fixes
2016-06-03 22:23:42 +02:00
rdb
5543716660
Interrogate wraps vector<unsigned char> as Python 3 bytes object
2016-06-03 01:47:54 +02:00
rdb
ce29ae490d
Interrogate improvements, more properties, MAKE_SEQ_PROPERTY
2016-05-11 00:16:53 +02:00
rdb
fb78fe6e2a
Interrogate enum class support (maps to Python 3.4 enums), sanify wrapper code
2016-05-07 00:45:26 +02:00
rdb
f933eb4e96
Fix compile warnings (incl. "Attempt to define invalid type" spam), define _Dtool_CheckErrorOccurred in release builds for binary compat
2016-02-27 16:45:22 +01:00
tobspr
0fcfb8e372
New file headers, new comment style
2016-02-17 17:47:48 +01:00
rdb
090e912ce6
Cleanup of comments and whitespace
2016-02-01 22:30:43 +01:00
rdb
db6f0342cc
Add properties with has/clear (interrogatedb v3.1)
2015-12-24 14:25:45 +01:00
rdb
50d2e8324e
Merge branch 'release/1.9.x'
...
Conflicts:
.travis.yml
direct/src/directtools/DirectLights.py
panda/src/nativenet/buffered_datagramconnection.h
2015-12-06 22:32:12 +01:00
rdb
287c44ce53
Various fixes for Python 3 versions before Python 3.3
2015-12-06 22:05:44 +01:00
rdb
eb4052d7b6
Fix compile error on Python versions between 3.0.0 and 3.3.3
2015-12-06 16:20:07 +01:00
rdb
33d183d4f7
Throw ImportError instead of cryptic failure when importing extension module from incompatible version of Python
2015-11-28 19:22:57 +01:00
rdb
1b857d6bda
A few interrogate improvements
2015-11-28 17:54:01 +01:00
rdb
bdf91e206d
Remove references to Python.h and py_config.h from Panda headers, to prevent picking up a dependency on Python libraries in third-party modules
2015-11-28 16:33:44 +01:00
rdb
31dbcae262
Deprecate many extension methods, make extension methods imported via modules instead of dumped into core.py, move _core.pyd and _direct.pyd back to core.pyd, direct.pyd respectively, move MAIN_DIR set-up code to module init time
2015-11-10 00:44:29 +01:00
rdb
db3ab953e4
Remove ppremake, genPyCode, and all hacks created to support them
2015-11-09 19:06:49 +01:00
rdb
ac1c036cac
interrogatedb 3.0 to restructure make_seq, improve make_seq handling and performance
2015-11-09 18:03:30 +01:00
rdb
036adff924
Merge branch 'release/1.9.x'
2015-09-30 14:07:21 +02:00
rdb
fcd3bfd15c
Fix interrogate issues with long, streampos, streamoff, streamsize and ptrdiff_t
2015-09-28 13:08:38 +02:00
rdb
342b9a8db8
Merge remote-tracking branch 'origin/release/1.9.x'
2015-07-08 02:01:28 +02:00
rdb
828e52578d
Allow a long (provided it is not overflowing) where an int is accepted
2015-07-08 01:58:35 +02:00
rdb
dd17fd864b
Properly separate dtoolconfig and interrogatedb
2015-06-30 16:16:35 +02:00
rdb
269b4eac27
Fix METH_NOARGS calling convention violations in interrogate, and special support for LINK_ALL_STATIC in interrogated code
2015-06-21 17:53:37 +02:00
rdb
7a836cbbd9
Merge branch 'release/1.9.x'
2015-06-21 17:46:34 +02:00
rdb
8ecf6a7b9f
Fix getattr() and hasattr() of vector classes when invalid attribute name is used
2015-06-21 15:33:42 +02:00
rdb
11ed8a4d8d
Use dynamic type lookup for interrogate to eliminate inter-module dependencies
...
It is now no longer necessary to link to core.pyd
Also includes a slight coercion optimization for trivial types
2015-06-06 19:36:40 +02:00
rdb
16e7831566
Remove executable permissions from files that don't need them
2015-04-05 15:41:49 +02:00
rdb
ff58db25ac
Fix inheritance of hash functions, restore compare_to(), slot get_hash/get_key
2015-03-28 21:55:55 +01:00
rdb
3371df8403
Fix tp_compare, better __repr__/__str__ handling
2015-03-25 19:36:35 +01:00
rdb
da3f642902
Various interrogate improvements
2015-02-27 15:01:42 +01:00
rdb
9513046e59
Various substantial changes to Interrogate:
...
* Allow arbitrary selection of optional keyword arguments in some cases
* Reduce code bloat of generated bindings
* Work around awkward resolution of set_shader_input overloads
* Document the code a bit better
* Make coercion a bit cleaner for reference counted types
* A few optimization tweaks
* Use generic errors in NDEBUG build to reduce size of string pool
2015-02-15 13:48:13 +01:00
rdb
6db5d0dc11
Huge cppparser and interrogate overhaul, bringing:
...
* Better support for typedefs
* Same code should compile for both 32-bit and 64-bit
* C++11 typed enum support
* Synthesize __setitem__ when operator [] returns reference
* Rewrite coerce system to have better performance
* Change semantics of __getattr__ and __setattr__ to match
Python's, add __getattribute__, __delattr__ and __delitem__
* Improve performance of slot functions a bit more
* Reduce memory overhead of type system
* Some support for wrapping arrays of numeric types
* C++11 character type support in cppparser
* Chars are handled as strings of length 1
* Template functions for CreatePyInstance that use runtime type map
* More functions from dtool as extension functions
* Code cleanup
2014-12-30 16:43:52 +01:00
rdb
a65b477734
Commit patches by cfsworks:
...
cxx: Fix missing includes masked by composite builds.
misc: Fix typos in comments.
config: Fix missing config forward-declarations.
direct: Adjust Python imports to panda3d.* instead of pandac.*.
display: Split graphicsWindow out into an extension.
framework: Use if/elif/elif/endif instead of ifdef/elif/elif/endif.
ode: Remove erroneous INLINE declarations.
interval: Fix missing import.
2014-10-19 22:41:47 +00:00
rdb
a6229f1fac
Support for comments in enums. Improve comment handling in C++ parser. Improve doxygen reference. Update interrogate interface. (Addendum to interrogatedb v2.3.)
2014-09-19 23:34:11 +00:00
rdb
8afd8b1f57
interrogatedb v2.3: elements can have comments
2014-09-19 15:18:08 +00:00
rdb
c257ce624e
Interrogate overhaul that dramatically increases performance for the simpler methods
2014-07-18 13:54:38 +00:00
rdb
5f2c0a6e04
Big commit aiding in separation of Python bindings:
...
* Most extension functions have been moved to C++.
* In makepanda, Python bindings are compiled into panda3d/<module>.pyd.
2014-02-20 13:33:26 +00:00
rdb
4944d7cd7b
use compare_to and get_class_type instead of compareTo and getClassType
2013-12-18 10:24:00 +00:00
rdb
f29c4681e1
Fix broken Python 3 support.
2013-12-17 17:42:16 +00:00
rdb
7926a5fa7b
backward compatibility with Python 2.7
2013-10-27 18:51:20 +00:00
rdb
d2720d4365
fix line endings
2013-09-17 15:23:14 +00:00
rdb
cc3bae7e76
Big interrogate cleanup, new extension system, add __iter__ support, add buffer protocol support
2013-09-17 10:11:43 +00:00
David Rose
5178fb9523
fix problem with infinite recursion on coercion within constructors
2013-03-25 15:15:08 +00:00
rdb
dc20f793b6
Support Python 2.5
2013-02-19 22:24:40 +00:00
rdb
0925d9265f
fix oops
2013-02-18 11:35:20 +00:00
rdb
192d10b937
Experimental Python 3 support to the C++ code including interrogate. Also adds support for rich comparison in interrogate.
2013-02-16 19:22:26 +00:00
rdb
608643da5a
another fix for .this -> T_ULONG
2012-03-09 22:26:59 +00:00
David Rose
f9658303e7
ah, *this* is the proper fix to recent interrogate bug.
2011-12-09 05:56:27 +00:00
David Rose
dfe16c64f6
rename all Panda-built libraries to begin with libp3 or libpanda
2011-12-06 02:39:21 +00:00
David Rose
134e9a9e92
dual names for interrogate
2011-10-11 00:45:51 +00:00
David Rose
25a303055d
possible fix for build break
2010-02-14 18:05:11 +00:00
David Rose
816ddc0387
low-level support for python copy and pickle modules
2009-12-10 01:09:06 +00:00
David Rose
1ef4fd333d
found pydtool.cxx; bring it up-to-date
2009-11-25 22:44:50 +00:00
David Rose
79a19901a3
add interrogate_wrapped.cxx
2009-11-25 22:27:09 +00:00
rdb
f7009a0602
Fixes some really weird typo's, heh.
2009-11-20 19:28:50 +00:00
David Rose
1872104e61
add per-overload comments and make_seq synthetic functions to interrogatedb
2009-09-15 13:36:07 +00:00
David Rose
9d6ebb4c34
implicitly coerce strings to InternalName pointers if needed
2009-08-06 18:49:41 +00:00
David Rose
ed15b2bec3
build on optimize 1
2009-07-29 23:37:56 +00:00
David Rose
638e46d489
coercion memory leak fix, part 2
2009-06-10 17:28:49 +00:00
David Rose
58c13de4ca
integrate changes from Schell Games (plus some tab character fixes)
2009-06-01 21:51:15 +00:00
David Rose
83155fc832
support python 2.4
2009-02-19 00:25:54 +00:00
David Rose
9b952e3922
a few more warning squelches
2009-02-18 23:59:31 +00:00
David Rose
a6f4fb2377
operator bool () -> __nonzero__()
2009-01-20 03:17:44 +00:00
David Rose
4cd50fa68d
fix performance issues with implicit parameter coercion
2009-01-07 20:05:57 +00:00
rdb
227c7c3497
Compatibility with Python 2.3
2008-11-30 13:22:34 +00:00
David Rose
29969b0fa5
compiler bug with msvc9
2008-11-12 01:30:25 +00:00
David Rose
58e0537e3c
wide interrogate improvements: sequence protocol, MAKE_SEQ, __setitem__, and parameter coercion
2008-11-07 21:12:42 +00:00
David Rose
964c76f2e0
pandaFileStream
2008-09-09 00:06:47 +00:00
David Rose
9198427dbc
remove unreliable 'interpreter' memory category
2008-07-17 22:38:50 +00:00
David Rose
fb9c56432a
we are now using the modified BSD license
2008-05-28 18:37:20 +00:00
David Rose
06a36aff63
get runtime info for things that don't inherit from TypedObject
2007-06-22 22:35:57 +00:00
Roger Hughston
ad4aa44a6b
If you pick this up you need to re interigate every thing you have
2007-05-12 01:16:04 +00:00
David Rose
88fee08547
fix error message output
2007-04-18 20:26:09 +00:00
David Rose
8eb5baa427
show proper interrogate name instead of 'type'
2007-02-22 19:03:50 +00:00
David Rose
0be53cccf6
interrogate changes: respect const, use Python names in diagnostic messages
2007-02-08 20:15:54 +00:00
David Rose
5779007507
more memory tracking stuff
2006-11-24 22:59:44 +00:00
David Rose
55225290b8
add MemoryBase to fix malloc issues, especially on OSX
2006-11-17 02:13:10 +00:00
David Rose
0161aabf5d
constrain tp_compare() to return -1, 0, or 1
2006-10-13 21:14:15 +00:00
David Rose
616de46c25
use as_typed_object()
2006-09-07 17:22:22 +00:00
David Rose
7e063748f6
static init ordering issues with MutexImpl
2006-04-21 15:27:40 +00:00
David Rose
8a78fffd8f
multithreading optimizations, tau profiler, related changes
2006-04-05 19:36:05 +00:00