From 4e6f18188beb902766e848cba5d7bd54d0e1e4c2 Mon Sep 17 00:00:00 2001
From: Paul McCarthy <pauld.mccarthy@gmail.com>
Date: Tue, 21 Oct 2014 10:21:38 +0100
Subject: [PATCH] More fixes to bring in line with props.addListener behaviour
 change

---
 fsl/fslview/controls/imagelistpanel.py   | 6 ++++--
 fsl/fslview/controls/imageselectpanel.py | 3 ++-
 fsl/fslview/gl/slicecanvas.py            | 2 ++
 3 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/fsl/fslview/controls/imagelistpanel.py b/fsl/fslview/controls/imagelistpanel.py
index 7862e09fb..c3013aa4b 100644
--- a/fsl/fslview/controls/imagelistpanel.py
+++ b/fsl/fslview/controls/imagelistpanel.py
@@ -160,12 +160,14 @@ class ImageListPanel(controlpanel.ControlPanel):
             image.addListener(
                 'name',
                 self._name,
-                lambda c, va, vi, img=image: nameChanged(img))
+                lambda c, va, vi, img=image: nameChanged(img),
+                overwrite=True)
 
             display.addListener(
                 'enabled',
                 self._name,
-                lambda c, va, vi, img=image: enabledChanged(img))
+                lambda c, va, vi, img=image: enabledChanged(img),
+                overwrite=True)
 
         if len(self._imageList) > 0:
             self._listBox.SetSelection(selection)
diff --git a/fsl/fslview/controls/imageselectpanel.py b/fsl/fslview/controls/imageselectpanel.py
index 0a2210816..35c029c26 100644
--- a/fsl/fslview/controls/imageselectpanel.py
+++ b/fsl/fslview/controls/imageselectpanel.py
@@ -129,7 +129,8 @@ class ImageSelectPanel(controlpanel.ControlPanel):
         for image in self._imageList:
             image.addListener('name',
                               self._name,
-                              lambda c, va, vi, i=image: nameChanged(i))
+                              lambda c, va, vi, i=image: nameChanged(i),
+                              overwrite=True)
 
         self._selectedImageChanged()
 
diff --git a/fsl/fslview/gl/slicecanvas.py b/fsl/fslview/gl/slicecanvas.py
index 53b987e1e..eeff9594c 100644
--- a/fsl/fslview/gl/slicecanvas.py
+++ b/fsl/fslview/gl/slicecanvas.py
@@ -330,6 +330,8 @@ class SliceCanvas(props.HasProperties):
 
             display = image.getAttribute('display')
 
+            # Called when the GL object representation
+            # of the image needs to be re-created
             def genGLObject(ctx=None, value=None, valid=None, disp=display):
                 globj = globject.createGLObject(image, disp)
                 image.setAttribute(self.name, globj)
-- 
GitLab