diff --git a/makepanda/makewheel.py b/makepanda/makewheel.py index e7e143c264..ca4cae8563 100644 --- a/makepanda/makewheel.py +++ b/makepanda/makewheel.py @@ -1,10 +1,5 @@ """ Generates a wheel (.whl) file from the output of makepanda. - -Since the wheel requires special linking, this will only work if compiled with -the `--wheel` parameter. - -Please keep this file work with Panda3D 1.9 until that reaches EOL. """ from __future__ import print_function, unicode_literals from distutils.util import get_platform @@ -118,6 +113,8 @@ Root-Is-Purelib: false Tag: {0}-{1}-{2} """ +PROJECT_URLS = dict([line.split('=', 1) for line in GetMetadataValue('project_urls').strip().splitlines()]) + METADATA = { "license": GetMetadataValue('license'), "name": GetMetadataValue('name'), @@ -126,9 +123,7 @@ METADATA = { "summary": GetMetadataValue('description'), "extensions": { "python.details": { - "project_urls": { - "Home": GetMetadataValue('url'), - }, + "project_urls": dict(PROJECT_URLS, Home=GetMetadataValue('url')), "document_names": { "license": "LICENSE.txt" }, @@ -565,6 +560,7 @@ def makewheel(version, output_dir, platform=None): "Summary: {summary}\n" \ "License: {license}\n".format(**METADATA), "Home-page: {0}\n".format(homepage), + ] + ["Project-URL: {0}, {1}\n".format(*url) for url in PROJECT_URLS.items()] + [ "Author: {0}\n".format(author), "Author-email: {0}\n".format(email), "Platform: {0}\n".format(platform), diff --git a/panda/src/event/asyncTaskManager.cxx b/panda/src/event/asyncTaskManager.cxx index a570609f8a..b10c7ea935 100644 --- a/panda/src/event/asyncTaskManager.cxx +++ b/panda/src/event/asyncTaskManager.cxx @@ -480,6 +480,12 @@ poll() { for (unsigned int i = 0; i < _task_chains.size(); ++i) { AsyncTaskChain *chain = _task_chains[i]; chain->do_poll(); + + if (chain->_state == AsyncTaskChain::S_interrupted) { + // If a task returned DS_interrupt, we need to interrupt the entire + // manager, since an exception state may have been set. + break; + } } // Just in case the clock was ticked explicitly by one of our polling diff --git a/setup.cfg b/setup.cfg index decaaeff15..b707667dda 100644 --- a/setup.cfg +++ b/setup.cfg @@ -30,6 +30,11 @@ classifiers = Topic :: Software Development :: Libraries :: Python Modules author = Panda3D Team author_email = etc-panda3d@lists.andrew.cmu.edu +project_urls = + Source=https://github.com/panda3d/panda3d + Tracker=https://github.com/panda3d/panda3d/issues + Documentation=https://www.panda3d.org/manual/ + Funding=https://opencollective.com/panda3d [tool:pytest] testpaths = tests