Remove wrong asserts
[ardour.git] / gtk2_ardour / ardour_dropdown.cc
index 84c54489ec8a049560cd56eb40c1349f80fe8136..3b04e1063b8b1a854de648504a0222b8c3be0b8b 100644 (file)
 #include "ardour/rc_configuration.h" // for widget prelight preference
 
 #include "ardour_dropdown.h"
-#include "ardour_ui.h"
-#include "global_signals.h"
 
-#include "i18n.h"
+#include "pbd/i18n.h"
 
 #define REFLECTION_HEIGHT 2
 
@@ -51,6 +49,7 @@ using namespace std;
 
 
 ArdourDropdown::ArdourDropdown (Element e)
+       : _scrolling_disabled(false)
 {
 //     signal_button_press_event().connect (sigc::mem_fun(*this, &ArdourDropdown::on_mouse_pressed));
 
@@ -76,6 +75,10 @@ ArdourDropdown::on_scroll_event (GdkEventScroll* ev)
 {
        using namespace Menu_Helpers;
 
+       if (_scrolling_disabled) {
+               return false;
+       }
+
        const MenuItem * current_active = _menu.get_active();
        const MenuList& items = _menu.items ();
        int c = 0;
@@ -115,7 +118,7 @@ ArdourDropdown::on_scroll_event (GdkEventScroll* ev)
                                        continue;
                                }
                                if (++i != items.end()) {
-                                       assert(c + 1 < items.size());
+                                       assert(c + 1 < (int) items.size());
                                        _menu.set_active(c + 1);
                                        _menu.activate_item(*i);
                                }
@@ -135,13 +138,17 @@ ArdourDropdown::clear_items ()
 }
 
 void
-ArdourDropdown::AddMenuElem (Menu_Helpers::MenuElem e)
+ArdourDropdown::AddMenuElem (Menu_Helpers::Element e)
 {
        using namespace Menu_Helpers;
 
        MenuList& items = _menu.items ();
-       
+
        items.push_back (e);
 }
 
-
+void
+ArdourDropdown::disable_scrolling()
+{
+       _scrolling_disabled = true;
+}