Commit Graph

2533 Commits

Author SHA1 Message Date
rdb 2e9bd0f241 prc: fix compilation issue on MSVC 2019-05-12 20:58:13 +02:00
rdb a7c743fd5e Allow seek of IDecryptStream to begin (for looping encrypted audio) 2019-05-12 15:51:35 +02:00
rdb 60922fabc1 Give istream/ostream a friendlier file-like interface for Python 2019-05-12 15:46:14 +02:00
rdb 0ac36185a9 Merge branch 'release/1.10.x' 2019-05-02 21:34:25 +02:00
rdb 204cbe4464 interrogate: support unicode characters in Python 3 for 'char' arg
Fixes #626
2019-05-01 17:05:12 +02:00
rdb 5d6b4f4a77 dtool: add StreamReader/StreamWriter move ctor and assignment ops 2019-04-29 18:17:54 +02:00
rdb daa57733cb Merge branch 'release/1.10.x' 2019-04-14 23:11:03 +02:00
rdb 3ca3dfd13a interrogate: fix in-place or (|=) operators (see #588) 2019-04-14 17:10:52 +02:00
rdb a8ceac919a Raise version number to 1.10.3 on release/1.10.x branch 2019-03-12 18:08:19 +01:00
rdb 8d1bdf0118 Merge branch 'release/1.10.x' 2019-03-10 20:49:52 +01:00
rdb a634e729c8 interrogate: fix uninitialized var, fixes sporadic nb_true_divide
This was a regression introduced by fa6c066b2f (which in turn fixed #529)
2019-03-08 11:53:45 +01:00
rdb 148134284d Merge branch 'release/1.10.x' 2019-03-07 19:04:27 +01:00
rdb 12eeff0dec py_panda: fix memory leak accessing map/seq properties 2019-03-07 17:33:21 +01:00
rdb ba256a8b07 interrogate: fix regression in 2c91fdda1b 2019-03-04 22:51:20 +01:00
rdb 0f5da1c155 dtoolbase: fix warning when compiling on Windows 2019-03-04 16:58:18 +01:00
rdb cbb3c182a5 Merge branch 'release/1.10.x' 2019-03-04 16:57:52 +01:00
rdb 8e4add0326 interrogate: fix refcount trouble assigning PyObject* properties
In particular, this fixes accessing PythonTask.__dict__
2019-03-04 16:46:28 +01:00
rdb fa6c066b2f interrogate: enable true division in Python 2 as well
This allows using "from __future__ import division" and get the expected result for divisions in Python 2.

Fixes #529
2019-03-03 10:29:39 +01:00
rdb 2c91fdda1b interrogate: support in-place ops on properties (eg. light.color *= 2) 2019-02-19 13:46:38 +01:00
rdb c37a33baef interrogate: don't export bindings for global operators
linmath exports a global __mul__, which isn't really useful.
2019-02-19 13:45:37 +01:00
rdb 5e9c478b1a Raise version number to 1.10.2 on release/1.10.x branch
[skip ci]
2019-02-18 12:50:28 +01:00
rdb 80bb5c09fe Merge branch 'release/1.10.x' 2019-02-12 01:13:56 +01:00
rdb 5310945f4c py_panda: fix use of macro that was removed in Python 3.8 2019-02-11 23:36:30 +01:00
rdb 3df3b27a4e prc: prefer global-scope static MutexImpl over local one
MutexImpl guarantees nowadays to be initialized at constant init time, so this is safer on Windows, where we can't rely on magic statics.
2019-02-11 16:23:16 +01:00
rdb b466e77fe3 dtoolbase: make TypeRegistry lock statically initialized
This is possible now that all MutexImpl have a constexpr constructor.
2019-02-11 16:23:16 +01:00
rdb fb5191e812 pipeline: unify ConditionVarFull and ConditionVar
See #550.  Now that we use the Vista API for condition variables, the only place where the distinction is still relevant is Windows XP, and it's just not worth it for that one corner case.
2019-02-11 16:23:10 +01:00
rdb ab569916b1 Disable WinXP mutex emulation when _WIN32_WINNT >= 0x0600 2019-02-11 14:52:21 +01:00
rdb 89392f0e2d dtoolbase: new mutex and condition variable impl on Windows
This uses SRWLock on Vista and above, and uses a hand-rolled implementation on Windows XP that uses Events (and a spinlock, if this is a multi-core system).

Since SRWLocks aren't recursive, ReMutexWin32Impl has been added to implement recursive mutices, using old-fashioned critical sections.

MutexImpl now has a constexpr constructor on all implementations.
2019-02-07 00:20:59 +01:00
rdb 7e0952e367 parser-inc: add synchapi.h and winnt.h headers 2019-02-07 00:20:59 +01:00
rdb 36dd8889e7 Merge branch 'release/1.10.x' 2019-02-06 22:52:19 +01:00
rdb 666568a513 prc: fix recursive use of non-recursive mutex 2019-02-06 22:10:39 +01:00
rdb 86c266fd88 Merge branch 'release/1.10.x' 2019-01-31 00:58:29 +01:00
rdb 3a6f7fcde1 dtoolbase: docstring clarification for record_python_type
[skip ci]
2019-01-31 00:11:21 +01:00
rdb 1d9334f578 parser-inc: add atomic_int, etc. typedefs 2019-01-30 23:59:34 +01:00
rdb ffa0c74402 Merge branch 'release/1.10.x' 2019-01-26 20:18:02 +01:00
rdb 376cef51c4 interrogate: fix Python 3 crash with optional std::wstring args
This would cause PyMem_Free to be called on an uninitialized pointer if a default argument was not specified.

Fixes #542
2019-01-26 19:27:50 +01:00
rdb 403e56817a dtoolbase: fix x86 compilation error on Android 2019-01-26 19:22:44 +01:00
rdb fc90ca7fdf Merge branch 'release/1.10.x' 2019-01-20 17:02:15 +01:00
rdb ba4036e290 prc: clear error flag if loading deploy-ng blobinfo fails 2019-01-19 23:12:46 +01:00
rdb 6eca44464e load_dso: prevent load_dso_error() from returning old error
This happens if load_dso fails due to being unable to find the file, but not setting the dlerror flag and therefore causing a misleading error message to be shown.
2019-01-19 23:10:46 +01:00
rdb ba993aea0d Merge branch 'release/1.10.x' 2019-01-10 23:32:29 +01:00
rdb 84a1315104 More fixes to work around broken libc++ eof() in Mac OS X 10.7 2019-01-10 21:53:02 +01:00
Brian Lach 7c6e677a23 dtoolbase: add std::initializer_list constructors for pvector, epvector, pdeque, plist, pset, pmultiset
Closes #520
2019-01-10 01:42:44 +01:00
rdb 441e1e3d66 Bump version number on master to 1.11.0 2019-01-07 18:40:02 +01:00
rdb 7132d09e7e Bump version to 1.10.1
[skip ci]
2019-01-06 09:34:55 +01:00
Sam Edwards 0c890f059d interrogate: Export Python entry points with EXPORT_CLASS
Closes #505
2019-01-03 12:39:22 +01:00
Sam Edwards ce4985a333 interrogatedb: Fix missing 'static' keyword 2019-01-02 10:18:59 -07:00
rdb ac8be1a2e6 py_panda: fix int-to-enum conversion in Python 2
Fixes #498
2019-01-01 16:32:04 +01:00
rdb 0a43008313 py_panda: avoid duplicate symbol issues with LINK_ALL_STATIC
Fixes #478
2018-12-30 16:42:50 +01:00
Sam Edwards 818fdbd232 interrogate: Tidy up hash_string function
The main motivation behind this change is to get rid of a
signed integer overflow that sometimes happens in the prime
multiplication step, which is (per the C++ spec) undefined
behavior. However, it's probably for the best to use only
unsigned int when the function is clearly trying to avoid
negative values.

Not that I suspect it matters much, but I have also heavily
tested that the behavior of the function is unchanged (at
least on PC hardware - signed integer overflow doesn't
behave portably) although it may now be slightly faster due
to the fact that I have removed the floating-point math.
2018-12-30 04:21:34 -07:00