summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authorCarl Hetherington <carl@carlh.net>2011-09-08 17:49:36 +0000
committerCarl Hetherington <carl@carlh.net>2011-09-08 17:49:36 +0000
commit632c4ab2643eba90a5a2816befaba27f20740bc4 (patch)
tree5d9233e833266989eafb32ee726715db0cc2faf0 /gtk2_ardour
parent6972b09116f0a34e258199bff2efc68c9c4266f5 (diff)
Don't allow non-movable meter / tempo markers to be
dragged (part of #4313). git-svn-id: svn://localhost/ardour2/branches/3.0@10067 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/editor_mouse.cc52
1 files changed, 34 insertions, 18 deletions
diff --git a/gtk2_ardour/editor_mouse.cc b/gtk2_ardour/editor_mouse.cc
index 4816c2e04c..9df6de3a8e 100644
--- a/gtk2_ardour/editor_mouse.cc
+++ b/gtk2_ardour/editor_mouse.cc
@@ -589,26 +589,42 @@ Editor::button_press_handler_1 (ArdourCanvas::Item* item, GdkEvent* event, ItemT
return true;
case TempoMarkerItem:
- _drags->set (
- new TempoMarkerDrag (
- this,
- item,
- Keyboard::modifier_state_contains (event->button.state, Keyboard::CopyModifier)
- ),
- event
- );
- return true;
+ {
+ TempoMarker* m = reinterpret_cast<TempoMarker*> (item->get_data ("marker"));
+ assert (m);
+ if (m->tempo().movable ()) {
+ _drags->set (
+ new TempoMarkerDrag (
+ this,
+ item,
+ Keyboard::modifier_state_contains (event->button.state, Keyboard::CopyModifier)
+ ),
+ event
+ );
+ return true;
+ } else {
+ return false;
+ }
+ }
case MeterMarkerItem:
- _drags->set (
- new MeterMarkerDrag (
- this,
- item,
- Keyboard::modifier_state_contains (event->button.state, Keyboard::CopyModifier)
- ),
- event
- );
- return true;
+ {
+ MeterMarker* m = reinterpret_cast<MeterMarker*> (item->get_data ("marker"));
+ assert (m);
+ if (m->meter().movable ()) {
+ _drags->set (
+ new MeterMarkerDrag (
+ this,
+ item,
+ Keyboard::modifier_state_contains (event->button.state, Keyboard::CopyModifier)
+ ),
+ event
+ );
+ return true;
+ } else {
+ return false;
+ }
+ }
case MarkerBarItem:
case TempoBarItem: