diff options
author | Brendan Taylor <whateley@gmail.com> | 2011-03-06 09:17:21 -0700 |
---|---|---|
committer | Brendan Taylor <whateley@gmail.com> | 2011-03-06 09:17:21 -0700 |
commit | 3f4a22ab664d2da5a3d398d9cbf1131caf75f706 (patch) | |
tree | 7c27fb29e91bd807c68bc6104613fbc1aac14168 /src | |
parent | 4e702cd8f7b02174c2bd9d18d8b8b62715ffb066 (diff) |
key_to_event: don't crash when gdk_keyval_name returns NULL
Diffstat (limited to 'src')
-rw-r--r-- | src/events.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/events.c b/src/events.c index 174ff75..641409c 100644 --- a/src/events.c +++ b/src/events.c @@ -205,6 +205,7 @@ void key_to_event(guint keyval, gint mode) { gchar ucs[7]; gint ulen; + gchar *keyname; guint32 ukval = gdk_keyval_to_unicode(keyval); /* check for printable unicode char */ @@ -219,9 +220,9 @@ key_to_event(guint keyval, gint mode) { NULL, TYPE_FORMATTEDSTR, ucs, NULL); } /* send keysym for non-printable chars */ - else { + else if((keyname = gdk_keyval_name(keyval))){ send_event(mode == GDK_KEY_PRESS ? KEY_PRESS : KEY_RELEASE, - NULL, TYPE_NAME, gdk_keyval_name(keyval), NULL); + NULL, TYPE_NAME, keyname , NULL); } } |