From 48e99bf1b07826677e6f8bb404251aafa441f549 Mon Sep 17 00:00:00 2001
From: Nathan Stewart <therealnathanstewart@gmail.com>
Date: Tue, 11 Oct 2016 11:07:17 -0400
Subject: [PATCH] Fixes minor memory leak found in color_theme_manager.cpp:326

---
 gtk2_ardour/color_theme_manager.cc | 11 ++++++++++-
 gtk2_ardour/color_theme_manager.h  |  1 +
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/gtk2_ardour/color_theme_manager.cc b/gtk2_ardour/color_theme_manager.cc
index be0278e..fc2a823 100644
--- a/gtk2_ardour/color_theme_manager.cc
+++ b/gtk2_ardour/color_theme_manager.cc
@@ -165,6 +165,16 @@ ColorThemeManager::ColorThemeManager ()
 	show_all ();
 }
 
+
+ColorThemeManager::~ColorThemeManager ()
+{
+	if (palette_group) { 
+		palette_group->clear (true);  
+		delete palette_group;
+	}
+}
+
+
 void
 ColorThemeManager::setup_modifiers ()
 {
@@ -311,7 +321,6 @@ ColorThemeManager::build_palette_canvas (ArdourCanvas::Canvas& canvas, ArdourCan
 	for (uint32_t y = 0; y < height - box_size && color_num < color_limit; y += box_size) {
 		for (uint32_t x = 0; x < width - box_size && color_num < color_limit; x += box_size) {
 			ArdourCanvas::Rectangle* r = new ArdourCanvas::Rectangle (&group, ArdourCanvas::Rect (x, y, x + box_size, y + box_size));
-
 			string name = nc[color_num++].name;
 
 			UIConfiguration::Colors::iterator c = colors.find (name);
diff --git a/gtk2_ardour/color_theme_manager.h b/gtk2_ardour/color_theme_manager.h
index f3e9132..8575939 100644
--- a/gtk2_ardour/color_theme_manager.h
+++ b/gtk2_ardour/color_theme_manager.h
@@ -43,6 +43,7 @@ class ColorThemeManager : public Gtk::VBox, public OptionEditorComponent
 {
   public:
 	ColorThemeManager();
+	~ColorThemeManager();
 
 	void reset_canvas_colors();
 	void on_color_theme_changed ();
-- 
2.7.4

