From 4e6560d8f1dcf830744a0a1fde3a3c3dc5fa8fac Mon Sep 17 00:00:00 2001
From: Paul McCarthy <pauld.mccarthy@gmail.com>
Date: Wed, 19 Aug 2015 13:33:06 +0100
Subject: [PATCH] fsleyes_parseargs.generateSceneArgs allows arguments to be
 excluded - used by CanvasPanel genCommandLineArgs action to prevent
 performance setting from being output.

---
 fsl/fsleyes/fsleyes_parseargs.py | 7 ++++++-
 fsl/fsleyes/views/canvaspanel.py | 5 ++++-
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/fsl/fsleyes/fsleyes_parseargs.py b/fsl/fsleyes/fsleyes_parseargs.py
index 5d2fc77d8..13b848f20 100644
--- a/fsl/fsleyes/fsleyes_parseargs.py
+++ b/fsl/fsleyes/fsleyes_parseargs.py
@@ -880,11 +880,14 @@ def applySceneArgs(args, overlayList, displayCtx, sceneOpts):
     _applyArgs(args, sceneOpts)
 
 
-def generateSceneArgs(overlayList, displayCtx, sceneOpts):
+def generateSceneArgs(overlayList, displayCtx, sceneOpts, exclude=None):
     """Generates command line arguments which describe the current state of
     the provided ``displayCtx`` and ``sceneOpts`` instances.
     """
 
+    if exclude is None:
+        exclude = []
+
     args = []
 
     args += ['--{}'.format(ARGUMENTS['Main.scene'][1])]
@@ -903,6 +906,8 @@ def generateSceneArgs(overlayList, displayCtx, sceneOpts):
         args += ['{}'.format(displayCtx.selectedOverlay)]
 
     props = OPTIONS.get(sceneOpts, allhits=True)
+
+    props = [p for p in props if p not in exclude]
     args += _generateArgs(sceneOpts, concat(props))
 
     return args
diff --git a/fsl/fsleyes/views/canvaspanel.py b/fsl/fsleyes/views/canvaspanel.py
index 58b9e998c..c56dceeea 100644
--- a/fsl/fsleyes/views/canvaspanel.py
+++ b/fsl/fsleyes/views/canvaspanel.py
@@ -316,7 +316,10 @@ def _genCommandLineArgs(overlayList, displayCtx, canvas):
     # Add scene options
     sceneOpts = canvas.getSceneOptions()
     argv += fsleyes_parseargs.generateSceneArgs(
-        overlayList, displayCtx, sceneOpts)
+        overlayList,
+        displayCtx,
+        sceneOpts,
+        exclude=['performance'])
 
     # Add ortho specific options, if it's 
     # an orthopanel we're dealing with
-- 
GitLab