From fa52469f5d179c2b932b7559d28319eaab313ad1 Mon Sep 17 00:00:00 2001 From: Jelle Spijker Date: Thu, 17 Aug 2023 08:13:50 +0200 Subject: [PATCH] Make popen kwargs OS specific Contribute to CURA-10619 --- cura/BackendPlugin.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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: