summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authoryonideshi <finarfinek@gmail.com>2016-03-24 12:10:54 +0100
committerPaul Davis <paul@linuxaudiosystems.com>2016-03-30 07:26:36 -0400
commitcb900dc8e48913b2607ac3f7ee6d65971dd609a8 (patch)
treecc14a5385613e71fa12773dc0e84c9c6831fb244 /libs
parentad735690fe4eaba54d99357f1abcbba2fb70b693 (diff)
inability to save non single character key binding with modifier eg. Ctrl-F5
Diffstat (limited to 'libs')
-rw-r--r--libs/gtkmm2ext/bindings.cc17
1 files changed, 9 insertions, 8 deletions
diff --git a/libs/gtkmm2ext/bindings.cc b/libs/gtkmm2ext/bindings.cc
index 59f1bd05e3..7b52882f5f 100644
--- a/libs/gtkmm2ext/bindings.cc
+++ b/libs/gtkmm2ext/bindings.cc
@@ -264,19 +264,20 @@ KeyboardKey::make_key (const string& str, KeyboardKey& k)
string actual;
- if (str.size() == 1) {
- actual = PBD::downcase (str);
- } else {
+ string::size_type lastmod = str.find_last_of ('-');
+
+ if (lastmod != string::npos) {
+ actual = str.substr (lastmod+1);
+ }
+ else {
actual = str;
}
- string::size_type lastmod = actual.find_last_of ('-');
- guint keyval;
-
- if (lastmod != string::npos) {
- actual = PBD::downcase (str.substr (lastmod+1));
+ if (actual.size() == 1) {
+ actual = PBD::downcase (actual);
}
+ guint keyval;
keyval = gdk_keyval_from_name (actual.c_str());
if (keyval == GDK_VoidSymbol || keyval == 0) {