93 lines
3.7 KiB
Diff
93 lines
3.7 KiB
Diff
From de6027f586e0e8052a7e23bbe58b35eb419e971f Mon Sep 17 00:00:00 2001
|
|
From: Daiki Ueno <ueno@unixuser.org>
|
|
Date: Mon, 8 Nov 2010 14:12:35 +0900
|
|
Subject: [PATCH] Fix problem with ibus-1.4.
|
|
|
|
---
|
|
src/engine.c | 29 ++++++++++++-----------------
|
|
1 files changed, 12 insertions(+), 17 deletions(-)
|
|
|
|
diff --git a/src/engine.c b/src/engine.c
|
|
index 6b0cec9..cba09df 100644
|
|
--- a/src/engine.c
|
|
+++ b/src/engine.c
|
|
@@ -111,7 +111,7 @@ static void ibus_hangul_engine_update_lookup_table
|
|
static void ibus_config_value_changed (IBusConfig *config,
|
|
const gchar *section,
|
|
const gchar *name,
|
|
- GValue *value,
|
|
+ GVariant *value,
|
|
gpointer user_data);
|
|
|
|
static void lookup_table_set_visible (IBusLookupTable *table,
|
|
@@ -174,8 +174,7 @@ ibus_hangul_engine_get_type (void)
|
|
void
|
|
ibus_hangul_init (IBusBus *bus)
|
|
{
|
|
- gboolean res;
|
|
- GValue value = { 0, };
|
|
+ GVariant *value = NULL;
|
|
|
|
hanja_table = hanja_table_load (NULL);
|
|
|
|
@@ -186,22 +185,18 @@ ibus_hangul_init (IBusBus *bus)
|
|
g_object_ref_sink (config);
|
|
|
|
hangul_keyboard = g_string_new_len ("2", 8);
|
|
- res = ibus_config_get_value (config, "engine/Hangul",
|
|
- "HangulKeyboard", &value);
|
|
- if (res) {
|
|
- const gchar* str = g_value_get_string (&value);
|
|
+ value = ibus_config_get_value (config, "engine/Hangul", "HangulKeyboard");
|
|
+ if (value) {
|
|
+ const gchar* str = g_variant_get_string (value, NULL);
|
|
g_string_assign (hangul_keyboard, str);
|
|
- g_value_unset(&value);
|
|
}
|
|
|
|
hanja_key_list_init(&hanja_keys);
|
|
|
|
- res = ibus_config_get_value (config, "engine/Hangul",
|
|
- "HanjaKeys", &value);
|
|
- if (res) {
|
|
- const gchar* str = g_value_get_string (&value);
|
|
+ value = ibus_config_get_value (config, "engine/Hangul", "HanjaKeys");
|
|
+ if (value) {
|
|
+ const gchar* str = g_variant_get_string (value, NULL);
|
|
hanja_key_list_set_from_string(&hanja_keys, str);
|
|
- g_value_unset(&value);
|
|
} else {
|
|
hanja_key_list_append(&hanja_keys, IBUS_Hangul_Hanja, 0);
|
|
hanja_key_list_append(&hanja_keys, IBUS_F9, 0);
|
|
@@ -949,23 +944,23 @@ static void
|
|
ibus_config_value_changed (IBusConfig *config,
|
|
const gchar *section,
|
|
const gchar *name,
|
|
- GValue *value,
|
|
+ GVariant *value,
|
|
gpointer user_data)
|
|
{
|
|
IBusHangulEngine *hangul = (IBusHangulEngine *) user_data;
|
|
|
|
if (strcmp(section, "engine/Hangul") == 0) {
|
|
if (strcmp(name, "HangulKeyboard") == 0) {
|
|
- const gchar *str = g_value_get_string (value);
|
|
+ const gchar *str = g_variant_get_string (value, NULL);
|
|
g_string_assign (hangul_keyboard, str);
|
|
hangul_ic_select_keyboard (hangul->context, hangul_keyboard->str);
|
|
} else if (strcmp(name, "HanjaKeys") == 0) {
|
|
- const gchar* str = g_value_get_string (value);
|
|
+ const gchar* str = g_variant_get_string (value, NULL);
|
|
hanja_key_list_set_from_string(&hanja_keys, str);
|
|
}
|
|
} else if (strcmp(section, "panel") == 0) {
|
|
if (strcmp(name, "lookup_table_orientation") == 0) {
|
|
- lookup_table_orientation = g_value_get_int (value);
|
|
+ lookup_table_orientation = g_variant_get_int32 (value);
|
|
}
|
|
}
|
|
}
|
|
--
|
|
1.7.3.2
|
|
|