[Summary] Fixed defect 45346: applied fix more gentle way then in b5a957314c

This commit is contained in:
GZharun 2015-01-23 12:48:44 +02:00
parent 71252aee8e
commit 6c038a3bfb
2 changed files with 6 additions and 27 deletions

View file

@ -112,7 +112,6 @@ MasterBusUI::MasterBusUI (Session* sess, PublicEditor& ed)
, _master_event_box (WavesUI::root () )
, _selected(false)
, _ignore_mute_update(false)
, _ignore_selection_click(false)
, _editor(ed)
{
set_attributes (*this, *xml_tree ()->root (), XMLNodeMap ());
@ -130,9 +129,7 @@ MasterBusUI::MasterBusUI (Session* sess, PublicEditor& ed)
ResetGroupPeakDisplays.connect (sigc::mem_fun(*this, &MasterBusUI::reset_group_peak_display));
_peak_display_button.signal_clicked.connect (sigc::mem_fun (*this, &MasterBusUI::on_peak_display_button));
_master_mute_button.signal_clicked.connect (sigc::mem_fun (*this, &MasterBusUI::on_master_mute_button));
_master_mute_button.signal_enter_notify_event().connect (sigc::mem_fun (*this, &MasterBusUI::on_master_mute_button_enter));
_master_mute_button.signal_leave_notify_event().connect (sigc::mem_fun (*this, &MasterBusUI::on_master_mute_button_leave));
_master_mute_button.signal_button_press_event().connect (sigc::mem_fun (*this, &MasterBusUI::on_master_mute_button_press));
_clear_solo_button.signal_clicked.connect (sigc::mem_fun (*this, &MasterBusUI::on_clear_solo_button));
_global_rec_button.signal_clicked.connect (sigc::mem_fun (*this, &MasterBusUI::on_global_rec_button));
_master_event_box.signal_button_press_event().connect (sigc::mem_fun (*this, &MasterBusUI::on_master_event_box_button_press));
@ -252,10 +249,6 @@ MasterBusUI::update_master_bus_selection ()
bool
MasterBusUI::on_master_event_box_button_press (GdkEventButton *ev)
{
if (_ignore_selection_click) {
return true;
}
if (ev->button == 1) {
if (Keyboard::modifier_state_equals (ev->state, (Keyboard::TertiaryModifier|Keyboard::PrimaryModifier))) {
@ -484,12 +477,13 @@ bool MasterBusUI::check_all_tracks_are_muted()
return all_tracks_are_muted;
}
void MasterBusUI::on_master_mute_button (WavesButton*)
bool
MasterBusUI::on_master_mute_button_press (GdkEventButton*)
{
Session* session = ARDOUR_UI::instance()->the_session();
if( !session )
return;
return true;
PBD::Unwinder<bool> uw (_ignore_mute_update, true);
@ -505,19 +499,7 @@ void MasterBusUI::on_master_mute_button (WavesButton*)
master->set_mute(!master->muted(), session);
_master_mute_button.set_active(master->muted());
}
}
bool
MasterBusUI::on_master_mute_button_enter (GdkEventCrossing*)
{
_ignore_selection_click = true;
return true;
}
bool
MasterBusUI::on_master_mute_button_leave (GdkEventCrossing*)
{
_ignore_selection_click = false;
return true;
}

View file

@ -68,9 +68,7 @@ private:
void reset_route_peak_display (ARDOUR::Route* route);
void reset_group_peak_display (ARDOUR::RouteGroup* group);
void on_peak_display_button (WavesButton*);
void on_master_mute_button (WavesButton*);
bool on_master_mute_button_enter (GdkEventCrossing*);
bool on_master_mute_button_leave (GdkEventCrossing*);
bool on_master_mute_button_press (GdkEventButton*);
void on_clear_solo_button (WavesButton*);
void on_global_rec_button (WavesButton*);
void on_output_connection_mode_changed ();
@ -118,7 +116,6 @@ private:
bool _selected;
bool _ignore_mute_update;
bool _ignore_selection_click;
};
#endif /* __tracks_master_bus_ui_h__ */