diff options
author | Simo Fält <simo.falt@qt.io> | 2023-05-25 11:12:40 +0300 |
---|---|---|
committer | Simo Fält <simo.falt@qt.io> | 2023-05-25 11:12:40 +0300 |
commit | ca0519cb3f6b62e3b61ba74f0c60eac891dd3a15 (patch) | |
tree | 46e94d1b9a77648ca080a36b7d266f2322031d67 /sources/shiboken2/shibokenmodule/files.dir/shibokensupport/signature/loader.py | |
parent | 72d32f66685fbb7fefc41eee629e63f4824cb10b (diff) | |
parent | 7c386888b453b7f2ac78ef1da59d077b25e372b3 (diff) |
Merge tag 'v5.15.4-lts' into tqtc/lts-5.15-opensourcev5.15.4-lts-lgpl
Qt For Python Release 5.15.4
Change-Id: I8457501ba90fc481fb9de686eb8a2f880ecc06cd
Diffstat (limited to 'sources/shiboken2/shibokenmodule/files.dir/shibokensupport/signature/loader.py')
-rw-r--r-- | sources/shiboken2/shibokenmodule/files.dir/shibokensupport/signature/loader.py | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/sources/shiboken2/shibokenmodule/files.dir/shibokensupport/signature/loader.py b/sources/shiboken2/shibokenmodule/files.dir/shibokensupport/signature/loader.py index a6c3e420d..a509ecf07 100644 --- a/sources/shiboken2/shibokenmodule/files.dir/shibokensupport/signature/loader.py +++ b/sources/shiboken2/shibokenmodule/files.dir/shibokensupport/signature/loader.py @@ -114,7 +114,7 @@ def finish_import(module): import signature_bootstrap -from shibokensupport import signature, __feature__ +from shibokensupport import signature, feature as __feature__ signature.get_signature = signature_bootstrap.get_signature # PYSIDE-1019: Publish the __feature__ dictionary. __feature__.pyside_feature_dict = signature_bootstrap.pyside_feature_dict @@ -195,8 +195,9 @@ def move_into_pyside_package(): try: import PySide2.support except ModuleNotFoundError: - PySide2.support = types.ModuleType("PySide2.support") - put_into_package(PySide2.support, __feature__) + # This can happen in the embedding case. + put_into_package(PySide2, shibokensupport, "support") + put_into_package(PySide2.support, __feature__, "__feature__") put_into_package(PySide2.support, signature) put_into_package(PySide2.support.signature, mapping) put_into_package(PySide2.support.signature, errorhandler) @@ -220,16 +221,18 @@ from shibokensupport.signature.lib import enum_sig if "PySide2" in sys.modules: # We publish everything under "PySide2.support.signature", again. move_into_pyside_package() + # PYSIDE-1502: Make sure that support can be imported. + try: + import PySide2.support + except ModuleNotFoundError as e: + print("PySide2.support could not be imported. " + "This is a serious configuration error.", file=sys.stderr) + raise # PYSIDE-1019: Modify `__import__` to be `__feature__` aware. # __feature__ is already in sys.modules, so this is actually no import - try: - import PySide2.support.__feature__ - sys.modules["__feature__"] = PySide2.support.__feature__ - PySide2.support.__feature__.original_import = __builtins__["__import__"] - __builtins__["__import__"] = PySide2.support.__feature__._import - # Maybe we should optimize that and change `__import__` from C, instead? - except ModuleNotFoundError: - print("__feature__ could not be imported. " - "This is an unsolved PyInstaller problem.", file=sys.stderr) + import PySide2.support.__feature__ + sys.modules["__feature__"] = PySide2.support.__feature__ + PySide2.support.__feature__.original_import = __builtins__["__import__"] + __builtins__["__import__"] = PySide2.support.__feature__._import # end of file |