summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2009-10-01 15:48:48 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2009-10-01 15:48:48 +0000
commitc01e920f1506f89d2b2e84b39555fd37b32d3f01 (patch)
tree1f7a03c07b14a04052c851d53ecc24c969de7b04
parent72bfc14a3596f0b086ac826e8ab2ea8cd9b44caa (diff)
final part of robsch's visual state patch
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@5698 d708f5d6-7413-0410-9779-e7cbd77b26cf
-rw-r--r--gtk2_ardour/editor_ops.cc8
-rw-r--r--gtk2_ardour/keyboard.cc2
2 files changed, 5 insertions, 5 deletions
diff --git a/gtk2_ardour/editor_ops.cc b/gtk2_ardour/editor_ops.cc
index 8604aa7175..31a083aed0 100644
--- a/gtk2_ardour/editor_ops.cc
+++ b/gtk2_ardour/editor_ops.cc
@@ -6238,10 +6238,8 @@ Editor::goto_visual_state (uint32_t n)
void
Editor::start_visual_state_op (uint32_t n)
{
- cerr << "Start visual op\n";
if (visual_state_op_connection.empty()) {
visual_state_op_connection = Glib::signal_timeout().connect (bind (mem_fun (*this, &Editor::end_visual_state_op), n), 1000);
- cerr << "\tqueued new timeout\n";
}
}
@@ -6249,11 +6247,13 @@ void
Editor::cancel_visual_state_op (uint32_t n)
{
if (!visual_state_op_connection.empty()) {
- cerr << "cancel visual op, time to goto\n";
visual_state_op_connection.disconnect();
goto_visual_state (n);
} else {
- cerr << "cancel visual op, do nothing\n";
+ //we land here if called from the menu OR if end_visual_state_op has been called
+ //so check if we are already in visual state n
+ // XXX not yet checking it at all, but redoing does not hurt
+ goto_visual_state (n);
}
}
diff --git a/gtk2_ardour/keyboard.cc b/gtk2_ardour/keyboard.cc
index dd15387350..005234aa8c 100644
--- a/gtk2_ardour/keyboard.cc
+++ b/gtk2_ardour/keyboard.cc
@@ -233,7 +233,7 @@ Keyboard::snooper (GtkWidget *widget, GdkEventKey *event)
const AccelKey& ak (k->first);
- if (keyval == ak.get_key() && (Gdk::ModifierType)(event->state | Gdk::RELEASE_MASK) == ak.get_mod()) {
+ if (keyval == ak.get_key() && (Gdk::ModifierType)((event->state & Keyboard::RelevantModifierKeyMask)| Gdk::RELEASE_MASK) == ak.get_mod()) {
ret = true;
break;
}