Browse Source

Merge branch 'release/1.10.x'

rdb 6 years ago
parent
commit
0c557b08bf
3 changed files with 15 additions and 8 deletions
  1. 4 8
      makepanda/makewheel.py
  2. 6 0
      panda/src/event/asyncTaskManager.cxx
  3. 5 0
      setup.cfg

+ 4 - 8
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),

+ 6 - 0
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

+ 5 - 0
setup.cfg

@@ -30,6 +30,11 @@ classifiers =
     Topic :: Software Development :: Libraries :: Python Modules
 author = Panda3D Team
 author_email = [email protected]
+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