diff options
author | Robin Gareus <robin@gareus.org> | 2014-09-11 02:34:09 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2014-09-11 03:04:11 +0200 |
commit | df19c576c7e26fb71626f752de250f55ede0f7af (patch) | |
tree | fa98141b41db3e3177e7ff2c211983a806498485 /gtk2_ardour | |
parent | 6b3d3e2f916a714d5804688605883caadcfd9db0 (diff) |
fix a bunch of memory leaks
Diffstat (limited to 'gtk2_ardour')
-rw-r--r-- | gtk2_ardour/ardour_button.cc | 4 | ||||
-rw-r--r-- | gtk2_ardour/ardour_ui2.cc | 2 | ||||
-rw-r--r-- | gtk2_ardour/ardour_ui_ed.cc | 1 | ||||
-rw-r--r-- | gtk2_ardour/audio_clock.cc | 2 | ||||
-rw-r--r-- | gtk2_ardour/automation_line.cc | 2 | ||||
-rw-r--r-- | gtk2_ardour/editor.cc | 1 | ||||
-rw-r--r-- | gtk2_ardour/level_meter.cc | 3 |
7 files changed, 11 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; } |