diff --git a/README.md b/README.md index 2139a61a68..c59d43258b 100644 --- a/README.md +++ b/README.md @@ -249,10 +249,3 @@ to everyone who has donated! - -### Gold Sponsors -[![](https://opencollective.com/panda3d/tiers/gold-sponsor/0/avatar.svg?avatarHeight=128)](https://opencollective.com/panda3d/tiers/gold-sponsor/0/website) -[![](https://opencollective.com/panda3d/tiers/gold-sponsor/1/avatar.svg?avatarHeight=128)](https://opencollective.com/panda3d/tiers/gold-sponsor/1/website) -[![](https://opencollective.com/panda3d/tiers/gold-sponsor/2/avatar.svg?avatarHeight=128)](https://opencollective.com/panda3d/tiers/gold-sponsor/2/website) -[![](https://opencollective.com/panda3d/tiers/gold-sponsor/3/avatar.svg?avatarHeight=128)](https://opencollective.com/panda3d/tiers/gold-sponsor/3/website) -[![](https://opencollective.com/panda3d/tiers/gold-sponsor/4/avatar.svg?avatarHeight=128)](https://opencollective.com/panda3d/tiers/gold-sponsor/4/website) diff --git a/direct/src/dcparser/dcPacker_ext.cxx b/direct/src/dcparser/dcPacker_ext.cxx index c0a5164551..2e78df416d 100644 --- a/direct/src/dcparser/dcPacker_ext.cxx +++ b/direct/src/dcparser/dcPacker_ext.cxx @@ -226,6 +226,10 @@ unpack_object() { std::string str; _this->unpack_string(str); object = PyUnicode_FromStringAndSize(str.data(), str.size()); + if (object == nullptr) { + nassert_raise("Unable to decode UTF-8 string; use blob type for binary data"); + return nullptr; + } } break; diff --git a/direct/src/dist/FreezeTool.py b/direct/src/dist/FreezeTool.py index 761593f511..e0071a2030 100644 --- a/direct/src/dist/FreezeTool.py +++ b/direct/src/dist/FreezeTool.py @@ -90,6 +90,7 @@ ignoreImports = { 'direct.showbase.PythonUtil': ['pstats', 'profile'], 'toml.encoder': ['numpy'], + 'py._builtin': ['__builtin__'], } if sys.version_info >= (3, 8): @@ -106,7 +107,7 @@ overrideModules = { # Used by the warnings module, among others, to get line numbers. Since # we set __file__, this would cause it to try and extract Python code # lines from the main executable, which we don't want. - 'linecache': """__all__ = ["getline", "clearcache", "checkcache"] + 'linecache': """__all__ = ["getline", "clearcache", "checkcache", "lazycache"] cache = {} @@ -662,7 +663,7 @@ okMissing = [ 'email.Iterators', '_subprocess', 'gestalt', 'java.lang', 'direct.extensions_native.extensions_darwin', '_manylinux', 'collections.Iterable', 'collections.Mapping', 'collections.MutableMapping', - 'collections.Sequence', 'numpy_distutils', + 'collections.Sequence', 'numpy_distutils', '_winapi', ] # Since around macOS 10.15, Apple's codesigning process has become more strict. @@ -2625,9 +2626,9 @@ class PandaModuleFinder(modulefinder.ModuleFinder): (or self.path if None). Returns a tuple like (fp, path, stuff), where stuff is a tuple like (suffix, mode, type). """ - if imp.is_frozen(name): - # Don't pick up modules that are frozen into p3dpython. - raise ImportError("'%s' is a frozen module" % (name)) + #if imp.is_frozen(name): + # # Don't pick up modules that are frozen into p3dpython. + # raise ImportError("'%s' is a frozen module" % (name)) if parent is not None: fullname = parent.__name__+'.'+name diff --git a/direct/src/dist/commands.py b/direct/src/dist/commands.py index d2d4946dca..a4582cc81d 100644 --- a/direct/src/dist/commands.py +++ b/direct/src/dist/commands.py @@ -95,6 +95,7 @@ PACKAGE_DATA_DIRS = { ('cefpython3/Chromium Embedded Framework.framework/Chromium Embedded Framework', '', {'PKG_DATA_MAKE_EXECUTABLE'}), ], 'pytz': [('pytz/zoneinfo/*', 'zoneinfo', ())], + 'certifi': [('certifi/cacert.pem', '', {})], } # Some dependencies have extra directories that need to be scanned for DLLs. diff --git a/direct/src/showbase/PythonUtil.py b/direct/src/showbase/PythonUtil.py index 6057a1a617..de49761c21 100644 --- a/direct/src/showbase/PythonUtil.py +++ b/direct/src/showbase/PythonUtil.py @@ -1127,8 +1127,6 @@ def normalDistrib(a, b, gauss=random.gauss): uniformly onto the curve inside [a, b] ------------------------------------------------------------------------ - https://statweb.stanford.edu/~naras/jsm/NormalDensity/NormalDensity.html - The 68-95-99.7% Rule ==================== All normal density curves satisfy the following property which is often diff --git a/panda/src/display/graphicsOutput.cxx b/panda/src/display/graphicsOutput.cxx index 1f97ade9e7..58d4099a45 100644 --- a/panda/src/display/graphicsOutput.cxx +++ b/panda/src/display/graphicsOutput.cxx @@ -834,6 +834,9 @@ get_active_display_region(int n) const { * which will be a texture suitable for applying to geometry within the scene * rendered into this window. * + * If you pass zero as the buffer size, the buffer will have the same size as + * the host window, and will automatically be resized when the host window is. + * * If tex is not NULL, it is the texture that will be set up for rendering * into; otherwise, a new Texture object will be created. In either case, the * target texture can be retrieved from the return value with diff --git a/panda/src/glstuff/glGraphicsBuffer_src.I b/panda/src/glstuff/glGraphicsBuffer_src.I index 021116b7ff..4a3250eee8 100644 --- a/panda/src/glstuff/glGraphicsBuffer_src.I +++ b/panda/src/glstuff/glGraphicsBuffer_src.I @@ -11,14 +11,18 @@ * @date 2006-01-15 */ +/** + * + */ INLINE int CLP(GraphicsBuffer):: -get_multisample_count() -{ - return _requested_multisamples; +get_multisample_count() { + return _requested_multisamples; } +/** + * + */ INLINE int CLP(GraphicsBuffer):: -get_coverage_sample_count() -{ - return _requested_coverage_samples; +get_coverage_sample_count() { + return _requested_coverage_samples; } diff --git a/panda/src/glstuff/glGraphicsBuffer_src.h b/panda/src/glstuff/glGraphicsBuffer_src.h index 0253cb0c89..dfd4a92e94 100644 --- a/panda/src/glstuff/glGraphicsBuffer_src.h +++ b/panda/src/glstuff/glGraphicsBuffer_src.h @@ -23,11 +23,14 @@ * ARB_draw_buffers extensions. This design has significant advantages over * the older wglGraphicsBuffer and glxGraphicsBuffer: * - * * Can export depth and stencil. * Supports auxiliary bitplanes. * - * Supports non-power-of-two padding. * Supports tracking of host window - * size. * Supports cumulative render-to-texture. * Faster than pbuffers. * - * Can render onto a texture without clearing it first. * Supports - * multisample antialiased rendering. + * - Can export depth and stencil. + * - Supports auxiliary bitplanes. + * - Supports non-power-of-two padding. + * - Supports tracking of host window size. + * - Supports cumulative render-to-texture. + * - Faster than pbuffers. + * - Can render onto a texture without clearing it first. + * - Supports multisample antialiased rendering. * * Some of these deserve a little explanation. Auxiliary bitplanes are * additional bitplanes above and beyond the normal depth,stencil,color. One @@ -45,7 +48,6 @@ * EXT_framebuffer_blit to allow for multisample antialiasing these offscreen * render targets. If these extensions are unavailable the buffer will render * as if multisamples is 0. - * */ class EXPCL_GL CLP(GraphicsBuffer) : public GraphicsBuffer { public: diff --git a/panda/src/pgui/pgSliderBar.cxx b/panda/src/pgui/pgSliderBar.cxx index e666d2a496..d423549ccb 100644 --- a/panda/src/pgui/pgSliderBar.cxx +++ b/panda/src/pgui/pgSliderBar.cxx @@ -605,8 +605,10 @@ item_press(PGItem *item, const MouseWatcherParameter ¶m) { ClockObject::get_global_clock()->get_frame_time() + scroll_initial_delay; } else if (item == _thumb_button) { - _scroll_button_held = nullptr; - begin_drag(); + if (((PGButton *)item)->has_click_button(param.get_button())) { + _scroll_button_held = nullptr; + begin_drag(); + } } }