aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/events.c
diff options
context:
space:
mode:
authorGravatar Brendan Taylor <whateley@gmail.com>2011-03-06 09:17:21 -0700
committerGravatar Brendan Taylor <whateley@gmail.com>2011-03-06 09:17:21 -0700
commit3f4a22ab664d2da5a3d398d9cbf1131caf75f706 (patch)
tree7c27fb29e91bd807c68bc6104613fbc1aac14168 /src/events.c
parent4e702cd8f7b02174c2bd9d18d8b8b62715ffb066 (diff)
key_to_event: don't crash when gdk_keyval_name returns NULL
Diffstat (limited to 'src/events.c')
-rw-r--r--src/events.c5
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);
}
}