diff --git a/Builds/MacOSX/Plugins/CAR/CAR.xcodeproj/project.pbxproj b/Builds/MacOSX/Plugins/CAR/CAR.xcodeproj/project.pbxproj
index 4cc176b77fd72103562cc242203070699ab3e338..a0853800fae32ef3ee6d44c5aec3eb88ece63497 100644
--- a/Builds/MacOSX/Plugins/CAR/CAR.xcodeproj/project.pbxproj
+++ b/Builds/MacOSX/Plugins/CAR/CAR.xcodeproj/project.pbxproj
@@ -7,11 +7,14 @@
 	objects = {
 
 /* Begin PBXBuildFile section */
+		E15DCF7A1CA0676B00332C3A /* CAREditor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E15DCF781CA0676B00332C3A /* CAREditor.cpp */; };
 		E1F558261C9B105C0035F88B /* CAR.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E1F558221C9B105C0035F88B /* CAR.cpp */; };
 		E1F558281C9B105C0035F88B /* OpenEphysLib.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E1F558251C9B105C0035F88B /* OpenEphysLib.cpp */; };
 /* End PBXBuildFile section */
 
 /* Begin PBXFileReference section */
+		E15DCF781CA0676B00332C3A /* CAREditor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAREditor.cpp; sourceTree = "<group>"; };
+		E15DCF791CA0676B00332C3A /* CAREditor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAREditor.h; sourceTree = "<group>"; };
 		E1F558141C9B0FCA0035F88B /* CAR.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = CAR.bundle; sourceTree = BUILT_PRODUCTS_DIR; };
 		E1F558171C9B0FCA0035F88B /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
 		E1F5581E1C9B10190035F88B /* Plugin.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Plugin.xcconfig; sourceTree = "<group>"; };
@@ -75,6 +78,8 @@
 			children = (
 				E1F558231C9B105C0035F88B /* CAR.h */,
 				E1F558221C9B105C0035F88B /* CAR.cpp */,
+				E15DCF791CA0676B00332C3A /* CAREditor.h */,
+				E15DCF781CA0676B00332C3A /* CAREditor.cpp */,
 				E1F558251C9B105C0035F88B /* OpenEphysLib.cpp */,
 			);
 			name = Source;
@@ -148,6 +153,7 @@
 			buildActionMask = 2147483647;
 			files = (
 				E1F558281C9B105C0035F88B /* OpenEphysLib.cpp in Sources */,
+				E15DCF7A1CA0676B00332C3A /* CAREditor.cpp in Sources */,
 				E1F558261C9B105C0035F88B /* CAR.cpp in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
diff --git a/Source/Processors/Editors/ChannelSelector.h b/Source/Processors/Editors/ChannelSelector.h
index 93589ab81f457b6803a9fd5cb408bdb47bb7eda7..77b8af339f3c9972ab1f7ca9c65695d5abea6dd5 100644
--- a/Source/Processors/Editors/ChannelSelector.h
+++ b/Source/Processors/Editors/ChannelSelector.h
@@ -55,6 +55,7 @@ public:
     class PLUGIN_API Listener
     {
     public:
+        virtual ~Listener() { }
         virtual void channelSelectionChanged (int channel, bool newState) = 0;
     };
 
diff --git a/Source/UI/Utils/ButtonGroupManager.cpp b/Source/UI/Utils/ButtonGroupManager.cpp
index 0969e8d7a11eab7624c1bbdc022d3b957f869a04..a87b9ccfa6a12be3857feae49259e2e306c909d5 100644
--- a/Source/UI/Utils/ButtonGroupManager.cpp
+++ b/Source/UI/Utils/ButtonGroupManager.cpp
@@ -42,8 +42,8 @@ ButtonGroupManager::ButtonGroupManager()
     : m_isRadioButtonMode   (true)
     , m_isShowDividers      (true)
     , m_selectedButtonIdx   (0)
-    , m_currentButtonLineX  (0.f)
     , m_desiredButtonLineX  (0.f)
+    , m_currentButtonLineX  (0.f)
     , m_animationStepX      (0.f)
     , m_buttonListener      (nullptr)
     , m_backgroundColour    (Colour (0x0))
@@ -71,7 +71,7 @@ void ButtonGroupManager::paint (Graphics& g)
 
 void ButtonGroupManager::paintOverChildren (Graphics& g)
 {
-    const int width  = getWidth();
+    //const int width  = getWidth();
     const int height = getHeight();
 
     // Draw dividers between buttons