summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gtk2_ardour/ardour_button.cc4
-rw-r--r--gtk2_ardour/ardour_ui2.cc2
-rw-r--r--gtk2_ardour/ardour_ui_ed.cc1
-rw-r--r--gtk2_ardour/audio_clock.cc2
-rw-r--r--gtk2_ardour/automation_line.cc2
-rw-r--r--gtk2_ardour/editor.cc1
-rw-r--r--gtk2_ardour/level_meter.cc3
-rw-r--r--libs/ardour/session.cc1
8 files changed, 12 insertions, 4 deletions
diff --git a/gtk2_ardour/ardour_button.cc b/gtk2_ardour/ardour_button.cc
index b389d57f78..2390d971dd 100644
--- a/gtk2_ardour/ardour_button.cc
+++ b/gtk2_ardour/ardour_button.cc
@@ -926,7 +926,9 @@ ArdourButton::setup_led_rect ()
return;
}
- _led_rect = new cairo_rectangle_t;
+ if (!_led_rect) {
+ _led_rect = new cairo_rectangle_t;
+ }
if (_elements & Text) {
if (_led_left) {
diff --git a/gtk2_ardour/ardour_ui2.cc b/gtk2_ardour/ardour_ui2.cc
index fd42dd6897..fd85f4fb1c 100644
--- a/gtk2_ardour/ardour_ui2.cc
+++ b/gtk2_ardour/ardour_ui2.cc
@@ -396,7 +396,7 @@ ARDOUR_UI::setup_transport ()
}
clock_box->set_spacing (3);
- shuttle_box = new ShuttleControl;
+ shuttle_box = manage (new ShuttleControl);
shuttle_box->show ();
VBox* transport_vbox = manage (new VBox);
diff --git a/gtk2_ardour/ardour_ui_ed.cc b/gtk2_ardour/ardour_ui_ed.cc
index 0a80e53398..278f2dba5a 100644
--- a/gtk2_ardour/ardour_ui_ed.cc
+++ b/gtk2_ardour/ardour_ui_ed.cc
@@ -632,6 +632,7 @@ ARDOUR_UI::save_ardour_state ()
Config->add_instant_xml (location_ui->ui().get_state ());
}
}
+ delete &enode;
Keyboard::save_keybindings ();
}
diff --git a/gtk2_ardour/audio_clock.cc b/gtk2_ardour/audio_clock.cc
index d2c242735a..dcd626d287 100644
--- a/gtk2_ardour/audio_clock.cc
+++ b/gtk2_ardour/audio_clock.cc
@@ -260,12 +260,14 @@ AudioClock::set_colors ()
r = lrint ((r/255.0) * 65535.0);
g = lrint ((g/255.0) * 65535.0);
b = lrint ((b/255.0) * 65535.0);
+ delete foreground_attr;
foreground_attr = new Pango::AttrColor (Pango::Attribute::create_attr_foreground (r, g, b));
UINT_TO_RGBA (editing_color, &r, &g, &b, &a);
r = lrint ((r/255.0) * 65535.0);
g = lrint ((g/255.0) * 65535.0);
b = lrint ((b/255.0) * 65535.0);
+ delete editing_attr;
editing_attr = new Pango::AttrColor (Pango::Attribute::create_attr_foreground (r, g, b));
normal_attributes.change (*foreground_attr);
diff --git a/gtk2_ardour/automation_line.cc b/gtk2_ardour/automation_line.cc
index 1cfd7eeb48..29d07d1a4a 100644
--- a/gtk2_ardour/automation_line.cc
+++ b/gtk2_ardour/automation_line.cc
@@ -81,10 +81,8 @@ AutomationLine::AutomationLine (const string& name, TimeAxisView& tv, ArdourCanv
, _maximum_time (max_framepos)
{
if (converter) {
- _time_converter = converter;
_our_time_converter = false;
} else {
- _time_converter = new Evoral::IdentityConverter<double, framepos_t>;
_our_time_converter = true;
}
diff --git a/gtk2_ardour/editor.cc b/gtk2_ardour/editor.cc
index 1c24dc4d3a..3803961d4b 100644
--- a/gtk2_ardour/editor.cc
+++ b/gtk2_ardour/editor.cc
@@ -786,6 +786,7 @@ Editor::~Editor()
delete _route_groups;
delete _track_canvas_viewport;
delete _drags;
+ delete nudge_clock;
}
XMLNode*
diff --git a/gtk2_ardour/level_meter.cc b/gtk2_ardour/level_meter.cc
index 4f36e922a9..a9b96a8b6c 100644
--- a/gtk2_ardour/level_meter.cc
+++ b/gtk2_ardour/level_meter.cc
@@ -66,6 +66,9 @@ LevelMeterBase::on_theme_changed()
LevelMeterBase::~LevelMeterBase ()
{
+ _configuration_connection.disconnect();
+ _meter_type_connection.disconnect();
+ _parameter_connection.disconnect();
for (vector<MeterInfo>::iterator i = meters.begin(); i != meters.end(); i++) {
delete (*i).meter;
}
diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc
index fe7fad675f..dba519f660 100644
--- a/libs/ardour/session.cc
+++ b/libs/ardour/session.cc
@@ -480,6 +480,7 @@ Session::destroy ()
/* clear state tree so that no references to objects are held any more */
delete state_tree;
+ state_tree = 0;
/* reset dynamic state version back to default */