From b0477f7f1ecdfb2065a6e9e12097176540ef3a53 Mon Sep 17 00:00:00 2001 From: Ben Loftis Date: Thu, 28 Aug 2014 14:55:39 -0500 Subject: [PATCH] fix plugin bypass button action --- gtk2_ardour/plugin_ui.cc | 2 +- libs/gtkmm2ext/barcontroller.cc | 28 ++++++++-------------------- 2 files changed, 9 insertions(+), 21 deletions(-) diff --git a/gtk2_ardour/plugin_ui.cc b/gtk2_ardour/plugin_ui.cc index 440dc80531..9f11f410f9 100644 --- a/gtk2_ardour/plugin_ui.cc +++ b/gtk2_ardour/plugin_ui.cc @@ -448,7 +448,7 @@ PlugUIBase::PlugUIBase (boost::shared_ptr pi) bypass_button.set_name ("plugin bypass button"); bypass_button.set_text (_("Bypass")); bypass_button.set_active (!pi->active()); - bypass_button.signal_button_release_event().connect (sigc::mem_fun(*this, &PlugUIBase::bypass_button_release)); + bypass_button.signal_button_release_event().connect (sigc::mem_fun(*this, &PlugUIBase::bypass_button_release), false); focus_button.add_events (Gdk::ENTER_NOTIFY_MASK|Gdk::LEAVE_NOTIFY_MASK); focus_button.signal_button_release_event().connect (sigc::mem_fun(*this, &PlugUIBase::focus_toggled)); diff --git a/libs/gtkmm2ext/barcontroller.cc b/libs/gtkmm2ext/barcontroller.cc index 7c420a680f..83a2901734 100644 --- a/libs/gtkmm2ext/barcontroller.cc +++ b/libs/gtkmm2ext/barcontroller.cc @@ -450,29 +450,17 @@ BarController::expose (GdkEventExpose* /*event*/) double xpos = -1; std::string const label = get_label (xpos); - -/* if (!label.empty()) { + if (!label.empty()) { + int twidth, theight; layout->set_text (label); - - int width, height, x; - layout->get_pixel_size (width, height); + layout->get_pixel_size (twidth, theight); - if (xpos == -1) { - x = max (3, 1 + (x2 - (width/2))); - x = min (darea.get_width() - width - 3, (int) lrint (xpos)); - } else { - x = lrint (darea.get_width() * xpos); - } - - c = get_style()->get_text (get_state()); - r = c.get_red_p (); - g = c.get_green_p (); - b = c.get_blue_p (); - context->set_source_rgb (r, g, b); - context->move_to (x, (darea.get_height()/2) - (height/2)); - layout->show_in_cairo_context (context); - }*/ + c = get_style()->get_text (get_state()); + CairoWidget::set_source_rgb_a (cr, c, 1.0); + context->move_to ( (fract > 0.5) ? w - twidth/0.7 : twidth/0.7, (darea.get_height()/2) - (theight/2)); + layout->show_in_cairo_context (context); + } return true; }