combobox width fixes from mtaht, backported from 2.X
[ardour.git] / libs / gtkmm2ext / barcontroller.cc
index c3c15b4281bf47ff229da0b90f3b6f3be3a054cb..90954e57b35f4c56eba9645a5c309ba29760ea4b 100644 (file)
@@ -36,7 +36,7 @@ using namespace Gtk;
 using namespace Gtkmm2ext;
 
 BarController::BarController (Gtk::Adjustment& adj,
-                             PBD::Controllable& mc,
+                             boost::shared_ptr<PBD::Controllable> mc,
                              sigc::slot<void,char*,unsigned int> lc) 
 
        : adjustment (adj),
@@ -149,7 +149,7 @@ BarController::button_release (GdkEventButton* ev)
                } else {
                        double scale;
 
-                       if (ev->state & (GDK_CONTROL_MASK|GDK_SHIFT_MASK) == (GDK_CONTROL_MASK|GDK_SHIFT_MASK)) {
+                       if ((ev->state & (GDK_CONTROL_MASK|GDK_SHIFT_MASK)) == (GDK_CONTROL_MASK|GDK_SHIFT_MASK)) {
                                scale = 0.01;
                        } else if (ev->state & GDK_CONTROL_MASK) {
                                scale = 0.1;
@@ -179,7 +179,7 @@ BarController::scroll (GdkEventScroll* ev)
 {
        double scale;
 
-       if (ev->state & (GDK_CONTROL_MASK|GDK_SHIFT_MASK) == (GDK_CONTROL_MASK|GDK_SHIFT_MASK)) {
+       if ((ev->state & (GDK_CONTROL_MASK|GDK_SHIFT_MASK)) == (GDK_CONTROL_MASK|GDK_SHIFT_MASK)) {
                scale = 0.01;
        } else if (ev->state & GDK_CONTROL_MASK) {
                scale = 0.1;
@@ -215,7 +215,7 @@ BarController::motion (GdkEventMotion* ev)
                return TRUE;
        }
 
-       if (ev->state & (GDK_CONTROL_MASK|GDK_SHIFT_MASK) == (GDK_CONTROL_MASK|GDK_SHIFT_MASK)) {
+       if ((ev->state & (GDK_CONTROL_MASK|GDK_SHIFT_MASK)) == (GDK_CONTROL_MASK|GDK_SHIFT_MASK)) {
                scale = 0.01;
        } else if (ev->state & GDK_CONTROL_MASK) {
                scale = 0.1;
@@ -349,7 +349,8 @@ BarController::expose (GdkEventExpose* event)
                char buf[64];
                buf[0] = '\0';
 
-               label_callback (buf, 64);
+               if (label_callback)
+                       label_callback (buf, 64);
 
                if (buf[0] != '\0') {