Commit Graph

11557 Commits

Author SHA1 Message Date
rdb 050d86dadb event: AsyncFuture::set_result() behavior changes:
* Passing a Python subclass of a C++ class now works, the extra Python stuff isn't just discarded
* EventParameter objects are no longer automagically unwrapped - there's no more reason to pass an EventParameter to this method anyway, and it might be unexpected if it is treated specially.
2021-03-01 20:50:25 +01:00
rdb 99569fa8f2 CMake: Updates to compile new ParamPyObject class 2021-03-01 20:34:17 +01:00
rdb 402c303dba event: Make AsyncFuture::set_result() slightly more robust 2021-03-01 19:33:39 +01:00
rdb 8cbe36b352 Merge branch 'release/1.10.x' 2021-03-01 19:33:27 +01:00
rdb 064e0383be event: Allow AsyncFuture to store arbitrary PyObject result 2021-03-01 19:16:22 +01:00
rdb bdb2ef1631 pipeline: Fix crash upon exception in custom thread
We can't call PyErr_Restore() without a valid thread state, which won't exist in a custom thread if we just called PyGILState_Release().  Not sure how this has ever worked.
2021-03-01 16:19:53 +01:00
rdb 2b3f2bb98c event: gather() should schedule coroutines with task manager
This matches the behaviour of asyncio.  It schedules with the current task's manager and chain.  If no current manager is found, it prints a warning.  (The user can just add the coroutine to a task manager themselves and pass the resulting task into gather() if needed.)

See discussion here:
https://discourse.panda3d.org/t/task-gather-does-not-seem-to-work/27313
2021-03-01 11:22:13 +01:00
rdb e348d216e5 event: Fix memory leak getting future result in some cases 2021-03-01 11:09:10 +01:00
rdb b6096c3d40 glgsg: Suppress useless shader linking warnings on macOS 2021-02-26 13:33:25 +01:00
rdb 6a51709332 event: Don't suppress coroutine exceptions in optimized builds 2021-02-26 11:44:50 +01:00
rdb ada74e3b0c Merge branch 'release/1.10.x' 2021-02-24 18:10:15 +01:00
rdb 2d9cc2dea0 egl: Further robustify EGL device initialization process
Sometimes, the default device fails to initialize, so then we need to fall back to alternatives (eg. GBM)
2021-02-24 17:31:00 +01:00
rdb 7a838e7212 Merge branch 'release/1.10.x' 2021-02-24 12:14:04 +01:00
rdb 2e38ca1042 egl: Fall back to EGL_EXT_platform_device for device selection
See #557
2021-02-24 11:41:42 +01:00
rdb 7f20bcd8e0 egl: Fix ability to create multisample FBO
Fixes #1089
2021-02-24 10:11:58 +01:00
rdb 778c6ee6be pgui: Add missing pipeline.h include 2021-02-24 09:46:53 +01:00
Stephen Imhoff 18873ffbf1 Add use of TransformState::make_pos_quat() in some places (#1116)
Fixes #1116
2021-02-22 20:06:26 +01:00
Stephen Imhoff a196f1adcc gobj: Add missing TransformState.make_pos_quat (#1116)
matches to TransformState.make_pos_hpr
2021-02-22 20:05:58 +01:00
rdb 8944737844 linmath: Support floor division for vector types
Also fix __pow__ so that it returns the derived type, not the base type
2021-02-22 20:01:30 +01:00
rdb 5ae08eadf7 Merge branch 'release/1.10.x' 2021-02-22 19:38:49 +01:00
rdb 18cb4a7ccc vorbis: Disable cross-lapped seeking by default, to reduce clicking
Fixes #1108
2021-02-22 10:58:18 +01:00
rdb f2e488fd6b pgui: Workaround for text disappearing in multithreaded pipeline
The text could appear from a DirectButton or other GUI element if updating eg. the text_fg property.
2021-02-21 11:00:22 +01:00
rdb 5c4909b4ab pgui: Some code cleanup for PGItem 2021-02-21 10:17:14 +01:00
rdb a05405c475 pgraph: API reference improvements for NodePath 2021-02-21 10:15:33 +01:00
rdb fb9b334d58 Merge branch 'release/1.10.x' 2021-02-17 10:57:30 +01:00
rdb 3592404fa8 display: Fix GraphicsWindow::get_pointer() listed as deprecated
[skip ci]
2021-02-17 10:56:46 +01:00
rdb ca577c8b35 Merge branch 'release/1.10.x' 2021-02-15 14:14:10 +01:00
rdb 6374a7f240 express: Fix up Patchfile docstrings
[skip ci]
2021-02-15 14:13:24 +01:00
rdb a704d2c228 display: Fix typos in docstrings
[skip ci]
2021-02-15 12:46:29 +01:00
rdb 592f776f76 downloader: Fix missing includes in virtualFileHTTP.cxx 2021-02-15 12:36:29 +01:00
rdb 8afd0e526f Merge branch 'release/1.10.x' 2021-02-15 11:38:45 +01:00
rdb 70e972a7c0 downloader: Remove duplicated string manipulation methods
These already exist in string_utils.h
2021-02-15 11:35:16 +01:00
rdb 84c2a18d00 downloader: Implement VirtualFileHTTP::read_file() 2021-02-15 11:18:13 +01:00
rdb 20bdd32765 downloader: Fix an uninitialized member 2021-02-15 11:13:57 +01:00
rdb 86e0915621 downloader: Add samesite flag to HTTPCookie 2021-02-14 17:47:29 +01:00
rdb 8f1e2f1945 downloader: Support gzip and deflate Content-Encoding values 2021-02-14 17:29:45 +01:00
rdb 62d072cfb4 downloader: Remove unused HTTPChannel::request_path member 2021-02-14 17:28:44 +01:00
rdb 4e27264cac downloader: Add properties to HTTPCookie 2021-02-11 03:28:43 +01:00
rdb 59ab828098 linmath: Fix typo in Mat4 isub docstring
Fixes panda3d/panda3d-docs#96
2021-02-11 03:28:34 +01:00
rdb 28ad032210 collide: Fix CollisionHandlerGravity docstrings
[skip ci]
2021-02-08 19:41:46 +01:00
rdb a64dcd7c5d event: (BREAKING CHANGE) bare yield in task now means "cont"
This is more useful and consistent; you can after all just use "return" to end the task, whereas you can now just use "yield" to continue the next frame rather than "yield Task.cont".

This is a follow-up to f6b39345f7, which already enabled this behavior when an __await__ (that is awaited from a task) yielded None.
2021-02-07 15:14:04 +01:00
rdb e8b4b6476c Merge branch 'release/1.10.x' 2021-02-07 15:01:36 +01:00
rdb 8c8a73a1a7 event: Fix compilation with Python 2.7 2021-02-07 14:49:10 +01:00
rdb f6b39345f7 event: don't exit task if future __await__ yields None
This matches the behavior of asyncio's Task implementation, where this is the equivalent of `yield Task.cont`.

I've kept regular generator tasks unaffected for now, since this might break existing usage.
2021-02-07 12:38:16 +01:00
rdb 3657eb9bce glgsg: Support texture transforms in default shader 2021-02-06 19:36:50 +01:00
rdb 64f0414f57 Merge branch 'release/1.10.x' 2021-02-06 19:36:39 +01:00
rdb af60f8200e glgsg: Gracefully degrade when using 64-bit float in OpenGL ES 2021-02-06 19:35:48 +01:00
rdb c5568c3d5f collide: Improve CollisionSphere viz, add outline 2021-02-06 01:25:07 +01:00
rdb c73c94c862 Merge branch 'release/1.10.x' 2021-02-06 01:23:34 +01:00
rdb 068ceaaf58 event: Clear exception flag after trying asyncio exception import 2021-02-06 01:21:52 +01:00