summaryrefslogtreecommitdiff
path: root/gtk2_ardour/audio_clock.cc
diff options
context:
space:
mode:
authorCarl Hetherington <carl@carlh.net>2012-06-28 15:56:51 +0000
committerCarl Hetherington <carl@carlh.net>2012-06-28 15:56:51 +0000
commit4904a20577d492c79c32e91a1835ab3fa4a53018 (patch)
tree909d26f82f7e80b89b4586a5bb5bb891d010a220 /gtk2_ardour/audio_clock.cc
parentb97a1bfb977e8afa0070fbe5a5dccff63ad82435 (diff)
Don't start a clock drag if we drag to the right of the numbers.
git-svn-id: svn://localhost/ardour2/branches/3.0@12960 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/audio_clock.cc')
-rw-r--r--gtk2_ardour/audio_clock.cc23
1 files changed, 10 insertions, 13 deletions
diff --git a/gtk2_ardour/audio_clock.cc b/gtk2_ardour/audio_clock.cc
index dbe7f03a14..fd8aca8df1 100644
--- a/gtk2_ardour/audio_clock.cc
+++ b/gtk2_ardour/audio_clock.cc
@@ -1455,15 +1455,6 @@ AudioClock::on_button_press_event (GdkEventButton *ev)
switch (ev->button) {
case 1:
if (editable && !_off) {
- dragging = true;
- /* make absolutely sure that the pointer is grabbed */
- gdk_pointer_grab(ev->window,false ,
- GdkEventMask( Gdk::POINTER_MOTION_MASK | Gdk::BUTTON_PRESS_MASK |Gdk::BUTTON_RELEASE_MASK),
- NULL,NULL,ev->time);
- drag_accum = 0;
- drag_start_y = ev->y;
- drag_y = ev->y;
-
int index;
int trailing;
int y;
@@ -1476,10 +1467,16 @@ AudioClock::on_button_press_event (GdkEventButton *ev)
y = ev->y - ((upper_height - layout_height)/2);
x = ev->x - layout_x_offset;
- if (_layout->xy_to_index (x * PANGO_SCALE, y * PANGO_SCALE, index, trailing)) {
+ if (_layout->xy_to_index (x * PANGO_SCALE, y * PANGO_SCALE, index, trailing)) {
drag_field = index_to_field (index);
- } else {
- drag_field = Field (0);
+ dragging = true;
+ /* make absolutely sure that the pointer is grabbed */
+ gdk_pointer_grab(ev->window,false ,
+ GdkEventMask( Gdk::POINTER_MOTION_MASK | Gdk::BUTTON_PRESS_MASK |Gdk::BUTTON_RELEASE_MASK),
+ NULL,NULL,ev->time);
+ drag_accum = 0;
+ drag_start_y = ev->y;
+ drag_y = ev->y;
}
}
break;
@@ -1660,7 +1657,7 @@ AudioClock::on_motion_notify_event (GdkEventMotion *ev)
int dir;
dir = (drag_accum < 0 ? 1:-1);
pos = current_time();
- frames = get_frame_step (drag_field,pos,dir);
+ frames = get_frame_step (drag_field, pos, dir);
if (frames != 0 && frames * drag_accum < current_time()) {
set ((framepos_t) floor (pos - drag_accum * frames), false); // minus because up is negative in GTK