More fixes for PyCapsule_GetPointer race condition

One of the weirdest errors out there, and as far as I know we're the only ones suffering from it, due to having multiple packages of Python bindings created with Sip as well as having PyQt and different threads.
This commit is contained in:
Ghostkeeper 2020-10-16 14:26:27 +02:00
parent 26cb661240
commit 6abfa38838
No known key found for this signature in database
GPG key ID: D2A8871EE34EC59A
4 changed files with 5 additions and 3 deletions

View file

@ -7,6 +7,7 @@
# tries to create PyQt objects on a non-main thread. # tries to create PyQt objects on a non-main thread.
import Arcus # @UnusedImport import Arcus # @UnusedImport
import Savitar # @UnusedImport import Savitar # @UnusedImport
import pynest2d # @UnusedImport
from . import PostProcessingPlugin from . import PostProcessingPlugin

View file

@ -13,7 +13,7 @@ from ..PostProcessingPlugin import PostProcessingPlugin
# not sure if needed # not sure if needed
sys.path.append(os.path.join(os.path.dirname(os.path.abspath(__file__)), "..")) sys.path.append(os.path.join(os.path.dirname(os.path.abspath(__file__)), ".."))
""" In this file, commnunity refers to regular Cura for makers.""" """ In this file, community refers to regular Cura for makers."""
mock_plugin_registry = MagicMock() mock_plugin_registry = MagicMock()
mock_plugin_registry.getPluginPath = MagicMock(return_value = "mocked_plugin_path") mock_plugin_registry.getPluginPath = MagicMock(return_value = "mocked_plugin_path")

View file

@ -1,8 +1,9 @@
from unittest.mock import patch, MagicMock from unittest.mock import patch, MagicMock
# Prevents error: "PyCapsule_GetPointer called with incorrect name" with conflicting SIP configurations between Arcus and PyQt: Import Arcus and Savitar first! # Prevents error: "PyCapsule_GetPointer called with incorrect name" with conflicting SIP configurations between Arcus and PyQt: Import custom Sip bindings first!
import Savitar # Dont remove this line import Savitar # Dont remove this line
import Arcus # No really. Don't. It needs to be there! import Arcus # No really. Don't. It needs to be there!
import pynest2d # Really!
from UM.Qt.QtApplication import QtApplication # QtApplication import is required, even though it isn't used. from UM.Qt.QtApplication import QtApplication # QtApplication import is required, even though it isn't used.
import pytest import pytest

View file

@ -6,7 +6,7 @@
from unittest.mock import MagicMock, patch from unittest.mock import MagicMock, patch
import pytest import pytest
# Prevents error: "PyCapsule_GetPointer called with incorrect name" with conflicting SIP configurations between Arcus and PyQt: Import Arcus and Savitar first! # Prevents error: "PyCapsule_GetPointer called with incorrect name" with conflicting SIP configurations between Arcus and PyQt: Import custom Sip bindings first!
import Savitar # Dont remove this line import Savitar # Dont remove this line
import Arcus # No really. Don't. It needs to be there! import Arcus # No really. Don't. It needs to be there!
import pynest2d # Really! import pynest2d # Really!