fix logic for display of transport bar meters
Always remove from parent (if there is one), then repack if necessary.
This commit is contained in:
parent
fd1eb73ef2
commit
fd1d2d804f
|
@ -186,6 +186,11 @@ ARDOUR_UI::set_session (Session *s)
|
|||
|
||||
update_format ();
|
||||
|
||||
if (meter_box.get_parent()) {
|
||||
transport_tearoff_hbox.remove (meter_box);
|
||||
transport_tearoff_hbox.remove (editor_meter_peak_display);
|
||||
}
|
||||
|
||||
if (editor_meter) {
|
||||
meter_box.remove(*editor_meter);
|
||||
delete editor_meter;
|
||||
|
@ -222,15 +227,8 @@ ARDOUR_UI::set_session (Session *s)
|
|||
transport_tearoff_hbox.pack_start (editor_meter_peak_display, false, false);
|
||||
meter_box.show();
|
||||
editor_meter_peak_display.show();
|
||||
} else if (meter_box.get_parent()) {
|
||||
transport_tearoff_hbox.remove (meter_box);
|
||||
transport_tearoff_hbox.remove (editor_meter_peak_display);
|
||||
}
|
||||
} else if (meter_box.get_parent()) {
|
||||
transport_tearoff_hbox.remove (meter_box);
|
||||
transport_tearoff_hbox.remove (editor_meter_peak_display);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
int
|
||||
|
|
|
@ -401,14 +401,19 @@ ARDOUR_UI::parameter_changed (std::string p)
|
|||
start_clocking ();
|
||||
} else if (p == "show-editor-meter") {
|
||||
bool show = Config->get_show_editor_meter();
|
||||
if (editor_meter && show) {
|
||||
transport_tearoff_hbox.pack_start (meter_box, false, false);
|
||||
transport_tearoff_hbox.pack_start (editor_meter_peak_display, false, false);
|
||||
meter_box.show();
|
||||
editor_meter_peak_display.show();
|
||||
} else if (editor_meter && !show && meter_box.get_parent()) {
|
||||
transport_tearoff_hbox.remove (meter_box);
|
||||
transport_tearoff_hbox.remove (editor_meter_peak_display);
|
||||
|
||||
if (editor_meter) {
|
||||
if (meter_box.get_parent()) {
|
||||
transport_tearoff_hbox.remove (meter_box);
|
||||
transport_tearoff_hbox.remove (editor_meter_peak_display);
|
||||
}
|
||||
|
||||
if (show) {
|
||||
transport_tearoff_hbox.pack_start (meter_box, false, false);
|
||||
transport_tearoff_hbox.pack_start (editor_meter_peak_display, false, false);
|
||||
meter_box.show();
|
||||
editor_meter_peak_display.show();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue