From 31004846a2f687aecbe684fa278f7755eedfc7c3 Mon Sep 17 00:00:00 2001 From: Daiki Ueno Date: Sat, 5 Jun 2010 19:53:23 +0900 Subject: [PATCH] Make sure the XKB layout is initialized properly. --- eek/eek-xkb-layout.c | 4 ++++ examples/eek-clutter-xkb-test.c | 1 + 2 files changed, 5 insertions(+) diff --git a/eek/eek-xkb-layout.c b/eek/eek-xkb-layout.c index a202ea10..663af705 100644 --- a/eek/eek-xkb-layout.c +++ b/eek/eek-xkb-layout.c @@ -528,6 +528,10 @@ eek_xkb_layout_new (const gchar *keycodes, priv->names.symbols = g_strdup (symbols); get_keyboard (layout); + if (priv->xkb == NULL) { + g_object_unref (layout); + return NULL; + } return EEK_LAYOUT(layout); } diff --git a/examples/eek-clutter-xkb-test.c b/examples/eek-clutter-xkb-test.c index 6c124ea9..0c0e6294 100644 --- a/examples/eek-clutter-xkb-test.c +++ b/examples/eek-clutter-xkb-test.c @@ -110,6 +110,7 @@ main (int argc, char *argv[]) keyboard = eek_clutter_keyboard_new (CSW, CSH); if (keyboard == NULL) { + g_object_unref (layout); fprintf (stderr, "Failed to create keyboard\n"); exit(1); }