Make sure the XKB layout is initialized properly.

This commit is contained in:
Daiki Ueno
2010-06-05 19:53:23 +09:00
parent 68044d5064
commit 31004846a2
2 changed files with 5 additions and 0 deletions

View File

@ -528,6 +528,10 @@ eek_xkb_layout_new (const gchar *keycodes,
priv->names.symbols = g_strdup (symbols); priv->names.symbols = g_strdup (symbols);
get_keyboard (layout); get_keyboard (layout);
if (priv->xkb == NULL) {
g_object_unref (layout);
return NULL;
}
return EEK_LAYOUT(layout); return EEK_LAYOUT(layout);
} }

View File

@ -110,6 +110,7 @@ main (int argc, char *argv[])
keyboard = eek_clutter_keyboard_new (CSW, CSH); keyboard = eek_clutter_keyboard_new (CSW, CSH);
if (keyboard == NULL) { if (keyboard == NULL) {
g_object_unref (layout);
fprintf (stderr, "Failed to create keyboard\n"); fprintf (stderr, "Failed to create keyboard\n");
exit(1); exit(1);
} }