diff -ru ibus-1.4.0.org/bus/ibusimpl.c ibus-1.4.0/bus/ibusimpl.c --- ibus-1.4.0.org/bus/ibusimpl.c 2011-12-01 01:45:56.453139058 +0900 +++ ibus-1.4.0/bus/ibusimpl.c 2011-12-01 01:55:53.941669370 +0900 @@ -530,9 +530,12 @@ GVariant *variant = ibus_config_get_value (ibus->config, "general", "preload_engines"); if (variant != NULL) { - done = TRUE; + if (g_variant_n_children (variant) > 0) { + done = TRUE; + g_variant_unref (variant); + return; + } g_variant_unref (variant); - return; } done = TRUE;