diff --git a/cura/BackendPlugin.py b/cura/BackendPlugin.py index d51379ebb1..935b376c63 100644 --- a/cura/BackendPlugin.py +++ b/cura/BackendPlugin.py @@ -8,6 +8,7 @@ from UM.Message import Message from UM.Settings.AdditionalSettingDefinitionAppender import AdditionalSettingDefinitionsAppender from UM.PluginObject import PluginObject from UM.i18n import i18nCatalog +from UM.Platform import Platform class BackendPlugin(AdditionalSettingDefinitionsAppender, PluginObject): @@ -58,7 +59,10 @@ class BackendPlugin(AdditionalSettingDefinitionsAppender, PluginObject): # STDIN needs to be None because we provide no input, but communicate via a local socket instead. # The NUL device sometimes doesn't exist on some computers. Logger.info(f"Starting backend_plugin [{self._plugin_id}] with command: {self._validatePluginCommand()}") - self._process = subprocess.Popen(self._validatePluginCommand(), stdin = None, creationflags = subprocess.CREATE_NO_WINDOW) + popen_kwargs = {"stdin": None} + if Platform.isWindows(): + popen_kwargs["creationflags"] = subprocess.CREATE_NO_WINDOW + self._process = subprocess.Popen(self._validatePluginCommand(), **popen_kwargs) self._is_running = True return True except PermissionError: