summaryrefslogtreecommitdiff
path: root/gtk2_ardour/gain_meter.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2012-12-10 02:03:45 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2012-12-10 02:03:45 +0000
commit00e1b1410c98e96a283ff4f4ab87dad2f8d1e5a2 (patch)
tree7f61f21f8ad09f84c13884b70b154ed2e0dde937 /gtk2_ardour/gain_meter.cc
parent24917e4c9e36ca5762ef6d1953c4df8753e4eaba (diff)
fix reversion of keyboard focus from gain display editing widget in both mixer and editor windows
git-svn-id: svn://localhost/ardour2/branches/3.0@13628 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/gain_meter.cc')
-rw-r--r--gtk2_ardour/gain_meter.cc15
1 files changed, 14 insertions, 1 deletions
diff --git a/gtk2_ardour/gain_meter.cc b/gtk2_ardour/gain_meter.cc
index 54519546d0..dbe873634c 100644
--- a/gtk2_ardour/gain_meter.cc
+++ b/gtk2_ardour/gain_meter.cc
@@ -427,7 +427,20 @@ GainMeterBase::gain_activated ()
}
if (gain_display.has_focus()) {
- PublicEditor::instance().reset_focus();
+ Gtk::Widget* w = gain_display.get_toplevel();
+ if (w) {
+ Gtk::Window* win = dynamic_cast<Gtk::Window*> (w);
+
+ /* sigh. gtkmm doesn't wrap get_default_widget() */
+
+ if (win) {
+ GtkWidget* f = gtk_window_get_default_widget (win->gobj());
+ if (f) {
+ gtk_widget_grab_focus (f);
+ return;
+ }
+ }
+ }
}
}